.batch-dashboard-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:24px;display:grid}.batch-source-actions{grid-area:1/3}.batch-category-panel{grid-column:1/-1}.batch-category-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.batch-category-heading h3{margin:0 0 5px}.batch-category-heading p{color:var(--text-secondary);margin:0;font-size:12px}.batch-category-total{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.batch-category-meta{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.batch-category-computed{color:var(--text-muted);white-space:nowrap;font-size:10px}.batch-category-section+.batch-category-section{margin-top:18px}.batch-category-section-heading{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.batch-category-section h4{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.batch-category-section-heading p{color:var(--text-muted);max-width:720px;margin:4px 0 0;font-size:11px;line-height:1.45}.batch-category-grid{border:1px solid var(--border-subtle);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.batch-category-row{appearance:none;border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);color:var(--text-primary);font:inherit;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 14px;display:flex}.batch-category-row:not(:disabled){cursor:pointer}.batch-category-row:not(:disabled):hover,.batch-category-row:not(:disabled):focus-visible,.batch-category-row.is-active{background:var(--surface-elevated)}.batch-category-row:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.batch-category-row:nth-child(4n){border-right:0}.batch-category-row:nth-last-child(-n+4){border-bottom:0}.batch-category-row span{color:var(--text-secondary);font-size:12px;line-height:1.3}.batch-category-row strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.batch-category-row.is-selected{background:var(--success-bg)}.batch-category-row.is-selected:disabled{cursor:default}.batch-category-row.is-selected span,.batch-category-row.is-selected strong{color:var(--success)}.batch-category-row.is-positive{background:var(--success-bg)}.batch-category-row.is-positive span,.batch-category-row.is-positive strong{color:var(--success)}.batch-category-row.is-warning{background:var(--warning-bg)}.batch-category-row.is-warning span,.batch-category-row.is-warning strong{color:var(--warning)}.batch-category-row.is-danger{background:var(--danger-bg)}.batch-category-row.is-danger span,.batch-category-row.is-danger strong{color:var(--danger)}.batch-category-clear-filter{border:1px solid var(--border-subtle);color:var(--primary);cursor:pointer;font:inherit;background:0 0;border-radius:7px;margin-top:14px;padding:7px 10px;font-size:11px}.batch-category-clear-filter:hover,.batch-category-clear-filter:focus-visible{background:var(--surface-hover);outline:2px solid var(--primary);outline-offset:1px}.batch-log-filter-group{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.batch-log-filter-select{background:var(--surface-panel);border:1px solid var(--border-subtle);color:var(--text-primary);font:inherit;border-radius:8px;min-width:160px;padding:6px 9px;font-size:11px}.batch-log-filter-select:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.batch-header-cell{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.batch-header-filter{flex:none;position:relative}.batch-header-actions{align-items:center;gap:2px;display:inline-flex}.batch-header-sort{color:var(--muted);cursor:pointer;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;gap:2px;margin:0;padding:3px;display:inline-flex;transform:none}.batch-header-sort:hover,.batch-header-sort:focus-visible,.batch-header-sort.is-active{background:var(--surface-hover);color:var(--primary);box-shadow:none;border-color:#0000;outline:none;transform:none}.batch-header-sort-direction{border-left:3px solid #0000;border-right:3px solid #0000;width:0;height:0;display:inline-block}.batch-header-sort-direction.is-asc{border-bottom:4px solid}.batch-header-sort-direction.is-desc{border-top:4px solid}.batch-header-filter summary{color:var(--muted);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;min-height:0;margin:0;padding:3px;list-style:none;display:inline-flex}.batch-header-filter summary::-webkit-details-marker{display:none}.batch-header-filter summary:hover,.batch-header-filter[open] summary,.batch-header-filter summary:focus-visible{background:var(--surface-hover);color:var(--primary);outline:none}.batch-header-filter-active{background:var(--primary);border-radius:50%;width:4px;height:4px;position:absolute;top:1px;right:1px}.batch-header-filter-popover{background:var(--surface-elevated);border:1px solid var(--border-subtle);box-shadow:var(--shadow-elevated);z-index:30;border-radius:7px;flex-direction:column;align-items:stretch;gap:6px;min-width:150px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.batch-header-filter-popover input,.batch-header-filter-popover select{background:var(--surface-canvas);border:1px solid var(--border-subtle);box-sizing:border-box;color:var(--text-primary);font:inherit;border-radius:5px;width:100%;min-width:132px;padding:6px 7px;font-size:11px}.batch-header-filter-popover input::placeholder{color:var(--muted);opacity:.8}.batch-header-filter-popover button{color:var(--primary);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:2px;font-size:10px}.batch-header-filter-popover input:focus-visible,.batch-header-filter-popover select:focus-visible,.batch-header-filter-popover button:focus-visible{outline:2px solid var(--primary);outline-offset:1px}@media (max-width:768px){.batch-category-heading{flex-direction:column}.batch-category-meta{text-align:left;align-items:flex-start}.batch-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-category-row:nth-child(4n){border-right:1px solid var(--border-subtle)}.batch-category-row:nth-child(2n){border-right:0}.batch-category-row:nth-last-child(-n+4){border-bottom:1px solid var(--border-subtle)}.batch-category-row:nth-last-child(-n+2){border-bottom:0}}@media (max-width:1024px){.batch-dashboard-cards{grid-template-columns:1fr}.batch-source-actions{grid-area:auto}}.detail-main,.detail-side{padding:20px}.detail-side{align-content:start;gap:16px;display:grid}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.key-value-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.key-value{background:var(--surface-hover);border:1px solid var(--line);border-radius:8px;gap:6px;padding:12px;display:grid}.key-value span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}.key-value strong{overflow-wrap:anywhere;font-size:14px}.warning-panel{gap:12px;display:grid}.plain-list{color:var(--muted);gap:10px;margin:14px 0 0;padding-left:20px;font-size:14px;display:grid}.sector-swatch{border-radius:999px;width:10px;height:10px;margin-right:8px;display:inline-flex}.row-overload{background:var(--danger-bg)}.sync-changes-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.sync-changes-panel-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px 14px;display:flex}.sync-changes-toggle{background:var(--surface-hover);border:1px solid var(--border-subtle);color:var(--text-primary);cursor:pointer;border-radius:7px;align-items:center;gap:8px;min-height:34px;padding:6px 10px;font-size:12px;display:inline-flex}.sync-changes-toggle:hover,.sync-changes-toggle:focus-visible{border-color:var(--border-focus);color:var(--primary);outline:none}.sync-changes-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.sync-change-controls{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;margin-top:4px;display:grid}.sync-change-filters{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(160px,.8fr));align-items:end;gap:10px;min-width:0;display:grid}.sync-change-search{align-items:center;min-width:0;display:flex;position:relative}.sync-change-search-input,.sync-change-filter-select{box-sizing:border-box;min-height:36px;width:100%!important}.sync-change-filter{gap:4px;min-width:0;display:grid}.sync-change-filter>span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:700}.sync-change-count{color:var(--muted);white-space:nowrap;align-self:center;font-size:12px}@media (max-width:900px){.sync-change-controls{grid-template-columns:1fr}.sync-change-count{justify-self:start}}@media (max-width:620px){.sync-changes-panel-header-actions{justify-content:flex-start;width:100%}.sync-change-filters{grid-template-columns:1fr}}
.map-panel{background:var(--surface-muted);border:1px solid var(--line);border-radius:12px;min-height:520px;position:relative;overflow:hidden}.maplibre-container{background:var(--surface-canvas);background:var(--surface-canvas);height:520px}.maplibre-container[data-map-fallback=true]:after{color:var(--muted);content:"MapLibre style unavailable. Persisted analysis summary remains available.";text-align:center;justify-content:center;align-items:center;height:100%;padding:20px;font-size:14px;display:flex}.map-summary{background:var(--surface-panel);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--line);border-radius:8px;gap:4px;padding:12px;display:grid;position:absolute;top:12px;left:12px}.map-summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.map-controls,.map-legend{background:var(--surface-elevated);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--line);border:1px solid var(--border-strong);z-index:10;box-shadow:var(--shadow-overlay);border-radius:10px;gap:10px;padding:12px;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .2s,visibility .2s;display:grid;position:absolute}.map-controls{max-width:min(260px,100% - 24px);max-height:min(70vh,620px);top:12px;left:12px;overflow-y:auto}.map-controls.is-collapsed{opacity:0;pointer-events:none;visibility:hidden;transform:translate(calc(-100% - 20px))}.map-filter-panel{background:var(--surface-elevated);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--line);box-shadow:var(--shadow-overlay);z-index:10;border-radius:8px;gap:8px;max-width:min(300px,100% - 24px);max-height:min(78vh,720px);padding:12px;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .2s,visibility .2s;display:grid;position:absolute;top:12px;left:12px;overflow-y:auto}.map-filter-panel.is-collapsed{opacity:0;pointer-events:none;visibility:hidden;transform:translate(calc(-100% - 20px))}.map-filter-panel:not(.is-collapsed),.map-controls:not(.is-collapsed){top:52px}.map-panel-toggle-btn{background:var(--surface-elevated);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--line);border:1px solid var(--border-strong);color:var(--text);cursor:pointer;z-index:11;height:38px;box-shadow:var(--shadow-panel);border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex;position:absolute;top:12px}.map-panel-toggle-btn:hover{background:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-1px)}.map-panel-toggle-btn-left{left:12px}.map-panel-toggle-btn-right{right:12px}.map-toggle-active-dot{background:var(--accent);box-shadow:0 0 8px var(--accent);border-radius:999px;width:7px;height:7px;display:inline-block}.map-control-rail{z-index:12;flex-direction:column;gap:8px;display:flex;position:absolute;top:12px;left:12px}.map-control-rail .map-control-rail-btn{position:relative;top:auto;left:auto}.map-control-rail-btn.is-active{background:var(--filter-active-bg);border-color:var(--accent-strong);box-shadow:0 0 0 2px var(--filter-active-bg), 0 4px 14px var(--backdrop-overlay)}.workspace-map-control-btn{transition:background .15s,border-color .15s,transform .15s}.workspace-map-control-btn:hover,.workspace-map-control-btn:focus-visible{outline:none;transform:translateY(-1px);border-color:var(--accent-strong)!important}.map-stats-toolbar{white-space:nowrap;max-width:min(760px,100% - 32px);min-height:40px;max-height:44px;overflow:hidden}.map-stats-toolbar>span{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.map-context-loading-label{color:var(--info);letter-spacing:.04em;align-items:center;gap:8px;font-size:11px;font-weight:700;display:inline-flex}.map-context-loading-label:before{background:var(--info);content:"";border-radius:999px;width:7px;height:7px;animation:1.2s ease-in-out infinite planning-loading-pulse;display:inline-block}@keyframes planning-loading-pulse{0%,to{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.map-filter-loading-beam{pointer-events:none;z-index:1350;background:#0e172666;height:2.5px;position:absolute;top:0;left:0;right:0;overflow:hidden}.map-filter-loading-beam-indicator{background:linear-gradient(90deg,#0000 0%,#38bdf8d9 50%,#818cf8f2 75%,#0000 100%);width:100%;height:100%;animation:1.2s cubic-bezier(.4,0,.2,1) infinite map-beam-sweep;position:absolute;box-shadow:0 0 12px #38bdf8cc}@keyframes map-beam-sweep{0%{transform:translate(-100%)}to{transform:translate(200%)}}.map-filter-hud-pill{-webkit-backdrop-filter:blur(20px);color:#f0f6fc;pointer-events:none;z-index:1360;background:#0a121ee0;border:1px solid #38bdf859;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:11.5px;font-weight:600;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex;position:absolute;top:68px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080,0 0 16px #38bdf826}.map-filter-hud-pill.is-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.map-filter-hud-icon.is-success{color:var(--success)}.map-filter-hud-radar{justify-content:center;align-items:center;width:12px;height:12px;display:inline-flex;position:relative}.map-filter-hud-radar-core{background:#38bdf8;border-radius:50%;width:5px;height:5px;box-shadow:0 0 6px #38bdf8}.map-filter-hud-radar-ring{border:1.5px solid #38bdf8b3;border-radius:50%;animation:1.5s cubic-bezier(0,0,.2,1) infinite map-radar-ping;position:absolute;inset:-2px}@keyframes map-radar-ping{75%,to{opacity:0;transform:scale(2.2)}}.spinning-icon{animation:.9s linear infinite map-icon-spin}@keyframes map-icon-spin{to{transform:rotate(360deg)}}.map-loading-pulse-dot{background:#38bdf8;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite planning-loading-pulse;display:inline-block;box-shadow:0 0 6px #38bdf8b3}.map-stats-toolbar.is-filtering{border-color:#38bdf880!important;box-shadow:0 0 16px #38bdf840!important}.map-stats-toolbar.is-success{border-color:var(--success-border)!important}.map-stats-toolbar{-webkit-backdrop-filter:blur(16px)!important;scrollbar-width:none!important;pointer-events:auto!important;background:#0a121ee0!important;border:1px solid #7a97be3d!important;border-radius:999px!important;align-items:center!important;gap:10px!important;max-width:min(980px,100% - 32px)!important;height:auto!important;min-height:38px!important;max-height:48px!important;padding:5px 14px!important;display:flex!important;overflow:auto hidden!important;box-shadow:0 8px 24px #00000073,inset 0 1px 2px #ffffff0d!important}.map-stats-toolbar::-webkit-scrollbar{display:none!important}.map-hud-metric-pill{white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.map-hud-metric-pill.is-success{color:var(--success);font-weight:700}.map-hud-metric-pill.is-filtering{color:#38bdf8;font-weight:700}.map-hud-updating-text{font-variant-numeric:tabular-nums}.map-hud-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.map-hud-dot.is-site{background:#22c55e;box-shadow:0 0 6px #22c55e99}.map-hud-dot.is-house{background:#38bdf8;box-shadow:0 0 6px #38bdf899}.map-hud-metric-value{color:#f0f6fc;font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-weight:700}.map-hud-metric-label{color:#94a3b8;font-size:11.5px;font-weight:500}.map-hud-metric-pill.is-site .map-hud-metric-label{color:#4ade80;font-weight:600}.map-hud-metric-pill.is-house .map-hud-metric-label{color:#38bdf8;font-weight:600}.map-hud-total-tag{color:#64748b;margin-left:2px;font-size:11px;font-weight:500}.map-hud-action-btn{pointer-events:auto;color:#38bdf8;cursor:pointer;white-space:nowrap;background:#38bdf81f;border:1px solid #38bdf859;border-radius:999px;align-items:center;gap:4px;height:22px;margin-left:4px;padding:0 9px;font-size:10.5px;font-weight:700;line-height:1;transition:all .15s;display:inline-flex}.map-hud-action-btn:hover{color:#f0f6fc;background:#38bdf840;border-color:#38bdf899;box-shadow:0 0 10px #38bdf84d}.map-hud-divider{background:#94a3b838;flex-shrink:0;width:1px;height:14px}.map-hud-filter-group{flex-shrink:0;align-items:center;gap:5px;display:inline-flex}.map-hud-filter-chip{color:#e2e8f0;cursor:pointer;white-space:nowrap;background:#38bdf814;border:1px solid #38bdf840;border-radius:999px;align-items:center;gap:4px;height:22px;padding:0 7px;font-size:11px;line-height:1;transition:all .15s;display:inline-flex}.map-hud-filter-chip:hover{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.map-hud-chip-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;font-size:9.5px;font-weight:600}.map-hud-chip-value{color:#f0f6fc;font-weight:600}.map-hud-chip-x{color:#94a3b8;margin-left:2px;font-size:13px;font-weight:400;line-height:1}.map-hud-filter-chip:hover .map-hud-chip-x{color:var(--danger)}.map-hud-clear-all{color:#94a3b8;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:2px 4px;font-size:10.5px;font-weight:600;transition:color .15s}.map-hud-clear-all:hover{color:var(--danger);text-decoration:underline}.map-hud-region-label{color:#94a3b8;white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-size:11px;font-weight:500;display:inline-flex}.map-hud-notice-text{color:#fbbf24;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;align-items:center;max-width:340px;font-size:11px;font-weight:500;line-height:1;display:inline-flex;overflow:hidden}.workspace-map-coords-hud{z-index:10;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);font-variant-numeric:tabular-nums;letter-spacing:.01em;color:#fff;letter-spacing:.02em;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 1px 3px #000,0 0 4px #000000f2;align-items:center;gap:8px;font-size:11px;font-weight:600;display:inline-flex;position:absolute;bottom:14px;left:16px;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0!important}.workspace-map-coords-hud .workspace-map-coords-segment{color:#fff;align-items:center;gap:4px;display:inline-flex}.workspace-map-coords-hud .workspace-map-coords-label{color:#fff;text-transform:uppercase;letter-spacing:.04em;letter-spacing:.05em;opacity:.9;font-size:10.5px;font-weight:700}.workspace-map-coords-hud .workspace-map-coords-val{color:#fff;font-variant-numeric:tabular-nums;font-weight:600}.workspace-map-coords-hud .workspace-map-coords-val.is-zoom{color:#fff;font-weight:700}.workspace-map-coords-hud .workspace-map-coords-sep{color:#ffffffb3;font-weight:700}nextjs-portal{display:none!important}.workspace-map-canvas{transition:opacity .25s}.workspace-map-canvas.is-map-filtering{opacity:.82}.button-primary.is-applying{opacity:.85;cursor:wait}.map-filter-accordion .map-hero-card{border:0;border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;gap:5px;padding:7px 2px}.map-filter-accordion .map-hero-card:last-of-type{border-bottom:0}.map-filter-accordion .map-hero-card-header small{display:none}.map-filter-accordion .map-hero-badge{padding:2px 6px;font-size:9px}.map-filter-accordion .hero-metric-pill{display:none}.map-filter-accordion .map-hero-toggle-label{gap:8px;min-height:30px}.map-filter-accordion .map-hero-toggle-text{font-size:11px;line-height:1.15}.map-quick-filter-field{gap:5px;padding:10px 0 12px;display:grid}.map-quick-filter-field label{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:700}.map-quick-filter-field small{color:var(--text-muted);font-size:10px;line-height:1.35}.map-control-rail .map-control-rail-btn{justify-content:center;width:48px;height:48px;padding:0}.map-control-rail .map-control-rail-btn>span:not(.map-toggle-active-dot){display:none}.map-control-rail .map-control-rail-btn svg{width:22px;height:22px}.workspace-map-control-btn{justify-content:center!important;width:40px!important;height:40px!important;padding:0!important}.workspace-map-control-btn>span{display:none}.workspace-map-root,.map-panel{isolation:isolate;z-index:1;position:relative}.workspace-map-toolbar-dock{z-index:15;background:var(--surface-elevated);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-strong);box-shadow:var(--shadow-overlay);border-radius:10px;flex-direction:column;display:flex;position:absolute;top:12px;left:12px;overflow:visible}.workspace-dock-btn{color:#fff!important;opacity:1!important;cursor:pointer!important;background:0 0!important;border:none!important;justify-content:center!important;align-items:center!important;width:38px!important;height:38px!important;transition:background .15s,color .15s!important;display:flex!important;position:relative!important}.workspace-dock-btn svg{stroke-width:1.8px!important;width:16px!important;min-width:16px!important;height:16px!important;min-height:16px!important}.workspace-dock-btn:hover{color:var(--text-primary);opacity:1;background:var(--surface-hover)}.workspace-dock-btn.active{color:var(--blue-accent-strong);opacity:1;background:var(--filter-active-bg)}.workspace-dock-divider{background:var(--border-subtle);width:24px;height:1px;margin:0 auto}.planning-map-search-control{position:relative}.planning-map-search-panel{z-index:20;width:340px;max-height:min(560px,100vh - 32px);color:var(--text-primary);background:var(--map-control-panel-bg);border:1px solid var(--border-strong);box-shadow:var(--shadow-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:10px;flex-direction:column;display:flex;position:absolute;top:0;left:48px;overflow:hidden}.planning-map-search-panel.is-expanded{width:390px}.planning-map-search-heading{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 14px 10px;display:flex}.planning-map-search-heading>div{flex-direction:column;gap:3px;display:flex}.planning-map-search-heading strong{font-size:13px;font-weight:700}.planning-map-search-heading span,.planning-map-search-message,.planning-map-search-result-meta{color:var(--text-secondary);font-size:11px}.planning-map-search-close,.planning-map-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:0}.planning-map-search-close{border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:16px;line-height:1;display:flex}.planning-map-search-close:hover,.planning-map-search-clear:hover{color:var(--text-primary);background:var(--surface-hover)}.planning-map-search-input-wrap{min-height:38px;color:var(--blue-accent-strong);background:var(--surface-canvas);border:1px solid var(--border-subtle);border-radius:7px;align-items:center;gap:8px;margin:12px 14px 8px;padding:0 10px;display:flex}.planning-map-search-input-wrap:focus-within{border-color:var(--blue-accent-strong);box-shadow:0 0 0 2px color-mix(in srgb, var(--blue-accent-strong) 18%, transparent)}.planning-map-search-input-wrap input,.planning-map-search-input-wrap input:focus{width:100%;min-width:0;font-size:12px;min-height:unset!important;height:34px!important;color:var(--text-primary)!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;outline:none!important;padding:0!important}.planning-map-search-input-wrap input::placeholder{color:var(--text-muted)}.planning-map-search-body{min-height:52px;padding:0 10px 10px;overflow-y:auto}.planning-map-search-message{margin:10px 4px;line-height:1.5}.planning-map-search-message.is-error{color:var(--danger)}.planning-map-search-result-meta{padding:4px 4px 7px}.planning-map-search-results{flex-direction:column;gap:4px;display:flex}.planning-map-search-result{text-align:left;width:100%;color:var(--text-primary);background:var(--surface-elevated);cursor:pointer;border:1px solid #0000;border-radius:7px;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:9px 8px;display:grid}.planning-map-search-result:hover:not(:disabled),.planning-map-search-result:focus-visible:not(:disabled){border-color:var(--blue-accent-strong);background:var(--surface-hover);outline:0}.planning-map-search-result:disabled{cursor:not-allowed;opacity:.6}.planning-map-search-type{border:1px solid var(--border-subtle);color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;border-radius:5px;align-self:start;padding:3px 5px;font-size:9px;font-weight:700}.planning-map-search-type.is-house{color:var(--blue-accent-strong);border-color:color-mix(in srgb, var(--blue-accent-strong) 45%, var(--border-subtle))}.planning-map-search-type.is-site{color:var(--success);border-color:color-mix(in srgb, var(--success) 45%, var(--border-subtle))}.planning-map-search-result-main{flex-direction:column;gap:2px;min-width:0;display:flex}.planning-map-search-result-main strong{text-overflow:ellipsis;white-space:nowrap;color:var(--blue-accent-strong);font-size:12px;overflow:hidden}.planning-map-search-result-main span,.planning-map-search-result-main small,.planning-map-search-match{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.planning-map-search-result-main span{font-size:11px}.planning-map-search-result-status{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-self:flex-start;max-width:100%;padding:3px 7px;font-weight:700;line-height:1.2;font-size:9px!important}.planning-map-search-result-main small,.planning-map-search-match{color:var(--text-secondary);font-size:10px}.planning-map-search-match{color:var(--text-muted);grid-column:2}.planning-map-search-view-all,.planning-map-search-pagination button{width:100%;color:var(--blue-accent-strong);border:1px solid var(--border-subtle);cursor:pointer;background:0 0;border-radius:6px;margin-top:8px;padding:8px 10px;font-size:11px;font-weight:700}.planning-map-search-view-all:hover,.planning-map-search-pagination button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--blue-accent-strong)}.planning-map-search-pagination{grid-template-columns:1fr 1fr;gap:6px;display:grid}.planning-map-search-pagination button:disabled{cursor:not-allowed;opacity:.45}.workspace-legend-toggle-btn{background:var(--map-control-panel-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-subtle);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-panel);border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:11px;font-weight:600;transition:transform .15s,background .15s,border-color .15s;display:flex}.workspace-legend-toggle-btn:hover{background:var(--surface-panel);border-color:var(--border-strong);transform:translateY(-1px)}.workspace-legend-toggle-btn>span{font-size:11px}.workspace-legend-card{background:var(--map-control-panel-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-strong);color:var(--text-primary);box-shadow:var(--shadow-overlay);border-radius:10px;min-width:210px;padding:12px 14px;font-size:11px}.map-fullscreen-btn{background:var(--surface-elevated);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-strong);box-shadow:0 4px 20px var(--backdrop-overlay);box-shadow:var(--shadow-panel);color:var(--text-secondary);cursor:pointer;z-index:12;border-radius:10px;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;transition:all .15s;display:inline-flex;position:absolute;bottom:12px;left:12px}.map-fullscreen-btn:hover,.map-fullscreen-btn:focus-visible{background:var(--filter-active-bg);border-color:var(--border-focus-color);color:var(--text-primary);border-color:var(--border-focus);outline:none}.map-fullscreen-btn{width:48px;height:48px;inset:auto auto 12px 12px}.planning-detail-backdrop{z-index:1000;-webkit-backdrop-filter:blur(20px)saturate(180%);background:#06090ec7;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out both apple-backdrop-in;display:flex;position:fixed;inset:0}@keyframes apple-backdrop-in{0%{opacity:0}to{opacity:1}}.planning-detail-modal{background:var(--surface-panel);border:1px solid var(--border-strong);width:100%;max-width:1120px;max-height:90vh;color:var(--text-primary);scrollbar-gutter:stable;border-top:1px solid #ffffff29;border-radius:20px;flex-direction:column;animation:.32s cubic-bezier(.16,1,.3,1) both apple-modal-enter;display:flex;overflow:hidden auto;box-shadow:0 32px 64px -16px #000000bf,0 0 0 1px #ffffff0f}.planning-detail-workspace{width:100%;max-width:1280px;margin:0 auto;padding:18px}.planning-detail-route-surface{background:var(--surface-canvas);width:100%;min-height:520px}.planning-detail-pending{min-height:620px}.planning-detail-pending-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.planning-detail-pending-status{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;line-height:1.5;display:flex}.planning-detail-pending-status .spinner{flex-shrink:0;width:14px;height:14px}.planning-detail-pending-header button{align-items:center;gap:8px;min-height:36px;display:inline-flex}.planning-detail-pending-body{gap:24px;padding:24px;display:grid}.detail-skeleton{background:var(--surface-hover);border-radius:4px}.detail-skeleton-title{width:min(65%,420px);height:24px}.detail-skeleton-tabs{width:min(100%,360px);height:36px}.detail-skeleton-label{width:min(55%,120px);height:10px}.detail-skeleton-value{width:min(80%,240px);height:14px}.detail-skeleton-metric{width:88px;max-width:100%;height:24px}.planning-detail-pending-provenance{border-bottom:1px solid var(--border-subtle);grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-bottom:20px;display:grid}.planning-detail-pending-provenance>div,.planning-detail-pending-metrics>div,.planning-detail-pending-contact>div{gap:12px;min-width:0;display:grid}.planning-detail-pending-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.planning-detail-pending-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px;padding-top:16px;display:grid}@media (max-width:640px){.planning-detail-pending-header{gap:12px;padding:12px}.planning-detail-pending-body{gap:20px;padding:16px 12px}.planning-detail-pending-header button{min-height:44px}.planning-detail-pending-provenance{grid-template-columns:1fr;gap:16px}.planning-detail-pending-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-detail-pending-contact{grid-template-columns:1fr;gap:20px}}@media (prefers-reduced-motion:reduce){.planning-detail-pending-status .spinner{animation:none}}.planning-detail-modal.is-workspace{width:100%;max-width:none;max-height:none;box-shadow:var(--shadow-overlay);border-radius:16px;animation:none;overflow:visible}.planning-detail-modal.is-workspace .planning-detail-header{position:sticky;top:0}@media (max-width:640px){.planning-detail-workspace{padding:10px}.planning-detail-modal.is-workspace .planning-detail-header{flex-direction:column;align-items:flex-start}.planning-detail-modal.is-workspace .planning-detail-header-actions{justify-content:flex-end;width:100%}}@keyframes apple-modal-enter{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.planning-detail-header{z-index:10;-webkit-backdrop-filter:blur(20px)saturate(180%);background:#111722e0;background:var(--surface-panel);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:18px;padding:20px 28px;display:flex;position:sticky;top:0}.planning-detail-hero-info{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.planning-detail-hero-title{letter-spacing:-.018em;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:20px;font-weight:700;line-height:1.25;overflow:hidden}.planning-detail-hero-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.planning-detail-identity{color:var(--text-secondary);background:var(--surface-muted);border:1px solid var(--border-subtle);letter-spacing:-.01em;overflow-wrap:anywhere;border-radius:6px;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.4}.planning-detail-copy-btn{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .12s;display:inline-flex;position:relative}.planning-detail-copy-btn:hover{background:var(--surface-hover);border-color:var(--border-subtle);color:var(--text-primary)}.planning-detail-copy-btn:active{transform:scale(.92)}.planning-detail-copied-toast{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success);white-space:nowrap;border-radius:4px;margin-left:6px;padding:2px 6px;font-size:10px;font-weight:600;animation:.15s ease-out both apple-toast-in;position:absolute;top:50%;left:100%;transform:translateY(-50%)}@keyframes apple-toast-in{0%{opacity:0;transform:translateY(-50%)translate(-4px)}to{opacity:1;transform:translateY(-50%)translate(0)}}.planning-detail-header-badges{align-items:center;gap:6px;display:flex}.planning-detail-badge{letter-spacing:.02em;white-space:nowrap;border:1px solid var(--border-subtle);color:var(--text-secondary);background:var(--surface-muted);border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.planning-detail-badge.is-neutral{color:var(--blue-accent-strong);background:var(--blue-subtle-bg);border-color:var(--blue-subtle-border)}.planning-detail-badge.is-selection,.planning-detail-badge.is-decision{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.planning-detail-badge.is-priority{background:var(--priority-p1-bg);border-color:var(--priority-p1-border);color:var(--priority-p1-fg)}.planning-detail-badge.is-priority-p2{background:var(--priority-p2-bg);border-color:var(--priority-p2-border);color:var(--priority-p2-fg)}.planning-detail-badge.is-priority-p3,.planning-detail-badge.is-priority-none{background:var(--priority-p3-bg);border-color:var(--priority-p3-border);color:var(--priority-p3-fg)}.planning-detail-header-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.planning-detail-open-page{color:var(--text-primary);background:var(--surface-elevated);border:1px solid var(--border-strong);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:600;text-decoration:none;transition:all .12s;display:inline-flex}.planning-detail-open-page:hover{background:var(--surface-hover);border-color:var(--border-hover);border-color:var(--border-focus);color:#fff}.planning-detail-open-page:active{transform:scale(.97)}.planning-detail-close{border:1px solid var(--border-subtle);background:var(--surface-elevated);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:20px;line-height:1;transition:all .12s;display:inline-flex}.planning-detail-close:hover{background:var(--surface-hover);color:#fff;border-color:var(--border-hover);border-color:var(--border-strong)}.planning-detail-close:active{transform:scale(.92)}.planning-detail-close.is-back{border-radius:8px;gap:6px;width:auto;min-width:76px;height:34px;padding:0 11px;font-size:12px;font-weight:600}.planning-detail-back-label{line-height:1}.planning-detail-tabs{background:#ffffff0a;background:var(--surface-canvas);border:1px solid var(--border-subtle);border-radius:10px;align-self:flex-start;gap:2px;margin:16px 28px 0;padding:3px;display:inline-flex}.planning-detail-tabs button{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;outline:none;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .14s;display:inline-flex}.planning-detail-tabs button:hover{color:var(--text-primary)}.planning-detail-tabs button.is-active{color:#fff;background:var(--surface-elevated);box-shadow:0 2px 8px #0000004d, 0 0 0 1px var(--border-strong);box-shadow:0 1px 4px #0000004d, 0 0 0 1px var(--border-subtle)}.planning-detail-tabs button:active{transform:scale(.97)}.planning-detail-body{flex-direction:column;gap:16px;padding:16px 24px 24px;display:flex}.planning-detail-provenance{border:1px solid var(--border-subtle);background:var(--border-subtle);border-radius:12px;grid-template-columns:minmax(200px,1.4fr) repeat(2,minmax(160px,1fr));gap:1px;display:grid;overflow:hidden}.planning-detail-provenance-source,.planning-detail-provenance-item{background:var(--surface-elevated);flex-direction:column;justify-content:center;gap:5px;min-height:52px;padding:9px 12px;display:flex}.planning-detail-provenance-label,.planning-detail-provenance-item>span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.planning-detail-provenance-item strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.planning-detail-source-name{max-width:100%;color:var(--text-primary);overflow-wrap:anywhere;font-size:12px;font-weight:700;line-height:1.45}.planning-detail-metrics{background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;transition:border-color .15s;display:grid;overflow:hidden;box-shadow:0 2px 10px #0000001f}.planning-detail-metrics:hover{border-color:var(--border-strong)}.planning-detail-metric{background:var(--surface-elevated);border:1px solid var(--border-subtle);border-top:1px solid #ffffff14;border-right:1px solid var(--border-subtle);border-radius:14px;flex-direction:column;justify-content:space-between;min-height:68px;padding:10px 14px;transition:background-color .12s;display:flex;box-shadow:0 2px 8px #00000026}.planning-detail-metric:last-child{border-right:none}.planning-detail-metric:hover{border-color:var(--border-hover);background:var(--surface-hover)}.planning-detail-metric-header{align-items:center;gap:6px;margin-bottom:6px;display:flex}.planning-detail-metric-header span{letter-spacing:.04em;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.planning-detail-metric-icon{color:var(--text-secondary);align-items:center;display:inline-flex}.planning-detail-metric strong{letter-spacing:-.025em;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:20px;font-weight:700;line-height:1.2;display:block}.planning-detail-metric strong.is-info{color:var(--blue-accent)}.planning-detail-metric strong.is-success{color:var(--success)}.planning-detail-metric strong.is-rank{color:var(--warning)}@media (max-width:640px){.planning-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-detail-metric:first-child,.planning-detail-metric:nth-child(2){border-bottom:1px solid var(--border-subtle)}.planning-detail-metric:nth-child(2){border-right:none}}.planning-detail-section{flex-direction:column;gap:5px;display:flex}.planning-detail-section h4{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;margin:0 4px;font-size:11px;font-weight:700;display:flex}.planning-detail-section-icon{color:var(--text-secondary);align-items:center;display:inline-flex}.planning-detail-fields{background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden;box-shadow:0 2px 10px #0000001f}.planning-detail-field{background:var(--surface-elevated);grid-template-columns:minmax(112px,.8fr) minmax(0,1.2fr);align-items:center;gap:10px;min-height:42px;padding:9px 12px;transition:background .1s;display:grid}.planning-detail-field:hover{background:#ffffff05}.planning-detail-field>span{color:var(--text-secondary);font-size:13px;font-weight:500;line-height:1.35}.planning-detail-field strong{color:var(--text-primary);text-align:left;word-break:break-word;font-size:13px;font-weight:600;line-height:1.35}.planning-detail-field.is-wide{grid-column:1/-1;align-items:start}.planning-detail-field a{color:var(--blue-accent-strong);font-weight:600;text-decoration:none;transition:color .12s}.planning-detail-field a:hover{color:#60a5fa;text-decoration:underline}.planning-detail-disclosure{background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:14px;transition:all .15s;overflow:hidden}.planning-detail-disclosure summary{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:14px 18px;font-size:13px;font-weight:600;list-style:none;display:flex}.planning-detail-disclosure summary::-webkit-details-marker{display:none}.planning-detail-disclosure summary:hover{color:var(--text-primary);background:#ffffff05}.planning-detail-disclosure[open] summary{color:var(--text-primary);border-bottom:1px solid #ffffff0a}.planning-detail-disclosure .planning-detail-fields{box-shadow:none;background:0 0;border:none;border-radius:0}.planning-detail-raw-value{color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.planning-detail-answer-table{border:1px solid var(--border-subtle);background:var(--surface-canvas);border-radius:12px;grid-column:1/-1;width:100%;overflow:hidden}.planning-detail-answer-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;padding:11px 14px;display:grid}.planning-detail-answer-row:last-child{border-bottom:none}.planning-detail-answer-row>span,.planning-detail-answer-row>strong,.planning-detail-answer-row>[role=cell]{overflow-wrap:anywhere;min-width:0;font-size:12px;line-height:1.45}.planning-detail-answer-row>span{color:var(--text-secondary)}.planning-detail-answer-row>strong{color:var(--text-primary);font-weight:600}.survey-answer{gap:10px;min-width:0;display:grid}.survey-photo-empty{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;line-height:1.45;display:inline-flex}.survey-photo-empty svg{flex-shrink:0}.survey-image-preview{position:relative}.survey-image-check{color:var(--text-secondary);place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.survey-answer strong{color:var(--text-primary);font-size:inherit;font-weight:600}.survey-image-gallery{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.survey-image{align-items:flex-start;gap:8px;min-width:0;max-width:100%;display:flex}.survey-image-preview{background:var(--surface-muted);border:1px solid var(--border-subtle);cursor:zoom-in;border-radius:8px;flex:0 180px;min-width:0;padding:0;display:block;overflow:hidden}.survey-image-preview img{object-fit:contain;width:180px;max-width:100%;height:120px;display:block}.survey-image-original{border:1px solid var(--border-subtle);width:32px;height:32px;color:var(--text-secondary);border-radius:6px;flex:0 0 32px;justify-content:center;align-items:center;display:inline-flex}.survey-image-original:hover{color:var(--text-primary);background:var(--surface-muted)}.survey-image-preview:focus-visible,.survey-image-original:focus-visible{outline:2px solid var(--text-primary);outline-offset:3px}.survey-image.is-expanded{flex-basis:100%}.survey-image.is-expanded .survey-image-preview{cursor:zoom-out;flex:1}.survey-image.is-expanded img{width:100%;height:auto;max-height:70vh}.planning-detail-answer-row.is-header{background:var(--surface-muted);padding-block:9px}.planning-detail-answer-row.is-header>span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.planning-detail-empty{text-align:center;color:var(--text-muted);background:var(--surface-elevated);border:1px dashed var(--border-subtle);border-radius:14px;margin:12px 0;padding:24px;font-size:13px}.planning-detail-sector-grid{background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid;overflow:hidden;box-shadow:0 2px 10px #0000001f}.planning-detail-sector{padding:14px 16px;background:var(--surface-elevated);border:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);border-radius:12px;flex-direction:column;gap:8px;padding:16px 18px;transition:background-color .12s,border-color .12s;display:flex}.planning-detail-sector:last-child{border-right:none}.planning-detail-sector:hover{border-color:var(--border-hover);background:var(--surface-hover)}.planning-detail-sector strong{font-size:14px}.planning-detail-sector-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}.planning-detail-sector-header strong{color:var(--blue-accent);font-size:13px;font-weight:700}.planning-detail-sector-hh{color:var(--success);background:var(--success-bg);border:1px solid var(--success-border);border-radius:4px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:700}.planning-detail-sector-row{justify-content:space-between;align-items:center;font-size:12px;display:flex}.planning-detail-sector-row span{color:var(--text-secondary)}.planning-detail-sector-row strong{color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:600}.planning-detail-sector-status{color:var(--text-secondary)!important;font-size:11px!important}@media (max-width:640px){.planning-detail-fields{grid-template-columns:1fr}.planning-detail-field.is-wide{grid-column:auto}.planning-detail-provenance{grid-template-columns:1fr}.planning-detail-answer-row{grid-template-columns:1fr;gap:4px}.planning-detail-answer-row.is-header{display:none}.planning-detail-sector-grid{grid-template-columns:1fr}.planning-detail-sector{border-right:none;border-bottom:1px solid var(--border-subtle)}.planning-detail-sector:last-child{border-bottom:none}}.planning-detail-sector span{color:var(--text-secondary);font-size:12px}@media (prefers-reduced-motion:reduce){.planning-detail-backdrop,.planning-detail-modal{animation:none!important;transform:none!important}}.workspace-operational-export-panel{z-index:30;border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--map-control-panel-bg) 94%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:min(390px,100% - 32px);max-height:calc(100% - 32px);box-shadow:var(--shadow-overlay);color:var(--text-primary);border-radius:16px;padding:20px;position:absolute;top:16px;right:16px;overflow:auto}.workspace-operational-ranking-status-tabs{gap:6px;padding:8px 0 2px;display:flex;overflow-x:auto}.workspace-operational-ranking-status-tabs button{border:1px solid var(--border-subtle);min-height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:0 10px;font-size:11px;font-weight:700}.workspace-operational-ranking-status-tabs button.is-active{border-color:var(--border-focus-color);background:var(--map-control-option-active-bg);color:var(--text-primary)}.workspace-operational-panel-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.workspace-operational-panel-eyebrow{color:var(--blue-accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:800;display:block}.workspace-operational-panel-header h2{margin:0;font-size:18px;line-height:1.2}.workspace-operational-panel-header p{color:var(--text-secondary);margin:5px 0 0;font-size:12px}.workspace-operational-panel-close{border:1px solid var(--border-subtle);background:var(--surface-elevated);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:9px;font-size:20px;line-height:1}.workspace-operational-export-context{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-elevated) 80%, transparent);border-radius:10px;gap:4px;margin-bottom:16px;padding:10px 12px;display:grid}.workspace-operational-export-context span,.workspace-operational-export-summary span,.workspace-operational-export-format>span{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.workspace-operational-export-context strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.workspace-operational-export-scopes{border:0;gap:8px;margin:0 0 16px;padding:0;display:grid}.workspace-operational-export-scopes legend{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800}.workspace-operational-export-scopes label{border:1px solid var(--border-subtle);background:color-mix(in srgb, var(--surface-elevated) 72%, transparent);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 11px;display:flex}.workspace-operational-export-scopes label.is-selected{border-color:var(--border-focus-color);background:var(--map-control-option-active-bg)}.workspace-operational-export-scopes input{accent-color:var(--blue-accent);margin-top:2px}.workspace-operational-export-scopes label span{gap:3px;display:grid}.workspace-operational-export-scopes small,.workspace-operational-export-hint{color:var(--text-secondary);font-size:11px;line-height:1.4}.workspace-operational-export-format{gap:6px;margin-bottom:16px;display:grid}.workspace-operational-export-format select{border:1px solid var(--border-subtle);background:var(--surface-elevated);min-height:36px;color:var(--text-primary);border-radius:9px;padding:0 10px}.workspace-operational-export-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.workspace-operational-export-summary div{border:1px solid var(--border-subtle);border-radius:9px;gap:4px;min-width:0;padding:9px;display:grid}.workspace-operational-export-summary strong{font-variant-numeric:tabular-nums;font-size:14px}.workspace-operational-export-error{color:var(--danger);margin:0 0 12px;font-size:12px}.workspace-operational-export-status{color:var(--warning);margin:0 0 12px;font-size:12px}.workspace-operational-export-actions{justify-content:flex-end;gap:8px;display:flex}@media (max-width:720px){.workspace-operational-export-panel{border-radius:18px;width:auto;max-height:min(78dvh,680px);inset:auto 8px 8px}}.planning-ranking-drawer-body{flex:auto;min-height:0;display:block;overflow:auto}.planning-ranking-table-wrap{overflow:visible}.planning-map-context-user{flex-direction:column;gap:2px;min-width:0;max-width:200px;display:flex}.planning-map-context-user-label{color:var(--text-tertiary);letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:600;line-height:1.1}.planning-map-context-user-row{align-items:center;gap:6px;min-width:0;display:flex}.planning-map-context-user-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;line-height:1.2;overflow:hidden}.planning-map-context-user-role{border:1px solid var(--border-subtle);color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:4px;flex-shrink:0;padding:2px 5px;font-size:8.5px;font-weight:750;line-height:1}.planning-map-context-user-role.is-admin{background:color-mix(in srgb, var(--warning) 12%, transparent);border-color:color-mix(in srgb, var(--warning) 32%, transparent);color:var(--warning)}.planning-map-context-user-role.is-reviewer{background:color-mix(in srgb, var(--info) 12%, transparent);border-color:color-mix(in srgb, var(--info) 32%, transparent);color:var(--info)}.planning-map-loading-shell{background:var(--surface-canvas);flex-direction:column;flex:auto;min-height:0;display:flex}.planning-map-loading{opacity:0;text-align:center;flex:auto;align-content:center;place-items:center;gap:15px;min-height:0;padding:48px 24px;transition:opacity .18s,transform .24s cubic-bezier(.16,1,.3,1);display:grid;transform:translateY(5px)}.planning-map-loading.is-visible{opacity:1;transform:translateY(0)}.planning-map-loading.is-leaving{pointer-events:none}.planning-loading-orbit{border:2px solid var(--border-subtle);border-top-color:var(--info);border-radius:999px;width:44px;height:44px;animation:1.1s linear infinite planning-map-loading-spin;position:relative}.planning-loading-orbit span{background:var(--info);box-shadow:0 0 0 4px var(--info-bg);border-radius:999px;width:6px;height:6px;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.planning-loading-copy{gap:5px;max-width:360px;display:grid}.planning-loading-copy strong{color:var(--text-primary);letter-spacing:-.01em;font-size:16px}.planning-loading-copy span{color:var(--text-secondary);font-size:12px;line-height:1.45}.planning-ranking-table>caption.sr-only,.planning-site-ranking-table>caption.sr-only,.workspace-operational-ranking-table>caption.sr-only{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.planning-route-workspace-panel-body{min-height:0}.planning-route-workspace-panel-body>.batch-operations-tabs{min-height:100%}.planning-batch-workflow{gap:16px;min-width:0;display:grid}.planning-batch-stepper{border:1px solid var(--border-subtle);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1px;display:grid;overflow:hidden}.planning-batch-step{color:var(--text-muted);background:#0e1726b8;align-items:center;gap:9px;min-width:0;padding:11px 13px;display:flex}.planning-batch-step span{border:1px solid var(--border-subtle);border-radius:50%;flex:0 0 24px;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;display:inline-flex}.planning-batch-step strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.planning-batch-step.is-current{color:var(--text-primary);background:#21538457}.planning-batch-step.is-current span{background:var(--blue-action);border-color:var(--blue-action);color:#fff}.planning-batch-step.is-complete{color:var(--success)}.planning-batch-workflow>.form-wrapper{box-sizing:border-box;width:100%;margin:0;padding:0;max-width:none!important}.planning-batch-workflow .form-grid{gap:14px}.planning-batch-workflow .form-section{border:1px solid var(--border-subtle);box-shadow:none;background:#080f1bbd;border-radius:12px;padding:18px}.planning-batch-workflow .form-section h2{margin-bottom:14px;font-size:16px}.planning-batch-workflow .state-panel{border-radius:12px}.planning-batch-workflow .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.planning-batch-workflow .metric-card{border-color:var(--border-subtle);background:#121d2edb;border-radius:10px;padding:14px}.planning-batch-workflow .table-surface{max-width:100%;overflow-x:auto}@media (max-width:760px){.planning-batch-stepper{grid-template-columns:1fr}.planning-batch-step{padding:9px 12px}.planning-batch-workflow .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.planning-map-context-user{max-width:130px}.planning-map-context-meta{gap:6px}}@media (prefers-reduced-motion:reduce){.planning-loading-orbit{animation:none}.planning-map-loading{transition:opacity .12s;transform:none}}@keyframes planning-map-loading-spin{to{transform:rotate(360deg)}}.workspace-operational-ranking-backdrop{z-index:19;cursor:default;background:#0307123d;border:0;position:absolute;inset:0}.workspace-operational-ranking-panel{z-index:20;border:1px solid var(--border-strong);background:var(--surface-elevated);width:min(620px,100% - 84px);box-shadow:var(--shadow-overlay);color:var(--text-primary);border-radius:14px;flex-direction:column;display:flex;position:absolute;top:12px;bottom:12px;right:12px;overflow:hidden}.workspace-operational-ranking-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 14px;display:flex}.workspace-operational-ranking-header h2{margin:3px 0 4px;font-size:18px}.workspace-operational-ranking-header p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.45}.workspace-operational-ranking-tabs{border-bottom:1px solid var(--border-subtle);gap:4px;padding:10px 12px 0;display:flex}.workspace-operational-ranking-tabs button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:9px 12px;font-size:12px;font-weight:700}.workspace-operational-ranking-tabs button.is-active{border-bottom-color:var(--primary);color:var(--text-primary)}.workspace-operational-ranking-tabs span{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:4px}.workspace-operational-ranking-tools{gap:6px;padding:12px 16px 8px;display:grid}.workspace-operational-ranking-tools label{color:var(--text-secondary);font-size:11px;font-weight:700}.workspace-operational-ranking-tools input{border:1px solid var(--border);background:var(--surface-subtle);min-height:36px;color:var(--text-primary);border-radius:8px;padding:0 10px}.workspace-operational-ranking-summary{color:var(--text-secondary);justify-content:space-between;gap:10px;padding:4px 16px 10px;font-size:11px;display:flex}.workspace-operational-ranking-summary strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.workspace-operational-ranking-error{border:1px solid color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 10%, var(--surface-subtle));color:var(--text-primary);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin:0 16px 10px;padding:10px;font-size:11px;display:flex}.workspace-operational-ranking-error .button-secondary{flex:none;min-height:30px;padding:4px 10px}.workspace-operational-ranking-table-wrap{flex:1;padding:0 12px;overflow:auto}.workspace-operational-ranking-table{border-collapse:separate;border-spacing:0;width:100%;font-size:11px}.workspace-operational-ranking-table th{z-index:1;background:var(--surface-subtle);color:var(--text-secondary);letter-spacing:.06em;text-align:left;text-transform:uppercase;font-size:10px;position:sticky;top:0}.workspace-operational-ranking-table th,.workspace-operational-ranking-table td{border-bottom:1px solid var(--border-subtle);padding:9px 8px;transition:background-color .12s}.workspace-operational-ranking-table tbody tr{cursor:pointer}.workspace-operational-ranking-table tbody tr:hover td,.workspace-operational-ranking-table tbody tr:focus-visible td{background:var(--table-row-hover,#ffffff0b);outline:none}.workspace-operational-ranking-table input{accent-color:var(--primary)}.workspace-operational-ranking-footer{border-top:1px solid var(--border-subtle);color:var(--text-secondary);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:12px;font-size:11px;display:flex}.workspace-map-empty-state{z-index:19;border:1px solid var(--border);background:var(--map-control-panel-bg);max-width:min(420px,100% - 32px);color:var(--text-secondary);text-align:center;box-shadow:var(--shadow-overlay);border-radius:10px;padding:10px 14px;font-size:12px;position:absolute;top:70px;left:50%;transform:translate(-50%)}.workspace-map-selection-box{z-index:18;border:1px dashed var(--primary);background:color-mix(in srgb, var(--primary) 15%, transparent);pointer-events:none;position:absolute}.workspace-map-selection-lasso{z-index:18;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.workspace-map-selection-lasso polyline{fill:color-mix(in srgb, var(--primary) 12%, transparent);stroke:var(--primary);stroke-width:1.5px;stroke-dasharray:5 4}.workspace-map-selection-layer{z-index:14;cursor:crosshair;pointer-events:auto;touch-action:none;position:absolute;inset:0}@media (max-width:700px){.workspace-operational-ranking-panel{border-bottom:0;border-right:0;border-radius:16px 16px 0 0;width:100%;max-height:min(76dvh,680px);inset:auto 0 0}.workspace-operational-ranking-header{padding:16px}.workspace-operational-ranking-error{flex-direction:column;align-items:flex-start}.workspace-operational-ranking-footer{justify-content:center}}.planning-drawer-backdrop{-webkit-backdrop-filter:blur(4px);inset:0;z-index:1250;background:#03071233;border:0;position:fixed;inset:56px 0 0}.planning-ranking-drawer{-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-overlay);color:var(--text-primary);z-index:1300;background:#0a121ed9;border-left:1px solid #7a97be38;flex-direction:column;width:min(820px,62vw);max-width:min(820px,100vw - 24px);display:flex;position:fixed;inset:0 0 0 auto}.planning-ranking-drawer-header{background:0 0;border-bottom:1px solid #7a97be2e;justify-content:space-between;align-items:flex-start;gap:20px;padding:16px 20px 14px;display:flex}.planning-ranking-drawer-header h2{color:#f0f6fc;letter-spacing:-.01em;margin:0;font-size:18px;font-weight:700;line-height:1.25}.planning-ranking-drawer-header p{color:#8397b2;margin:4px 0 0;font-size:12px;line-height:1.4}.planning-ranking-drawer .planning-workspace-panel-close{color:#8fa5c2;cursor:pointer;background:#0e1726b3;border:1px solid #7a97be38;border-radius:8px;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:all .15s;display:inline-flex;position:static}.planning-ranking-drawer .planning-workspace-panel-close:hover{color:#fff;background:#1e3048e6;border-color:#60a5fa66}.planning-ranking-drawer .planning-workspace-panel-close svg{width:18px;height:18px}.planning-ranking-drawer .map-panel-close-btn{flex:none;position:static}.planning-ranking-context-strip{color:var(--text-secondary);background:#0e1726a6;border-bottom:1px solid #7a97be26;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:11px 24px;font-size:11px;display:flex}.planning-ranking-context-strip strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.planning-ranking-context-revision{color:var(--info);letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:700}.planning-ranking-drawer-body{min-height:0;padding:16px 24px 24px;overflow:auto}.planning-ranking-tabs,.planning-selection-tabs,.planning-ranking-action-buttons{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.planning-ranking-tabs{border-bottom:1px solid #7a97be2e;margin-bottom:16px;padding-bottom:8px}.planning-ranking-tabs button{color:#8fa5c2;cursor:pointer;background:#14203273;border:1px solid #7a97be33;border-radius:8px;align-items:center;gap:8px;min-height:36px;padding:7px 14px;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.planning-ranking-tabs button:hover:not(:disabled){color:#fff;background:#1d2f48bf;border-color:#60a5fab3}.planning-ranking-tabs button.is-active{color:#f0f7ff;background:#244b7a8c;border-color:#60a5fad9;box-shadow:0 2px 8px #00000047,inset 0 1px #ffffff1f}.planning-ranking-tab-count{color:#60a5fa;font-variant-numeric:tabular-nums;background:#60a5fa40;border-radius:999px;margin-left:6px;padding:2px 7px;font-size:.68rem;font-weight:700;line-height:1.2;display:inline-block}.planning-ranking-tabs button.is-active .planning-ranking-tab-count{color:#93c5fd;background:#60a5fa59}.planning-ranking-tabs button:disabled{color:var(--text-tertiary);cursor:not-allowed;opacity:.65}.planning-ranking-actions{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.planning-selection-tabs button{color:#8fa5c2;cursor:pointer;background:#14203266;border:1px solid #7a97be33;border-radius:999px;min-height:30px;padding:5px 12px;font-size:11px;font-weight:600;transition:all .15s}.planning-selection-tabs button:hover{color:#e2e8f0;border-color:#60a5fa99}.planning-selection-tabs button.is-active{color:#93c5fd;background:#2563eb4d;border-color:#60a5fad9;box-shadow:0 0 10px #3b82f640}.planning-ranking-action-buttons{justify-content:flex-end}.planning-ranking-action-buttons button{color:#9cb3ce;cursor:pointer;background:#14203299;border:1px solid #7a97be38;border-radius:8px;align-items:center;gap:6px;min-height:36px;padding:7px 12px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.planning-ranking-action-buttons button:hover:not(:disabled){color:#f0f7ff;background:#1e3048d9;border-color:#60a5fa80}.planning-ranking-filter-panel{-webkit-backdrop-filter:blur(12px);background:#0e1726bf;border:1px solid #7a97be2e;border-radius:12px;margin-bottom:14px;padding:14px 16px}.planning-ranking-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.planning-ranking-filter-grid label{color:#8397b2;letter-spacing:.05em;text-transform:uppercase;gap:6px;font-size:11px;font-weight:700;display:grid}.planning-ranking-filter-grid input,.planning-ranking-filter-grid select{color:#e2e8f0;text-transform:none;background:#0a121ecc;border:1px solid #7a97be38;border-radius:8px;min-width:0;min-height:36px;padding:7px 10px;font-size:12px;transition:border-color .15s,box-shadow .15s}.planning-ranking-filter-grid input:focus,.planning-ranking-filter-grid select:focus,.planning-ranking-drawer button:focus-visible,.planning-ranking-drawer input:focus-visible,.planning-ranking-drawer select:focus-visible,.planning-ranking-table tr:focus-visible{outline:2px solid var(--info);outline-offset:2px}.planning-ranking-reset{color:var(--info);cursor:pointer;background:0 0;border:0;margin-top:10px;padding:2px 0;font-size:11px}.planning-ranking-summary{color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 18px;margin:0 0 10px;font-size:11px;display:flex}.planning-ranking-summary strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.planning-ranking-table-wrap{border:1px solid var(--border-subtle);border-radius:10px;overflow:auto}.planning-ranking-table{border-collapse:collapse;width:100%;min-width:720px}.planning-ranking-table th{background:var(--surface-hover);color:#98abc4;letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:9px 12px;font-size:11px;font-weight:700}.planning-ranking-table th button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.planning-ranking-table th button.is-active{color:var(--info)}.planning-ranking-table td{border-top:1px solid var(--border-subtle);color:var(--text-secondary);white-space:nowrap;padding:9px 12px;font-size:11.5px;transition:background-color .12s}.planning-ranking-table tbody tr{cursor:pointer}.planning-ranking-table tbody tr:hover td,.planning-ranking-table tbody tr:focus td{background:var(--table-row-hover,#ffffff0b)}.planning-ranking-table input[type=checkbox]{accent-color:var(--info);width:15px;height:15px}.planning-ranking-rank,.planning-ranking-hh{font-variant-numeric:tabular-nums;font-weight:700;color:var(--info)!important}.planning-ranking-id{font-family:var(--font-mono,ui-monospace, monospace);text-overflow:ellipsis;max-width:160px;overflow:hidden;color:var(--text-primary)!important}.planning-ranking-badge,.planning-ranking-status{border:1px solid var(--border-subtle);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:3px 7px;font-size:9px;font-weight:800;display:inline-flex}.planning-ranking-badge.is-high{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.planning-ranking-badge.is-medium{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.planning-ranking-badge.is-low{background:var(--surface-hover);color:var(--text-secondary)}.planning-ranking-priority.is-p1{color:var(--priority-p1-fg);border-color:var(--priority-p1-border);background:var(--priority-p1-bg)}.planning-ranking-priority.is-p2{color:var(--priority-p2-fg);border-color:var(--priority-p2-border);background:var(--priority-p2-bg)}.planning-ranking-priority.is-p3{color:var(--priority-p3-fg);border-color:var(--priority-p3-border);background:var(--priority-p3-bg)}.planning-ranking-status.is-selected{color:var(--success);border-color:var(--success-border);background:var(--success-bg)}.planning-ranking-status.is-eliminated{color:var(--danger);border-color:var(--danger-border);background:var(--danger-bg)}.planning-ranking-table td.is-overlap{color:var(--warning);font-weight:700}.planning-ranking-empty{text-align:center;color:var(--text-secondary)!important;padding:32px 16px!important}.planning-ranking-drawer-footer{background:var(--surface-elevated);border-top:1px solid var(--border-subtle);justify-content:flex-end;align-items:center;gap:10px;padding:12px 24px;display:flex}.planning-ranking-drawer-footer span{color:var(--text-secondary);margin-right:auto;font-size:11px}@media (max-width:720px){.planning-ranking-drawer{bottom:0;border-left:0;border-radius:16px 16px 0 0;width:100%;max-width:none;height:min(84dvh,760px);inset:auto 0 0}.planning-ranking-drawer:before{background:var(--border-strong);content:"";border-radius:999px;width:42px;height:4px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.planning-ranking-drawer-header{padding:22px 16px 14px}.planning-ranking-context-strip,.planning-ranking-drawer-body,.planning-ranking-drawer-footer{padding-left:16px;padding-right:16px}.planning-ranking-actions{flex-direction:column;align-items:stretch}.planning-ranking-action-buttons button{flex:1}}@media (prefers-reduced-transparency:reduce){.planning-detail-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#06090e!important}.planning-detail-modal{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}@media (max-width:840px){.planning-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-detail-sector-grid{grid-template-columns:1fr}}@media (max-width:640px){.planning-detail-backdrop{padding:0}.planning-detail-modal{border-radius:0;max-height:100vh}.planning-detail-header{flex-direction:column;align-items:flex-start;padding:16px}.planning-detail-header-actions{justify-content:space-between;width:100%}.planning-detail-body{padding:16px}.planning-detail-field{grid-template-columns:1fr;gap:3px}.planning-detail-metrics{grid-template-columns:1fr}.planning-detail-tabs{width:calc(100% - 32px);margin:12px 16px 0}.planning-detail-tabs button{text-align:center;flex:1}}.maplibregl-ctrl-top-right{z-index:12!important;top:12px!important;right:12px!important}.maplibregl-ctrl-top-right .maplibregl-ctrl{margin:0!important}.maplibregl-ctrl-group{background:var(--surface-elevated)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;border:1px solid var(--border-strong)!important;border-radius:10px!important;overflow:hidden!important;box-shadow:0 4px 20px #00000073!important}.maplibregl-ctrl-group:not(:empty){box-shadow:0 4px 20px #00000073!important}.maplibregl-ctrl-group button{cursor:pointer!important;background-color:#0000!important;border:none!important;justify-content:center!important;align-items:center!important;width:38px!important;height:38px!important;transition:background-color .15s,opacity .15s!important;display:flex!important}.maplibregl-ctrl-group button+button{border-top:1px solid var(--border-subtle)!important}.maplibregl-ctrl-group button:hover{background-color:var(--surface-hover)!important}.maplibregl-ctrl-group button:active{background-color:var(--filter-active-bg)!important}.maplibregl-ctrl-group button:focus,.maplibregl-ctrl-group button:focus-visible{box-shadow:none!important;outline:none!important}.maplibregl-ctrl button .maplibregl-ctrl-icon{filter:invert()brightness(1.2)!important;opacity:.82!important;transition:opacity .15s,filter .15s!important}.maplibregl-ctrl-group button:hover .maplibregl-ctrl-icon{opacity:1!important;filter:invert(1) brightness(1.6) drop-shadow(0 0 3px var(--info-border))!important}.maplibregl-ctrl-compass-arrow{filter:drop-shadow(0 0 3px var(--border-strong))!important}.source-sync-section{border:1px solid var(--border);background:var(--panel);border-radius:14px;margin-bottom:18px;padding:18px}.source-sync-heading,.source-sync-card-top,.source-sync-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.source-sync-heading h3,.source-sync-card h4{margin:3px 0}.source-sync-heading p,.source-sync-card p{color:var(--muted);margin:0;font-size:13px}.source-sync-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.source-sync-card{border:1px solid var(--border-subtle);background:var(--surface-panel);border-radius:12px;padding:14px}.source-sync-badge{color:var(--info);letter-spacing:.08em;font-size:10px;font-weight:700}.source-sync-state{letter-spacing:.06em;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700}.source-sync-state.is-ready{color:var(--success);background:var(--success-bg);border:1px solid var(--success-border)}.source-sync-state.is-running{color:var(--info);background:var(--info-bg);border:1px solid var(--info-border)}.source-sync-state.is-failed{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border)}.source-sync-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.source-sync-metrics div{background:var(--surface-panel);background:var(--surface-elevated);border-radius:8px;padding:8px 10px}.source-sync-metrics span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;display:block}.source-sync-metrics strong{color:var(--text-primary);margin-top:3px;font-size:12px;display:block}.source-sync-metrics small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.3;display:block}.source-sync-actions{border-top:1px solid var(--border-subtle);padding-top:10px}.source-sync-actions a{color:var(--info);font-size:12px}.source-sync-actions button{min-height:38px;padding:8px 14px}.source-sync-alert,.source-sync-success{border-radius:8px;margin-top:12px;padding:10px 12px;font-size:13px}.source-sync-success{color:var(--success);background:var(--success-bg);border:1px solid var(--success-border)}.source-sync-error{color:var(--danger)!important;margin-bottom:10px!important}.source-sync-dialog{max-width:520px}.source-sync-note{background:var(--warning-bg);border:1px solid var(--warning-border);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:8px;padding:10px;color:var(--warning)!important}.source-sync-dialog-actions{justify-content:flex-end}.source-sync-validation{border:1px solid var(--danger-border);background:var(--danger-bg);border-radius:8px;align-items:center;gap:10px;margin:10px 0;padding:9px 10px;display:flex}.source-sync-validation span{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.source-sync-validation strong{color:var(--danger);font-size:14px}.source-sync-validation button{color:var(--danger);border:1px solid var(--danger-border);background:0 0;border-radius:6px;margin-left:auto;padding:5px 8px;font-size:11px}.source-sync-validation button:hover{background:var(--surface-hover)}.invalid-records-backdrop{z-index:40;background:var(--backdrop-overlay);-webkit-backdrop-filter:blur(10px)saturate(110%);animation:.18s ease-out both invalid-records-backdrop-in}.dialog.invalid-records-dialog,.invalid-records-dialog{transform-origin:50%;outline:none;width:min(1180px,100vw - 32px);min-width:0;max-width:min(1180px,100vw - 32px);max-height:min(860px,92vh);padding:24px;animation:.22s cubic-bezier(.22,1,.36,1) both invalid-records-dialog-in;overflow:hidden}.invalid-records-backdrop.is-closing{animation:.18s ease-in both invalid-records-backdrop-out}.invalid-records-dialog.is-closing{animation:.18s ease-in both invalid-records-dialog-out}.invalid-records-header,.invalid-records-footer{justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;display:flex}.invalid-records-header h3{margin:4px 0}.invalid-records-header p{max-width:760px;color:var(--muted);margin:0;font-size:12px}.invalid-records-header .icon-button{flex:none}.invalid-records-header>div{min-width:0}.invalid-records-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;min-width:0;display:grid}.invalid-records-summary div{border:1px solid var(--border-subtle);background:var(--surface-elevated);border-radius:8px;padding:10px 12px}.invalid-records-summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;display:block}.invalid-records-summary strong{color:var(--text-primary);margin-top:4px;font-size:16px;display:block}.invalid-records-summary .is-invalid strong{color:var(--danger)}.invalid-records-toolbar{grid-template-columns:minmax(220px,1fr) 220px auto;align-items:end;gap:10px;width:100%;min-width:0;display:grid}.invalid-records-toolbar label{color:var(--text-secondary);gap:5px;font-size:11px;display:grid}.invalid-records-toolbar input,.invalid-records-toolbar select{width:100%;min-height:36px}.invalid-records-table-wrap{overscroll-behavior:contain;border:1px solid var(--border-subtle);scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;border-radius:8px;width:100%;min-width:0;max-width:100%;min-height:180px;max-height:min(56vh,580px);overflow:auto}.invalid-records-table th{color:var(--text-secondary);background:var(--surface-hover);text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:10px 9px;position:sticky;top:0}.invalid-records-table .mono{color:var(--text-primary);word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.invalid-records-issues{gap:6px;min-width:280px;margin:0;padding:0;list-style:none;display:grid}.invalid-records-issues strong{color:var(--danger)}.invalid-records-issues span{color:var(--text-secondary)}.invalid-records-issues small{color:var(--muted);word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.invalid-records-table{border-collapse:collapse;width:100%;min-width:0;font-size:12px}.invalid-records-table th{z-index:2;color:var(--text-secondary);background:var(--surface-hover);text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:10px 12px;font-size:11px;position:sticky;top:0}.invalid-records-table td{color:var(--text-secondary);border-top:1px solid var(--border-subtle);vertical-align:top;padding:12px}.invalid-records-table tr:hover td{background:var(--table-row-hover,#ffffff0b)}.invalid-records-table .mono{color:var(--text-primary);font-family:var(--font-mono,monospace);word-break:break-all}.invalid-records-issues{gap:8px;margin:0;padding:0;list-style:none;display:grid}.invalid-records-issues li{gap:4px;display:grid}.invalid-records-issues strong{color:var(--danger);font-size:11px}.invalid-records-issues span{color:var(--text-secondary);font-size:12px;line-height:1.4}.invalid-records-issues small{background:var(--surface-hover);border:1px solid var(--border-subtle);color:var(--muted);font-family:var(--font-mono,monospace);word-break:break-all;border-radius:4px;align-items:center;gap:4px;padding:1px 6px;font-size:11px;display:inline-flex}.invalid-records-state{min-height:180px;color:var(--muted);place-items:center;margin:0;display:grid}.invalid-records-footer{color:var(--muted);align-items:center;font-size:12px}@keyframes invalid-records-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes invalid-records-dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes invalid-records-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes invalid-records-dialog-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.985)}}@media (prefers-reduced-motion:reduce){.invalid-records-backdrop,.invalid-records-dialog{animation:none}}@media (prefers-reduced-transparency:reduce){.invalid-records-backdrop{-webkit-backdrop-filter:none;background:#06090ef0}}@media (prefers-contrast:more){.invalid-records-dialog,.invalid-records-table-wrap,.invalid-records-summary div{border-color:var(--border-strong)}}@media (max-width:720px){.invalid-records-dialog{border-radius:0;width:100%;max-height:100vh;padding:16px}.invalid-records-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.invalid-records-toolbar{grid-template-columns:1fr}.invalid-records-table-wrap{max-height:48vh}}@media (max-width:900px){.invalid-records-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.invalid-records-toolbar{grid-template-columns:1fr}.invalid-records-toolbar>button{justify-self:start}}@media (max-width:820px){.source-sync-grid{grid-template-columns:1fr}.source-sync-heading{align-items:flex-start}}.map-active-filter-bar{background:var(--surface-panel);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--line);color:var(--muted);white-space:nowrap;z-index:9;scrollbar-width:thin;border-radius:999px;align-items:center;gap:6px;max-width:min(720px,100% - 112px);min-height:32px;max-height:46px;padding:3px 7px;display:flex;position:absolute;top:58px;left:50%;overflow:auto hidden;transform:translate(-50%)}.map-active-filter-count{color:var(--text);padding:0 4px;font-size:10px;font-weight:700}.map-filter-chip{background:var(--filter-active-bg);border:1px solid var(--border-focus);color:var(--text-secondary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:5px;max-width:230px;padding:1px 7px;font-family:inherit;font-size:10px;line-height:18px;display:inline-flex;overflow:hidden}.map-filter-chip>span:first-child{text-overflow:ellipsis;overflow:hidden}.map-filter-chip>span:last-child{color:var(--info);font-size:13px;line-height:1}.map-clear-filters{color:var(--info);cursor:pointer;cursor:pointer;background:0 0;border:0;padding:3px 5px;font-size:10px;font-weight:700}.workspace-map-root .map-active-filter-bar{z-index:14;max-width:min(760px,100% - 112px);top:78px}.workspace-filter-active-dot{border:1px solid var(--surface-elevated);background:var(--info);border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:7px}.map-filter-accordion,.map-layer-accordion{border:1px solid var(--line);background:var(--surface-panel);border-radius:8px;padding:7px 8px}.map-filter-accordion>summary,.map-layer-accordion>summary{color:var(--text);cursor:pointer;letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700;list-style:none}.map-filter-accordion>summary::-webkit-details-marker{display:none}.map-layer-accordion>summary::-webkit-details-marker{display:none}.map-filter-accordion>summary:after,.map-layer-accordion>summary:after{content:"";float:right;border-right:1.5px solid var(--text-secondary);border-bottom:1.5px solid var(--text-secondary);width:6px;height:6px;margin-top:3px;margin-right:2px;transition:transform .2s;display:inline-block;transform:rotate(45deg)}.map-filter-accordion[open]>summary:after,.map-layer-accordion[open]>summary:after{content:"";margin-top:6px;transform:rotate(-135deg)}.map-filter-accordion>summary+*,.map-layer-accordion>summary+*{margin-top:8px}@media (max-width:720px){.map-active-filter-bar{max-width:none;left:12px;right:12px;overflow-x:auto;transform:none}.workspace-map-root .map-active-filter-bar{max-width:none;top:78px;left:12px;right:12px;transform:none}.map-filter-panel,.map-controls{max-width:calc(100% - 24px)}.map-filter-panel:not(.is-collapsed),.map-controls:not(.is-collapsed),.workspace-map-root .map-filter-panel,.workspace-map-root>div[style*="width: 280px"],.workspace-map-root>div[style*="width: 220px"]{width:calc(100% - 24px)!important;max-height:62vh!important;top:auto!important;bottom:12px!important;left:12px!important}}.map-panel-header{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.map-panel-header-title{color:var(--text);align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.map-panel-close-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:color .15s,background .15s;display:inline-flex}.map-panel-close-btn:hover{background:var(--border-subtle);color:var(--text)}.map-hero-card{background:linear-gradient(135deg, var(--surface-panel), var(--surface-panel));border:1px solid var(--info-border);box-shadow:inset 0 1px 0 var(--border-subtle), 0 4px 12px var(--backdrop-overlay);border-radius:8px;gap:8px;margin-bottom:4px;padding:8px 10px;display:grid}.map-filter-panel::-webkit-scrollbar{width:5px}.map-controls::-webkit-scrollbar{width:5px}.map-filter-panel::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:999px}.map-controls::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:999px}.map-hero-card-header{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:8px;display:flex}.map-hero-badge{background:var(--info-bg);border:1px solid var(--info-border);border:1px solid var(--info-border);color:var(--info);letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:800}.map-hero-toggle-label{cursor:pointer;justify-content:space-between;align-items:center;width:100%;margin:0;display:flex}.map-hero-toggle-text{color:var(--text);font-size:12px;font-weight:700}.custom-hero-switch{flex-shrink:0;width:38px;height:20px;display:inline-block;position:relative}.custom-hero-switch input{opacity:0;width:0;height:0;margin:0}.hero-slider{cursor:pointer;background-color:var(--border-subtle);border:1px solid var(--border-subtle);background-color:var(--surface-hover);border:1px solid var(--border-subtle);border-radius:20px;transition:all .25s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.hero-slider:before{content:"";background-color:var(--text-secondary);background-color:var(--text-secondary);width:14px;height:14px;box-shadow:0 1px 3px var(--backdrop-overlay);border-radius:50%;transition:all .25s cubic-bezier(.16,1,.3,1);position:absolute;bottom:2px;left:2px}.custom-hero-switch input:checked+.hero-slider{background:linear-gradient(135deg, var(--info), var(--info));border-color:var(--info-border);box-shadow:0 0 10px var(--info-border);background:var(--action-primary);border-color:var(--action-primary-border)}.custom-hero-switch input:checked+.hero-slider:before{background-color:var(--text-primary);background-color:var(--text-primary);transform:translate(18px)}.hero-metric-pill{background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-size:10px;line-height:1.3;display:flex}.hero-metric-pill.active-mode{border-color:var(--info-border);color:var(--info);border-color:var(--info-border)}.hero-metric-pill.off-mode{border-color:var(--warning-border);color:var(--warning);border-color:var(--warning-border)}.map-filter-panel strong{font-size:12px}.map-filter-panel label{gap:4px;margin:0;display:grid}.map-filter-panel label span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.map-filter-panel select,.map-filter-panel input{min-height:32px;padding:4px 8px}.map-filter-group{gap:6px;display:grid}.map-filter-group>span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.map-filter-checks{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.map-filter-panel .map-filter-check{border:1px solid var(--line);border-radius:6px;align-items:center;gap:6px;min-height:32px;padding:4px 8px;display:flex}.map-filter-panel .map-filter-check input{min-height:auto;padding:0}.map-filter-panel .map-filter-check span{color:var(--text);font-size:10px}.map-filter-rank{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.map-filter-error{color:var(--danger);font-size:12px}.map-toggle{color:var(--text);cursor:pointer;align-items:center;gap:10px;margin:0;font-size:12px;display:flex}.map-toggle input{cursor:pointer;width:auto;min-height:auto}.map-legend{width:max-content;max-width:min(260px,100% - 24px);bottom:12px;left:12px}.legend-item{align-items:center;gap:10px;font-size:12px;display:flex}.legend-item span{border-radius:999px;width:26px;height:10px;display:inline-flex}.legend-radius{background:var(--border-focus);border:1px solid var(--brand-primary);background:var(--priority-p1-bg);border:1px solid var(--priority-p1-fg)}.legend-heatmap{background:linear-gradient(90deg, var(--info), var(--warning), var(--danger));background:linear-gradient(90deg, var(--success), var(--warning), var(--danger))}.legend-sector{background:var(--brand-primary-subtle);border:1px solid var(--brand-primary);background:var(--info-bg);border:1px solid var(--info)}.legend-azimuth{background:var(--danger);background:var(--danger)}.map-overlay{background:var(--surface-canvas);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);z-index:3;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.maplibregl-popup-content{border-radius:10px;gap:6px;display:grid;background:var(--surface-panel)!important;-webkit-backdrop-filter:var(--glass-blur)!important;backdrop-filter:var(--glass-blur)!important;border:1px solid var(--line)!important;color:var(--text)!important;box-shadow:0 10px 25px var(--backdrop-overlay)!important;padding:12px 14px!important}.maplibregl-popup-content span{color:var(--muted);font-size:12px;display:block}.maplibregl-popup-close-button{color:var(--muted)!important}.sector-card{border:1px solid var(--line);background:var(--surface-hover);border-radius:8px;gap:10px;margin-top:12px;padding:12px;display:grid}.sector-card>span{color:var(--muted);font-size:12px}.sector-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.sector-card dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}.sector-card dd{margin:2px 0 0;font-size:13px}.dialog-backdrop{background:var(--surface-canvas);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);z-index:30;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog{background:var(--dialog-bg);border:1px solid var(--line);box-shadow:var(--shadow-overlay);border-radius:12px;gap:16px;max-width:420px;padding:24px;display:grid}.dialog.invalid-records-dialog{width:min(1180px,100vw - 32px);max-width:min(1180px,100vw - 32px)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes indeterminate-progress{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (max-width:920px){.app-layout{grid-template-columns:1fr}.app-sidebar{border-right:none;border-bottom:1px solid var(--line);height:auto;padding:18px;position:relative}.sidebar-brand{margin-bottom:16px}.sidebar-nav{flex-flow:wrap;gap:8px}.content-header{position:relative}.app-header,.page-heading,.dashboard-actions,.dashboard-grid,.history-controls,.detail-grid,.metric-grid-wide{grid-template-columns:1fr}.app-header{align-items:start}.analysis-header{flex-direction:column;align-items:start}.metric-grid,.input-with-action,.two-col{grid-template-columns:1fr}.app-layout,.app-layout.sidebar-is-collapsed{display:block}.app-sidebar{z-index:1000;border-right:1px solid var(--line);border-bottom:none;width:280px;height:100vh;padding:24px 18px;transition:transform .22s;position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.app-sidebar.sidebar-mobile-open{transform:translate(0)}.sidebar-mobile-backdrop{z-index:999;background:var(--surface-canvas);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:none;display:block;position:fixed;inset:0}.sidebar-mobile-toggle{color:var(--text-secondary);cursor:pointer;cursor:pointer;background:0 0;border:0;font-size:24px;display:block;position:absolute;top:22px;right:18px}.sidebar-toggle{display:none}.mobile-menu-button{border:1px solid var(--border-subtle);background:var(--surface-panel);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border:1px solid var(--border-subtle);background:var(--surface-panel);width:32px;height:32px;cursor:pointer;border-radius:7px;place-items:center;margin-right:10px;display:inline-grid}.content-header-inner{gap:8px}}.button-action-open,.button-action-rerun,.button-action-delete{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;min-height:32px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.button-action-open{background:var(--brand-primary-subtle);border:1px solid var(--border-focus);color:var(--info);background:var(--info-bg);border:1px solid var(--info-border)}.button-action-open:hover{background:var(--accent);border-color:var(--accent);color:var(--text-primary);box-shadow:0 4px 12px var(--border-focus);background:var(--action-primary);border-color:var(--action-primary-border);box-shadow:var(--shadow-panel);transform:translateY(-1px)}.button-action-rerun{background:var(--border-subtle);border:1px solid var(--border-subtle);color:var(--text-primary);border:1px solid var(--border-subtle)}.button-action-rerun:hover{background:var(--border-subtle);border-color:var(--border-subtle);background:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-1px)}.button-action-delete{background:var(--danger-bg);border:1px solid var(--danger-border);background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger)}.button-action-delete:hover{background:var(--danger);border-color:var(--danger);color:var(--text-primary);box-shadow:0 4px 12px var(--danger-border);box-shadow:var(--shadow-panel);transform:translateY(-1px)}@keyframes pulse{0%{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}to{opacity:.6;transform:scale(.9)}}.pulse-dot{background-color:var(--success);background-color:var(--success);border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite pulse;display:inline-block}.map-panel:fullscreen{background:var(--surface-canvas)!important;border-radius:0!important;width:100vw!important;max-width:none!important;height:100vh!important;max-height:none!important;margin:0!important;padding:0!important}.map-panel:fullscreen .maplibre-container{border-radius:0!important}.map-panel:fullscreen .map-controls{top:20px!important;right:20px!important}.map-panel:fullscreen .map-filter-panel{z-index:20!important;top:20px!important;left:20px!important}.map-panel:fullscreen .map-legend{z-index:20!important;width:max-content!important;max-width:min(280px,100vw - 40px)!important;bottom:20px!important;left:auto!important;right:20px!important}
.assignment-queue{z-index:9990;-webkit-backdrop-filter:blur(16px);color:#f0f6fc;background:#0a121ef0;border:1px solid #7a97be38;border-radius:12px;flex-direction:column;width:min(720px,100% - 32px);max-height:min(60vh,580px);transition:box-shadow .2s,border-color .2s;display:flex;position:fixed;bottom:16px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 16px 40px #00000073,0 0 0 1px #ffffff0d}.assignment-queue-header-btn{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;transition:background .15s;display:flex}.assignment-queue-header-btn:hover{background:#ffffff08}.assignment-queue-header-title{color:#f0f6fc;letter-spacing:-.01em;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.assignment-queue-count-badge{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d;border-radius:999px;justify-content:center;align-items:center;padding:1px 7px;font-size:11px;font-weight:700;display:inline-flex}.assignment-queue-toggle-hint{color:#8397b2;align-items:center;gap:5px;font-size:11px;font-weight:500;display:flex}.assignment-queue-content{border-top:1px solid #7a97be29;flex-direction:column;flex:auto;min-height:0;padding:8px 12px 12px;display:flex}.assignment-queue-subbar{color:#8397b2;border-bottom:1px solid #7a97be1f;flex:none;justify-content:space-between;align-items:center;margin-bottom:8px;padding:2px 0 8px;font-size:11px;display:flex}.assignment-queue-subbar-count{color:#8397b2;font-weight:500}.assignment-queue-clear-btn{color:var(--danger);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600;transition:background .15s,color .15s}.assignment-queue-clear-btn:hover{background:var(--danger-bg);color:var(--danger)}.assignment-queue-list{scrollbar-width:thin;scrollbar-color:#7a97be4d transparent;flex-direction:column;flex:auto;gap:10px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.assignment-queue-group{flex-direction:column;gap:6px;display:flex}.assignment-queue-group-header{justify-content:space-between;align-items:center;gap:8px;padding:4px 2px 2px;display:flex}.assignment-queue-group-title{text-transform:uppercase;letter-spacing:.05em;color:#60a5fa;font-size:10px;font-weight:700}.assignment-queue-group-badge{color:#8397b2;background:#ffffff0d;border:1px solid #7a97be26;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600}.assignment-queue-card{background:#0f172a8c;border:1px solid #7a97be24;border-radius:8px;flex-direction:column;gap:5px;padding:9px 11px;transition:background .15s,border-color .15s;display:flex}.assignment-queue-card:hover{background:#0f172ad9;border-color:#60a5fa4d}.assignment-queue-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.assignment-queue-card-identity{align-items:center;gap:7px;min-width:0;display:flex}.assignment-queue-card-name{color:#f0f6fc;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.assignment-queue-card-code{color:#94a3b8;background:#7a97be1f;border:1px solid #7a97be33;border-radius:4px;flex-shrink:0;padding:1px 5px;font-family:monospace;font-size:10px;font-weight:600}.assignment-queue-remove-btn{color:#8397b2;cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:background .15s,color .15s;display:inline-flex}.assignment-queue-remove-btn:hover{background:var(--danger-bg);color:var(--danger)}.assignment-queue-card-body{flex-direction:column;gap:3px;font-size:11px;display:flex}.assignment-queue-meta-row{flex-wrap:wrap;align-items:center;gap:6px;line-height:1.35;display:flex}.assignment-queue-meta-item{align-items:baseline;gap:3px;min-width:0;display:inline-flex}.assignment-queue-meta-label{color:#8397b2;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0;font-size:10px;font-weight:600}.assignment-queue-meta-val{color:#cbd5e1;text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.assignment-queue-meta-sep{color:#7a97be66;font-size:10px}.assignment-queue-submit-btn{border-radius:8px;flex:none;width:100%;height:36px;margin-top:10px;font-size:12px;font-weight:600}@media (max-width:720px){.assignment-queue{flex-direction:column;display:flex;width:calc(100% - 20px)!important;bottom:10px!important}}
.page-container{flex-direction:column;gap:24px;width:100%;max-width:1280px;margin:0 auto;display:flex}.page-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-bottom:20px;display:flex}.page-description{color:var(--muted);margin-top:6px;font-size:14px;line-height:1.5}.header-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.table-toolbar{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;font-size:13px;display:flex}.checkbox-toggle-label{background:var(--surface);border:1px solid var(--line);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.checkbox-toggle-label:hover{background:var(--surface-hover);border-color:var(--border-subtle)}.grid-list{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px;display:grid}.workspace-card{background:var(--surface);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--line);box-shadow:0 4px 12px var(--backdrop-overlay);border-radius:14px;flex-direction:column;gap:16px;padding:24px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.workspace-card:before{content:"";background:linear-gradient(90deg, var(--brand-primary), var(--info));background:linear-gradient(90deg, var(--action-primary), var(--blue-accent));opacity:0;height:3px;transition:opacity .25s;position:absolute;top:0;left:0;right:0}.workspace-card:hover{border-color:var(--border-focus);box-shadow:0 12px 28px var(--backdrop-overlay);border-color:var(--action-primary-border);box-shadow:var(--shadow-overlay);transform:translateY(-3px)}.workspace-card:hover:before{opacity:1}.workspace-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.workspace-title{color:var(--text-primary);margin-bottom:4px;font-size:18px;font-weight:700}.workspace-title a:hover{color:var(--blue-accent)}.source-pair-summary{background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.source-item{color:var(--text);justify-content:space-between;align-items:center;font-size:13px;display:flex}.badge-group{flex-wrap:wrap;gap:6px;display:flex}.empty-state-card{background:var(--surface);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px dashed var(--border-subtle);text-align:center;max-width:520px;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:16px;margin:40px auto;padding:56px 24px;display:flex}.empty-state-icon{background:linear-gradient(135deg, var(--brand-primary-subtle) 0%, var(--info-bg) 100%);border:1px solid var(--border-focus);width:64px;height:64px;color:var(--info);background:var(--info-bg);border:1px solid var(--info-border);box-shadow:0 0 20px var(--border-focus);box-shadow:none;border-radius:16px;justify-content:center;align-items:center;display:flex}.empty-state-title{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:20px;font-weight:700}.empty-state-text{color:var(--muted);max-width:380px;margin:0;font-size:14px;line-height:1.5}.planning-hero{background:var(--surface-panel);border:1px solid var(--border-subtle);box-shadow:var(--shadow-panel);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.planning-hero-copy{max-width:760px}.planning-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.planning-title-row h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(30px,4vw,40px);line-height:1}.planning-hero p{color:var(--text-secondary);margin:8px 0 0;font-size:13px;line-height:1.45}.planning-hero-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.planning-status-pill,.planning-source-meta span{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-size:11px;font-weight:800;display:inline-flex}.planning-status-pill.is-success,.source-ready{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success);background:var(--success-bg);border:1px solid var(--success-border)}.planning-status-pill.is-warning,.source-waiting{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning);background:var(--warning-bg);border:1px solid var(--warning-border)}.planning-status-pill.is-danger{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border)}.planning-status-pill.is-muted{background:var(--border-subtle);border:1px solid var(--border-subtle);color:var(--text-secondary);background:var(--border-subtle);border:1px solid var(--border-subtle)}.planning-source-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.planning-source-card{background:linear-gradient(135deg, var(--surface-panel), var(--surface-panel));border:1px solid var(--border-subtle);box-shadow:0 12px 28px var(--backdrop-overlay);border:1px solid var(--border-subtle);background:var(--surface-panel);border:1px solid var(--border-subtle);box-shadow:0 4px 14px var(--backdrop-overlay);box-shadow:var(--shadow-panel);border-radius:10px;flex-direction:column;gap:6px;min-width:0;padding:10px 14px;display:flex}.planning-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.planning-card-info{flex-direction:column;gap:2px;min-width:0;display:flex}.planning-batch-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.planning-card-body{border-top:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:6px;display:flex}.planning-source-card.is-warning{border-color:var(--warning-border);color:var(--warning)}.planning-source-card strong{color:var(--text-primary);overflow-wrap:anywhere;font-size:14px}.planning-source-label{color:var(--text-secondary);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:900}.planning-source-metric-row{align-items:baseline;gap:8px;display:flex}.planning-metric-value{color:var(--text-primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.planning-metric-caption{color:var(--text-secondary);font-size:11px;font-weight:600}.planning-breakdown-row{flex-wrap:wrap;gap:6px;display:flex}.breakdown-pill{background:var(--surface-panel);border:1px solid var(--border-subtle);border:1px solid var(--border-subtle);background:var(--surface-hover);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:help;font-variant-numeric:tabular-nums;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700;transition:all .2s}.breakdown-pill:hover{border-color:var(--border-subtle)}.breakdown-pill.is-valid{border-color:var(--success-border);color:var(--success);background:var(--success-bg);border-color:var(--success-border);background:var(--success-bg)}.breakdown-pill.is-invalid{border-color:var(--danger-border);color:var(--danger);background:var(--danger-bg);border-color:var(--danger-border);background:var(--danger-bg)}.breakdown-pill.is-zero{border-color:var(--border-subtle);color:var(--text-muted);background:var(--surface-panel);border-color:var(--border-subtle);background:var(--surface-canvas)}.planning-source-meta{flex-wrap:wrap;gap:8px;display:flex}.planning-source-meta span{background:var(--surface-panel);border:1px solid var(--border-subtle);color:var(--text-secondary);background:var(--surface-canvas);border:1px solid var(--border-subtle);letter-spacing:.04em}.planning-source-meta .source-ready{background:var(--success-bg);border-color:var(--success-border);color:var(--success);background:var(--success-bg);border-color:var(--success-border)}.planning-source-meta .source-waiting{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning);background:var(--warning-bg);border-color:var(--warning-border)}.planning-tabbar{border-bottom:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);gap:8px;margin-top:4px;display:flex}.planning-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:14px 18px;font-size:15px;font-weight:850;transition:color .2s,border-color .2s,background .2s}.planning-tab:hover{background:var(--brand-primary-subtle);color:var(--text-primary);background:var(--info-bg)}.planning-tab.is-active{border-bottom-color:var(--info);color:var(--text-primary);border-bottom-color:var(--info)}.planning-map-shell{box-shadow:0 24px 70px var(--backdrop-overlay);border-radius:18px}.planning-workspace-navigation{background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin:6px 0 18px;padding:10px 12px 10px 16px;display:flex}.planning-workspace-navigation-copy{gap:2px;min-width:0;display:grid}.planning-workspace-navigation-copy strong{color:var(--text-primary);font-size:15px;line-height:1.25}.planning-workspace-navigation-copy>span:last-child{color:var(--text-secondary);font-size:11px;line-height:1.4}.planning-workspace-navigation-eyebrow{color:var(--info);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:800}.planning-workspace-navigation-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.planning-workspace-navigation-actions button{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:7px;min-height:34px;padding:6px 10px;font-size:12px;font-weight:700;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.planning-workspace-navigation-actions button svg{width:15px;height:15px}.planning-workspace-navigation-actions button:hover,.planning-workspace-navigation-actions button:focus-visible,.planning-workspace-navigation-actions button.is-active{background:var(--info-bg);border-color:var(--info-border);color:var(--info)}.planning-workspace-navigation-actions button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.planning-workspace-navigation-actions button.planning-map-return{background:var(--action-primary);border-color:var(--action-primary);color:var(--text-primary);box-shadow:0 6px 16px color-mix(in srgb, var(--action-primary) 24%, transparent)}.planning-workspace-navigation-actions button.planning-map-return:hover,.planning-workspace-navigation-actions button.planning-map-return:focus-visible{background:var(--action-primary-hover);border-color:var(--action-primary-hover);color:var(--text-primary)}.planning-map-workspace-hidden{display:none!important}.planning-empty-map,.planning-table-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:24px}.planning-dashboard{flex-direction:column;gap:24px;display:flex}.planning-metric-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.planning-metric-card{background:linear-gradient(135deg, var(--surface-panel), var(--surface-panel)), radial-gradient(circle at 100% 0%, var(--info-bg), transparent 40%);border:1px solid var(--border-subtle);box-shadow:0 10px 30px var(--backdrop-overlay);border-radius:14px;flex-direction:column;justify-content:center;min-height:88px;padding:14px 16px;transition:all .2s;display:flex}.planning-metric-card:hover{border-color:var(--border-subtle);transform:translateY(-1px)}.planning-metric-card.is-selected{background:linear-gradient(135deg, var(--success-bg), var(--surface-panel));border-color:var(--success-border);background:var(--surface-panel);border-color:var(--border-subtle)}.planning-metric-card.is-eliminated{background:linear-gradient(135deg, var(--warning-bg), var(--surface-panel));border-color:var(--warning-border);background:var(--surface-panel);border-color:var(--border-subtle)}.planning-metric-card span{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.planning-metric-card strong{color:var(--text-primary);font-family:var(--font-display);font-variant-numeric:tabular-nums;margin-top:4px;font-size:22px;font-weight:800;line-height:1.1;display:block}.planning-metric-card small{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11px;display:block;overflow:hidden}.planning-selection-summary{background:var(--surface-panel);border:1px solid var(--border-subtle);border-radius:8px}.planning-selection-status-card{border:1px solid var(--border-subtle);background:var(--surface-panel);border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.planning-selection-status-card strong{color:var(--text-primary);font-size:22px}.planning-selection-status-card span{color:var(--text-secondary);font-size:11px;font-weight:700}.planning-selection-status-card strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:22px}.planning-selection-status-card small{color:var(--text-muted);font-size:11px}.planning-selection-status-card.is-selected{border-color:var(--border-subtle)}.planning-selection-status-card.is-selected strong{color:var(--text-primary)}.planning-selection-status-card.is-eliminated{border-color:var(--border-subtle)}.planning-selection-status-card.is-eliminated strong{color:var(--text-primary)}.planning-filter-chip{background:var(--surface-panel);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;letter-spacing:.04em;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:850}.planning-filter-chip.is-active{background:var(--info-bg);border-color:var(--info-border);color:var(--info);background:var(--info-bg);border-color:var(--info-border)}.planning-table-panel .header-filter-trigger{color:var(--text-muted);cursor:pointer;font:inherit;letter-spacing:.05em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:11px;font-weight:700;display:inline-flex}.planning-table-panel .header-filter-trigger:hover,.planning-table-panel .header-filter-trigger.is-active{color:var(--info)}.planning-table-panel .header-filter-trigger .header-filter-chevron{color:var(--text-faint);font-size:10px;line-height:1}.planning-table-panel .header-filter-popover{text-align:left;z-index:200;min-width:160px;background:var(--surface-elevated)!important;border:1px solid var(--info-border)!important;box-shadow:var(--shadow-lg)!important;border-radius:8px!important;width:180px!important;margin-top:6px!important;padding:6px!important;top:100%!important;left:50%!important;transform:translate(-50%)!important}.planning-table-panel .header-filter-popover.is-left{left:0!important;transform:none!important}.planning-table-panel .header-filter-popover-title{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;padding:4px 8px 6px;font-size:10px;font-weight:700}.planning-table-panel .header-filter-option{cursor:pointer;font:inherit;justify-content:space-between;align-items:center;line-height:1.25;display:flex;color:var(--text-secondary)!important;text-align:left!important;background:0 0!important;border:0!important;border-radius:5px!important;width:100%!important;padding:7px 8px!important;font-size:11px!important}.planning-table-panel .header-filter-option:hover,.planning-table-panel .header-filter-option.is-active{background:var(--filter-active-bg)!important;color:var(--info)!important}.planning-table-panel .header-filter-option-check{color:var(--info);margin-left:12px;font-size:12px;font-weight:800}.planning-table-panel .header-filter-search{outline:none;width:100%;min-height:32px;background:var(--surface-hover)!important;border:1px solid var(--border-default)!important;color:var(--text-primary)!important;border-radius:5px!important;padding:6px 8px!important;font-size:12px!important}.planning-table-panel .header-filter-search:focus{box-shadow:var(--shadow-focus);border-color:var(--border-focus)!important}
.maplibregl-popup.dark-map-popup{max-width:380px!important}.maplibregl-popup.dark-map-popup .maplibregl-popup-content{background:var(--popup-bg)!important;-webkit-backdrop-filter:blur(16px)!important;border:1px solid var(--popup-border)!important;box-shadow:var(--popup-shadow)!important;color:var(--popup-value)!important;box-sizing:border-box!important;border-radius:14px!important;width:350px!important;padding:14px 16px!important}.maplibregl-popup.dark-map-popup .maplibregl-popup-tip{border-top-color:var(--popup-bg)!important;border-bottom-color:var(--popup-bg)!important}.maplibregl-popup.dark-map-popup .maplibregl-popup-close-button{color:var(--popup-label)!important;padding:6px 10px!important;font-size:16px!important}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);background:var(--surface-panel);background:var(--surface-elevated);-webkit-backdrop-filter:blur(12px);color:var(--text-primary);border:1px solid var(--border-subtle);border:1px solid var(--border-strong);white-space:normal;text-align:center;width:max-content;max-width:260px;box-shadow:var(--shadow-overlay);box-shadow:var(--shadow-overlay);pointer-events:none;opacity:0;visibility:hidden;z-index:9999;letter-spacing:normal;text-transform:none;border-radius:8px;padding:6px 10px;font-size:11px;font-weight:500;line-height:1.4;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;bottom:125%;left:50%;transform:translate(-50%)translateY(4px)}[data-tooltip]:before{content:"";border-style:solid;border-width:5px;border-color:var(--surface-panel) transparent transparent transparent;border-color:var(--surface-elevated) transparent transparent transparent;pointer-events:none;opacity:0;visibility:hidden;z-index:10000;transition:opacity .15s,visibility .15s;position:absolute;bottom:115%;left:50%;transform:translate(-50%)}[data-tooltip]:hover:after,[data-tooltip]:hover:before{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.maplibregl-popup.dark-map-popup .maplibregl-popup-close-button:hover{color:var(--text-primary)!important;background:0 0!important}.maplibregl-popup.dark-map-popup .maplibregl-popup-content{max-height:min(620px,100vh - 32px);overflow:auto;background:var(--popup-bg)!important;border-color:var(--popup-border)!important;box-shadow:var(--popup-shadow)!important;color:var(--popup-value)!important;width:min(360px,100vw - 32px)!important;padding:16px!important}.map-popup{width:100%;color:var(--popup-value);font-family:var(--font-sans), sans-serif;font-size:12px;line-height:1.45}.map-popup-header{border-bottom:1px solid var(--popup-divider);justify-content:space-between;align-items:flex-start;gap:12px;padding:0 24px 12px 0;display:flex}.map-popup-title{min-width:0;color:var(--popup-value-accent);overflow-wrap:anywhere;font-size:14px;line-height:1.35}.map-popup-badges{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.map-popup-badge{border:1px solid var(--border-strong);min-height:24px;color:var(--text-primary);letter-spacing:.04em;white-space:nowrap;border-radius:6px;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.map-popup-badge.is-selection,.map-popup-badge.is-decision{color:var(--success);background:var(--success-bg);border-color:var(--success-border)}.map-popup-badge.priority-p1{color:var(--priority-p1-fg);background:var(--priority-p1-bg);border-color:var(--priority-p1-border)}.map-popup-badge.priority-p2{color:var(--priority-p2-fg);background:var(--priority-p2-bg);border-color:var(--priority-p2-border)}.map-popup-badge.priority-p3,.map-popup-badge.priority-unassessed{color:var(--priority-p3-fg);background:var(--priority-p3-bg);border-color:var(--priority-p3-border)}.map-popup-metrics{border-bottom:1px solid var(--popup-divider);grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px 0;display:grid}.map-popup-metric,.map-popup-field{min-width:0}.map-popup-metric{text-align:center}.map-popup-metric span,.map-popup-field>span{color:var(--popup-label);letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:600;display:block}.map-popup-metric strong{color:var(--popup-metric-accent);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:14px;display:block}.map-popup-metric strong.is-rank{color:var(--warning)}.map-popup-metric strong.is-total{color:var(--success)}.map-popup-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;padding:14px 0;display:grid}.map-popup-field-wide{grid-column:1/-1}.map-popup-field strong{color:var(--popup-value);overflow-wrap:anywhere;font-size:12px;font-weight:600;display:block}.map-popup-field .map-popup-status-value{color:var(--info)}.map-popup-address{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:3.1em;overflow:hidden;display:-webkit-box!important}.map-popup-location-footer{border-top:1px dashed var(--popup-divider);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.map-popup-coordinates{min-width:0;color:var(--popup-label);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.map-popup-maps-link{border:1px solid var(--info-border);color:var(--info);border-radius:6px;flex:none;padding:5px 9px;font-size:11px;font-weight:700;text-decoration:none}.map-popup-maps-link:hover,.map-popup-maps-link:focus-visible{color:var(--text-primary);background:var(--info-bg);outline:2px solid var(--focus-ring);outline-offset:2px}.map-popup-actions{gap:8px;width:100%;padding-top:4px;display:flex}.map-popup-action{min-height:38px;color:var(--text-primary);font:inherit;text-align:center;cursor:pointer;border:1px solid #0000;border-radius:7px;flex:1 1 0;justify-content:center;align-items:center;padding:8px 10px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.map-popup-action-primary{background:var(--action-primary);border-color:var(--action-primary-hover)}.map-popup-action-primary:hover,.map-popup-action-primary:focus-visible{background:var(--action-primary-hover);outline:2px solid var(--focus-ring);outline-offset:2px}.map-popup-action-secondary{background:var(--surface-elevated);border-color:var(--border-strong)}.map-popup-action-secondary:hover,.map-popup-action-secondary:focus-visible{background:var(--surface-hover);outline:2px solid var(--focus-ring);outline-offset:2px}@media (max-width:460px){.map-popup-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.map-popup-header,.map-popup-location-footer{align-items:flex-start}.map-popup-location-footer{flex-direction:column}.map-popup-maps-link{box-sizing:border-box;text-align:center;width:100%}}.planning-member-composition{margin-top:16px;padding:16px}.planning-member-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.planning-member-card{min-height:132px;color:var(--foreground);text-align:left;background:var(--surface-panel);border:1px solid var(--border-subtle);cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;padding:12px;transition:border-color .15s,transform .15s,background .15s;display:flex}.planning-member-card:hover,.planning-member-card:focus-visible{background:var(--surface-panel);outline:none;transform:translateY(-1px)}.planning-member-card-title{letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.planning-member-card strong{margin-top:3px;font-size:24px;line-height:1}.planning-member-card small,.planning-member-card-meta,.planning-member-card-link{color:var(--muted);font-size:11px}.planning-member-card-meta{margin-top:2px}.planning-member-card-link{color:var(--info);margin-top:auto;font-weight:700}.planning-member-footnote{color:var(--muted);margin-top:12px;font-size:11px}
