:root{--ink:#202d53;--blue:#344ba5;--orange:#ed7a1b;--line:#e0e5f0;--bg:#f5f7fc}body{font-family:'Segoe UI',Arial,sans-serif;background:var(--bg);color:var(--ink)}header{border-bottom:1px solid var(--line);padding:20px 4%}.brand{display:flex;gap:20px;align-items:center}.brand img{width:110px;height:88px;object-fit:contain}.brand h1{font-size:24px;margin:0 0 4px}.brand p{font-size:14px;margin:0;color:#62708d}main{max-width:1700px;padding:28px 4%}.intro{display:flex;align-items:center;justify-content:space-between;gap:24px}.intro h2{font-size:30px;margin:0 0 8px}.intro p{color:#62708d;margin:0 0 18px}.notice{background:#fff5df;border-left:4px solid var(--orange);padding:16px 20px;border-radius:6px;font-size:14px}.button{display:inline-block;border:1px solid var(--line);border-radius:8px;padding:10px 16px;background:white;color:var(--blue);text-decoration:none}.workspace{display:grid;grid-template-columns:230px minmax(280px,1fr) minmax(320px,1.15fr);gap:24px;align-items:start}.filter-panel{background:white;border:1px solid var(--line);border-radius:12px;padding:18px;position:sticky;top:16px}.filter-panel h2{font-size:18px;margin:0 0 18px}.filter-panel label{margin-bottom:18px;min-width:0;color:var(--ink)}.filter-panel input,.filter-panel select{width:100%;min-width:0;font-weight:normal;border-color:#aebcd0}.filter-panel button{width:100%;border-color:var(--line);color:var(--blue)}.fine{font-size:13px;color:#62708d}.directory>h2,.map-panel>h2{font-size:20px;margin:0 0 12px}#list{max-height:650px;gap:12px;padding:2px 5px 8px 2px}.card{border:1px solid var(--line);border-top:3px solid var(--orange);border-radius:12px;padding:18px;gap:16px;background:white;color:var(--ink)}.card:hover{background:#edf0fc}.card[aria-pressed=true]{background:#edf0fc;border-left:3px solid var(--blue)}.card strong{font-size:18px;margin:5px 0}.card small{color:var(--blue)}.tag{font-weight:700;font-size:12px;letter-spacing:.05em;color:var(--blue)}.portrait{width:78px;height:92px;object-fit:contain;background:#f5f7fc}.map-panel{background:white;border:1px solid var(--line);border-radius:12px;padding:20px}#map{height:350px;background:#f8faff;border-color:var(--line)}#map path{fill:#dce3ed;stroke:white;stroke-width:1}#map path:hover{fill:#a9b8d5}#map path.selected,#map path.selected:hover{fill:var(--orange);stroke:var(--ink);stroke-width:2}.legend{display:inline-block;width:12px;height:12px;background:var(--orange);margin-right:5px}#detail{grid-column:2/4;margin:0;scroll-margin-top:16px;border:1px solid var(--line);border-top:3px solid var(--orange);border-radius:12px;padding:28px}.fiche-head{display:flex;gap:24px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:24px}.fiche-head .portrait{width:150px;height:180px}.fiche-head h2{font-size:30px;margin:8px 0}.elu-name{font-size:22px;font-weight:600;margin:0}.fiche-section{margin-top:24px}.fiche-section h3{font-size:19px;color:var(--blue);margin:0 0 14px}.fiche-section dl{display:grid;grid-template-columns:230px 1fr;margin:0;gap:0}.fiche-section dt,.fiche-section dd{padding:11px 12px;border-bottom:1px solid var(--line);margin:0;white-space:pre-line;overflow-wrap:anywhere}.fiche-section dt{font-weight:600;background:#f5f7fc}.fiche-section dd{background:white}a{color:var(--blue)}@media(max-width:1150px){.workspace{grid-template-columns:210px 1fr}.directory{grid-column:2}.map-panel{grid-column:2}#detail{grid-column:2}}@media(max-width:750px){.workspace{grid-template-columns:1fr}.filter-panel,.directory,.map-panel,#detail{grid-column:1}.filter-panel{position:static}.brand img{width:85px;height:68px}.brand h1{font-size:20px}.brand{gap:12px}header{align-items:start}header>.button{font-size:13px;padding:7px}.intro{display:block}.intro h2{font-size:26px}.fiche-head{align-items:start;gap:16px}.fiche-head .portrait{width:95px;height:125px}.fiche-head h2{font-size:23px}.elu-name{font-size:19px}.fiche-section dl{grid-template-columns:1fr}.fiche-section dt{padding-bottom:5px;border-bottom:0}.fiche-section dd{padding-top:5px}#detail{padding:18px}#list{max-height:450px}}@media print{header>.button,.filter-panel,.directory,.map-panel,.notice,footer{display:none}.workspace{display:block}#detail{border:0}.fiche-section{break-inside:avoid}}

.contact-notice{padding:18px 0;color:#62708d}.contact-notice h2,.contact-notice h3{font-size:20px;margin:0}.contact-notice p{margin:6px 0 18px}.annuaire-tabs{display:flex;gap:14px;margin:8px 0 26px}.annuaire-tabs button{flex:1;padding:18px;font-weight:700;font-size:20px;border:1px solid var(--line);border-radius:10px}.annuaire-tabs button[aria-pressed=true]{background:var(--blue);color:white;border-bottom:4px solid var(--orange)}#map path.interco-member{fill:#747d8d;stroke:white}#map path.interco-member:hover{fill:#626c7d}#map path.selected{fill:var(--orange)}[hidden]{display:none!important}

.dashboard-footer{background:var(--bg);border-top:1px solid var(--line);padding:28px 4%;font-size:15px}.dashboard-footer .contact-notice{max-width:1564px;margin:auto;padding:0}.dashboard-footer a{text-decoration:underline}.dashboard-footer .contact-notice h2{font-size:20px}

.annuaire-tabs button{display:flex;flex-direction:column;align-items:start;text-align:left;gap:7px;border-top:4px solid var(--orange);min-height:100px}.annuaire-tabs button small{font-size:14px;font-weight:400}.annuaire-tabs button[aria-pressed=false]{background:white;color:var(--blue)}.annuaire-tabs button[aria-pressed=true]{box-shadow:0 4px 12px #344ba520}.person-section{margin-top:24px;padding:20px 24px;border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:8px;background:#f5f7fc}.person-section h3{margin:0 0 12px;color:var(--blue);font-size:19px}.person-role{color:#62708d;font-size:14px;margin:0 0 5px!important}.person-name{font-size:20px;font-weight:600;margin:0!important}.fiche-section{padding-top:20px;border-top:1px solid var(--line)}@media(max-width:600px){.annuaire-tabs{flex-direction:column;gap:10px}.annuaire-tabs button{min-height:80px}.person-section{padding:16px}}

#map path.neighbor{fill:#f1f2f5;stroke:#c9ced8;stroke-width:.6}#map path.neighbor:hover{fill:#c2cad6}#map path.neighbor.interco-member{fill:#747d8d;stroke:white}.maptools{flex-wrap:wrap}

#map{cursor:grab;touch-action:none}#map.dragging{cursor:grabbing}#map path{cursor:inherit}
