:root{--forest:#252761;--deep:#201c50;--green:#324dc1;--mint:#e6eaff;--ink:#22253a;--muted:#525876;--line:#dedff0;--paper:#f8f7fc;--white:#fff;--gold:#f3ae30;--red:#b44e40;--amber:#95631e;--shadow:0 8px 30px #163d2908}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button{transition:background .15s,transform .15s}button:active{transform:translateY(1px)}button:disabled{cursor:default;opacity:.5}button:disabled:active{transform:none}[hidden]{display:none!important}.skip{position:fixed;left:20px;top:-100px;background:white;padding:10px;z-index:20}.skip:focus{top:10px}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--forest);color:#dbe5df;display:flex;flex-direction:column;padding:30px 19px;z-index:10}.brand{display:flex;align-items:center;gap:12px;color:white;margin:0 4px 50px}.brand:hover{text-decoration:none}.brand-mark{font-size:18px;letter-spacing:-1px;font-weight:800;border:1px solid #ffffff50;border-radius:8px;padding:9px 7px 6px;line-height:1.2}.flag{display:flex;height:3px;margin-top:5px}.flag i{width:33.3%;background:#36a86c}.flag i:nth-child(2){background:#db6457}.flag i:nth-child(3){background:#e9c75d}.brand-title{font-weight:650;font-size:19px;white-space:nowrap;letter-spacing:-.5px}.brand-title small{font-size:6.9px;letter-spacing:1.1px;display:block;color:#aec8ba;margin-top:5px}.space-label{font-size:9px;letter-spacing:1.8px;color:#8aafa0;margin:0 14px 14px}nav{display:flex;flex-direction:column;gap:7px}.nav-item{border:0;background:none;color:#bdd0c5;display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:7px;text-align:left;font-size:13px;position:relative}.nav-item svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.5}.nav-item.active{background:#e8eaff;color:#252761;font-weight:650}.nav-item:hover:not(.active){background:#ffffff0b;color:white}.nav-count{margin-left:auto;background:#ffffff15;font-size:10px;min-width:23px;text-align:center;border-radius:4px;padding:0 4px}.active .nav-count{background:#25276115}.side-bottom{margin-top:auto;padding:20px 14px 0;font-size:12px;color:#deeadf;border-top:1px solid #ffffff20}.side-bottom small{display:block;color:#92b3a3;font-size:10px;line-height:1.8;margin:15px 0}.side-bottom a{color:#bfd0c1;font-size:10px}.private-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b7d9a7;margin-right:5px}.shell{margin-left:238px}.topbar{height:78px;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;background:#fafbf6;gap:15px}.breadcrumb{font-size:11px;letter-spacing:.1px;color:var(--muted)}.breadcrumb span{margin:0 13px;color:#b4c0b3}.breadcrumb strong{font-weight:500;color:var(--ink)}.top-actions{display:flex;gap:18px;align-items:center}.private-pill{font-size:10px;color:var(--green);padding:5px 9px;border:1px solid #d3dfd2;border-radius:5px}.button{border:1px solid var(--forest);background:var(--forest);color:white;border-radius:5px;padding:9px 15px;font-size:11px;font-weight:550;display:inline-flex;gap:12px;align-items:center;justify-content:center}.button:hover{background:#1c594a}.button.quiet{background:transparent;border:1px solid var(--line);color:var(--ink)}.button.quiet:hover{background:#eaf0e6}.button.small{padding:6px 10px;font-size:10px}.icon-btn{border:1px solid var(--line);border-radius:5px;background:white;min-width:32px;min-height:32px;color:var(--ink);font-size:20px}.mobile-menu{display:none}main{max-width:1740px;margin:auto;padding:36px 42px}.page-top{display:flex;justify-content:space-between;gap:28px;align-items:center;margin-bottom:28px}.eyebrow{font-size:9px;font-weight:650;letter-spacing:2.1px;color:var(--green);margin:0 0 12px}h1{font:normal 39px/1.14 Georgia,"Times New Roman",serif;letter-spacing:-1.2px;margin:0}h1 em{font-style:normal;color:var(--green)}.lead{color:var(--muted);font-size:12px;max-width:700px;margin:14px 0 0}.edition{border-left:1px solid var(--line);padding:12px 0 12px 23px;display:flex;flex-direction:column;gap:5px;white-space:nowrap}.edition small{font-size:8px;letter-spacing:1.4px;color:var(--muted)}.edition strong{font:23px Georgia,serif}.edition>span:last-child{font-size:9px;color:var(--muted)}.filter-panel{background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:22px;box-shadow:var(--shadow)}.search{display:flex;gap:13px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line)}.search>span{font-size:25px;line-height:20px;color:var(--green)}.search input{width:100%;border:0;background:transparent;outline:none;font-size:12px;color:var(--ink)}.search kbd{border:1px solid var(--line);border-radius:3px;padding:0 7px;color:var(--muted);font:10px/1.8 inherit}.filters{display:flex;align-items:center;padding:12px 17px;gap:15px}.filters label{flex:1;min-width:0;font-size:8px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}select{color:var(--ink);border:1px solid var(--line);background:white;border-radius:4px;max-width:100%;padding:8px 28px 8px 9px;font-size:11px;min-height:34px}.filters select{border:0;padding:4px 14px 0 0;width:100%;font-weight:550}.reset{padding:7px 9px!important;font-size:9px!important}.active-filters{display:flex;gap:7px;flex-wrap:wrap}.active-filters:not(:empty){padding:0 17px 12px}.chip{font-size:10px;padding:3px 8px;background:#edf3e9;color:var(--green);border-radius:4px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:20px}.stat{padding:18px 20px;background:white;border:1px solid var(--line);border-radius:7px;position:relative;min-width:0}.stat.hero{background:var(--forest);color:white;border-color:var(--forest)}.stat .label{font-size:9px;color:var(--muted);display:flex;align-items:center;gap:7px}.stat.hero .label{color:#dddfff}.stat strong{display:block;font-size:28px;letter-spacing:-.9px;line-height:1.25;margin:10px 0 4px;font-weight:600}.stat strong small{font-size:12px;letter-spacing:0;font-weight:400}.stat .sub{font-size:9px;color:var(--muted);display:block}.stat.hero .sub{color:#e2e4ff}.stat .tiny{font-size:9px;position:absolute;right:15px;top:16px;border:1px solid #ffffff30;border-radius:4px;padding:0 5px;color:#c1d5bd}.notice{padding:12px 16px;background:#eeeede;border:1px solid #dedfc9;border-radius:6px;color:#6c704b;font-size:10px;display:flex;gap:10px;margin:18px 0}.notice b{color:#4d583a}.notice.warning{background:#fbf0e4;border-color:#ecdcc1;color:#805a27}.notice.info{background:#edf3ec;color:#52705b;border-color:#d9e5d8}.notice p{margin:0}.grid-2{display:grid;grid-template-columns:1.15fr 1fr;gap:18px;margin-top:20px}.panel{background:white;border:1px solid var(--line);border-radius:8px;padding:22px;min-width:0;box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:21px}.panel-head h2{font-size:14px;font-weight:600;margin:0;letter-spacing:-.2px}.panel-head p{font-size:10px;color:var(--muted);margin:4px 0 0}.overline{font-size:8px;letter-spacing:1.2px;color:var(--muted);text-transform:uppercase}.link-btn{color:var(--green);font-size:10px;background:none;border:0;padding:0;white-space:nowrap}.bars{display:flex;flex-direction:column;gap:12px}.bar-row{display:grid;grid-template-columns:115px 1fr 75px;gap:12px;align-items:center;text-align:left;background:transparent;border:0;padding:0;color:var(--ink);width:100%;font-size:10px}.bar-track{height:7px;background:#eff2e9;border-radius:3px;overflow:hidden}.bar-fill{height:100%;background:var(--green);border-radius:3px;display:block;min-width:2px}.bar-row:nth-child(3n+2) .bar-fill{background:#79a087}.bar-row:nth-child(3n+3) .bar-fill{background:#b5bd8c}.bar-row>span:last-child{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted);font-size:9px}.bar-row:hover .bar-fill{background:var(--gold)}.donut-layout{display:flex;align-items:center;gap:23px}.donut-wrap{position:relative;width:155px;height:155px;flex-shrink:0}.donut-wrap svg{width:100%;height:100%;transform:rotate(-90deg)}.donut-center{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column}.donut-center b{font-size:26px;font-weight:600;letter-spacing:-1px}.donut-center small{font-size:8px;color:var(--muted)}.legend{flex:1;display:flex;flex-direction:column;gap:8px}.legend button{display:flex;align-items:center;width:100%;gap:7px;font-size:9px;background:none;border:0;padding:0;text-align:left;color:var(--ink)}.legend i{width:6px;height:6px;border-radius:2px;flex-shrink:0}.legend b{margin-left:auto;font-size:9px;font-weight:500}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:27px 0 15px}.section-heading h2{font-size:17px;font-weight:550;margin:0}.section-heading p{font-size:10px;color:var(--muted);margin:4px 0 0}.region-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}.region-card{background:white;border:1px solid var(--line);border-radius:6px;text-align:left;padding:15px;color:var(--ink);position:relative;overflow:hidden}.region-card::before{content:"";position:absolute;top:0;left:0;width:33px;height:3px;background:var(--gold)}.region-card:nth-child(3n+1)::before{background:var(--green)}.region-card:nth-child(3n+2)::before{background:#c16c55}.region-card:hover{border-color:var(--green);background:#f1f5ec}.region-card strong{font-size:11px;font-weight:600;display:block;margin:6px 0 9px}.region-card>span{font-size:8px;color:var(--muted);display:block}.region-card small{display:flex;justify-content:space-between;font-size:10px;margin-top:12px;color:var(--green)}.region-card small i{font-style:normal}.result-tools{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0}.result-tools>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.result-count{font-size:12px;font-weight:600}.result-count small{font-size:10px;font-weight:400;color:var(--muted)}.toggle{display:flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}.toggle button{border:0;background:white;padding:7px 12px;font-size:10px;color:var(--muted)}.toggle button.active{background:var(--forest);color:white}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.project-card{background:white;border:1px solid var(--line);border-radius:7px;padding:19px;display:flex;flex-direction:column;min-width:0;transition:box-shadow .2s,border .2s}.project-card:hover{border-color:#aec0ad;box-shadow:0 8px 20px #133b2010}.project-card .card-top{display:flex;justify-content:space-between;align-items:center;gap:6px}.tag{font-size:8px;background:#edf3e9;color:var(--green);padding:3px 6px;border-radius:3px;display:inline-flex;align-items:center}.tag.amber{color:#976721;background:#fbf1df}.tag.neutral{color:var(--muted);background:#f1f2ed}.select-project{background:transparent;border:0;color:#9eada0;font-size:20px;line-height:1;padding:3px}.select-project.selected{color:var(--gold)}.project-card .place{font-size:9px;color:var(--muted);margin:14px 0 6px}.project-card h3{font:18px/1.35 Georgia,serif;margin:0 0 16px;letter-spacing:-.25px;flex:1}.project-card h3 button{font:inherit;color:inherit;text-align:left;border:0;background:none;padding:0}.project-card h3 button:hover{color:var(--green)}.card-budget{font-size:19px;font-weight:600;margin:0 0 10px;letter-spacing:-.3px}.card-budget small{font-size:9px;font-weight:400;color:var(--muted)}.card-jobs{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.card-jobs small{font-size:8px;color:var(--muted);display:block}.card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:8px;font-size:8px;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:center;gap:15px;margin:24px 0;font-size:10px;color:var(--muted)}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:7px}table{border-collapse:collapse;width:100%;font-size:11px;text-align:left;min-width:700px}th{background:#edf1e8;font-size:9px;color:var(--muted);font-weight:550;padding:12px 15px;white-space:nowrap}td{padding:15px;border-bottom:1px solid #e9ede4;vertical-align:top}tr:last-child td{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table-link{font-weight:550;max-width:420px;text-align:left;background:none;color:var(--ink);border:0;padding:0;font-size:11px}.table-link:hover{color:var(--green)}td small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.empty{text-align:center;border:1px dashed #c7d2c1;border-radius:7px;padding:48px 20px;background:#fafbf6}.empty h2{font:25px Georgia,serif;margin:0 0 8px}.empty p{font-size:12px;color:var(--muted);max-width:500px;margin:0 auto 18px}.commune-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.commune-card{background:white;border:1px solid var(--line);border-radius:7px;padding:18px}.commune-card h3{font:23px Georgia,serif;margin:7px 0 3px}.commune-card p{font-size:10px;color:var(--muted);margin:0}.commune-card .commune-stats{display:flex;gap:25px;margin:17px 0}.commune-stats strong{font-size:14px;font-weight:600}.commune-stats small{display:block;font-size:8px;color:var(--muted)}.commune-card .row{display:flex;gap:10px;justify-content:space-between;align-items:center}.compare-controls{display:flex;gap:10px;align-items:center;margin:0 0 20px}.compare-controls select{min-width:220px}.compare-selects{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.compare-chip{background:white;border:1px solid var(--line);padding:9px 12px;display:flex;gap:20px;border-radius:5px;font-size:11px}.compare-chip button{border:0;background:none;color:var(--muted);padding:0}.compare-table th:not(:first-child){font-size:12px;color:var(--green)}.compare-table td:first-child{color:var(--muted);width:220px}.compare-table td{font-size:13px}.compare-table .soft td{font-size:10px;background:#fafbf6}.scenario{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.scenario-input{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:10px}.scenario-input input{border:1px solid var(--line);padding:11px;border-radius:4px;background:#fafbf6;color:var(--ink);font-size:20px;width:100%}.scenario-balance{font-size:26px;font-weight:600;color:var(--green);margin:8px 0}.scenario-balance.negative{color:var(--red)}.priority-select{font-size:10px;padding:6px;min-height:28px;width:100%}.source-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.source-card{padding:20px;background:white;border:1px solid var(--line);border-radius:7px}.source-card h3{font:21px Georgia,serif;margin:0 0 9px}.source-card p{font-size:10px;color:var(--muted);margin:4px 0;word-break:break-word}.source-card a{display:inline-block;margin-top:13px;font-size:11px}.quality-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:20px}.quality-row{display:flex;justify-content:space-between;gap:10px;font-size:11px;border-bottom:1px solid var(--line);padding:10px 0}.quality-row:last-child{border:0}.quality-row b{font-weight:550}.method{margin-top:20px}.method details{border-bottom:1px solid var(--line);padding:13px 0}.method summary{font-size:12px;cursor:pointer}.method p{font-size:11px;color:var(--muted)}.issues{max-height:350px;overflow:auto}.issue{padding:12px 0;border-bottom:1px solid var(--line);font-size:10px}.issue b{font-size:11px}.issue p{margin:4px 0;color:var(--muted)}footer{border-top:1px solid var(--line);margin-top:40px;padding:23px 0 3px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:9px;line-height:1.8}footer b{color:var(--green);font-size:13px}footer>div:last-child{text-align:right}footer span{font-size:8px}dialog{position:fixed;inset:0 0 0 auto;margin:0;height:100dvh;max-height:100dvh;width:min(720px,100vw);max-width:100vw;padding:35px;border:0;border-left:1px solid var(--line);background:var(--paper);color:var(--ink);overflow:auto;box-shadow:-20px 0 80px #0c2c2920}dialog::backdrop{background:#0e292853;backdrop-filter:blur(2px)}dialog .close{position:sticky;top:0;float:right;z-index:1;border-radius:50%;font-size:23px;margin-left:15px}dialog h2{font:30px/1.2 Georgia,serif;letter-spacing:-.6px;margin:15px 0 12px}dialog .detail-meta{font-size:11px;color:var(--muted);margin-bottom:20px}dialog .stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}dialog .stat{padding:14px}dialog .stat strong{font-size:23px}dialog .panel{padding:17px}.detail-section{margin:20px 0}.detail-section h3{font-size:12px;margin:0 0 8px}.detail-section p{font-size:12px;line-height:1.8;color:#58685e;margin:0}.detail-action{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}.detail-action label{font-size:10px;color:var(--muted)}.detail-action select{margin-left:8px}textarea{width:100%;border:1px solid var(--line);background:white;border-radius:4px;padding:12px;color:var(--ink);min-height:85px;resize:vertical;font-size:12px}.local-status{font-size:9px;color:var(--muted);display:block;margin-top:6px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--deep);color:white;padding:12px 20px;border-radius:6px;font-size:12px;z-index:50;box-shadow:0 5px 20px #0002;max-width:90vw}.loading{padding:80px 0;text-align:center}.loading h1{font-size:30px}.loading p{color:var(--muted);font-size:12px}.loader{display:block;width:27px;height:27px;border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;margin:0 auto 25px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.no-margin{margin:0}.muted{color:var(--muted)}.error{color:var(--red)}.print-title{display:none}@media(min-width:1600px){main{padding-top:45px}.project-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:1200px){.sidebar{width:208px;padding-left:13px;padding-right:13px}.shell{margin-left:208px}.brand-title{font-size:17px}.brand-title small{font-size:6px}.brand-mark{font-size:16px}.topbar{padding:0 27px}main{padding:28px 27px}h1{font-size:35px}.stat strong{font-size:24px}.stat{padding:17px 14px}.project-grid{grid-template-columns:repeat(2,1fr)}.region-grid{grid-template-columns:repeat(3,1fr)}.donut-layout{gap:12px}.donut-wrap{width:125px;height:125px}.grid-2{grid-template-columns:1fr 1fr}.commune-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:980px){.edition{display:none}.grid-2{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.filters{gap:10px;flex-wrap:wrap}.filters label{flex-basis:40%}.filters .reset{margin-left:auto}.donut-wrap{width:160px;height:160px}.region-grid{grid-template-columns:repeat(3,1fr)}.quality-grid{grid-template-columns:1fr}.source-grid{grid-template-columns:1fr}}@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:238px;box-shadow:10px 0 50px #0003}.sidebar.open{transform:translateX(0)}.shell{margin-left:0}.mobile-menu{display:inline-block}.topbar{padding:0 18px;height:65px}.breadcrumb{flex:1;font-size:10px}.breadcrumb span{margin:0 7px}.private-pill{display:none}.top-actions{gap:0}.top-actions .button{font-size:9px;padding:7px 9px}main{padding:25px 17px}h1{font-size:34px}.page-top{margin-bottom:23px}.lead{font-size:11px}.stat-grid{gap:9px}.stat{padding:15px 12px}.stat strong{font-size:24px}.stat .label{font-size:8px}.stat .sub{font-size:8px}.stat .tiny{display:none}.region-grid{grid-template-columns:repeat(2,1fr)}.project-grid,.commune-grid{grid-template-columns:1fr}.project-card h3{font-size:21px}.panel{padding:18px}.bar-row{grid-template-columns:95px 1fr 65px;gap:8px}.scenario{grid-template-columns:1fr}.compare-controls{flex-wrap:wrap}.compare-controls select{min-width:180px;max-width:100%;flex:1}footer{flex-direction:column;gap:12px}footer>div:last-child{text-align:left}.result-tools{align-items:flex-start}.search input{font-size:11px}dialog{padding:23px}dialog h2{font-size:27px}.notice{font-size:9px}.filters select{font-size:10px}.filters label{font-size:7px}.donut-layout{gap:20px}.donut-wrap{width:130px;height:130px}.legend button{font-size:9px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media print{.sidebar,.topbar,.page-top,.filter-panel,.result-tools,.pagination,footer,.close,.detail-action,.toast{display:none!important}.shell{margin:0}main{padding:0}body{background:white}.panel,.stat,.project-card{break-inside:avoid;box-shadow:none}.project-grid{grid-template-columns:repeat(2,1fr)}.print-title{display:block}.table-wrap{overflow:visible}table{min-width:0}dialog[open]{position:static;width:100%;height:auto;max-height:none;border:0;box-shadow:none}body:has(dialog[open]) .shell{display:none}dialog .stat-grid{display:grid}}
.planning-panel,.tracking-panel{margin:22px 0}.planning-panel h3{font-size:12px;margin:20px 0 7px}.planning-panel p,.planning-panel li{font-size:11px;color:#58685e;line-height:1.8}.planning-panel ul{padding-left:18px}.planning-note{border-left:3px solid var(--gold);padding:8px 12px;background:#f8f5eb}.tracking-list{display:flex;flex-direction:column}.tracking-row{display:grid;grid-template-columns:1fr 1.5fr;gap:15px;border-bottom:1px solid var(--line);padding:12px 0;font-size:10px}.tracking-row b{font-size:11px;font-weight:550}.tracking-row small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.tracking-editor{margin-top:20px;font-size:11px}.tracking-editor summary{cursor:pointer;font-weight:600;color:var(--green)}.tracking-editor fieldset{border:1px solid var(--line);border-radius:5px;margin:16px 0;padding:12px;display:grid;grid-template-columns:1fr 1.5fr;gap:10px}.tracking-editor legend{font-size:11px;font-weight:600}.tracking-editor label{font-size:9px;color:var(--muted);display:flex;flex-direction:column;gap:4px}.tracking-editor input,.tracking-editor select{width:100%;min-width:0;border:1px solid var(--line);border-radius:4px;background:white;color:var(--ink);padding:8px;font-size:11px}.tracking-editor label:last-child{grid-column:1/-1}.tracking-error:empty{display:none}.completion-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.completion-cards>div{padding:16px;border:1px solid var(--line);background:white;border-radius:6px}.completion-cards b{display:block;color:var(--green);font-size:23px;font-weight:600}.completion-cards small{font-size:10px;color:var(--muted)}.documentation-table td{font-size:10px}.documentation-table small{font-size:9px}@media(max-width:700px){.tracking-editor fieldset{grid-template-columns:1fr}.tracking-row{grid-template-columns:1fr;gap:5px}.completion-cards{grid-template-columns:1fr}}

[data-region="ADAMAOUA"] { --regional-ink: #973f0b; --accent: #ff9b32; --wash: #fff0df; }
[data-region="NORD"] { --regional-ink: #844500; --accent: #fac02d; --wash: #fff4d0; }
[data-region="EXTRÊME-NORD"] { --regional-ink: #a23430; --accent: #ff655c; --wash: #ffebe6; }
[data-region="CENTRE"] { --regional-ink: #243eab; --accent: #4569f2; --wash: #e9efff; }
[data-region="EST"] { --regional-ink: #914315; --accent: #f28138; --wash: #fff0df; }
[data-region="SUD"] { --regional-ink: #92275b; --accent: #ef549b; --wash: #ffe6f0; }
[data-region="LITTORAL"] { --regional-ink: #185293; --accent: #299ded; --wash: #e0f3ff; }
[data-region="OUEST"] { --regional-ink: #61359b; --accent: #a466ed; --wash: #f3eaff; }
[data-region="NORD-OUEST"] { --regional-ink: #44399e; --accent: #8263ed; --wash: #ece8ff; }
[data-region="SUD-OUEST"] { --regional-ink: #903259; --accent: #f6739b; --wash: #ffebf2; }
.region-card, .commune-card, .project-card {
  background:linear-gradient(145deg,var(--wash),#fff 91%);
  border-radius:14px; border:1px solid var(--line); border-top:5px solid var(--accent);
  box-shadow:0 4px 14px #30205f0c; min-width:0;
}
.region-card::before { display:none; }
.region-card:hover { background:var(--wash); border-color:var(--accent); }
.region-card strong, .commune-card .overline, .region-card small {color:var(--regional-ink);}
.region-card strong {font-size:16px;}
.region-card>span,.commune-card p,.commune-stats small {font-size:11px;}
.commune-card .row,.commune-card .commune-stats {flex-wrap:wrap;}
.project-card h3 a {color:inherit;}
.bar-row[data-region] .bar-fill {background:var(--accent);}
.lecture {max-width:760px;margin:auto;padding:28px 20px 70px;font-size:16px;line-height:1.65;}
.lecture header,.lecture article,.lecture nav {padding:clamp(18px,4vw,36px);margin:22px 0;background:white;border-radius:16px;}
.lecture header {background:var(--wash);border-top:6px solid var(--accent);}
.lecture h1,.lecture h2 {font-family:Georgia,serif;line-height:1.2;}
.lecture h1 {font-size:clamp(32px,6vw,56px);margin:12px 0;}
.lecture small {font-weight:700;color:var(--regional-ink);}
.lecture li {padding:4px 0;}
.lecture article:target {border-top:5px solid var(--accent);}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .region-card,.commune-card {transition:transform .16s,box-shadow .16s;}
  .region-card:hover,.commune-card:hover {transform:translateY(-2px);box-shadow:0 6px 18px #30205f18;}
}

/* Accueil : les repères de couleur restent visibles sur petit écran. */
[data-view="overview"] .topbar {
  background:linear-gradient(105deg,#2445b6,#5534ab 70%,#773ba5);
  border-bottom:4px solid #ffba48;
}
[data-view="overview"] .breadcrumb,
[data-view="overview"] .breadcrumb strong {color:white;font-size:13px;font-weight:650}
[data-view="overview"] .breadcrumb span {color:#ffcf78}
[data-view="overview"] .mobile-menu {background:#fff;color:#303291;border-color:transparent}
[data-view="overview"] .page-top {
  background:radial-gradient(ellipse at 100% 0%,#ffbd6750,transparent 44%),linear-gradient(110deg,#fff1d7,#ffe8ed 65%,#eee5ff);
  border-radius:16px;padding:clamp(18px,3vw,36px);border-bottom:4px solid #fc826c;
}
[data-view="overview"] .page-top h1 {color:#28285e}
[data-view="overview"] .page-top h1 em {color:#a53253}
[data-view="overview"] .page-top .lead {color:#494466}
[data-view="overview"] .stat-grid>.stat {background:var(--tile);border:0;border-top:4px solid var(--edge);color:var(--tile-ink)}
[data-view="overview"] .stat:nth-child(1) {--tile:#324ec3;--edge:#8fafff;--tile-ink:white}
[data-view="overview"] .stat:nth-child(2) {--tile:#ffe2d8;--edge:#f26948;--tile-ink:#762d22}
[data-view="overview"] .stat:nth-child(3) {--tile:#ffedb5;--edge:#f5ae24;--tile-ink:#654107}
[data-view="overview"] .stat:nth-child(4) {--tile:#eedfff;--edge:#9d5edb;--tile-ink:#572c79}
[data-view="overview"] .stat :is(.label,.sub,.tiny) {color:var(--tile-ink)}
