.planning-heading,.planning-toolbar,.planning-save,.drawing-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.planning-heading>select{flex:1;min-width:180px}.planning-toolbar>.field{flex:1;min-width:180px}.planning-status{min-height:22px;font-size:13px}.planning-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}.planning-canvas-panel{position:sticky;top:0;min-width:0;background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px}.drawing-controls{margin-bottom:10px}.drawing-controls button{font-size:11px;padding:8px}.plan-canvas{width:100%;height:490px;display:block;background:linear-gradient(90deg,#e5ebe680 1px,transparent 1px),linear-gradient(#e5ebe680 1px,transparent 1px),#f8faf7;background-size:25px 25px;border:1px solid #dbe4dc;border-radius:7px;touch-action:none;user-select:none}.plan-shape{stroke-width:2;cursor:pointer}.plan-shape.parcel{fill:#f0f2e520;stroke:#4b6250;stroke-dasharray:8 4}.plan-shape.eligible{fill:#b9d1ae30;stroke:#72a05f;stroke-dasharray:4 3}.plan-shape.project{fill:#7baec020;stroke:#227998;stroke-width:3}.object-house{fill:#e5bc7c;stroke:#7a5931}.object-parking{fill:#d5d9dd;stroke:#64717b}.object-road,.object-turnaround,.object-path{fill:#c2bfaf;stroke:#7c7b6f}.object-common{fill:#8eaf8d;stroke:#4b7b4a}.object-exclusion{fill:#c2646440;stroke:#a83c3c;stroke-dasharray:5 3}.plan-shape.selected{stroke:#0b5d9d;stroke-width:4}.plan-vertex{fill:white;stroke:#087caa;stroke-width:2;vector-effect:non-scaling-stroke;cursor:grab}.plan-drawing{fill:none;stroke:#d76333;stroke-width:3;stroke-dasharray:5 3}.plan-object-label{fill:#263d37;paint-order:stroke;stroke:#fff9;stroke-width:.2px}.plan-scale{stroke:#153d31;stroke-width:3}.plan-scale-label{fill:#153d31}.object-inspector{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-top:12px}.object-inspector>strong{width:100%;font-size:12px}.object-inspector .field{flex:1;min-width:90px}.object-inspector input{width:100%;min-width:0}.object-inspector button{font-size:11px}.planning-summary{min-width:0}.planning-summary h3{margin:12px 0}.plan-metrics{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;font-size:12px}.plan-metrics dt{color:#617469;line-height:1.5}.plan-metrics dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.scenario-card,.planning-assessment,.planning-issues{padding:14px;background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:12px}.scenario-card .warning{font-size:11px;line-height:1.5}.planning-issues ul{font-size:11px;padding-left:16px;line-height:1.6}.planning-section{background:#fff;border:1px solid var(--line);border-radius:8px;margin:18px 0;padding:15px}.planning-section>summary{font-weight:600;cursor:pointer}.assumption-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}.assumption-grid .field input{width:100%;min-width:0}.planning-save{position:sticky;bottom:0;padding:12px;background:#f6f9f5;border:1px solid var(--line);z-index:3}.planning-save input{flex:1;min-width:180px}.planning-jobs{margin:22px 0}.planning-jobs>textarea{width:100%;min-height:75px;margin:8px 0}.planning-jobs>button{margin:0 8px 12px 0}.planning-version{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-top:12px;font-size:12px}.comparison-table{min-width:0!important;table-layout:auto;width:100%;margin-top:15px}.comparison-table th,.comparison-table td{width:auto!important;font-size:12px;padding:10px}.dossier-layout:has([data-section=planning]:not([hidden])){grid-template-columns:1fr}.dossier-layout:has([data-section=planning]:not([hidden]))>.dossier-aside{display:none}.dossier-form:has([data-section=planning]:not([hidden]))>.save-footer{display:none}dialog.dossier:has([data-section=planning]:not([hidden])){width: min(1480px,96vw);max-width:1480px}
@media(max-width:1000px){.planning-layout{grid-template-columns:1fr}.planning-canvas-panel{position:static}.planning-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px}.planning-summary>div{min-width:0}.planning-summary>div:nth-child(2){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.planning-summary>div:nth-child(2)>h3,.planning-summary>div:nth-child(2)>.plan-metrics{grid-column:1/-1}.assumption-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.planning-summary,.planning-summary>div:nth-child(2){display:block}.assumption-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-canvas{height:350px}.planning-toolbar>button{font-size:11px}.planning-save{position:static}.planning-save>button{width:100%}.planning-version{align-items:flex-start;flex-direction:column}.drawing-controls{gap:5px}.drawing-controls button{padding:7px;font-size:10px}.planning-editor input,.planning-editor textarea{max-width:100%}}
.planning-status:empty{display:none}.planning-heading{margin:8px 0 12px}.drawing-advanced{margin:0 0 10px;font-size:11px}.drawing-advanced summary{cursor:pointer;padding:6px 0;color:var(--green)}.drawing-advanced .drawing-controls{margin-top:8px}.planning-toolbar{margin-top:10px}.planning-canvas-panel .hint{font-size:11px}.planning-editor .plan-canvas{height:430px}.planning-toolbar+p.hint{font-size:11px;margin:7px 0 12px}
.planning-package{margin:0 0 12px;font-size:12px}.planning-package>summary{cursor:pointer;color:var(--green);padding:5px 0}.planning-package>.hint{font-size:11px}#section-planning>.hint:first-child{display:none}dialog.dossier:has([data-section=planning]:not([hidden])) .dialog-top{padding-top:14px;padding-bottom:14px}dialog.dossier:has([data-section=planning]:not([hidden])) .dialog-top h2{font-size:20px}dialog.dossier:has([data-section=planning]:not([hidden])) .case-navigation{margin:5px 0}dialog.dossier:has([data-section=planning]:not([hidden])) .case-navigation button{padding:6px 10px}.planning-editor .plan-canvas{height:clamp(280px,calc(100vh - 360px),520px)}
.module-palette{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:12px;background:#f1f6f3;border:1px solid var(--line);border-radius:9px}.module-palette>strong,.module-palette>p{flex-basis:100%;margin:0}.module-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:1;min-width:105px;padding:8px!important;cursor:grab}.module-card:active{cursor:grabbing}.module-card>svg{height:105px;width:100%;max-width:100px;pointer-events:none}.module-card>small{font-size:11px;color:#5b7265}.module-outline{fill:none;stroke:#738f7c;stroke-width:.15;stroke-dasharray:.5 .3}.module-garden{fill:#e2ecd7}.module-walk{fill:#e5ddca}.module-house{fill:#326b58;stroke:#204b3e;stroke-width:.1}.module-parking{fill:#b5bcc0;stroke:#7d888d;stroke-width:.1}.module-terrace{fill:#d0a76d;stroke:#b48f5f;stroke-width:.1}.module-grill{fill:#bf815e}.plan-shape.component-envelope{fill:none!important;stroke:#638571;stroke-dasharray:6 4;pointer-events:stroke}.plan-shape.component-garden{fill:#dce9d080;stroke:none}.plan-shape.component-walk{fill:#d5cdb980;stroke:none}.plan-shape.component-terrace{fill:#d2b07c;stroke:#b09365}.plan-shape.component-grill{fill:#bb805f;stroke:#996449}.plan-shape.component-garden.selected,.plan-shape.component-walk.selected{stroke:#6f9a7d;stroke-width:1}.module-rotate-handle{fill:#fff;stroke:#c79435;stroke-width:2;vector-effect:non-scaling-stroke;cursor:grab}.module-rotate-line{stroke:#c79435;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:4 3}.object-inspector>.hint{width:100%;font-size:11px}.plan-canvas:focus-visible{outline:3px solid #b7a16f;outline-offset:3px}@media(max-width:600px){.module-card{min-width:80px}.module-card>svg{height:75px}}

.module-card{touch-action:none;user-select:none;-webkit-user-select:none}.module-drag-ghost{position:fixed;z-index:10000;pointer-events:none;transform:translate(12px,12px);width:82px;padding:7px;background:#fff;border:2px solid #39735e;border-radius:7px;box-shadow:0 6px 20px #183c3233;font-size:11px;font-weight:600;color:#213d37;opacity:.85}.module-drag-ghost[data-over-canvas=false]{opacity:.5;border-style:dashed}.module-drag-ghost>svg{display:block;width:100%;height:105px;margin-top:4px}
.planning-reference-info{padding:10px 12px;margin-bottom:12px;border:1px solid #d6e2da;border-radius:7px;background:#f5f8f5;font-size:12px}.planning-reference-info>p{margin:5px 0;line-height:1.5}.planning-reference-info>a{display:inline-block;margin:3px 14px 0 0;font-size:11px}.planning-basemap-state{min-height:20px;font-size:12px;line-height:1.5;margin:5px 0 10px}.plan-parcel-halo{stroke:#fff;stroke-width:7;stroke-linejoin:round}.plan-shape.parcel{stroke:#183e31;stroke-width:3;stroke-dasharray:9 4;fill:#f0f2e510}
