@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#203b35;--green:#214e42;--muted:#7b8682;--line:#e4e8e3;--paper:#f5f6f2;--amber:#dd9a38;--shadow:0 8px 30px #203b3512;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;background:white;border:1px solid var(--line);border-radius:7px;padding:10px 14px;transition:background .18s,box-shadow .18s}button:hover{background:#eef3ee}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #79a493;outline-offset:2px}button:disabled{opacity:.55;cursor:wait}button.primary{background:var(--green);color:white;border-color:var(--green);font-weight:600}button.primary:hover{background:#163e32}button.primary span{font-size:22px;vertical-align:-2px;margin-right:7px}input,select,textarea{color:var(--ink);background:white;border:1px solid #dfe5df;border-radius:6px;padding:11px;width:100%;min-width:0}input::placeholder,textarea::placeholder{color:#939d97}select{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3,.brand strong{font-family:'Manrope',sans-serif}h1{font-size:32px;letter-spacing:-1.1px;font-weight:750;line-height:1.4}h1>span{color:#9bae81}h2{font-size:17px;font-weight:750}h3{font-size:14px}.topbar{height:88px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);gap:28px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.crest{width:42px;height:49px;clip-path:polygon(0 0,100% 0,100% 72%,50% 100%,0 72%);background:var(--green);color:#fff;font:700 23px Georgia;text-align:center;padding-top:7px}.crest span{display:block;font:20px Georgia;line-height:15px;color:#c8d4b2}.brand strong{font-size:17px;letter-spacing:2px}.brand small{display:block;font-size:10px;letter-spacing:.8px;margin-top:4px;color:var(--muted)}nav{display:flex;align-self:stretch;gap:32px;margin-right:auto;margin-left:50px}.nav-tab{border:0;border-radius:0;background:transparent;position:relative;padding:0;font-size:17px;color:#839089;display:flex;align-items:center;gap:9px}.nav-tab span{font-size:13px;font-weight:600}.nav-tab.active{color:var(--green)}.nav-tab.active:after{content:'';height:3px;background:var(--green);position:absolute;bottom:0;left:0;right:0}.agent{display:flex;align-items:center;gap:8px}.agent button{font-size:12px;border:0;background:none;padding:5px}.avatar{display:grid;place-items:center;background:#e8eee4;border:1px solid #dce4d5;border-radius:50%;width:34px;height:34px;font-weight:700;font-size:12px;margin-left:8px}.connection-dot{width:6px;height:6px;display:inline-block;background:#65987b;border-radius:50%;margin-right:2px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:29px 0 25px;gap:20px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#78896f;font-weight:700;margin-bottom:7px}.page-heading p{font-size:13px;color:var(--muted);margin-top:5px}.page-heading button{padding:12px 18px;font-size:13px}main{padding:0 38px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px}.metrics>div{display:flex;align-items:center;position:relative;gap:15px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:20px 18px 29px;min-height:104px}.metric-icon{width:42px;height:42px;background:#edf1e8;border-radius:9px;display:grid;place-items:center;font-size:23px;color:#64804b}.metric-icon.amber{background:#fcf3e3;color:#bb8d45}.metric-icon.blue{background:#eef2f9;color:#7189b1}.metric-icon.green{background:#edf5ef;color:#588968}.metric-label{color:var(--muted);font-size:11px;display:block;margin-bottom:5px}.metrics strong{font-family:'Manrope',sans-serif;font-size:26px;line-height:1.1;letter-spacing:-.7px;font-weight:750}.metrics small{font-size:10px;color:#939b96;position:absolute;bottom:12px;left:75px}.workspace{display:flex;border:1px solid var(--line);border-radius:11px;overflow:hidden;box-shadow:0 4px 20px #193d3504;background:#fff;height:calc(100vh - 390px);min-height:495px;max-height:850px}.sidebar{width:348px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:#fff}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px}.sidebar-heading h2{font-size:15px}.sidebar-heading h2 span{display:inline-block;font:500 10px 'DM Sans';background:#f0f2ed;color:#798b72;padding:3px 6px;border-radius:4px;margin-left:4px}.text-button{border:0;background:transparent;color:#738571;font-size:10px;padding:5px 0}.search{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;margin:0 20px 11px;gap:6px;padding-left:12px}.search span{font-size:23px;color:#8c978c}.search input{border:0;font-size:11px;padding:10px 7px;background:transparent}.filter-row{display:flex;gap:8px;margin:0 20px 12px}.filter-row label{flex:1;min-width:0}.filter-row select{font-size:11px;padding:9px 8px;background:#fafbf8}.dates{font-size:9px;color:#77857b;margin-bottom:15px}.dates label{display:flex;align-items:center;gap:5px}.dates input{font-size:10px;padding:5px;width:100%}.list-label{display:flex;justify-content:space-between;padding:12px 20px;background:#fafbf8;border-top:1px solid #eef0eb;border-bottom:1px solid #eef0eb;font-size:8px;letter-spacing:1px;color:#8a948d}.list-label span:last-child{letter-spacing:0}.operation-list{overflow:auto;flex:1}.operation-card{width:100%;border:0;border-bottom:1px solid #eef0eb;border-radius:0;text-align:left;padding:17px 20px;display:block;position:relative;background:#fff}.operation-card:hover,.operation-card.selected{background:#f5f7f0}.operation-card.selected:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#789763}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.operation-number{color:#939c95;font-size:9px;letter-spacing:.4px}.badge{background:color-mix(in srgb,var(--status) 12%,white);color:var(--status);font-size:9px;border-radius:4px;padding:4px 7px;font-weight:600;white-space:nowrap}.badge:before{content:'';width:4px;height:4px;border-radius:50%;background:var(--status);display:inline-block;vertical-align:2px;margin-right:5px}.operation-card h3{font-size:12px;font-weight:700;line-height:1.5;margin-bottom:5px}.card-category{font-size:10px;color:#8a958b}.card-bottom{display:flex;justify-content:space-between;font-size:10px;margin-top:14px;color:#8a958b}.card-bottom strong{font-weight:600;color:#55664e}.progress{height:3px;background:#eef0e9;border-radius:3px;margin-top:10px;overflow:hidden}.progress span{height:100%;display:block;background:var(--status);border-radius:3px}.file-tools{padding:15px 18px;background:#fafbf7;border-top:1px solid var(--line)}.file-tools>div:first-child{display:flex;align-items:center;gap:10px}.file-icon{font-size:22px;color:#899c76}.file-tools strong{font-size:10px;display:block}.file-tools small{font-size:9px;color:#899384;display:block;margin-top:3px}.file-buttons{display:flex;gap:6px;margin-top:12px}.file-buttons button{font-size:10px;padding:8px;flex:1}.file-buttons button:last-child{flex:0}.map-pane{flex:1;position:relative;min-width:0;background:#e8ecdf}#map{height:100%;width:100%;z-index:0}.map-title{position:absolute;top:20px;left:20px;display:flex;align-items:center;gap:8px;background:#fffffff5;box-shadow:var(--shadow);border-radius:7px;padding:11px 13px;font-size:11px;z-index:400}.map-title>span:last-child{font-size:9px;color:#899282;border-left:1px solid #e1e6db;padding-left:8px}.map-dot{border-radius:50%;width:6px;height:6px;background:#7f9469}.recenter{position:absolute;top:20px;right:65px;z-index:400;box-shadow:var(--shadow);font-size:16px;padding:9px 11px}.recenter span{font-size:10px;margin-left:5px;vertical-align:2px}.map-legend{position:absolute;bottom:25px;left:20px;display:flex;flex-wrap:wrap;align-items:center;gap:13px;background:#fffffff5;border-radius:7px;padding:12px 14px;box-shadow:var(--shadow);font-size:9px;z-index:400;max-width:calc(100% - 40px)}.map-legend strong{font-size:10px;margin-right:4px}.map-legend i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--dot);margin-right:5px}.leaflet-control-zoom{border:0!important;box-shadow:var(--shadow)!important;margin-top:20px!important;margin-right:20px!important}.leaflet-control-zoom a{color:#486347!important;width:30px!important;height:31px!important;line-height:31px!important;font-size:18px!important}.leaflet-control-attribution{font-size:8px!important;background:#ffffffd9!important}.leaflet-tooltip{font-family:'DM Sans';color:var(--ink);font-size:10px;border:0;border-radius:5px;padding:7px 9px;box-shadow:var(--shadow)}.map-marker{background:var(--status);border:3px solid white;border-radius:50%;width:18px!important;height:18px!important;box-shadow:0 2px 8px #203b3540}.demo-banner{position:absolute;left:20px;top:70px;right:20px;z-index:400;background:#fff9ecef;border:1px solid #e9dcbf;border-radius:6px;display:flex;align-items:center;justify-content:space-between;padding:8px 11px;gap:9px;font-size:9px;color:#856c3e}.demo-banner button{font-size:9px;border:0;background:transparent;padding:3px;color:#79613a}.demo-banner[hidden]{display:none}.table-pane{flex:1;min-width:0;overflow:auto}.table-heading{padding:25px}.table-heading p{font-size:12px;color:var(--muted);margin-top:6px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px;white-space:nowrap}th{font-weight:500;text-align:left;background:#f8f9f5;color:#8c9789;padding:13px 20px;border-block:1px solid var(--line)}td{padding:20px;border-bottom:1px solid var(--line)}tbody tr{cursor:pointer}tbody tr:hover{background:#f5f7f0}td strong{display:block;font-size:12px}td small{display:block;font-size:9px;color:#8b958b;margin-top:5px}td .progress{width:85px}footer{display:flex;justify-content:space-between;padding:17px 0 22px;font-size:9px;color:#8c9789}footer>span:first-child{display:flex;align-items:center;gap:5px}.footer-year{margin-left:12px;color:#a0aa99}.drawer-backdrop{position:fixed;inset:0;background:#102f272d;z-index:999}.drawer{position:fixed;right:0;top:0;bottom:0;width:490px;max-width:100%;z-index:1000;background:white;box-shadow:-8px 0 40px #173d3324;overflow:auto}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:1}.drawer-head h2{font-size:21px}.icon-button{font-size:23px;border:0;padding:3px 10px}.drawer form{padding:24px}.drawer label,.agent-form label{display:block;font-size:11px;font-weight:500;margin-bottom:16px}.drawer label input,.drawer label select,.drawer label textarea{display:block;margin-top:7px;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.drawer h3{margin:12px 0 17px;border-top:1px solid var(--line);padding-top:21px}.drawer h3 span{font-size:10px;color:#8a9787;float:right;font-weight:400}.zone-help{font-size:11px;color:#86917f;line-height:1.6;margin-bottom:12px}.zone-actions{display:flex;gap:8px}.zone-actions button{flex:1;font-size:11px;padding:10px 6px}.zone-item{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #edf0e8;font-size:11px}.zone-item button{border:0;padding:4px;color:#a26767;font-size:10px}#edit-zones{font-size:11px;margin-top:10px}.modified-info{font-size:10px;color:#899680;margin-top:25px}.form-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:20px;border-top:1px solid var(--line);margin-top:20px}.form-actions button{font-size:11px}.danger{color:#a45858;border-color:#e3cfcf;margin-right:auto}.form-error{background:#fcf0ed;color:#a35547;border:1px solid #e9c8c0;border-radius:6px;font-size:12px;line-height:1.6;padding:12px;margin-bottom:18px}.empty-state{padding:40px 22px;text-align:center;color:#8c9885;font-size:12px;line-height:1.8}.empty-state strong{color:#55694c;display:block}.draw-instructions{position:absolute;left:20px;right:20px;top:75px;z-index:500;background:#214e42;color:white;border-radius:8px;box-shadow:var(--shadow);padding:12px 15px;display:flex;align-items:center;gap:10px;font-size:12px}.draw-instructions strong{flex:1;font-weight:500}.draw-instructions button{font-size:11px}.drawing .drawer,.drawing .drawer-backdrop{display:none}.drawing .demo-banner{display:none}.drawing .map-title{display:none}dialog{border:1px solid var(--line);border-radius:13px;padding:28px;color:var(--ink);max-width:440px;width:calc(100% - 32px);box-shadow:var(--shadow)}dialog::backdrop{background:#173d334d}dialog h2{font-size:20px;margin-bottom:12px}dialog p{font-size:13px;line-height:1.7;color:#7b8875;margin-bottom:22px}dialog>div{display:flex;justify-content:flex-end;gap:8px}dialog form label{font-size:12px}dialog form input{margin-top:8px;margin-bottom:18px}dialog form button{width:100%}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:2000;padding:13px 20px;background:#214e42;color:white;border-radius:8px;box-shadow:var(--shadow);font-size:12px;max-width:calc(100% - 32px);line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.draw-instructions button{color:var(--ink)}
@media(max-width:760px){.topbar .agent{display:flex}.topbar .agent .avatar{display:none}.topbar .agent button{font-size:0;width:30px;height:30px;border-radius:50%;background:#e8eee4}.topbar .agent button:after{content:'M';font-size:12px;font-weight:700}}
@media(min-width:1600px){main{max-width:1800px;margin:auto}.sidebar{width:380px}h1{font-size:36px}.operation-card h3{font-size:14px}.operation-card{padding:20px}.metrics>div{padding:23px 22px 32px}.metrics small{left:80px}}
@media(max-width:1100px){.topbar{padding-inline:24px;gap:15px}nav{margin-left:20px;gap:22px}main{padding-inline:24px}.sidebar{width:305px}.metrics{gap:10px}.metrics>div{padding:17px 12px 29px;gap:10px}.metrics small{left:64px}.metrics strong{font-size:22px}.metric-icon{width:36px;height:36px}.agent .connection-dot{display:none}h1{font-size:28px}.map-legend{gap:9px}}
@media(max-width:760px){.topbar{height:72px;padding:0 16px;flex-wrap:wrap}.brand strong{font-size:13px}.brand small{font-size:8px}.crest{width:31px;height:37px;font-size:17px;padding-top:5px}.crest span{font-size:16px}nav{margin:0 0 0 auto;gap:16px}.nav-tab span{display:none}.nav-tab{font-size:23px}.agent{display:none}main{padding:0 14px}.page-heading{margin:22px 0 19px;flex-wrap:wrap;gap:15px}h1{font-size:25px;letter-spacing:-.7px}.eyebrow{font-size:8px}.page-heading p{font-size:11px}.page-heading button{padding:9px 13px;font-size:11px}.metrics{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:17px}.metrics>div{min-height:93px;padding:13px 10px 25px}.metrics strong{font-size:21px}.metric-label{font-size:9px}.metrics small{font-size:8px;left:56px;bottom:10px}.metric-icon{width:31px;height:31px;font-size:20px}.workspace{flex-direction:column;height:auto;min-height:0;max-height:none}.sidebar{width:100%;border-right:0;border-top:1px solid var(--line);order:2}.map-pane{flex:auto;height:390px;order:1}.sidebar-heading{padding:17px 18px}.operation-list{max-height:340px}.operation-card{padding:14px 20px}.map-title{top:14px;left:12px}.recenter{top:14px;right:55px}.recenter span{display:none}.leaflet-control-zoom{margin-top:14px!important;margin-right:12px!important}.map-legend{bottom:25px;left:12px;max-width:calc(100% - 24px);font-size:8px;gap:9px;padding:10px}.map-legend strong{display:none}.demo-banner{top:63px;left:12px;right:12px;align-items:flex-start;flex-direction:column;gap:2px}.demo-banner button{padding-left:0}.table-pane{order:1;max-height:420px}footer{font-size:8px;gap:15px;line-height:1.8}footer>span:last-child{text-align:right;max-width:45%}.footer-year{display:none}.drawer{width:100%}.drawer-head{padding:20px}.drawer form{padding:20px}.drawing .map-pane{height:70vh}.draw-instructions{font-size:11px;top:65px;left:12px;right:12px;flex-wrap:wrap}.draw-instructions strong{flex-basis:100%}}

/* La carte occupe tout l'espace disponible ; les outils restent près des bords. */
.topbar{height:60px;padding-inline:14px}
.crest{width:32px;height:39px;font-size:18px;padding-top:5px}
.crest span{font-size:16px}
.brand strong{font-size:14px}
.brand small{font-size:9px}
main{padding:0 12px;max-width:none;margin:0}
.page-heading{margin:12px 0 10px}
.page-heading .eyebrow{font-size:8px;margin-bottom:3px}
h1{font-size:23px;letter-spacing:-.6px}
.page-heading p{display:none}
.page-heading button{padding:8px 13px;font-size:12px}
.metrics{gap:9px;margin-bottom:12px}
.metrics>div{min-height:58px;padding:10px 14px;gap:10px}
.metric-icon{width:30px;height:30px;font-size:19px}
.metric-label{font-size:10px;margin-bottom:2px}
.metrics strong{font-size:20px;letter-spacing:-.4px}
.metrics small{display:none}
.workspace{height:calc(100dvh - 211px);min-height:360px;max-height:none;border-radius:8px}
.sidebar{width:292px}
.sidebar-heading{padding:15px 14px 12px}
.search{margin-inline:14px}
.filter-row{margin-inline:14px}
.list-label{padding-inline:14px}
.operation-card{padding:14px}
.file-tools{padding:12px 14px}
footer{padding:9px 0;font-size:9px}
.map-title{top:10px;left:275px}
.basemap-switch{display:flex;background:white;border:1px solid var(--line);border-radius:7px;box-shadow:var(--shadow);overflow:hidden}
.basemap-switch button{border:0;border-radius:0;padding:10px 12px;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;line-height:16px;color:var(--ink)}
.basemap-switch button+button{border-left:1px solid var(--line)}
.basemap-switch button.active{background:var(--green);color:white}
.basemap-switch button:focus-visible{outline-offset:-3px}
.recenter{top:10px;right:50px}
.leaflet-control-zoom{margin-top:10px!important;margin-right:10px!important}
.map-legend{left:10px;bottom:22px;padding:10px;max-width:calc(100% - 20px)}
.demo-banner{top:56px;left:10px;right:10px}
.drawer-backdrop{display:none}
.drawer{top:var(--workspace-top,185px);bottom:38px;right:20px;width:360px;border:1px solid var(--line);border-radius:9px;box-shadow:0 6px 25px #173d3324;display:flex;flex-direction:column;overflow:hidden}
.drawer-head{padding:15px;position:static;flex-shrink:0}
.drawer-head h2{font-size:16px;line-height:1.5}
.drawer #operation-form{padding:0;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.drawer-content{padding:15px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.drawer .form-actions{margin:0;padding:12px 15px;flex-shrink:0;background:white;border-top:1px solid var(--line)}
.drawer input[type="color"]{height:35px;padding:3px;cursor:pointer}
.color-help{font-size:10px;line-height:1.6;color:var(--muted);margin:-3px 0 16px}
.color-palette{display:flex;gap:10px;margin:0 0 13px;padding:0 2px}
.color-palette button{width:24px;height:24px;padding:0;border:2px solid white;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px #e1e6de}
.color-palette button.active{box-shadow:0 0 0 2px var(--ink)}
.map-pin{background:transparent;filter:drop-shadow(0 2px 3px #173d3340)}
.map-pin svg{display:block;width:100%;height:100%;fill:var(--status,#6282c5);stroke:white;stroke-width:2}
.zone-label{background:#fffffff0;border:1px solid #d5dfd1;color:var(--ink);font:600 10px 'DM Sans',sans-serif;white-space:normal;width:max-content;max-width:190px;text-align:center;line-height:1.4;padding:4px 7px;pointer-events:auto;cursor:pointer;box-shadow:0 2px 7px #173d331c}
.zone-label.leaflet-tooltip-center:before{display:none}
.drawer .zone-item{gap:10px;align-items:flex-end}
.drawer .zone-item label{flex:1;min-width:0;margin:0;font-size:10px}
.drawer .zone-item input{margin-top:6px}
.drawer .zone-item>button{margin-bottom:8px;flex-shrink:0}
.drawer label{font-size:10px;margin-bottom:12px}
.drawer label input,.drawer label select,.drawer label textarea{padding:9px;font-size:11px}
.drawer h3{padding-top:15px;margin:9px 0 12px}
.form-grid{gap:0 10px}
.map-selection-tools{position:fixed;bottom:48px;left:324px;right:390px;z-index:600;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #d6e2d0;border-radius:8px;box-shadow:var(--shadow);padding:9px 12px;font-size:11px}
.map-selection-tools>span{flex:1;line-height:1.5}
.map-selection-tools button{padding:7px 10px;font-size:11px}
.zone-move-handle{background:#fff;border:1px solid #214e42;border-radius:7px;box-shadow:0 2px 8px #173d3330;display:grid;place-items:center;cursor:grab!important;color:#214e42}
.zone-move-handle:active{cursor:grabbing!important;background:#edf4e9}
.zone-move-handle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.leaflet-editing-icon{width:12px!important;height:12px!important;margin-left:-6px!important;margin-top:-6px!important;border:2px solid #214e42!important;border-radius:50%;box-shadow:0 1px 5px #183d3333;background:#fff}
.operation-open .map-legend{max-width:calc(100% - 395px)}
.drawing .map-selection-tools{display:none}
@media(min-width:761px){
  body{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
  .topbar{flex-shrink:0}
  main{display:flex;flex-direction:column;flex:1;min-height:0}
  .page-heading,.metrics,footer{flex-shrink:0}
  .workspace{flex:1;height:auto;min-height:0}
}
@media(max-width:1100px){nav{margin-left:12px;gap:20px}.sidebar{width:260px}.map-selection-tools{left:290px;right:380px}.drawer{width:350px}.brand small{display:none}}
@media(max-width:760px){
  .topbar{height:54px;padding-inline:8px;gap:10px}
  .brand strong{font-size:12px}.brand small{display:none}
  main{padding:0 6px}
  .page-heading{margin:8px 0;gap:6px;align-items:center}
  .page-heading .eyebrow{display:none}
  h1{font-size:18px}
  .page-heading button{padding:6px 9px;font-size:10px}
  .metrics{gap:5px;margin-bottom:7px}
  .metrics>div{min-height:45px;padding:7px;gap:7px}
  .metric-icon{width:25px;height:25px;font-size:16px}
  .metric-label{font-size:8px}.metrics strong{font-size:16px}
  .workspace{height:auto;min-height:0;max-height:none}
  .map-pane{height:calc(100dvh - 230px);min-height:450px}
  .sidebar{width:100%}
  .drawer{top:auto;bottom:8px;left:8px;right:8px;width:auto;height:40dvh;max-height:40dvh}
  .drawer-head{padding:10px 14px}.drawer-head .eyebrow{display:none}
  .map-selection-tools{bottom:calc(40dvh + 18px);left:8px;right:8px;font-size:10px;padding:7px}
  .operation-open .map-legend{max-width:calc(100% - 20px)}
  .operation-open .map-legend{display:none}
  .demo-banner{font-size:8px;top:54px;gap:2px}
  .demo-banner button{font-size:8px}
  .map-title{display:none}
  .map-title>span:last-child{font-size:8px}
  .draw-instructions{top:54px;left:8px;right:8px;padding:9px}
  .drawing .map-pane{height:calc(100dvh - 230px)}
}

/* Le calque cadastral reste indépendant du fond choisi. */
.basemap-switch .cadastre-toggle.active{background:#fff0cc;color:#755016}
.basemap-switch .cadastre-toggle.active:before{content:'✓ ';font-weight:700}
@media(max-width:1100px){.map-title{display:none}}
/* Réorganisation des formes depuis leur liste dans la fiche. */
.drawer .zone-item .zone-drag-handle{align-self:center;margin:0;padding:8px 5px;color:var(--green);font-size:22px;line-height:1;cursor:grab;user-select:none;touch-action:none}
.drawer .zone-item .zone-drag-handle:active{cursor:grabbing}
.drawer .zone-item.dragging{opacity:.45}
.drawer .zone-item.drop-before{box-shadow:inset 0 3px var(--green)}
.drawer .zone-item.drop-after{box-shadow:inset 0 -3px var(--green)}

.heading-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#share-dialog{max-width:590px}
#share-dialog label{font-size:12px}
#share-link{margin:8px 0 12px;font-size:12px}
#share-copy-status{min-height:20px;margin-bottom:12px}

.operation-row{position:relative}
.operation-row .operation-card{padding-right:48px}
.isolate-operation{position:absolute;right:10px;top:43px;width:29px;height:29px;padding:5px;border-radius:6px;background:#fff}
.isolate-operation svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7}
.isolate-operation[aria-pressed="true"]{background:var(--green);color:white;border-color:var(--green)}
.operation-isolation{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 16px;background:#edf3ed;font-size:10px;border-bottom:1px solid var(--line)}
.operation-isolation button{font-size:10px;padding:5px 7px}
