:root{--blue:#003566;--orange:#c75000;--ink:#17212b;--muted:#64717d;--line:#d7dde2;--paper:#f2f5f6;--white:#fff;--gold:#d9a514}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:linear-gradient(145deg,#e7edf0,#f8f6ef 55%,#edf2f3);color:var(--ink);font:15px/1.45 Arial,sans-serif}
.admin-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px clamp(16px,4vw,54px);background:rgba(0,53,102,.96);color:#fff;box-shadow:0 4px 18px #001d3540}.eyebrow{margin:0 0 3px;color:#f4c65b;font-size:.76rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.admin-head h1{margin:0;font:800 clamp(1.45rem,3vw,2.25rem) Georgia,serif}.admin-head p:last-child{margin:5px 0 0;color:#dce8f2}.map-link{flex:none;border:1px solid #ffffff80;border-radius:7px;padding:9px 13px;color:#fff;text-decoration:none;font-weight:800}.map-link:hover{background:#ffffff18}
.admin-shell{max-width:1500px;margin:auto;padding:18px clamp(10px,2.5vw,32px) 50px}.model-notice{display:grid;grid-template-columns:180px 1fr;gap:15px;margin-bottom:14px;padding:12px 16px;border:1px solid #e4c35f;border-left:5px solid var(--gold);border-radius:8px;background:#fff9df}.model-notice strong{color:#5b4300}.model-notice span{color:#514c3c}
.admin-tools{position:sticky;top:0;z-index:20;display:flex;align-items:end;gap:18px;margin-bottom:16px;padding:11px 14px;border:1px solid var(--line);border-radius:9px;background:#f2f5f6e8;backdrop-filter:blur(8px)}.admin-tools label{flex:1;color:var(--blue);font-weight:800}.admin-tools input{display:block;width:100%;margin-top:5px;padding:10px 12px;border:1px solid #aebac4;border-radius:7px;background:#fff;font:inherit}.admin-stats{max-width:410px;color:var(--muted);font-size:.87rem;text-align:right}.admin-stats b{color:var(--blue)}
.branches{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.branch{min-width:0;border:1px solid var(--line);border-radius:12px;background:#ffffffd9;box-shadow:0 7px 24px #001d3515;overflow:hidden}.branch-title{display:flex;gap:13px;align-items:flex-start;padding:17px;border-bottom:1px solid var(--line);background:#fff}.branch-icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:50%;background:var(--blue);color:#fff;font:800 1.15rem Georgia,serif}.commune-branch .branch-icon{background:var(--orange)}.branch-title h2{margin:0;color:var(--blue);font:800 1.22rem Georgia,serif}.branch-title p{margin:4px 0 0;color:var(--muted);font-size:.86rem}.tree{padding:11px}
.tree details{position:relative;margin:5px 0 5px 14px;padding-left:15px}.tree details::before{content:"";position:absolute;left:0;top:-5px;bottom:-5px;border-left:1px solid #aab8c3}.tree details::after{content:"";position:absolute;left:0;top:15px;width:11px;border-top:1px solid #aab8c3}.tree>details{margin-left:0;padding-left:0}.tree>details::before,.tree>details::after{display:none}.tree summary{display:flex;align-items:center;gap:7px;min-height:31px;padding:4px 7px;border-radius:5px;color:var(--blue);cursor:pointer;font-weight:800;list-style:none}.tree summary::-webkit-details-marker{display:none}.tree summary::before{content:"›";display:inline-block;width:16px;color:var(--orange);font-size:1.25rem;line-height:1;transition:transform .12s}.tree details[open]>summary::before{transform:rotate(90deg)}.tree summary:hover{background:#edf3f7}.tree .count{margin-left:auto;color:var(--muted);font-size:.72rem;font-weight:700}.tree .level-note{margin:2px 8px 7px 30px;color:var(--muted);font-size:.76rem}.node-list{display:grid;gap:5px;margin:5px 0 8px 16px;padding-left:14px;border-left:1px solid #bdc8d0}.node-button{width:100%;display:flex;align-items:center;gap:8px;border:1px solid #dfe4e8;border-left:3px solid var(--blue);border-radius:5px;background:#fff;padding:7px 9px;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.node-button:hover{border-color:#90a4b4;background:#f7fafb}.node-button.official{border-left-color:#6d28d9}.node-button.mairie{border-left-color:var(--orange)}.node-button .node-main{font-weight:700}.node-button small{margin-left:auto;color:var(--muted);text-align:right}.empty-node{margin:5px 0 8px 31px;color:var(--muted);font-size:.8rem;font-style:italic}.mobile-tabs{display:none}
.pm-bg{display:none;position:fixed;inset:0;z-index:1000;align-items:flex-start;justify-content:center;padding:45px 14px;overflow:auto;background:#001a2d99}.pm-bg.open{display:flex}.pm{position:relative;width:min(650px,100%);border-radius:9px;background:#fff;padding:24px 26px;box-shadow:0 18px 60px #00132180}.pm-close{position:absolute;right:13px;top:10px;border:0;background:none;color:var(--muted);font-size:1.7rem;cursor:pointer}.pm h2{margin:0 35px 4px 0;color:var(--blue);font:800 1.55rem Georgia,serif}.pm .function-tag{display:inline-block;margin-bottom:8px;padding:3px 9px;border-radius:3px;background:var(--blue);color:#fff;font-size:.75rem;font-weight:800;text-transform:uppercase}.pm .modal-path{margin:0 0 15px;padding-bottom:10px;border-bottom:1px solid var(--line);color:var(--muted)}.pm dl{display:grid;grid-template-columns:135px 1fr;gap:8px 13px;margin:0}.pm dt{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.pm dd{margin:0}.pm a{color:var(--blue);font-weight:700}.pm .source-box{margin-top:15px;padding:10px 12px;border:1px solid #e3c760;border-radius:6px;background:#fff9df;font-size:.86rem}.council-unit{margin-top:11px;border:1px solid var(--line);border-radius:7px;padding:8px}.council-unit>summary{color:var(--blue);font-weight:800;cursor:pointer}.council-list{margin-top:8px;padding-top:8px;border-top:1px dotted #bdc7cf}.council-list p{margin:0 0 5px}.person-link{display:block;width:100%;border:0;border-bottom:1px solid #edf0f2;background:#fff;padding:6px 5px;color:var(--ink);text-align:left;cursor:pointer}.person-link:hover{background:#eef4f8;color:var(--blue)}.status-pill{display:inline-block;padding:2px 7px;border-radius:10px;background:#fff1be;color:#6d5000;font-size:.75rem;font-weight:800}.admin-footer{padding:16px;text-align:center;color:var(--muted);font-size:.8rem}
.national-branch{grid-column:1/-1}.national-branch .branch-icon{background:#6d28d9}.ministry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px}.ministry-card{min-width:0;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:8px;background:#fff;overflow:hidden}.ministry-card>summary{display:block;padding:13px 14px;cursor:pointer;list-style:none}.ministry-card>summary::-webkit-details-marker{display:none}.ministry-card h3{margin:0;color:var(--blue);font:800 1rem/1.25 Georgia,serif}.ministry-card .ministry-meta{margin:5px 0 0;color:var(--muted);font-size:.77rem}.ministry-body{padding:0 12px 12px}.act-list{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 9px}.act-chip{border-radius:12px;background:#edf3f7;padding:3px 8px;color:#365266;font-size:.72rem;font-weight:800}.structure-note{margin:8px 0;padding:8px 9px;border-left:3px solid #6d28d9;background:#f6f2ff;color:#4e3e67;font-size:.8rem}.structure-note a{color:var(--blue);font-weight:800}.positions-title{margin:10px 0 5px;color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase}.position-list{display:grid;gap:4px;max-height:480px;overflow:auto}.node-button.position{border-left-color:#7c8791;align-items:flex-start}.node-button.position small{max-width:48%;font-size:.72rem}.verify-tag{color:#8a5700;font-size:.68rem;font-weight:800}.ministry-warning{grid-column:1/-1;margin:0;padding:8px 10px;border:1px solid #e7c85f;border-radius:6px;background:#fff9df;color:#654d00;font-size:.8rem}
.hidden-by-search{display:none!important}.search-hit>summary{background:#fff0bf}.search-hit.node-button{background:#fff0bf}
@media(max-width:1000px){.ministry-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){body{font-size:14px}.admin-head{align-items:flex-start;padding:15px}.admin-head p:last-child{display:none}.map-link{padding:7px 9px;font-size:.8rem}.admin-shell{padding:9px 7px 30px}.model-notice{grid-template-columns:1fr;gap:3px;margin:2px 3px 9px;padding:9px 11px}.admin-tools{top:0;display:block;margin-bottom:8px;padding:8px}.admin-stats{margin-top:6px;text-align:left}.mobile-tabs{display:grid;grid-template-columns:repeat(3,1fr);position:sticky;top:72px;z-index:19;margin:0 0 8px;background:#edf1f3}.branch-tab{border:1px solid var(--line);background:#fff;padding:9px 4px;color:var(--muted);font-size:.74rem;font-weight:800}.branch-tab.active{background:var(--blue);color:#fff}.branches{display:block}.branch{display:none;border-radius:7px}.branch.active{display:block}.branch-title{padding:12px}.branch-title p{font-size:.8rem}.tree{padding:6px}.tree details{margin-left:7px;padding-left:10px}.node-list{margin-left:8px;padding-left:9px}.node-button{padding:8px 7px}.node-button small{max-width:42%}.ministry-grid{grid-template-columns:1fr;padding:7px}.position-list{max-height:none}.pm-bg{padding:0}.pm{min-height:100%;border-radius:0;padding:22px 17px}.pm dl{grid-template-columns:105px 1fr}.council-unit{padding:7px}}

/* Répertoire institutionnel national — 2026-09-11. */
.ministry-card>summary{position:relative;padding-left:43px}.ministry-number{position:absolute;left:13px;top:13px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;font-size:.7rem;font-weight:800}.ministry-card.directory-only{border-top-color:#9ca8b1}.ministry-card.directory-only .ministry-number{background:#7c8791}.structure-note a,.ministry-warning a{color:var(--blue);font-weight:800}.directory-name,.empty-ministry{color:var(--muted);font-size:.8rem}.institution-strip{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:11px 13px;border:1px solid #9eb3c3;border-left:5px solid var(--blue);border-radius:7px;background:#eef5f9}.institution-strip div{display:grid}.institution-strip small{color:var(--muted)}.institution-strip a{margin-left:auto;color:var(--blue);font-weight:800;text-decoration:none}
.ministry-card.site-dead{background:#fff3f5;border-color:#efd4da;border-top-color:#d9a9b2}.ministry-card.site-dead .ministry-number{background:#a97882}.ministry-card.site-recent .ministry-number{background:#23884d}.site-audit-status{margin:7px 0 0;color:#5c6871;font-size:.72rem;font-weight:700}.site-dead .site-audit-status{color:#85545e}
@media(max-width:760px){.institution-strip{display:grid;gap:4px}.institution-strip a{margin-left:0}}
.ministry-profile{margin:13px 0;border-top:1px solid var(--line);padding-top:4px}.ministry-profile h4{margin:13px 0 6px;color:var(--blue);font:800 .88rem Georgia,serif}.current-holder,.contact-card{display:grid;gap:3px;border:1px solid #cbd6dd;border-left:4px solid var(--orange);border-radius:6px;background:#f8fafb;padding:9px 10px}.current-holder span,.contact-card span,.contact-card small{color:var(--muted)}.history-block{margin:7px 0;padding:7px 9px;border:1px solid #d9dfe4;border-radius:6px}.history-block summary{cursor:pointer;color:var(--blue);font-weight:800}.history-block p{margin:8px 0}.org-tree,.org-tree ul{list-style:none;margin:0;padding-left:17px}.org-tree>li{padding-left:0}.org-tree ul{border-left:1px solid #aebbc4}.org-tree li{margin:5px 0}.org-row{display:flex;align-items:flex-start;gap:7px;padding:6px 7px;border-radius:5px;background:#f5f7f8}.org-row>span:first-child{display:grid;flex:1}.org-row small{color:var(--muted);font-size:.68rem;text-transform:uppercase}.org-row a{color:var(--blue);font-size:.72rem;font-weight:800}.holder-empty{color:#80551a;font-size:.72rem}.org-note{margin:3px 8px 7px;color:var(--muted);font-size:.75rem}.supervised-list{display:grid;gap:5px;padding-left:19px}.supervised-list li{padding:6px 8px;background:#f5f7f8}.supervised-list small{display:block;color:var(--muted)}.source-warning{padding:7px 9px;border-left:3px solid #d39b24;background:#fff8e2;color:#6b5319;font-size:.76rem}
@media(max-width:760px){.org-row{display:grid}.holder-empty{order:3}}
.organigram-link{display:inline-flex;align-items:center;border:1px solid #8ba5b7;border-radius:5px;background:#edf5fa;padding:7px 10px;color:var(--blue);font-weight:800;text-decoration:none}.organigram-link:hover{background:#dfeef7}
.node-button.legislative{border-left-color:#9b4f16}.node-button.legislative>span:first-child{color:#d97706}.electoral-branch{grid-column:1/-1}.electoral-branch .branch-icon{background:#9b4f16}.electoral-warning{margin:0 0 10px;padding:9px 11px;border:1px solid #e5c28f;border-radius:6px;background:#fff8ed;color:#68401c}.electoral-warning a{color:var(--blue);font-weight:800}
@media(max-width:760px){.mobile-tabs{grid-template-columns:repeat(2,1fr)}}
