/* Gemeinsame Schutzplanung v0.2.70 – auf bestehende Plattformnavigation begrenzt. */
[data-planning-editor]{grid-column:1/-1;min-width:0}
.planning-editor-card{margin:10px 0;border:1px solid #cad3da;border-radius:5px;background:#fff;color:#1e303c;overflow:hidden}
.planning-editor-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 16px 4px}
.planning-editor-heading h3{margin:4px 0!important;font-size:17px!important;line-height:1.25}
.planning-kicker{font-size:10px;letter-spacing:.1em;font-weight:800;color:#536977}
.planning-count{padding:5px 9px;border-radius:4px;background:#eaf0f3;font-size:11px;font-weight:800;white-space:nowrap}
.planning-help{font-size:12px!important;line-height:1.5!important;color:#536575!important;margin:9px 0!important;letter-spacing:normal!important;font-weight:400!important}
.planning-editor-card>.planning-help{padding:0 16px}
.planning-phase-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:5px 12px 0}
.planning-phase-tab{display:flex!important;flex-direction:column;justify-content:center;min-width:0!important;min-height:54px!important;padding:7px 4px!important;font-size:12px!important;line-height:1.25!important;white-space:normal!important;border:1px solid #c7d1d8!important;border-top:4px solid var(--phase)!important;background:#f3f6f8!important;color:#263744!important;border-radius:4px 4px 0 0!important;box-shadow:none!important}
.planning-phase-tab span{font-weight:800}.planning-phase-tab small{font-size:10px!important;margin-top:3px!important;letter-spacing:0!important}
.planning-phase-tab.active{background:#fff!important;border-bottom-color:#fff!important;box-shadow:inset 0 -3px 0 #273c4a!important}
.planning-phase-body{padding:14px 16px 16px;border-top:1px solid #d8e0e6}
.planning-active-phase{border-left:5px solid var(--phase);padding:5px 9px;margin-bottom:12px;font-weight:800;font-size:13px;background:#f4f7f9}
.planning-editor-card label,.planning-modal-card label{display:flex!important;flex-direction:column!important;gap:6px!important;font-size:12px!important;line-height:1.4!important;font-weight:700!important;min-width:0;letter-spacing:0!important;text-transform:none!important;margin-bottom:8px}
.planning-editor-card input,.planning-editor-card select,.planning-editor-card textarea,.planning-modal-card input,.planning-modal-card select,.planning-modal-card textarea{width:100%!important;max-width:100%;min-width:0!important;min-height:40px!important;padding:9px 10px!important;font-size:14px!important;line-height:1.4!important;color:#1c303e!important;background:#fff!important;border:1px solid #adbcc7!important;border-radius:4px!important;box-sizing:border-box;letter-spacing:0!important;font-weight:400!important}
.planning-editor-card textarea,.planning-modal-card textarea{min-height:76px!important;resize:vertical}
.planning-status-help{font-size:12px;line-height:1.45;margin:0 0 12px;color:#4a5f6b}
.planning-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.planning-input-grid .wide{grid-column:1/-1}
.planning-details summary{padding:13px 16px;cursor:pointer;font-size:14px;font-weight:800;line-height:1.4}.planning-details summary small{font-size:11px;font-weight:400;margin-left:6px;color:#526a78}.planning-details[open] summary{border-bottom:1px solid #d8e0e6;background:#f4f7f9}
.planning-details-body{padding:8px 16px 14px}.planning-inline-actions{display:flex;flex-wrap:wrap;gap:7px;margin:4px 0 10px}.planning-inline-actions button,.planning-map-link{min-height:38px!important;padding:7px 10px!important;font-size:12px!important;line-height:1.3!important;white-space:normal!important}
.planning-parking-preview{padding:10px 12px;background:#f1f5f7;border-left:3px solid #55707f;font-size:12px;line-height:1.5;margin:10px 0;overflow-wrap:anywhere}
.planning-readout{display:grid;gap:8px;margin:10px 0;min-width:0}.planning-info-card{padding:11px 13px;border:1px solid #d0d9e0;border-left:4px solid var(--planning-accent);border-radius:4px;background:#f7f9fb;line-height:1.45;overflow-wrap:anywhere}.planning-info-card>b{display:block;font-size:11px;letter-spacing:.03em;margin-bottom:6px;color:#445d6c}.planning-info-card>div{font-size:13px}.planning-info-card strong{color:#182f3b}.planning-map-link{margin-top:10px}
.planning-stage-summary{display:grid;grid-template-columns:8px 68px minmax(0,1fr);gap:7px;align-items:center;padding:4px 0}.planning-phase-dot{height:15px;border:1px solid #0002;border-radius:2px}.planning-point-parking{margin-top:8px}.planning-point-summary>small{display:block;margin-top:8px;color:#657884}
.planning-parking-card{display:flex!important;align-items:center;justify-content:space-between;text-align:left!important;gap:12px;width:100%;min-width:0;margin:8px 0;padding:12px!important;background:#fff!important;border:1px solid #c4d1da!important;border-radius:5px!important;white-space:normal!important;letter-spacing:0!important;line-height:1.4!important;text-transform:none!important}
.planning-parking-card b{font-size:14px}.planning-parking-card small{display:block;font-size:12px!important;line-height:1.4;color:#576d7a;margin-top:3px}.planning-parking-status{font-size:11px;padding:5px 8px;background:#e9f0f4;color:#294757;border-radius:3px;flex-shrink:0}.planning-parking-status.unavailable{background:#fcecef;color:#a01f30}.planning-empty{font-size:13px;line-height:1.5;padding:10px 0;color:#5d717e}
#planningParkingSearch{width:100%;font-size:14px;min-height:40px}
.planning-modal{z-index:25000!important}.planning-location-modal{z-index:25100!important}.planning-modal.hidden{display:none!important}
.planning-modal-card{width:min(860px,96vw)!important;height:auto!important;max-height:94dvh!important;padding:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;background:#fff!important;color:#213746}
.planning-modal-card>.modal-head{flex:0 0 auto;padding:14px 18px!important;border-bottom:1px solid #d4dde4}.planning-modal-card>.modal-head h2{font-size:18px!important;line-height:1.3!important;margin:0!important}
.planning-modal-scroll{padding:12px 18px;overflow:auto;min-height:0;flex:1}.planning-modal-card>.modal-actions{flex:0 0 auto;padding:12px 18px!important;border-top:1px solid #c9d6df;background:#f5f8fa}.planning-modal-card>.modal-actions button{min-height:40px;font-size:13px!important;padding:9px 12px!important;line-height:1.3!important}
#planningLocationMap{height:60dvh;min-height:240px;flex:1;background:#eef3f6}#planningLocationValue,#planningLocationHint{padding:8px 16px!important;margin:0!important;flex:0 0 auto}
@media(max-width:620px){.planning-editor-heading{padding:12px 10px 3px}.planning-editor-heading h3{font-size:16px!important}.planning-editor-card>.planning-help{padding:0 10px}.planning-phase-tabs{padding:5px 8px 0;gap:3px}.planning-phase-tab{font-size:11px!important}.planning-phase-tab small{font-size:9px!important}.planning-phase-body,.planning-details-body{padding:12px 10px}.planning-details summary{padding:13px 10px}.planning-details summary small{display:block;margin:3px 0 0}.planning-input-grid{grid-template-columns:minmax(0,1fr)}.planning-parking-card{flex-direction:column;align-items:flex-start}.planning-modal{padding:0!important}.planning-modal-card{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}.planning-modal-card>.modal-head{padding:12px!important}.planning-modal-card>.modal-head h2{font-size:16px!important}.planning-modal-scroll{padding:10px 12px}.planning-modal-card>.modal-actions{padding:10px 12px!important;gap:6px;flex-wrap:wrap}.planning-modal-card>.modal-actions button{min-width:0}.planning-readout .planning-info-card>div{font-size:13px}}

/* Long planning details must not shrink/crop a point in the scrolling checklist. */
.assignment-checklist>.assignment-point{flex:0 0 auto;min-height:min-content}

/* v0.2.70 – Leitstellenanforderung und Strassenabschnitt; nur Modulkomponenten. */
.planning-channel-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0 14px}
.planning-channel-tabs button{min-width:0!important;min-height:46px!important;padding:8px 6px!important;font-size:12px!important;font-weight:800!important;line-height:1.3!important;white-space:normal!important;background:#eef2f5!important;color:#253d4a!important;border:1px solid #b6c6d1!important;border-radius:4px!important;box-shadow:none!important}
.planning-channel-tabs button.selected{background:#ebf5db!important;border-color:#668f24!important;box-shadow:inset 0 -3px 0 #668f24!important;color:#243b14!important}
.planning-proposal-box{margin:14px 0 4px;padding:14px;border:1px solid #bbcbd5;background:#f5f8fa;border-radius:5px}
.planning-proposal-heading{margin-bottom:12px;font-size:14px;line-height:1.4}.planning-proposal-heading small{display:block;color:#546c7a;font-size:11px}
.planning-proposal-box textarea{font-size:13px!important;min-height:160px!important;line-height:1.5!important;background:#fff!important;resize:vertical}
.planning-proposal-warning{padding:9px 11px;margin-bottom:12px;border-left:3px solid #bc7a1b;background:#fff6e7;color:#694a16;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.planning-road-fields{padding:12px;background:#f2f6f8;border:1px solid #c9d5dd;border-radius:4px}
.planning-road-fields[hidden],.planning-proposal-warning[hidden],[data-resident-siren-help][hidden]{display:none!important}
.planning-editor-card [disabled],.planning-modal-card [disabled]{background:#edf1f4!important;color:#637582!important}
@media(max-width:620px){.planning-channel-tabs{gap:4px}.planning-channel-tabs button{font-size:11px!important;min-height:48px!important}.planning-proposal-box{padding:10px}.planning-road-fields{padding:10px}}

/* v0.2.84 · Notparkplatz-Material */
.planning-parking-materials{border:1px solid #cbd5e1;border-radius:8px;padding:10px;background:#f8fafc}.planning-parking-materials .section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.planning-parking-materials small{display:block;color:#64748b}.planning-parking-material-row{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(260px,1.8fr) 90px 70px 42px;gap:8px;align-items:center;margin:6px 0}.planning-parking-material-row input,.planning-parking-material-row select{min-width:0}.planning-parking-material-row button{height:38px}@media(max-width:760px){.planning-parking-material-row{grid-template-columns:1fr 82px 42px}.planning-parking-material-row [data-parking-material-search]{grid-column:1/-1}.planning-parking-material-row select{grid-column:1/2}.planning-parking-material-row span{display:none}}

/* v0.2.89 · Notparkplatz-Linie direkt auf der Hauptkarte bearbeiten */
.parking-line-handle{background:transparent!important;border:0!important}
.parking-line-handle span{display:block;width:22px;height:22px;margin:6px;border-radius:50%;background:#f28c00;border:3px solid #fff;box-shadow:0 1px 6px rgba(0,0,0,.5)}
.parking-line-handle.endpoint span{width:26px;height:26px;margin:4px;background:#235ea8;border-width:4px}
.parking-line-handle.selected span{outline:4px solid rgba(242,140,0,.28);box-shadow:0 0 0 2px #111827,0 2px 8px rgba(0,0,0,.55)}
.planning-parking-map-edit{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:70000;width:min(980px,calc(100vw - 28px));display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;background:rgba(12,20,28,.96);border:1px solid rgba(255,255,255,.22);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.38);color:#fff;backdrop-filter:blur(7px)}
.planning-parking-map-edit.hidden{display:none!important}
.planning-parking-map-edit-text{min-width:0;display:flex;flex-direction:column;gap:2px}.planning-parking-map-edit-text b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-parking-map-edit-text small{font-size:11px;color:#d8e2ea;line-height:1.25}
.planning-parking-map-edit-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.planning-parking-map-edit-actions button{min-height:38px;padding:7px 10px;border-radius:6px}.planning-parking-map-edit-actions .primary{background:#f28c00!important;border-color:#f28c00!important;color:#111!important;font-weight:800}
@media(max-width:760px){.planning-parking-map-edit{left:8px;right:8px;bottom:8px;transform:none;width:auto;display:block;padding:9px}.planning-parking-map-edit-text{margin-bottom:8px}.planning-parking-map-edit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.planning-parking-map-edit-actions button{width:100%;font-size:12px}.planning-parking-map-edit-actions .primary{grid-column:1/-1}.parking-line-handle span{width:26px;height:26px;margin:4px}.parking-line-handle.endpoint span{width:30px;height:30px;margin:2px}}

/* v0.2.92: A failed editor load must never look like an empty, savable record. */
.planning-parking-load-error{margin:0 0 14px;padding:12px 14px;border:2px solid #b42336;background:#fff0f1;color:#8a1624;font-weight:700;line-height:1.45}
.planning-parking-load-error[hidden]{display:none!important}
#planningParkingSave:disabled,#planningParkingDelete:disabled{opacity:.45;cursor:not-allowed}
