.psm-page{padding-bottom:50px}
.psm-wide{max-width:1000px}
.psm-page h1{font-weight:300;line-height:1.18}
.psm-page .grg-article__corps h2{font-size:22px;margin:38px 0 12px;line-height:1.25}
.psm-page .grg-article__corps h3{font-size:17px;margin:22px 0 8px}
.psm-reponse{border-left:4px solid var(--accent);background:var(--surface-2);padding:18px 22px;margin:0 0 26px;font-size:17px;line-height:1.55}
.psm-reponse p{margin:0 0 8px;font-size:17px;line-height:1.55}
.psm-reponse p:last-child{margin-bottom:0}
.psm-table{overflow-x:auto;margin:14px 0 8px;border:1px solid var(--line-ink-2);background:var(--paper)}
.psm-table table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:520px}
.psm-table caption{caption-side:top;text-align:left;font-size:13px;color:var(--ink-dim);padding:10px 14px 0}
.psm-table th,.psm-table td{padding:9px 12px;border-bottom:1px solid var(--line-ink);text-align:left;vertical-align:top;font-weight:400}
.psm-table thead th{background:var(--surface-2);font-weight:700;font-size:13px;letter-spacing:.02em;border-bottom:1px solid var(--line-ink-2)}
.psm-table tbody th{font-weight:600}
.psm-table .n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.psm-table tbody tr:last-child th,.psm-table tbody tr:last-child td{border-bottom:0}
.psm-table a{color:var(--accent-2)}
.psm-table tr.psm-total th,.psm-table tr.psm-total td{font-weight:700;background:var(--surface-2)}
.psm-dl{margin:0 0 18px;font-size:14px}
.psm-dl a{color:var(--accent-2)}
.psm-src{border-top:1px solid var(--line-ink);margin-top:34px;padding-top:14px;font-size:13px;line-height:1.55;color:var(--ink-dim)}
.psm-src a{color:var(--accent-2)}
.psm-note{font-size:14px;color:var(--ink-dim);line-height:1.55}
.psm-cartes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 8px}
.psm-carte{display:block;border:1px solid var(--line-ink-2);padding:16px 18px;text-decoration:none;color:var(--ink);background:var(--paper)}
.psm-carte:hover,.psm-carte:focus-visible{border-color:var(--accent);background:var(--surface-2)}
.psm-carte b{display:block;font-size:16px;margin-bottom:6px}
.psm-carte span{display:block;font-size:14px;color:var(--ink-dim);line-height:1.5}
.psm-carte i{display:block;font-style:normal;font-size:13px;font-weight:700;color:var(--accent-2);margin-top:10px}
.psm-liens{list-style:none;margin:0 0 16px;padding:0}
.psm-liens li{margin:0 0 8px;font-size:15.5px}
.psm-liens a{color:var(--accent-2)}
.psm-formule{font-variant-numeric:tabular-nums;background:var(--surface-2);padding:10px 14px;margin:0 0 16px;font-size:15px}
.psm-outil{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:28px;margin:10px 0 30px;align-items:start}
.psm-form{border:1px solid var(--line-ink-2);padding:18px;background:var(--paper)}
.psm-champ{margin:0 0 14px}
.psm-champ label{display:block;font-size:13.5px;font-weight:700;margin-bottom:5px}
.psm-champ input,.psm-champ select{width:100%;font-family:inherit;font-size:16px;background:var(--field);color:var(--field-ink);border:1px solid var(--field-line);padding:9px 11px}
.psm-champ input:focus,.psm-champ select:focus,.psm-bouton:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.psm-champ small{display:block;font-size:12.5px;color:var(--ink-dim);margin-top:4px;line-height:1.4}
.psm-ligne{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.psm-coche{display:flex;gap:8px;align-items:center;font-size:14.5px;margin:0 0 12px}
.psm-coche input{width:auto}
.psm-bouton{display:inline-flex;font-family:inherit;font-weight:700;font-size:15px;padding:11px 20px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer}
.psm-bouton:hover{background:var(--accent-2);border-color:var(--accent-2)}
.psm-res{border:1px solid var(--line-ink-2);padding:18px 20px;background:var(--paper);min-height:120px}
.psm-res h2,.psm-res h3{margin:0 0 10px;font-size:18px}
.psm-chiffres{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.psm-chiffre{background:var(--surface-2);padding:12px 14px}
.psm-chiffre b{display:block;font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}
.psm-chiffre span{display:block;font-size:13px;color:var(--ink-dim);margin-top:3px;line-height:1.35}
.psm-frise{display:flex;align-items:flex-end;gap:2px;height:150px;margin:14px 0 4px;border-bottom:1px solid var(--line-ink-2)}
.psm-frise div{flex:1 1 0;min-width:0;background:var(--surface-3);position:relative}
.psm-frise div.on{background:var(--accent)}
.psm-frise div.nuit{background:var(--surface-2)}
.psm-axe{display:flex;gap:2px;font-size:11px;color:var(--ink-dim)}
.psm-axe span{flex:1 1 0;min-width:0;text-align:center;overflow:hidden}
.psm-legende{font-size:13px;color:var(--ink-dim);margin:6px 0 0;line-height:1.5}
.psm-erreur{border-left:4px solid var(--accent);padding:10px 14px;background:var(--surface-2);font-size:15px;line-height:1.5}
.psm-carte-box{height:480px;border:1px solid var(--line-ink-2);margin:14px 0 6px;background:var(--surface-2)}
.psm-page .leaflet-container{font-family:inherit}
.psm-barres{margin:12px 0}
.psm-barre{display:grid;grid-template-columns:150px minmax(0,1fr) 60px;gap:10px;align-items:center;font-size:14px;margin:0 0 6px}
.psm-barre div{background:var(--surface-2);height:14px}
.psm-barre div b{display:block;height:100%;background:var(--accent)}
.psm-barre em{font-style:normal;text-align:right;font-variant-numeric:tabular-nums}
.psm-sortable th button{all:unset;cursor:pointer;font-weight:700}
.psm-sortable th button:focus-visible{outline:2px solid var(--accent)}
@media(max-width:860px){.psm-outil{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.psm-cartes{grid-template-columns:minmax(0,1fr)}.psm-wide{padding-left:16px;padding-right:16px}.psm-barre{grid-template-columns:110px minmax(0,1fr) 48px}.psm-carte-box{height:360px}.psm-chiffres{grid-template-columns:minmax(0,1fr)}}
