@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500;700&display=swap";
@font-face{font-family:Oxanium;src:url(/fonts/display/Oxanium-Variable.woff)format("woff"),url(/fonts/display/Oxanium-Variable.ttf)format("truetype");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/ui/Inter-Variable.woff)format("woff"),url(/fonts/ui/Inter-Variable.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/mono/JetBrainsMono-Variable.woff)format("woff"),url(/fonts/mono/JetBrainsMono-Variable.ttf)format("truetype");font-weight:100 800;font-style:normal;font-display:swap}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#030712;--surface:#0a0e0bf0;--surface-2:#0f140ef7;--border:#ffffff12;--border-hi:#ffffff21;--text-main:#e8e2d4;--text-muted:#7a7060;--text-dim:#3a352a;--green:#4cbb7a;--accent:#d4822a;--accent-hi:#f0a84a;--accent-glow:#d4822a2e;--teal:#2aab8c;--red:#e0513a;--orange:#e07830;--yellow:#d4aa30;--font-display:"Oxanium", "Inter", system-ui, sans-serif;--font:"Inter", system-ui, -apple-system, sans-serif;--font-sans:var(--font);--font-ubuntu:var(--font);--font-inter:var(--font);--font-jetbrains-mono:var(--mono);--mono:"JetBrains Mono", ui-monospace, monospace;--toolbar-w:152px;--top-h:44px;--bottom-h:320px;--radius:8px;--radius-sm:5px;--ui-auto-scale:1;--ui-user-scale:1;--ui-scale:calc(var(--ui-auto-scale) * var(--ui-user-scale));--ui-space-1:calc(4px * var(--ui-scale));--ui-space-2:calc(8px * var(--ui-scale));--ui-space-3:calc(12px * var(--ui-scale));--ui-space-4:calc(16px * var(--ui-scale));--ui-space-5:calc(20px * var(--ui-scale));--ui-control-height:max(40px, calc(44px * var(--ui-scale)))}html,body{overscroll-behavior:none;background:var(--bg);width:100%;height:100%;font-family:var(--font);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-variant-numeric:tabular-nums;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none;overflow:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700}button,input,select,textarea{font-family:inherit;font-size:inherit}#game-root{overscroll-behavior:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;width:100vw;height:100dvh;position:relative;overflow:hidden}#city-canvas{touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;top:0;left:0}#city-overview-canvas{pointer-events:none;z-index:1;width:100%;height:100%;display:block;position:absolute;inset:0}#city-overview-canvas.overview-active{pointer-events:auto}html.high-contrast-ui{--border:#ffffff47;--border-hi:#ffffff7a;--surface:#05080efa;--surface-2:#0a0e16fc;--text-main:#fff;--text-muted:#cbd5e1}html.high-contrast-ui button,html.high-contrast-ui .settings-card,html.high-contrast-ui .sidebar-rail,html.high-contrast-ui .sidebar-flyout{border-color:#ffffff59!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}html.reduce-motion *,html.reduce-motion :before,html.reduce-motion :after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}html.bold-text,html.bold-text *{-webkit-font-smoothing:subpixel-antialiased;font-weight:700!important}html.bold-text strong,html.bold-text b,html.bold-text .badge-title{font-weight:900!important}html.large-text{font-size:112%!important}html.opaque-panels .settings-card,html.opaque-panels .settings-sidebar,html.opaque-panels .sidebar-rail,html.opaque-panels .sidebar-flyout,html.opaque-panels .overlay-modal,html.opaque-panels .menu-overlay,html.opaque-panels .topbar-shell,html.opaque-panels .time-speed-controls{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#080c14!important}html.colorblind-protanopia{--green:#29b6f6;--accent:#ff9800;--red:#ab47bc}html.colorblind-deuteranopia{--green:#0288d1;--accent:#f57c00;--red:#d81b60}html.colorblind-tritanopia{--teal:#e91e63;--green:#00c853;--yellow:#ff1744;--accent:#00b0ff}html.colorblind-protanopia body{filter:url(#protanopia-filter)}html.colorblind-deuteranopia body{filter:url(#deuteranopia-filter)}html.colorblind-tritanopia body{filter:url(#tritanopia-filter)}
.citizen-inspector{z-index:60;color:#f1f5f9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow-wrap:anywhere;background:#0f172aeb;border:1px solid #ffffff24;border-radius:12px;flex-direction:column;gap:8px;width:min(340px,100vw - 36px);min-width:0;max-height:calc(100vh - 96px);padding:14px;font-size:12px;animation:.18s cubic-bezier(.16,1,.3,1) citizenCardFadeIn;display:flex;position:fixed;bottom:18px;right:18px;overflow-y:auto;box-shadow:0 20px 48px #000000a6,inset 0 1px #ffffff1a}@keyframes citizenCardFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.house-inspector{border-color:#ffffff24;padding:14px}.citizen-inspector-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px;display:flex}.citizen-inspector-title-row{align-items:center;gap:8px;display:flex}.citizen-inspector-badge{color:#38bdf8;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid}.citizen-inspector-title{color:#fff;margin:0;font-size:14px;font-weight:700}.citizen-close-btn{color:#94a3b8;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;flex:0 0 28px;place-items:center;width:28px;height:28px;padding:0;transition:all .15s;display:grid}.citizen-close-btn:hover{color:#fff;background:#ef444433;border-color:#ef444466}.citizen-telemetry-chip{background:#ffffff08;border:1px solid #ffffff0f;border-radius:6px;justify-content:space-between;align-items:center;padding:5px 8px;font-size:11px;display:flex}.citizen-telemetry-chip small{color:#94a3b8}.citizen-telemetry-chip strong{color:#f1f5f9;font-family:var(--mono)}.inspector-eyebrow,.inspector-section{color:#fbbf24;letter-spacing:.12em;font-size:9px;font-weight:700}.inspector-highlights{grid-template-columns:1fr 1fr;gap:6px;display:grid}.inspector-highlights>div{background:#ffffff0a;border:1px solid #ffffff14;border-radius:7px;padding:8px}.inspector-highlights b,.inspector-highlights span{display:block}.inspector-highlights b{color:#fff;font:700 13px var(--mono)}.inspector-highlights span{color:#94a3b8;font-size:10px}.inspector-person{color:#e2e8f0;text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:8px;width:100%;padding:7px;transition:all .15s;display:flex;position:static!important}.inspector-person:hover{background:#ffffff12;border-color:#fff3}.inspector-person>span:last-child{min-width:0}.inspector-person b,.inspector-person small{white-space:normal;display:block}.inspector-person b{color:#f1f5f9;font-size:11px}.inspector-person small{color:#94a3b8;font-size:10px;line-height:1.3}.person-avatar{color:#fbbf24;width:25px;height:25px;font:700 11px var(--mono);background:#f59e0b26;border-radius:50%;flex:0 0 25px;place-items:center;display:grid}.inspector-wrapper{right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));z-index:60;opacity:1;transition:opacity .3s,transform .3s,bottom .25s;position:fixed}[data-toolbar-position=bottom] .inspector-wrapper{bottom:max(92px, calc(var(--safe-bottom,0px) + 88px))}.inspector-wrapper.fade-out{opacity:0;pointer-events:none;transform:translateY(12px)}.inspector-wrapper .citizen-inspector{position:static;bottom:auto;right:auto}.citizen-inspector .ctrl-btn{color:#fbbf24;cursor:pointer;background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:6px;align-self:flex-start;min-height:28px;padding:4px 10px;font-size:11px;font-weight:600;transition:all .15s}.citizen-inspector .ctrl-btn:hover{color:#fff;background:#f59e0b33;border-color:#f59e0b80}.citizen-inspector span{color:#cbd5e1}@media (max-width:480px){.citizen-inspector{width:calc(100vw - 24px);max-height:calc(100dvh - 120px);padding:12px}}@media (orientation:landscape) and (max-height:540px){.citizen-inspector{gap:6px;width:min(320px,100vw - 24px);max-height:min(80dvh,320px);padding:10px}}
@media (orientation:landscape) and (max-height:700px),(max-height:600px){.map-rotation-controls,.minimap-show,.map-compass,.mobile-compass-btn{display:none!important}}.map-rotation-controls{z-index:34;gap:6px;display:flex;position:fixed;top:62px;right:20px}.map-rotation-controls button{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f3f6f7;width:36px;height:36px;font:700 16px/1 var(--font);cursor:pointer;background:#0d1a1fd9;border:1px solid #94a3b833;border-radius:10px;transition:all .15s;box-shadow:0 4px 12px #00000059}.map-rotation-controls button:hover,.map-rotation-controls button:focus-visible{color:#f97316;background:#172b33;border-color:#94a3b861;transform:translateY(-1px)}.map-compass{z-index:34;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#f8fafc;cursor:pointer;opacity:1;background:#0d1822eb;border:1px solid #ffffff24;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:76px;height:76px;padding:0;transition:all .2s;display:flex;position:fixed;bottom:132px;left:30px;box-shadow:0 10px 30px #0009}.map-compass:hover{border-color:#38bdf866;transform:scale(1.04);box-shadow:0 12px 32px #000000b3,0 0 18px #38bdf840}.map-compass.showroom-compass{z-index:10000;bottom:32px;left:auto;right:32px}.map-compass-hint{color:#38bdf8;font:700 9px/1 var(--font);letter-spacing:.02em;position:absolute;bottom:6px}.map-compass-label{color:#fff;font:800 11px/1 var(--font);letter-spacing:.04em;position:absolute;top:6px}.map-compass-dial{place-items:center;width:32px;height:32px;margin-top:10px;transition:transform .28s ease-out;display:grid}@media (orientation:landscape) and (max-height:540px),(max-width:768px){.map-compass{width:52px;height:52px;left:max(12px, env(safe-area-inset-left));bottom:calc(max(12px, env(safe-area-inset-bottom)) + 62px)}.map-compass-dial{width:24px;height:24px;margin-top:4px}.map-compass-label{font-size:9px;top:4px}.map-compass-hint{display:none}}
.test-minimap{z-index:24;pointer-events:auto;background:#0d1816d1;border:1px solid #94a3b82e;border-radius:6px;padding:5px;position:fixed}.test-minimap,#city-canvas{transform-origin:50%}.map-overview-hidden{opacity:0;pointer-events:none;transform:none}.test-minimap.minimap-overview{flex-direction:column;padding:10px;display:flex;inset:5vh 5vw}.test-minimap.minimap-overview canvas{width:100%;height:100%;image-rendering:pixelated;flex:1}.render-diagnostics-copy{z-index:24;color:#b9c9c2;font:700 9px var(--mono);cursor:pointer;background:#0d1816a6;border:0;border-radius:4px;padding:6px 9px;position:fixed;bottom:16px;right:16px}@media (max-width:640px){.map-compass,.map-compass-with-minimap{top:auto;bottom:66px;right:12px}.map-minimap-panel{max-width:calc(100vw - 24px)}.test-minimap canvas{max-width:calc(100vw - 34px);height:auto}}.minimap-header{cursor:move;-webkit-user-select:none;user-select:none;color:#f5c542;font:700 9px var(--mono);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:16px;margin:1px 3px 4px;display:flex}.minimap-header button,.minimap-show{color:#f5c542b8;font:700 9px var(--mono);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:2px 4px}.minimap-show{z-index:34;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f3f6f7;font:600 12px/1 var(--font);cursor:pointer;background:#0d1a1fd9;border:1px solid #94a3b833;border-radius:10px;padding:8px 14px;transition:all .15s;position:fixed;top:62px;right:110px;box-shadow:0 4px 12px #00000059}.minimap-show:hover,.minimap-show:focus-visible{color:#f97316;background:#172b33;border-color:#94a3b861}.test-minimap canvas{width:288px;height:216px;image-rendering:pixelated;cursor:crosshair;touch-action:none;display:block}@media (orientation:landscape) and (max-height:700px),(max-height:600px){.test-minimap.map-minimap-panel{max-width:calc(100vw - 100px);z-index:1000!important;top:56px!important;left:auto!important;right:88px!important}}
.demolition-tool-btn{z-index:34;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#e2e8f0;cursor:pointer;background:#0d1822eb;border:1px solid #ffffff1f;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:96px;height:96px;padding:10px;transition:all .2s;display:flex;position:fixed;bottom:18px;left:20px;box-shadow:0 10px 32px #0009}.demolition-tool-btn:hover{color:#fff;background:#ef44442e;border-color:#ef444480;transform:translateY(-2px)}.demolition-tool-btn.active{color:#fff;background:#ef444452;border-color:#ef4444;box-shadow:0 0 24px #ef444473}.demolition-tool-icon-wrap{place-items:center;display:grid}.demolition-hotkey-badge{font-size:.65rem;font-weight:800;font-family:var(--mono);color:#94a3b8;background:#0f172ad9;border:1px solid #ffffff1f;border-radius:4px;padding:1px 5px;line-height:1.2;position:absolute;top:8px;right:8px}.demolition-tool-text{color:#f8fafc;margin-top:-2px;font-size:.8rem;font-weight:700}@media (orientation:landscape) and (max-height:540px),(max-width:768px){.demolition-tool-btn{bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));border-radius:12px;gap:0;width:52px;height:52px;padding:6px}.demolition-tool-btn svg{width:28px;height:28px}.demolition-tool-text{display:none}}.demolition-confirm-overlay{z-index:190;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.demolition-confirm-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#030a0ed1;border:0;position:absolute;inset:0}.demolition-confirm-card{z-index:1;color:#f3f6f7;background:linear-gradient(160deg,#160f11 0%,#0d1a1f 100%);border:1px solid #e85d4a47;border-radius:20px;grid-template-columns:88px minmax(0,1fr);gap:20px;width:min(560px,100%);padding:30px 32px 26px;display:grid;position:relative;box-shadow:0 24px 64px #000c,0 0 0 1px #e85d4a1f}.demolition-confirm-close{color:#9eadb6;cursor:pointer;background:#12222999;border:1px solid #94a3b829;border-radius:8px;place-items:center;width:34px;height:34px;transition:all .15s;display:grid;position:absolute;top:16px;right:16px}.demolition-confirm-close:hover{color:#f3f6f7;background:#172b33e6;border-color:#94a3b84d}.demolition-confirm-icon{color:#e85d4a;background:#e85d4a1f;border:1px solid #e85d4a59;border-radius:50%;place-items:center;width:72px;height:72px;display:grid}.demolition-confirm-body{flex-direction:column;display:flex}.demolition-confirm-card h2{color:#f3f6f7;tracking:-.01em;margin:0 0 8px;font-size:1.35rem;font-weight:700}.demolition-confirm-card p{color:#9eadb6;margin:0 0 4px;font-size:.92rem;line-height:1.45}.demolition-confirm-card .demolition-confirm-warning{color:#e85d4a;font-weight:600}.demolition-confirm-target{color:#9eadb6;background:#122229;border:1px solid #94a3b829;border-radius:10px;align-items:center;gap:10px;margin-top:18px;padding:12px 14px;font-size:.88rem;display:flex}.demolition-target-icon{color:#e8a52b;flex-shrink:0}.demolition-target-label{color:#9eadb6}.demolition-target-value{color:#f3f6f7;font-weight:600}.demolition-confirm-card footer{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px;display:grid}.demolition-confirm-card footer button{cursor:pointer;min-height:48px;font:600 .95rem var(--font);border-radius:10px;justify-content:center;align-items:center;gap:8px;transition:all .15s;display:flex}.demolition-confirm-cancel{color:#f3f6f7;background:#172b33;border:1px solid #94a3b833}.demolition-confirm-cancel:hover{background:#203742;border-color:#94a3b859}.demolition-confirm-action{color:#fff;background:#e85d4a;border:1px solid #e85d4a;box-shadow:0 4px 14px #e85d4a4d}.demolition-confirm-action:hover{background:#f87171;border-color:#f87171;box-shadow:0 6px 18px #e85d4a73}.demolition-confirm-action:focus-visible,.demolition-confirm-cancel:focus-visible,.demolition-confirm-close:focus-visible{outline-offset:2px;outline:2px solid #4da7e8}@media (max-width:600px){.demolition-confirm-card{grid-template-columns:1fr;padding:24px 20px 20px}.demolition-confirm-icon{width:56px;height:56px;margin-bottom:12px}.demolition-confirm-card footer{gap:10px}}.tool-demolish-active,.tool-demolish-active canvas,.tool-demolish-active .city-renderer-container,.tool-demolish-active #game-root,body.tool-demolish-active,.demolish-active-cursor{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect x='5' y='19' width='18' height='7' rx='3.5' fill='%231e293b' stroke='%230f172a' stroke-width='1.5'/%3E%3Ccircle cx='9' cy='22.5' r='1.8' fill='%2394a3b8'/%3E%3Ccircle cx='14' cy='22.5' r='1.8' fill='%2394a3b8'/%3E%3Ccircle cx='19' cy='22.5' r='1.8' fill='%2394a3b8'/%3E%3Cpath d='M8 19V11h9l4 8z' fill='%23f59e0b' stroke='%23d97706' stroke-width='1.5'/%3E%3Cpath d='M10 12.5h5l2.5 4.5h-7.5z' fill='%2338bdf8' opacity='0.9'/%3E%3Crect x='9' y='7' width='2' height='4' fill='%23334155'/%3E%3Cpath d='M18 17l6 3' stroke='%23475569' stroke-width='2.5' stroke-linecap='round'/%3E%3Cpath d='M24 12v12c1.5-1 3-3 3-6s-1.5-5-3-6z' fill='%23dc2626' stroke='%23991b1b' stroke-width='1.5'/%3E%3C/svg%3E") 24 18,crosshair!important}

.building-placement-hud-wrapper{bottom:max(26px, calc(var(--safe-bottom,0px) + 20px));z-index:45;pointer-events:none;touch-action:none;flex-direction:column;align-items:center;gap:6px;animation:.18s cubic-bezier(.16,1,.3,1) placementHudFadeUp;display:flex;position:fixed;left:50%;transform:translate(-50%)}[data-toolbar-position=bottom] .building-placement-hud-wrapper{bottom:max(88px, calc(var(--safe-bottom,0px) + 82px))}.building-placement-hud{pointer-events:auto;-webkit-backdrop-filter:blur(20px);color:#fff;font-family:var(--font-sans,system-ui, -apple-system, sans-serif);background:#0f172ae6;border:1px solid #ffffff1f;border-radius:10px;flex-direction:row;align-items:center;gap:8px;padding:5px 8px;display:flex;box-shadow:0 10px 30px #00000073,0 2px 6px #00000040}.placement-hud-header{align-items:center;gap:7px;padding-left:4px;display:flex}.placement-hud-title{color:#f8fafc;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:13px;font-weight:700;overflow:hidden}.placement-hud-compass-badge{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;outline:none;align-items:center;gap:5px;padding:3px 7px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.placement-hud-compass-badge:hover{color:#fff;background:#ffffff1a;border-color:#f59e0b66}.placement-hud-compass-needle{color:#f59e0b;flex-shrink:0;transition:transform .22s cubic-bezier(.34,1.56,.64,1)}.placement-hud-angle{font-family:var(--mono,monospace);letter-spacing:.02em;font-size:11px;font-weight:600}.placement-hud-controls{align-items:center;gap:4px;display:flex}.placement-hud-btn{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;outline:none;justify-content:center;align-items:center;gap:5px;height:30px;padding:0 7px;transition:all .15s;display:inline-flex}.placement-hud-btn:hover{color:#fff;background:#ffffff1f;border-color:#fff3}.placement-hud-btn:active{transform:scale(.96)}.placement-hud-btn-rotate:hover{color:#fbbf24;background:#f59e0b1f;border-color:#f59e0b66}.placement-hud-btn-confirm{color:#6ee7b7;background:#10b9812e;border-color:#10b98159}.placement-hud-btn-confirm:hover{color:#fff;background:#10b98152;border-color:#10b98199}.placement-hud-btn-cancel{color:#fca5a5;background:#ef444414;border-color:#ef44442e}.placement-hud-btn-cancel:hover{color:#fff;background:#ef444433;border-color:#ef444466}.placement-hud-btn-label{display:none}.placement-hud-kbd{font-family:var(--mono,monospace);text-transform:uppercase;color:#ffffffbf;pointer-events:none;background:#00000059;border:1px solid #ffffff29;border-radius:3px;justify-content:center;align-items:center;min-width:14px;padding:1px 4px;font-size:9px;font-weight:700;line-height:1.1;display:inline-flex}.placement-hud-color-pill{font-family:var(--mono,monospace);color:#94a3b8;letter-spacing:.02em;font-size:10px;font-weight:700}.placement-hud-notice-banner{pointer-events:auto;color:#fff;-webkit-backdrop-filter:blur(8px);background:#dc2626f0;border:1px solid #ef4444;border-radius:8px;align-items:center;gap:7px;margin-top:4px;padding:6px 12px;font-size:11px;font-weight:600;animation:.18s ease-out placementNoticeFade;display:flex;box-shadow:0 4px 14px #00000059}@keyframes placementHudFadeUp{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes placementNoticeFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.building-placement-hud-wrapper{bottom:max(82px, calc(var(--safe-bottom,0px) + 76px))}}@media (max-width:640px){.building-placement-hud{gap:6px;padding:5px 6px}.placement-hud-title{max-width:80px}.placement-hud-btn{min-width:40px;min-height:40px;padding:0 8px}.placement-hud-kbd{display:none}}
.road-drag-cost-popup{pointer-events:none;z-index:9999;will-change:transform;transition:transform 40ms ease-out;position:fixed;top:0;left:0}.road-drag-cost-pill{-webkit-backdrop-filter:blur(20px);color:var(--text-main,#e8e2d4);font-family:var(--font,system-ui, sans-serif);white-space:nowrap;background:#0f172af0;border:1px solid #ffffff29;border-radius:9999px;align-items:center;gap:8px;padding:6px 14px;font-size:12px;font-weight:600;line-height:1;display:inline-flex;box-shadow:0 10px 30px #0000008c,inset 0 1px #ffffff1f}.road-drag-icon{color:#f59e0b;flex-shrink:0}.road-drag-tiles{color:#cbd5e1;font-weight:500}.road-drag-divider{color:#fff3}.road-drag-amount{color:#fbbf24;font-family:var(--mono,monospace);align-items:baseline;gap:1px;font-weight:700;display:inline-flex}.road-drag-currency{color:#f59e0b;font-size:11px;font-weight:600}.road-drag-cost-pill.is-unaffordable{background:#1e0a0ef5;border-color:#d9382999;box-shadow:0 10px 30px #d9382940,inset 0 1px #ef444433}.road-drag-cost-pill.is-unaffordable .road-drag-amount{color:#f87171}.road-drag-warning{color:#fca5a5;font-size:11px;font-family:var(--mono,monospace);font-weight:600}
.overlay-modal{z-index:200;pointer-events:none;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.overlay-modal.active{pointer-events:auto;display:flex}.overlay-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;background:#000000b3;position:absolute;inset:0}.overlay-card{border:1px solid var(--border-hi);border-radius:var(--radius);pointer-events:auto;background:#0c1016;width:90%;min-width:360px;max-width:520px;max-height:88vh;animation:.2s modalIn;position:relative;overflow-y:auto;box-shadow:0 24px 80px #000000b3}.overlay-card.modal-wide{max-width:820px}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:none}}.overlay-hdr{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:18px 20px 14px;display:flex}.overlay-hdr h2{font-size:1rem;font-weight:700;font-family:var(--font-display,var(--font));letter-spacing:.02em}.modal-sub{color:var(--text-muted);margin-top:2px;font-size:.72rem}.close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:1rem;line-height:1;transition:color .15s}.close-btn:hover{color:var(--text-main)}.overlay-body{padding:16px 20px}.overlay-footer{border-top:1px solid var(--border);justify-content:flex-end;padding:12px 20px;display:flex}.form-label{color:var(--text-muted);margin-bottom:5px;font-size:.7rem;font-weight:600;display:block}.game-textarea{border:1px solid var(--border-hi);border-radius:var(--radius-sm);width:100%;color:var(--text-main);font-family:var(--font);resize:vertical;background:#ffffff0a;outline:none;padding:8px 10px;font-size:.78rem}.game-textarea:focus{border-color:var(--accent)}.modal-cols{grid-template-columns:1fr 1fr 1fr;gap:16px;padding:16px 20px;display:grid}.modal-col{flex-direction:column;gap:2px;display:flex}.modal-section-title{color:var(--text-muted);letter-spacing:.08em;border-bottom:1px solid var(--border);margin-bottom:6px;padding-bottom:4px;font-size:.65rem;font-weight:700}.modal-stat-row{border-bottom:1px solid #ffffff0a;justify-content:space-between;padding:4px 0;font-size:.7rem;display:flex}.modal-stat-row span{color:var(--text-muted)}.modal-stat-row strong{color:var(--text-main);font-family:var(--mono);text-align:right;max-width:55%;font-size:.68rem}.radar-stat-bar{margin-bottom:6px}.radar-label{color:var(--text-muted);justify-content:space-between;margin-bottom:2px;font-size:.62rem;display:flex}.radar-bar-container{background:#ffffff12;border-radius:2px;height:4px;overflow:hidden}.radar-bar-fill{border-radius:2px;height:100%;transition:width .4s}.radar-bar-fill.skill{background:var(--teal)}.radar-bar-fill.aspire{background:var(--accent)}.radar-bar-fill.trait{background:var(--orange)}#toast-container{z-index:500;pointer-events:none;flex-direction:column-reverse;gap:6px;display:flex;position:fixed;bottom:60px;right:16px}.toast{border:1px solid var(--border-hi);border-radius:var(--radius-sm);color:var(--text-main);opacity:0;background:#1e293b;max-width:280px;padding:9px 16px;font-size:.75rem;font-weight:600;transition:opacity .25s,transform .25s;transform:translate(20px);box-shadow:0 4px 20px #00000080}.toast.visible{opacity:1;transform:translate(0)}.toast-success{border-color:#22c55e66}.toast-warning{border-color:#eab30866}.toast-error{border-color:#ef444466}

#hud-bottom{top:calc(var(--top-h) + 14px);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);pointer-events:auto;z-index:35;opacity:0;background:#0d161ef2;border:1px solid #94a3b829;border-radius:16px;flex-direction:column;width:auto;min-width:0;max-width:none;max-height:0;transition:max-height .35s cubic-bezier(.16,1,.3,1),opacity .25s,transform .3s cubic-bezier(.16,1,.3,1),left .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;display:flex;position:fixed;left:204px;right:16px;overflow:hidden;transform:translateY(-10px);box-shadow:0 16px 40px #000000a6}.sidebar-nav-shell.is-collapsed~#hud-bottom{left:calc(76px * var(--ui-scale))}:has(.sidebar-nav-shell.is-collapsed) #hud-bottom{left:calc(76px * var(--ui-scale))}#hud-bottom.is-medium,#hud-bottom.is-expanded{opacity:1;transform:translateY(0)}#hud-bottom.is-medium{max-height:min(720px,82dvh)}#hud-bottom.is-expanded{max-height:calc(100dvh - var(--top-h) - 16px)}#hud-bottom.is-collapsed,#hud-bottom.is-hidden{opacity:0;pointer-events:none;max-height:0;transform:translateY(-10px)}.city-panel-top-bar{border-bottom:1px solid var(--border);background:#00000026;justify-content:space-between;align-items:center;padding:0 8px 0 0;display:flex}.city-panel-controls{align-items:center;gap:4px;display:flex}.city-panel-alert{min-height:30px;color:var(--accent-hi);font:700 .68rem var(--font);cursor:pointer;white-space:nowrap;background:#d4822a1f;border:1px solid #d4822a59;border-radius:999px;align-items:center;gap:5px;padding:0 10px;transition:background .15s,border-color .15s;display:inline-flex}.city-panel-alert:hover{border-color:var(--accent-hi);background:#d4822a38}.city-panel-alert>span{color:var(--orange);font-size:.8rem}.city-panel-icon-button{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--text-muted);cursor:pointer;font:700 1.1rem/1 var(--font);background:0 0;border:0;flex:0 0 36px;place-items:center;display:grid}.city-panel-icon-button:hover,.city-panel-icon-button:focus-visible{color:var(--accent-hi);background:#d4822a1f}.city-panel-title:focus-visible,.city-panel-icon-button:focus-visible,.dash-tab:focus-visible{outline:2px solid var(--accent-hi);outline-offset:-2px}#hud-bottom-content{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden auto}#dash-tabs{overscroll-behavior-inline:contain;scrollbar-width:thin;border-bottom:none;flex:auto;gap:4px;min-height:44px;padding:0 10px;display:flex;overflow-x:auto}.dash-tab{min-width:max-content;min-height:44px;color:var(--text-muted);font:700 .72rem var(--font);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;padding:0 14px;transition:color .15s,border-color .15s,background .15s}.dash-tab:hover{color:var(--text-main);background:#ffffff09}.dash-tab.active{color:var(--accent-hi);border-bottom-color:var(--accent)}#dash-content{flex:1;min-height:0;padding-right:4px;overflow:hidden auto}.city-panel-phase-note{color:var(--text-muted);padding:12px 2px;font-size:.72rem}.city-summary-state,.summary-empty{border-radius:var(--radius-sm);color:var(--text-main);background:#d4822a14;margin:12px;padding:9px;font-size:.72rem}.city-summary-state.is-error{color:#ffd0ca;background:#e0513a1a;border:1px solid #e0513a80}@media (min-width:900px){#dash-tabs{justify-content:center;overflow-x:visible}}@media (max-width:700px){#hud-bottom{left:12px;right:12px}.city-panel-top-bar{padding-right:4px}.city-panel-alert{text-overflow:ellipsis;max-width:88px;overflow:hidden}.dash-tab{padding:0 12px}}.citizen-inspector,.inspector-wrapper{bottom:18px}body:is([data-city-panel-size=medium],[data-city-panel-size=expanded]) :is(.map-compass,.map-rotation-controls,.minimap-show,.test-minimap,.render-diagnostics-copy){visibility:hidden;pointer-events:none}.dash-pane{min-height:100%;padding:0;display:none}.dash-pane.active{display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.city-panel-svg{vertical-align:middle;flex:none;display:inline-block}
.city-hub-container{flex-direction:column;width:100%;height:100%;display:flex}.city-hub-nav-bar{background:0 0;border-bottom:1px solid #ffffff0f;justify-content:flex-start;align-items:center;gap:10px;padding:6px 14px 10px;display:flex}.city-hub-segmented-dock{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a121ca6;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.city-hub-subtab-btn{color:#94a3b8;font:600 .74rem var(--font,system-ui, sans-serif);letter-spacing:.01em;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:4px 12px;transition:all .14s;display:inline-flex}.city-hub-subtab-btn:hover{color:#f1f5f9;background:#ffffff0d}.city-hub-subtab-btn.active{color:#fff;background:#ffffff1a;border-color:#ffffff29;box-shadow:0 2px 6px #0000004d,inset 0 1px #ffffff26}.city-hub-subtab-icon{flex-shrink:0;place-items:center;display:grid}.city-hub-content-pane{flex:1;width:100%}
.desktop-city-panel{background:linear-gradient(#0d1623f5 0%,#090e18fa 100%)!important;border:1px solid #ffffff1a!important;box-shadow:0 24px 60px #000c,inset 0 1px #ffffff1a!important}.desktop-panel-header-bar{background:#0a111cb3;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:6px 14px;display:flex}.desktop-panel-header-left{align-items:center;gap:8px;display:flex}.desktop-panel-tab-badge{text-transform:uppercase;letter-spacing:.06em;color:#e2e8f0;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;align-items:center;gap:6px;padding:2px 8px;font-size:.74rem;font-weight:700;display:inline-flex}.desktop-panel-header-actions{align-items:center;gap:6px;display:flex}.desktop-panel-action-btn{color:#94a3b8;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;transition:all .14s;display:inline-flex}.desktop-panel-action-btn:hover{color:#fff;background:#ffffff1a;border-color:#fff3}.desktop-panel-action-btn:active{transform:scale(.96)}.desktop-panel-action-btn:focus-visible{outline-offset:1px;outline:2px solid #38bdf8}.desktop-panel-close-btn:hover{color:#f87171;background:#ef444426;border-color:#ef444459}
.mobile-city-panel-sheet{z-index:1050;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-sizing:border-box;background:#0d161efa;border-top:1px solid #94a3b833;border-top-left-radius:20px;border-top-right-radius:20px;flex-direction:column;height:min(76dvh,420px);max-height:calc(100dvh - 60px);transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .25s;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 40px #000000b3}.mobile-city-panel-sheet.is-collapsed{opacity:0;pointer-events:none;transform:translateY(100%)}.mobile-city-panel-sheet.is-open{opacity:1;transform:translateY(0)}.mobile-sheet-drag-handle-bar{justify-content:space-between;align-items:center;padding:6px 16px 4px;display:flex;position:relative}.mobile-sheet-pill{background:#94a3b859;border-radius:2px;width:40px;height:4px;margin:0 auto}.mobile-sheet-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:36px;min-height:36px;font-size:1.1rem;display:flex}.mobile-sheet-tabs-scroll{scrollbar-width:none;border-bottom:1px solid #94a3b81f;gap:6px;padding:4px 12px;display:flex;overflow-x:auto}.mobile-sheet-tabs-scroll::-webkit-scrollbar{display:none}.mobile-sheet-tab-btn{color:#94a3b8;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #94a3b826;border-radius:16px;min-height:34px;padding:0 14px;font-size:.78rem;font-weight:600;transition:all .2s}.mobile-sheet-tab-btn.active{color:#fff;background:#ffffff1f;border-color:#ffffff42;box-shadow:0 4px 14px #00000059,inset 0 1px #ffffff2e}.mobile-sheet-content-region{padding:10px max(14px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));flex:1;overflow-y:auto}.mobile-panel-auto-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;width:100%;display:grid}@media (orientation:landscape) and (max-height:700px),(max-height:600px){.mobile-city-panel-sheet{height:min(65dvh,230px);max-height:calc(100dvh - 52px)}.mobile-sheet-content-region{padding:6px max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))}.mobile-sheet-content-region .summary-module-root{gap:8px!important;padding:4px 6px 10px!important}.mobile-sheet-content-region .summary-kpi-card,.mobile-sheet-content-region .summary-card{border-radius:8px!important;gap:2px!important;padding:6px 8px!important}.mobile-sheet-content-region .kpi-value{font-size:.92rem!important;line-height:1.1!important}.mobile-sheet-content-region .kpi-label,.mobile-sheet-content-region .kpi-subtext{font-size:.64rem!important;line-height:1.15!important}.mobile-sheet-content-region h3,.mobile-sheet-content-region h4{margin-bottom:4px!important;font-size:.78rem!important}}

#hud-tile-inspector{background:var(--surface-2);border:1px solid var(--border-hi);border-radius:var(--radius);pointer-events:auto;z-index:28;width:220px;animation:.15s slideUp;position:absolute;bottom:14px;right:14px}@keyframes slideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1}}.inspector-hdr{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 12px 8px;display:flex}.inspector-hdr span{font-size:.78rem;font-weight:700}.insp-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 4px;font-size:.8rem;line-height:1;transition:color .15s}.insp-close-btn:hover{color:var(--text-main)}#inspector-body{padding:8px 12px;font-size:.72rem}.inspector-row{color:var(--text-muted);justify-content:space-between;padding:3px 0;display:flex}.inspector-row:last-child{border:none}.inspector-row span:last-child{color:var(--text-main);font-weight:600;font-family:var(--mono)}.citizen-track-list{flex-direction:column;gap:5px;max-height:150px;display:flex;overflow-y:auto}.citizen-track-row{background:#ffffff08;justify-content:space-between;align-items:center;gap:8px;padding:5px;display:flex}.citizen-track-row span{flex-direction:column;min-width:0;display:flex}.citizen-track-row strong,.citizen-track-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.citizen-track-row small{color:var(--text-muted);max-width:220px}.citizen-track-row button{border:1px solid var(--border-hi);color:var(--text-main);cursor:pointer;background:0 0;border-radius:4px;padding:3px 6px}.inspector-divider{border:none;border-top:1px solid var(--border);margin:6px 0}#inspector-actions{flex-wrap:wrap;gap:5px;padding:6px 10px 10px;display:flex}.insp-action-btn{border:1px solid var(--border-hi);border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;background:#ffffff0f;padding:4px 9px;font-size:.68rem;font-weight:600;transition:background .15s}.insp-action-btn:hover{background:#ffffff1f}.insp-danger{color:#fca5a5;border-color:#ef44444d}
.district-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;height:100%;padding:10px 12px;display:grid;overflow-y:auto}.district-select-card,.district-detail>section{border:1px solid var(--border);border-radius:var(--radius);background:#ffffff06;padding:10px}.district-select-card header{justify-content:space-between;gap:8px;display:flex}.district-select-card h3,.district-detail h3{font-size:.82rem}.district-select-card header span,.district-select-card p,.district-detail-header span,.district-detail p,.district-detail small{color:var(--text-muted);font-size:.7rem}.district-select-card header strong{color:var(--accent-hi);font:700 .86rem var(--mono)}.district-card-services{gap:4px;margin:9px 0;display:grid}.district-card-services span{justify-content:space-between;gap:5px;font-size:.69rem;display:flex}.district-card-services b{color:var(--text-main);font-family:var(--mono)}.district-select-card button,.district-locate,.district-back{border-radius:var(--radius-sm);min-height:36px;color:var(--accent-hi);cursor:pointer;font:700 .7rem var(--font);background:#d4822a1c;border:1px solid #d4822a6b;padding:0 10px}.district-detail{grid-template-columns:1.2fr .8fr;gap:10px;padding:10px 12px;display:grid;overflow-y:auto}.district-detail-header{grid-column:1/-1;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.district-back{min-height:26px;color:var(--text-muted);background:0 0;border:0;padding:0}.district-detail-census{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.district-detail-census span{border-radius:var(--radius-sm);background:#ffffff09;padding:7px}.district-detail-census small,.district-detail-census strong{display:block}.district-detail-census strong{font-family:var(--mono);margin-top:3px}.district-detail-services{grid-row:span 2}.district-detail-services h4,.district-detail-alerts h4,.district-detail-actions h4{margin-bottom:8px;font-size:.74rem}.district-service{grid-template-columns:18px minmax(70px,1fr) minmax(40px,2fr) 38px 62px;align-items:center;gap:6px;padding:5px 0;font-size:.69rem;display:grid}.district-service-bar{background:#ffffff1a;border-radius:99px;height:5px;overflow:hidden}.district-service-bar i{background:#5fa8d9;height:100%;display:block}.district-service strong{font-family:var(--mono)}.district-service small{color:#5fa8d9}@media (max-width:780px){.district-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.district-detail{grid-template-columns:1fr}.district-detail-services{grid-row:auto}}@media (max-width:560px){.district-overview{grid-template-columns:1fr;padding:8px}.district-detail{padding:8px}.district-detail-header{flex-direction:column}.district-service{grid-template-columns:18px minmax(70px,1fr) minmax(35px,1fr) 36px}.district-service small{display:none}}.city-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;padding-bottom:8px;display:grid}.district-card{border:1px solid var(--border);border-radius:var(--radius);background:#ffffff08;padding:12px;transition:border-color .2s,box-shadow .2s}.district-card:hover{border-color:var(--border-hi)}.district-card.at-risk{background:#ef44440a;border-color:#ef444466}.district-overview,.district-detail{height:auto;padding-bottom:18px;overflow:visible}
.city-alerts{height:auto;padding:10px 14px 16px;overflow:visible}.alert-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.alert-segmented-tabs{background:#0a121ca6;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:3px;padding:3px;display:flex}.alert-seg-btn{color:#94a3b8;font:700 .7rem var(--font);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;transition:all .14s;display:inline-flex}.alert-seg-btn:hover{color:#f1f5f9;background:#ffffff0f}.alert-seg-btn.active{color:#fff;background:#ffffff1a;border:1px solid #ffffff24}.alert-seg-btn.alert-active-pill.active{color:#fb7185;background:#f43f5e1f;border:1px solid #f43f5e40}.seg-count{font-family:var(--mono);background:#ffffff14;border-radius:99px;padding:1px 5px;font-size:.65rem}.pulse-dot{border-radius:50%;width:6px;height:6px}.pulse-dot.red{background:#fb7185}.pulse-dot.green{background:#4ade80}.alert-district-select{color:#e2e8f0;min-height:30px;font:600 .7rem var(--font);cursor:pointer;background:#0f172acc;border:1px solid #ffffff1a;border-radius:6px;outline:none;padding:0 10px}.alert-district-select:focus{border-color:#ffffff40}.alert-list{gap:8px;display:grid}.city-alert{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172abf;border:1px solid #ffffff14;border-radius:8px;padding:10px 14px;transition:all .14s;box-shadow:0 4px 16px #00000040}.city-alert:hover{background:#141e32d9;border-color:#ffffff2e;transform:translateY(-1px)}.city-alert.is-resolved{background:#22c55e0f;border-color:#22c55e33}.city-alert-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.alert-header-info{align-items:center;gap:8px;display:flex}.alert-severity-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:.62rem;font-weight:700;display:inline-flex}.alert-severity-badge.critical{color:#fb7185;background:#f43f5e1f;border:1px solid #f43f5e40}.alert-severity-badge.warning{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b40}.alert-severity-badge.resolved{color:#4ade80;background:#22c55e1f;border:1px solid #22c55e40}.alert-title{color:#f1f5f9;margin:0;font-size:.82rem;font-weight:700}.alert-desc{color:#94a3b8;margin:0 0 6px;font-size:.72rem;line-height:1.4}.alert-meta-grid{background:#0003;border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:6px 0 8px;padding:6px 8px;display:grid}.alert-meta-grid dt{color:#64748b;text-transform:uppercase;font-size:.62rem;font-weight:600}.alert-meta-grid dd{color:#e2e8f0;margin:1px 0 0;font-size:.7rem;font-weight:600}.alert-impact-tag{color:#cbd5e1!important}.alert-actions{align-items:center;gap:6px;display:flex}.alert-action-btn{color:#cbd5e1;font:700 .68rem var(--font);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:5px;align-items:center;gap:5px;padding:4px 8px;transition:all .14s;display:inline-flex}.alert-action-btn:hover{color:#fff;background:#ffffff1a}.alert-action-btn.primary{color:#fff;background:#ffffff14;border-color:#ffffff29}.alert-action-btn.primary:hover{background:#ffffff26}@media (max-width:620px){.city-alerts{padding:8px}.alert-filters{flex-direction:column;align-items:stretch}.alert-meta-grid{grid-template-columns:1fr 1fr}}
.district-card.selected-glow{box-shadow:0 0 0 2px #d4822a99,0 0 20px #d4822a2e;border-color:#d4822a80!important}.district-name{text-transform:capitalize;align-items:center;gap:6px;margin-bottom:8px;font-size:.8rem;font-weight:700;display:flex}.district-badge{letter-spacing:.04em;border-radius:20px;padding:2px 7px;font-size:.58rem;font-weight:700}.at-risk-label{color:#fca5a5;background:#ef444433}.safe-label{color:#86efac;background:#22c55e26}.progress-bar-group{margin-bottom:5px}.progress-labels{color:var(--text-muted);justify-content:space-between;margin-bottom:2px;font-size:.62rem;display:flex}.progress-container{background:#ffffff12;border-radius:2px;height:4px;overflow:hidden}.progress-value{border-radius:2px;height:100%;transition:width .4s}.progress-value.water{background:var(--teal)}.progress-value.electricity{background:var(--yellow)}.progress-value.education{background:var(--accent)}.progress-value.healthcare{background:#ec4899}.progress-value.approval{background:var(--green)}.progress-value.crime{background:var(--red)}.district-meta{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.district-pop{color:var(--text-muted);font-size:.65rem;font-family:var(--mono)}.org-pill{color:#fdba74;background:#f9731626;border:1px solid #f973164d;border-radius:20px;padding:2px 6px;font-size:.6rem}.pane-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.pane-title{font-size:.75rem;font-weight:700}.org-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff08;align-items:flex-start;gap:12px;margin-bottom:8px;padding:10px;transition:border-color .2s;display:flex}.org-card.crisis{background:#ef44440a;border-color:#ef444466}.org-icon{flex-shrink:0;font-size:1.4rem}.org-info{flex:1;min-width:0}.org-name{margin-bottom:3px;font-size:.75rem;font-weight:700}.org-type-badge{background:#ffffff14;border-radius:20px;padding:1px 6px;font-size:.6rem}.org-territory{color:var(--text-muted);margin-top:3px;font-size:.62rem}.org-metrics{flex-direction:column;gap:3px;min-width:100px;display:flex}.org-crisis-tag{color:var(--red);letter-spacing:.05em;margin-bottom:2px;font-size:.58rem;font-weight:700}.org-metric-row{justify-content:space-between;gap:8px;font-size:.65rem;display:flex}.org-metric-label{color:var(--text-muted)}.org-metric-val{font-family:var(--mono);font-weight:700}.finance-cols{grid-template-columns:1fr 1fr;gap:16px;display:grid}.treasury-big{font-size:1.6rem;font-weight:800;font-family:var(--mono);color:var(--green);margin:4px 0}.treasury-sub{color:var(--text-muted);font-size:.7rem}.opinion-tick{margin-bottom:8px}.opinion-tick-header{color:var(--text-muted);justify-content:space-between;margin-bottom:4px;font-size:.68rem;display:flex}.ch-bar-group{flex-direction:column;gap:5px;display:flex}.ch-bar-row{align-items:center;gap:8px;display:flex}.ch-label{color:var(--text-muted);flex-shrink:0;width:72px;font-size:.62rem}.ch-bar-bg{background:#ffffff12;border-radius:3px;flex:1;height:5px;overflow:hidden}.ch-bar-fill{border-radius:3px;height:100%;transition:width .4s}.ch-bar-fill.social{background:var(--teal)}.ch-bar-fill.news{background:var(--accent)}.ch-bar-fill.wom{background:var(--green)}.ch-bar-fill.press{background:var(--yellow)}.ch-bar-fill.negative{background:var(--red)}.ch-val{font-size:.62rem;font-family:var(--mono);text-align:right;min-width:52px;font-weight:700}.ch-val.pos{color:var(--green)}.ch-val.neg{color:var(--red)}.opinion-total-row{border-top:1px solid var(--border);justify-content:space-between;padding-top:5px;font-size:.68rem;display:flex}.footprint-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:7px 0;font-size:.68rem;display:flex}.fp-emotion{flex-shrink:0;font-size:1rem}.fp-body{flex:1;min-width:0}.fp-topic{color:var(--text-main);text-transform:capitalize;font-weight:600}.fp-district,.fp-culprit{color:var(--text-muted);margin-top:1px;font-size:.62rem}.fp-severity{font-size:.6rem;font-weight:700;font-family:var(--mono);flex-shrink:0}.fp-severity.high{color:var(--red)}.fp-severity.medium{color:var(--orange)}.fp-severity.low{color:var(--text-muted)}.controls-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.ctrl-block{flex-direction:column;gap:6px;display:flex}.ctrl-label{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:.7rem;font-weight:600;display:flex}.ctrl-val{color:var(--accent);font-family:var(--mono);font-weight:700}.game-slider{-webkit-appearance:none;cursor:pointer;background:#ffffff1a;border-radius:3px;outline:none;width:100%;height:5px}.game-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:2px solid #ffffff4d;border-radius:50%;width:14px;height:14px;transition:background .15s}.game-slider::-webkit-slider-thumb:hover{background:#a5b4fc}.game-select{border:1px solid var(--border-hi);border-radius:var(--radius-sm);color:var(--text-main);font-size:.72rem;font-family:var(--font);cursor:pointer;background:#ffffff0d;outline:none;width:100%;padding:6px 10px}.game-select:focus{border-color:var(--accent)}.game-select option{color:var(--text-main);background:#0f172a}.ctrl-actions{flex-flow:wrap;align-items:flex-end}.ctrl-btn{border:1px solid var(--border-hi);border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;font-size:.72rem;font-weight:600;font-family:var(--font);white-space:nowrap;background:#ffffff0f;padding:7px 14px;transition:background .15s,border-color .15s}.ctrl-btn:hover{background:#ffffff1a}.ctrl-btn.primary{color:#c7d2fe;background:#d4822a33;border-color:#d4822a80}.ctrl-btn.primary:hover{background:#d4822a4d}.filter-row{gap:5px;margin-bottom:8px;display:flex}.filter-tab{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:.68rem;font-weight:600;font-family:var(--font);background:0 0;border-radius:20px;padding:4px 11px;transition:all .15s}.filter-tab:hover{border-color:var(--border-hi);color:var(--text-main)}.filter-tab.active{border-color:var(--accent);color:var(--accent);background:#d4822a26}.citizen-item-card{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:#ffffff08;justify-content:space-between;align-items:flex-start;margin-bottom:5px;padding:8px 10px;font-size:.7rem;transition:border-color .15s,background .15s;display:flex}
.citizen-item-card:hover{border-color:var(--border-hi);background:#ffffff0d}.citizen-item-card.level-3{background:#3b82f60a;border-color:#3b82f64d}.citizen-item-info{flex-direction:column;gap:2px;display:flex}.cit-name{color:var(--text-main);font-weight:700}.cit-sub{color:var(--text-muted);font-size:.63rem}.cit-status{color:#2aab8c;font-size:.6rem;font-weight:600}.cit-problem{color:var(--yellow);font-size:.6rem}.inspect-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:3px;padding:3px 7px;font-size:.72rem;transition:all .15s}.inspect-btn:hover{border-color:var(--border-hi);color:var(--text-main);background:#ffffff14}.status-badge{letter-spacing:.05em;text-transform:uppercase;border-radius:20px;padding:3px 9px;font-size:.62rem;font-weight:700}.status-badge.running{color:#86efac;background:#22c55e26}.status-badge.won{color:#c7d2fe;background:#6366f133}.status-badge.lost{color:#fca5a5;background:#ef444433}.panel-badge{color:var(--text-muted);background:#ffffff12;border-radius:20px;padding:2px 8px;font-size:.62rem;font-weight:600}.empty-state{text-align:center;color:var(--text-dim);padding:20px;font-size:.72rem}
#hud{pointer-events:none;z-index:20;position:absolute;inset:0}#hud>*{pointer-events:auto}#hud-top{height:var(--top-h);background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);pointer-events:auto;z-index:30;align-items:center;gap:10px;padding:0 14px;display:flex;position:absolute;top:0;left:0;right:0}#city-brand{letter-spacing:.02em;color:var(--text-main);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:6px;outline:none;align-items:center;gap:5px;padding:4px 8px;font-size:.9rem;font-weight:700;transition:background .15s,transform .15s;display:flex}#city-brand:hover{background:#d4822a26}.hud-sep{background:var(--border-hi);flex-shrink:0;width:1px;height:22px}.hud-stat{flex-direction:column;align-items:flex-start;gap:1px;min-width:60px;display:flex}.hud-stat-button{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px 5px}.hud-stat-button:hover{background:var(--panel-hi)}.hud-label{color:var(--text-muted);letter-spacing:.08em;font-size:.55rem;font-weight:700}.hud-value{color:var(--text-main);font-size:.82rem;font-weight:700;font-family:var(--mono)}.accent-green{color:var(--green)}.hud-top-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.hud-icon-btn{border:1px solid var(--border-hi);border-radius:var(--radius-sm);color:var(--text-main);cursor:pointer;font-size:.7rem;font-weight:600;font-family:var(--mono);background:#ffffff0f;padding:4px 8px;transition:background .15s,color .15s}.hud-icon-btn:hover{color:#fff;background:#ffffff1f}.hud-icon-btn.active{border-color:var(--accent);color:var(--accent);background:#d4822a33}.hud-icon-btn.pending{animation:.8s ease-in-out infinite alternate hud-pulse}.hud-icon-btn:disabled{opacity:.7;cursor:wait}@keyframes hud-pulse{0%{box-shadow:0 0 #d4822a00}to{box-shadow:0 0 10px #d4822a8c}}
.sidebar-nav-shell{top:50%;left:max(16px, env(safe-area-inset-left));z-index:35;pointer-events:auto;position:fixed;transform:translateY(-50%)}.sidebar-rail{width:calc(205px * var(--ui-scale));gap:calc(6px * var(--ui-scale));padding:calc(10px * var(--ui-scale));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0f172ae0;border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;transition:width .25s cubic-bezier(.16,1,.3,1),padding .25s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 16px 40px #000000a6,inset 0 1px #ffffff1a}.sidebar-rail--collapsed{width:calc(58px * var(--ui-scale));padding:calc(10px * var(--ui-scale)) calc(6px * var(--ui-scale));align-items:center}.sidebar-rail-divider{background:linear-gradient(90deg,#0000 0%,#94a3b833 50%,#0000 100%);width:100%;height:1px;margin:2px 0}[data-toolbar-position=bottom] .sidebar-nav-shell{top:auto;bottom:max(16px, env(safe-area-inset-bottom));left:50%;transform:translate(-50%)}[data-toolbar-position=bottom] .sidebar-rail{flex-direction:row;align-items:center;width:auto;height:auto}[data-toolbar-position=bottom] .sidebar-rail-divider{width:1px;height:calc(28px * var(--ui-scale));background:linear-gradient(#0000 0%,#94a3b833 50%,#0000 100%);margin:0 4px}[data-toolbar-position=bottom] .sidebar-flyout{top:auto;bottom:calc(100% + 12px);left:50%;transform:translate(-50%)}
.sidebar-rail-toggle{width:100%;min-height:calc(36px * var(--ui-scale));justify-content:flex-start;align-items:center;gap:var(--ui-space-2);padding:6px calc(10px * var(--ui-scale));box-sizing:border-box;color:#94a3b8;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;transition:all .16s cubic-bezier(.16,1,.3,1);display:flex}.sidebar-rail-toggle:hover{color:#fff;background:#ffffff14;border-color:#ffffff38}.sidebar-rail-toggle .toggle-icon{flex-shrink:0;place-items:center;width:20px;height:20px;font-size:.8rem;font-weight:700;transition:transform .2s;display:grid}.sidebar-rail-toggle .toggle-label,.sidebar-rail-button small{max-width:160px;color:inherit;white-space:nowrap;opacity:1;margin:0;transition:opacity .2s 80ms,max-width .25s cubic-bezier(.16,1,.3,1);overflow:hidden}.sidebar-rail-toggle .toggle-label{max-width:150px;font-size:calc(.78rem * var(--ui-scale));letter-spacing:.02em;font-weight:600}.sidebar-rail-button{width:100%;min-height:calc(44px * var(--ui-scale));align-items:center;gap:var(--ui-space-3);padding:8px calc(14px * var(--ui-scale));box-sizing:border-box;color:#94a3b8;cursor:pointer;text-align:left;background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;transition:all .16s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.sidebar-rail-button>span{background:#ffffff0d;border-radius:6px;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:1.15rem;line-height:1;transition:all .16s;display:grid}.sidebar-rail-button small{font-size:calc(.84rem * var(--ui-scale));font-weight:600;line-height:1.2}.sidebar-rail-button:hover{color:#fff;background:#ffffff14;border-color:#ffffff38;transform:translate(2px)}.sidebar-rail-button:hover>span{color:#fff;background:#ffffff1f}.sidebar-rail-button.active{color:#fff;background:#ffffff1f;border-color:#ffffff42;box-shadow:0 4px 14px #00000059,inset 0 1px #ffffff2e}.sidebar-rail-button.active>span{color:#fff;background:#ffffff29}.sidebar-rail-button.section-inspector{color:#e2e8f0;background:#ffffff0a;border-color:#ffffff14}.sidebar-rail-button.section-inspector:hover{color:#fff;background:#ffffff17;border-color:#ffffff3d}.sidebar-rail-button.section-inspector.active{color:#fff;background:#ffffff1f;border-color:#ffffff42;box-shadow:0 4px 14px #00000059,inset 0 1px #ffffff2e}.sidebar-rail-button.section-demolish{color:#fca5a5;background:#ef44440d;border-color:#ef44442e}.sidebar-rail-button.section-demolish:hover{color:#fff;background:#ef444424;border-color:#ef444473;transform:translate(2px)}.sidebar-rail-button.section-demolish.active{color:#fff;background:#ef444438;border-color:#ef44448c;box-shadow:0 4px 14px #ef444440,inset 0 1px #ffffff26}.sidebar-rail-button.section-demolish>span{color:#fca5a5;background:#ef44441f}.sidebar-rail-button.section-demolish:hover>span{color:#fff;background:#ef444440}.sidebar-rail-button.section-demolish.active>span{color:#fff;background:#ef444466}.sidebar-rail-toggle:focus-visible,.sidebar-rail-button:focus-visible{outline-offset:2px;outline:2px solid #fff6}.sidebar-rail-hotkey{color:#94a3b8;font-family:var(--mono);background:#ffffff14;border:1px solid #ffffff24;border-radius:4px;margin-left:auto;padding:1px 5px;font-size:.65rem;font-weight:700;line-height:1.2}.sidebar-rail--collapsed .sidebar-rail-hotkey{display:none}
.sidebar-rail--collapsed .sidebar-rail-toggle{width:calc(44px * var(--ui-scale));height:calc(44px * var(--ui-scale));min-height:calc(44px * var(--ui-scale));justify-content:center;padding:6px}.sidebar-rail--collapsed .sidebar-rail-button{width:calc(44px * var(--ui-scale));height:calc(44px * var(--ui-scale));justify-content:center;gap:0;padding:0}.sidebar-rail--collapsed .toggle-label,.sidebar-rail--collapsed .sidebar-rail-button small{pointer-events:none;opacity:0;max-width:0;padding:0;transition:opacity .1s,max-width .2s cubic-bezier(.16,1,.3,1)}.sidebar-rail--collapsed .sidebar-rail-button:hover{transform:scale(1.05)}@media (orientation:portrait) and (pointer:coarse) and (max-width:900px),(orientation:landscape) and (max-height:540px){.sidebar-nav-shell{top:max(50px, calc(env(safe-area-inset-top) + 48px));left:max(8px, env(safe-area-inset-left))}.sidebar-rail{border-radius:12px;gap:4px;width:52px;padding:4px}.sidebar-rail-button{justify-content:center;width:42px;min-height:40px;padding:6px}.sidebar-rail-button>span{width:22px}.sidebar-rail-button small,.sidebar-rail-toggle,.sidebar-rail-divider{display:none}}@media (prefers-reduced-motion:reduce){.sidebar-rail,.sidebar-rail-button,.sidebar-rail-button>span,.sidebar-rail-toggle,.sidebar-rail-toggle .toggle-icon,.sidebar-rail-toggle .toggle-label,.sidebar-rail-button small{transition-duration:.01ms}}

.ui-scrollbar,.sidebar-flyout-scroll,#dash-content,#hud-bottom-content{scrollbar-width:thin;scrollbar-color:#7dd3fcb8 #ffffff0d;scrollbar-gutter:stable}.ui-scrollbar::-webkit-scrollbar{width:8px;height:8px}.sidebar-flyout-scroll::-webkit-scrollbar{width:8px;height:8px}#dash-content::-webkit-scrollbar{width:8px;height:8px}#hud-bottom-content::-webkit-scrollbar{width:8px;height:8px}.ui-scrollbar::-webkit-scrollbar-track{background:#ffffff0a;border-radius:999px}.sidebar-flyout-scroll::-webkit-scrollbar-track{background:#ffffff0a;border-radius:999px}#dash-content::-webkit-scrollbar-track{background:#ffffff0a;border-radius:999px}#hud-bottom-content::-webkit-scrollbar-track{background:#ffffff0a;border-radius:999px}.ui-scrollbar::-webkit-scrollbar-thumb{background:#fff3 padding-box padding-box;border:2px solid #0000;border-radius:999px}.sidebar-flyout-scroll::-webkit-scrollbar-thumb{background:#fff3 padding-box padding-box;border:2px solid #0000;border-radius:999px}#dash-content::-webkit-scrollbar-thumb{background:#fff3 padding-box padding-box;border:2px solid #0000;border-radius:999px}#hud-bottom-content::-webkit-scrollbar-thumb{background:#fff3 padding-box padding-box;border:2px solid #0000;border-radius:999px}.ui-scrollbar::-webkit-scrollbar-thumb:hover{background:#ffffff59}.sidebar-flyout-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff59}#dash-content::-webkit-scrollbar-thumb:hover{background:#ffffff59}#hud-bottom-content::-webkit-scrollbar-thumb:hover{background:#ffffff59}
.sidebar-flyout{z-index:36;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f172af0;border:1px solid #ffffff24;border-radius:14px;flex-direction:column;width:min(560px,100vw - 230px);max-height:540px;display:flex;position:absolute;top:0;left:195px;overflow:hidden;box-shadow:0 20px 50px #000000b3,inset 0 1px #ffffff1a}.sidebar-flyout-title{color:#f8fafc;border-bottom:1px solid #94a3b824;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.flyout-header-title-group{align-items:center;gap:10px;display:flex}.flyout-header-icon{font-size:1.25rem}.sidebar-flyout-title strong{letter-spacing:.06em;color:#f8fafc;font-size:.88rem;font-weight:700}.flyout-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:0;font-size:1.35rem;transition:color .15s}.flyout-close-btn:hover{color:#fff}.sidebar-flyout-scroll{min-height:0;max-height:460px;padding:14px;overflow-y:auto}
.zone-category-tabs{gap:6px;margin:-2px 0 12px;padding-bottom:2px;display:flex;overflow-x:auto}.zone-category-tabs button{color:#94a3b8;cursor:pointer;min-height:32px;font:600 .72rem var(--font);background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;flex:none;padding:0 12px;transition:all .16s}.zone-category-tabs button:hover{color:#fff;background:#ffffff14;border-color:#ffffff38}.zone-category-tabs button.active{color:#fff;background:#ffffff1f;border-color:#ffffff3d;box-shadow:inset 0 1px #ffffff26}.sidebar-zones-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.tool-btn{cursor:pointer;text-align:left;box-sizing:border-box;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:92px;padding:8px 12px;transition:all .16s cubic-bezier(.16,1,.3,1);display:flex}.tool-btn:hover:not(:disabled){background:#ffffff14;border-color:#ffffff3d;transform:translateY(-1px);box-shadow:0 6px 18px #00000059,inset 0 1px #ffffff1a}.tool-btn.active{background:#ffffff1f;border-color:#ffffff42;box-shadow:0 4px 14px #00000059,inset 0 1px #ffffff26}.tool-btn.tool-future{opacity:.72;cursor:not-allowed;background:#121e2a59}.real-building-canvas-wrap{background:#0a121899;border:1px solid #94a3b81f;border-radius:8px;flex-shrink:0;place-items:center;width:64px;height:64px;transition:transform 80ms ease-out,border-color 80ms ease-out,background-color 80ms ease-out;display:grid;overflow:hidden}.tool-btn:hover:not(:disabled) .real-building-canvas-wrap{background:#0e3244d1;border-color:#7dd3fc9e;transform:scale(1.04)}.building-facade-thumb-box{background:#0a121880;border-radius:8px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.building-thumbnail-fallback{font:600 .65rem var(--font);color:#9eadb6;text-align:center}.tool-name{color:#f8fafc;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.84rem;font-weight:700;line-height:1.2;overflow:hidden}.tool-capacity-badge{color:#38bdf8;letter-spacing:.01em;font-size:.68rem;font-weight:700}.tool-copy{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.tool-copy small{color:#9eadb6;overflow-wrap:normal;font-size:.66rem;line-height:1.2}.tool-meta{flex:none;align-self:flex-start;margin-left:4px;display:flex}.tool-btn:focus-visible,.zone-category-tabs button:focus-visible{outline-offset:2px;outline:2px solid #4da7e8}.tool-cost-badge{font-size:.72rem;font-weight:700;font-family:var(--mono);color:#e2e8f0;background:#ffffff0f;border:1px solid #ffffff14;border-radius:6px;flex-shrink:0;padding:3px 7px}.tool-cost-badge.is-affordable{color:#10b981;background:#10b98124;border-color:#10b98159}.tool-cost-badge.is-disabled{color:#f87171;background:#ef44441f;border-color:#ef44444d}.tool-soon-badge{color:#94a3b8;font-size:.68rem;font-weight:700;font-family:var(--mono);letter-spacing:.04em;background:#ffffff0a;border-radius:4px;padding:3px 6px}@media (orientation:portrait) and (pointer:coarse) and (max-width:900px),(orientation:landscape) and (max-height:540px){.sidebar-flyout{width:min(340px, calc(100vw - 72px - env(safe-area-inset-right)));border-radius:12px;max-height:min(72dvh,360px);left:60px}.sidebar-flyout-scroll{max-height:min(62dvh,300px)}.flyout-close-btn{min-width:36px;min-height:36px}.sidebar-zones-grid{grid-template-columns:1fr}.zone-category-tabs button{min-height:34px}}



.dc-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.dc-name{text-transform:capitalize;font-size:.8rem;font-weight:700}.dc-pop{color:var(--text-muted);font-size:.68rem}.dc-approval{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:6px;font-size:.65rem;display:flex}.dc-services{flex-direction:column;gap:3px;display:flex}.svc-row{color:var(--text-muted);align-items:center;gap:6px;font-size:.6rem;display:flex}.progress-bar{background:#ffffff12;border-radius:2px;flex:1;height:4px;overflow:hidden}.progress-bar.sm{height:3px}.progress-value{background:var(--accent);border-radius:2px;height:100%;transition:width .4s}.progress-value.green{background:var(--green)}.progress-value.water{background:var(--teal)}.progress-value.education{background:var(--accent)}.opinion-breakdown{padding:4px 0}.opinion-tick-label{color:var(--text-muted);margin-bottom:10px;font-size:.65rem}.opinion-channels{flex-direction:column;gap:8px;display:flex}.ch-row{align-items:center;gap:8px;display:flex}.ch-label{color:var(--text-muted);flex-shrink:0;width:100px;font-size:.65rem}.ch-bar-container{background:#ffffff12;border-radius:3px;flex:1;height:6px;overflow:hidden}.ch-bar-fill{border-radius:3px;height:100%;transition:width .3s}.ch-bar-fill.social{background:var(--teal)}.ch-bar-fill.news{background:var(--accent)}.ch-bar-fill.wom{background:var(--green)}.ch-bar-fill.press{background:var(--yellow)}.ch-val{font-size:.62rem;font-family:var(--mono);text-align:right;flex-shrink:0;width:52px}.ch-val.pos{color:var(--green)}.ch-val.neg{color:var(--red)}.citizens-summary{padding:4px 0}.cit-stat{border-bottom:1px solid var(--border);justify-content:space-between;padding:5px 0;font-size:.72rem;display:flex}.cit-stat strong{color:var(--accent-hi);font-family:var(--mono)}.cit-section-title{color:var(--text-muted);letter-spacing:.08em;margin-top:12px;margin-bottom:4px;font-size:.6rem;font-weight:700}.org-row{justify-content:space-between;padding:3px 0;font-size:.68rem;display:flex}.org-type{color:var(--accent);font-size:.6rem}.empty-state{color:var(--text-dim);padding:12px 0;font-size:.72rem}
.topbar-zone-left{align-items:center;gap:var(--ui-space-2);display:flex}.topbar-brand{cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;padding:2px 6px;transition:background .15s,transform .15s;display:flex}.topbar-brand:hover{background:#ffffff14;transform:scale(1.02)}.topbar-divider{background:#ffffff1f;flex-shrink:0;width:1px;height:18px}.topbar-stats-group{align-items:center;gap:4px;display:flex}.topbar-stat{height:32px;color:var(--text-main);cursor:pointer;white-space:nowrap;background:#ffffff08;border:1px solid #ffffff0f;border-radius:6px;align-items:center;gap:6px;padding:0 10px;transition:all .16s cubic-bezier(.16,1,.3,1);display:inline-flex}.topbar-stat:hover{background:#ffffff17;border-color:#ffffff38;transform:translateY(-1px)}.topbar-stat:active{transform:scale(.97)}.topbar-stat-icon{flex-shrink:0;place-items:center;font-size:.95rem;line-height:1;display:grid}.topbar-stat-val{font-size:calc(.82rem * var(--ui-scale));font-weight:700;font-family:var(--mono);color:#f8fafc;letter-spacing:-.01em;line-height:1}.topbar-stat-val.is-positive{color:#34d399}.topbar-stat-val.is-neutral{color:#fbbf24}.topbar-stat-val.is-negative{color:#f87171}.topbar-badge-alert{color:#fbbf24;cursor:pointer;white-space:nowrap;background:#b478143d;border:1px solid #f59e0b66;border-radius:6px;align-items:center;gap:6px;height:32px;padding:0 10px;font-size:.76rem;font-weight:700;transition:all .16s cubic-bezier(.16,1,.3,1);display:inline-flex}.topbar-badge-alert:hover{background:#f59e0b59;border-color:#f59e0b99;transform:translateY(-1px);box-shadow:0 0 12px #f59e0b4d}.topbar-badge-alert.no-alerts{color:#94a3b8;background:#ffffff08;border-color:#ffffff14}.topbar-badge-alert.no-alerts:hover{color:#f1f5f9;box-shadow:none;background:#ffffff14;border-color:#fff3}@keyframes alert-shake{0%{transform:rotate(0)}20%{transform:rotate(-15deg)scale(1.1)}40%{transform:rotate(15deg)scale(1.1)}60%{transform:rotate(-10deg)scale(1.1)}80%{transform:rotate(10deg)scale(1.1)}to{transform:rotate(0)scale(1)}}.icon-shake{animation:.5s ease-in-out alert-shake;display:inline-block}@media (max-width:1440px){.topbar-badge-status span{display:none}.topbar-badge-status{padding:4px 6px}.topbar-stat-label{display:none}.topbar-stat{gap:4px;padding:2px 5px}}@media (max-width:1280px){.topbar-badge-status,.topbar-badge-alert span{display:none}.topbar-badge-alert{padding:4px 6px}}@media (max-width:1220px){.topbar-stats-group{gap:3px}.topbar-stat{gap:4px;padding:0 6px}}
.topbar-zone-center{align-items:center;gap:4px;padding:4px 6px;display:flex}.topbar-nav-full,.topbar-nav-compact{align-items:center;gap:4px;height:100%;display:flex}.topbar-nav-compact{display:none;position:relative}.topbar-nav-tab{color:#94a3b8;height:32px;font:600 calc(.74rem * var(--ui-scale)) var(--font);letter-spacing:.02em;cursor:pointer;white-space:nowrap;background:#ffffff08;border:1px solid #ffffff14;border-radius:6px;flex-direction:row;justify-content:center;align-items:center;gap:6px;padding:0 13px;transition:all .16s cubic-bezier(.16,1,.3,1);display:flex}.topbar-nav-tab:hover{color:#fff;background:#ffffff14;border-color:#ffffff3d;transform:translateY(-1px)}.topbar-nav-tab.active,.topbar-nav-tab[aria-current=page]{color:#fff;background:#ffffff1f;border-color:#ffffff3d;box-shadow:0 4px 14px #00000059,inset 0 1px #ffffff2e}.topbar-nav-icon{place-items:center;line-height:1;display:grid}.topbar-more-trigger,.topbar-more-item{color:#94a3b8;font:700 calc(.72rem * var(--ui-scale)) var(--font);cursor:pointer;background:0 0;border:0}.topbar-more-trigger{border-radius:999px;align-items:center;gap:4px;height:32px;padding:0 10px;display:flex}.topbar-more-trigger:hover,.topbar-more-trigger.active{color:#f1f5f9;background:#ffffff14}.topbar-more-trigger.active{color:#fff;background:#ffffff1f;border:1px solid #ffffff38}.topbar-more-menu{z-index:60;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172af5;border:1px solid #ffffff1f;border-radius:12px;min-width:164px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 28px #0000008c}.topbar-more-item{text-align:left;border-radius:8px;align-items:center;gap:8px;width:100%;min-height:36px;padding:6px 10px;transition:all .15s;display:flex}.topbar-more-item:hover,.topbar-more-item:focus-visible,.topbar-more-item.active{color:#fff;background:#ffffff1a;outline:none}@media (max-width:1380px) and (min-width:1221px){.topbar-nav-tab{gap:4px;padding:0 8px}}@media (max-width:1220px){.topbar-nav-full{display:none}.topbar-nav-compact{display:flex}.topbar-more-trigger>span:last-child{display:inline}}
.topbar-zone-right{align-items:center;gap:6px;padding:4px 8px;display:flex}.topbar-btn-group{background:#00000040;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:2px;padding:2px;display:flex}.topbar-ctrl-btn{color:#94a3b8;height:32px;min-height:32px;font-size:calc(.74rem * var(--ui-scale));font-weight:600;font-family:var(--font), system-ui, -apple-system, sans-serif;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 10px;transition:all .16s cubic-bezier(.16,1,.3,1);display:inline-flex}.topbar-ctrl-btn:hover{color:#fff;background:#ffffff14;border-color:#fff3}.topbar-ctrl-btn.active{color:#fff;background:#ffffff1f;border-color:#ffffff3d}.topbar-ctrl-btn.paused{color:#fca5a5;background:#ef44442e;border-color:#ef444480}.time-speed-val{font-family:var(--mono);font-weight:700}.topbar-dropdown-menu{z-index:9999;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172af5;border:1px solid #ffffff24;border-radius:8px;flex-direction:column;gap:2px;min-width:220px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #000000a6,inset 0 1px #ffffff1a}.topbar-dropdown-header{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;font-size:.62rem;font-weight:700}.topbar-dropdown-item{color:#e2e8f0;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:7px 10px;font-size:.78rem;font-weight:500;transition:all .14s;display:flex}.topbar-dropdown-item:hover{color:#fff;background:#ffffff14;border-color:#ffffff29}.topbar-dropdown-item.active{color:#fff;background:#ffffff1a;border-color:#fff3;font-weight:600}@media (max-width:1220px){.topbar-ctrl-btn{gap:4px;padding:0 6px}.topbar-ctrl-btn span:not(.time-speed-val){display:none}}@media (orientation:portrait) and (pointer:coarse) and (max-width:900px),(orientation:landscape) and (max-height:540px){#game-topbar{height:auto;min-height:44px;padding:max(4px, env(safe-area-inset-top)) 8px 4px;scrollbar-width:none;pointer-events:auto;background:#0a1411f2;border-bottom:1px solid #94a3b82e;justify-content:flex-start;gap:4px;top:0;left:0;right:0;overflow:auto hidden}#game-topbar::-webkit-scrollbar{display:none}.topbar-zone-left,.topbar-zone-center,.topbar-zone-right{box-shadow:none;background:0 0;border:none;flex:none;padding:0}.topbar-zone-left{gap:5px}.topbar-stats-group{gap:2px}.topbar-stat{min-width:36px;min-height:36px;padding:2px 4px}.topbar-stat-body,.topbar-divider,.topbar-badge-status{display:none}.topbar-badge-alert{min-width:36px;min-height:36px;padding:4px 6px}.topbar-badge-alert span{display:none}.topbar-zone-center{height:40px}}
#game-topbar{box-sizing:border-box;max-width:calc(100% - 28px);box-shadow:none;pointer-events:none;z-index:40;background:0 0;border-bottom:none;justify-content:space-between;align-items:center;gap:8px;padding:0;display:flex;position:absolute;top:10px;left:14px;right:14px}.topbar-zone-left,.topbar-zone-center,.topbar-zone-right{pointer-events:auto;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);height:max(40px, calc(46px * var(--ui-scale)));background:#0f172ac7;border:1px solid #ffffff1f;border-radius:999px;align-items:center;padding:4px 10px;transition:border-color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),background .2s;display:flex;box-shadow:0 8px 32px #00000073,inset 0 1px #ffffff1a}.topbar-zone-left:hover,.topbar-zone-center:hover,.topbar-zone-right:hover{background:#141e32d6;border-color:#ffffff3d;box-shadow:0 10px 36px #0000008c,inset 0 1px #ffffff29}
.mobile-topbar-drawer{top:calc(100% + 4px);left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:1005;background:#0d1820e0;border:1px solid #94a3b840;border-radius:14px;flex-direction:column;gap:8px;padding:12px 14px;animation:.2s ease-out mobileDrawerSlideDown;display:flex;position:absolute;box-shadow:0 12px 32px #000000a6}@keyframes mobileDrawerSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.mobile-drawer-speed-row{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.mobile-drawer-label{color:#94a3b8;font-size:.8rem;font-weight:600}.mobile-drawer-divider{background:#94a3b824;width:100%;height:1px;margin:4px 0}.mobile-drawer-actions-grid{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.mobile-drawer-action-btn{color:#f3f6f7;cursor:pointer;background:#172b3399;border:1px solid #94a3b829;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:.78rem;font-weight:600;transition:all .15s;display:flex}.mobile-drawer-action-btn:hover,.mobile-drawer-action-btn:focus-visible{color:#38bdf8;background:#4da7e826;border-color:#4da7e859}
.mobile-game-topbar{width:100%;padding:max(8px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) 6px max(14px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(16px);box-sizing:border-box;z-index:1000;background:#081216f0;border-bottom:1px solid #ffffff14;flex-direction:column;display:flex;position:relative;box-shadow:0 4px 20px #00000073}.mobile-topbar-primary{justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:40px;display:flex}.mobile-topbar-divider{background:#ffffff1f;flex-shrink:0;width:1px;height:16px}.mobile-topbar-stats{scrollbar-width:none;align-items:center;gap:10px;display:flex;overflow-x:auto}.mobile-topbar-stats::-webkit-scrollbar{display:none}.mobile-stat-item{min-width:44px;min-height:44px;color:inherit;cursor:pointer;white-space:nowrap;font-family:var(--font);background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:0 6px;transition:background .15s,transform .1s;display:flex}.mobile-stat-item:active{background:#ffffff14;transform:scale(.96)}.mobile-stat-icon{justify-content:center;align-items:center;font-size:.95rem;display:flex}.mobile-stat-val{font-size:.82rem;font-weight:700;font-family:var(--mono);color:#f8fafc}.green-text{color:#34d399!important}.mobile-topbar-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.mobile-notif-btn,.mobile-menu-hamburger-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:4px;transition:background .15s,transform .1s;display:flex;position:relative}.mobile-notif-btn:active,.mobile-menu-hamburger-btn:active{background:#ffffff1a;transform:scale(.92)}.notif-badge-count{color:#0f172a;background:#f59e0b;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.6rem;font-weight:800;line-height:1;display:flex;position:absolute;top:4px;right:4px}

.citizen-detail-sidebar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-sizing:border-box;background:#121e2abf;border:1px solid #94a3b824;border-radius:14px;flex-direction:column;flex-shrink:0;gap:14px;width:320px;max-height:100%;padding:16px;animation:.2s ease-out slideInRight;display:flex;overflow-y:auto;box-shadow:-6px 0 24px #00000080}@keyframes slideInRight{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.citizen-detail-header{justify-content:space-between;align-items:flex-start;display:flex}.citizen-detail-profile{align-items:center;gap:12px;display:flex}.citizen-detail-meta h3{color:#f8fafc;margin:0;font-size:1.05rem;font-weight:700}.citizen-id-sub{color:#94a3b8;font-size:.7rem}.citizen-detail-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:1.3rem}.citizen-detail-close-btn:hover{color:#fff}.citizen-detail-tabs{border-bottom:1px solid #94a3b824;display:flex}.citizen-detail-tab-btn{color:#94a3b8;font:600 .74rem var(--font);cursor:pointer;text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 0}.citizen-detail-tab-btn.is-active{color:#f59e0b;border-bottom-color:#f59e0b;font-weight:700}.citizen-detail-summary-pane{flex-direction:column;gap:10px;display:flex}.citizen-detail-card{background:#0a121899;border:1px solid #94a3b81f;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;transition:background .15s;display:flex}.citizen-detail-card:hover{background:#0a1218cc;border-color:#38bdf84d}.card-icon{color:#cbd5e1;background:#ffffff0a;border-radius:8px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.card-content{flex-direction:column;display:flex}.card-label{color:#94a3b8;font-size:.68rem;font-weight:600}.card-value{color:#f8fafc;margin-top:1px;font-size:.85rem;font-weight:600}.card-subtext{color:#94a3b8;margin-top:1px;font-size:.68rem}.citizen-follow-action-btn{color:#fbbf24;width:100%;font:700 .8rem var(--font);cursor:pointer;background:#f59e0b1f;border:1px solid #f59e0b66;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:10px 0;transition:all .15s;display:flex}.citizen-follow-action-btn:hover{background:#f59e0b38}.citizen-follow-action-btn.is-following{background:#f59e0b52}.citizens-empty-state{text-align:center;color:var(--text-muted);padding:40px;font-size:.8rem}
.citizens-table-container{border:1px solid var(--border);border-radius:var(--radius);background:#0a0e0b99;overflow:hidden}.citizens-table{border-collapse:collapse;text-align:left;width:100%}.citizens-table th{letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);background:#0003;padding:10px 14px;font-size:.64rem;font-weight:700}.citizen-table-row{cursor:pointer;border-bottom:1px solid #ffffff0a;transition:background .15s}.citizen-table-row:last-child{border-bottom:none}.citizen-table-row:hover{background:#ffffff08}.citizen-table-row.is-selected{background:#d4822a14}.citizens-table td{vertical-align:middle;padding:8px 14px}.citizen-info-cell{align-items:center;gap:10px;display:flex}.citizen-avatar-wrapper{flex-shrink:0;position:relative}.citizen-avatar-circle{color:#fff;border-radius:50%;place-items:center;font-weight:700;display:grid;box-shadow:0 2px 6px #0000004d}.citizen-name-meta{flex-direction:column;gap:1px;display:flex}.citizen-name-line{align-items:center;gap:4px;display:flex}.citizen-name{color:#fff;font-size:.82rem;font-weight:600}.star-icon{color:var(--accent-hi);font-size:.75rem}.citizen-sub-line{color:var(--text-muted);font-size:.68rem}.citizen-status-badge{background:#ffffff0d;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:.7rem;font-weight:600;display:inline-flex}.citizen-status-badge.is-active{color:var(--green);background:#4cbb7a1f;border-color:#4cbb7a4d}.citizen-status-badge.is-walking{color:var(--orange);background:#e078301f;border-color:#e078304d}.citizen-status-badge.is-home{color:#b19ffb;background:#9370db1f;border-color:#9370db4d}.citizen-status-badge.is-working{color:#8fc4e8;background:#5fa8d91f;border-color:#5fa8d94d}.badge-dot{background:currentColor;border-radius:50%;width:5px;height:5px}.zone-cell,.activity-cell{align-items:center;gap:8px;display:flex}.zone-icon,.activity-icon{opacity:.8;font-size:.9rem}.zone-meta,.activity-meta{flex-direction:column;gap:1px;display:flex}.zone-name,.activity-title{color:var(--text-main);font-size:.76rem;font-weight:500}.zone-coords,.activity-time{color:var(--text-muted);font-size:.66rem}.action-cell{justify-content:flex-end;align-items:center;gap:6px;display:flex}.btn-details{border:1px solid var(--border-hi);color:#fff;font:600 .7rem var(--font);cursor:pointer;background:#ffffff0d;border-radius:5px;padding:4px 10px;transition:background .15s}.btn-details:hover{background:#ffffff1f}.btn-menu{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:1rem}.citizens-pagination-footer{justify-content:space-between;align-items:center;padding-top:4px;display:flex}.citizens-pagination-info{color:var(--text-muted);font-size:.72rem}.citizens-pagination-controls{align-items:center;gap:4px;display:flex}.citizens-page-btn{border:1px solid var(--border);width:26px;height:26px;color:var(--text-muted);font:600 .72rem var(--font);cursor:pointer;background:0 0;border-radius:5px;place-items:center;transition:all .15s;display:grid}.citizens-page-btn:hover:not(:disabled){border-color:var(--border-hi);color:var(--text-main)}.citizens-page-btn.is-active{border-color:var(--accent);color:var(--accent-hi);background:#d4822a26;font-weight:700}.citizens-page-btn:disabled{opacity:.3;cursor:not-allowed}.citizens-page-dots{color:var(--text-muted);padding:0 4px;font-size:.72rem}
.citizens-module-root{box-sizing:border-box;gap:16px;width:100%;height:100%;min-height:520px;padding:16px 18px;display:flex;overflow-x:hidden}.citizens-main-content{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex;overflow-y:auto}.citizens-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.citizens-title-block{align-items:center;gap:12px;display:flex}.citizens-title-icon{color:#38bdf8;background:#1e3a5f73;border:1px solid #38bdf84d;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.citizens-title-text h2{color:#f8fafc;margin:0;font-size:1.45rem;font-weight:700;line-height:1.1}.citizens-title-text p{color:#94a3b8;margin:2px 0 0;font-size:.78rem}.citizens-kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.citizens-kpi-card{background:#121e2aa6;border:1px solid #94a3b81f;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;display:flex}.citizens-kpi-icon-box{border-radius:10px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.citizens-kpi-icon-box.blue-box{color:#38bdf8;background:#1e3a5f73;border:1px solid #38bdf84d}.citizens-kpi-icon-box.green-dot-box{background:#34d3992e;border:1px solid #34d3994d}.green-pulse-dot{background:#34d399;border-radius:50%;width:10px;height:10px;box-shadow:0 0 8px #34d399}.citizens-kpi-icon-box.cyan-box{color:#38bdf8;background:#38bdf82e;border:1px solid #38bdf84d}.citizens-kpi-icon-box.red-warn-box{color:#f87171;background:#ef44442e;border:1px solid #ef44444d}.citizens-kpi-text{flex-direction:column;display:flex}.citizens-kpi-label{color:#94a3b8;font-size:.72rem;font-weight:600}.citizens-kpi-val-group{align-items:baseline;gap:6px;display:flex}.citizens-kpi-value{color:#f8fafc;font-size:1.45rem;font-weight:800;font-family:var(--mono);line-height:1.1}.citizens-kpi-unit{color:#94a3b8;font-size:.72rem}.citizens-kpi-subpct{color:#94a3b8;font-size:.72rem;font-family:var(--mono)}.citizens-kpi-subpct.red-pct{color:#f87171}.citizens-header-actions{align-items:center;gap:8px;display:flex}.citizens-search-box{align-items:center;display:flex;position:relative}.citizens-search-box .search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:10px}.citizens-search-box input{border:1px solid var(--border-hi);color:var(--text-main);font:.78rem var(--font);background:#0000004d;border-radius:6px;width:210px;padding:7px 12px 7px 32px;transition:border-color .15s,width .2s}.citizens-search-box input:focus{border-color:var(--accent-hi);outline:none;width:240px}.citizens-header-btn{border:1px solid var(--border-hi);color:var(--text-main);font:700 .75rem var(--font);cursor:pointer;background:#ffffff0a;border-radius:6px;align-items:center;gap:6px;padding:7px 12px;transition:background .15s;display:inline-flex}.citizens-header-btn:hover{background:#ffffff17}.citizens-header-icon-btn{border:1px solid var(--border-hi);width:32px;height:32px;color:var(--text-main);cursor:pointer;background:#ffffff0a;border-radius:6px;place-items:center;font-size:1.1rem;display:grid}.citizens-filters-toolbar{gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.citizens-filter-chip{border:1px solid var(--border);color:var(--text-muted);font:600 .72rem var(--font);white-space:nowrap;cursor:pointer;background:#ffffff05;border-radius:6px;padding:5px 12px;transition:all .15s}.citizens-filter-chip:hover{color:var(--text-main);background:#ffffff0f}.citizens-filter-chip.is-active{border-color:var(--accent);color:var(--accent-hi);background:#d4822a26;font-weight:700}.chip-dot{vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.chip-dot-green{background:#22c55e;box-shadow:0 0 6px #22c55e66}.chip-dot-blue{background:#38bdf8;box-shadow:0 0 6px #38bdf866}.chip-dot-red{background:#ef4444;box-shadow:0 0 6px #ef444466}
.tactical-console-root{box-sizing:border-box;flex-direction:column;gap:10px;width:100%;padding:8px 16px 14px;display:flex}.tactical-data-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}.tactical-title-block{align-items:center;gap:10px;display:flex}.tactical-live-pulse{background:#38bdf8;border:1px solid #fff3;border-radius:50%;width:7px;height:7px}.tactical-title-text{flex-direction:column;display:flex}.tactical-heading{color:#f8fafc;letter-spacing:.01em;margin:0;font-size:.88rem;font-weight:700}.tactical-subheading{color:#94a3b8;font-size:.65rem}.tactical-header-badges{background:#0f172a99;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:8px;padding:3px 8px;display:flex}.tactical-badge-item{align-items:center;gap:5px;display:flex}.tactical-badge-label{color:#94a3b8;letter-spacing:.03em;font-size:.62rem;font-weight:600}.tactical-badge-val{color:#f1f5f9;font-size:.72rem;font-weight:700;font-family:var(--mono)}.tactical-badge-divider{background:#ffffff1a;width:1px;height:10px}.tactical-led-dot{background:#64748b;border-radius:50%;flex-shrink:0;width:5px;height:5px}.tactical-led-dot.active{background:#4ade80}.tactical-led-dot.attention{background:#fbbf24}.tactical-3col-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px;display:grid}.tactical-module-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172ac7;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;gap:10px;padding:12px 14px;display:flex;box-shadow:0 8px 24px #00000059,inset 0 1px #ffffff14}.tactical-card-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}.tactical-card-title-group{align-items:center;gap:7px;display:flex}.tactical-card-title-group h3{color:#f1f5f9;letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.tactical-counter-pill{color:#94a3b8;background:#ffffff0f;border:1px solid #ffffff14;border-radius:999px;padding:2px 8px;font-size:.66rem;font-weight:600}.tactical-counter-pill.tone-green{color:#34d399;background:#34d39924;border-color:#34d3994d}.tactical-counter-pill.tone-purple{color:#a78bfa;background:#a78bfa24;border-color:#a78bfa4d}.tactical-services-grid{flex-direction:column;gap:6px;display:flex}.tactical-service-row{background:#ffffff05;border:1px solid #ffffff0a;border-radius:6px;justify-content:space-between;align-items:center;padding:4px 8px;transition:all .14s;display:flex}.tactical-service-row:hover{background:#ffffff0f;border-color:#ffffff1f}.tactical-service-info{align-items:center;gap:8px;display:flex}.tactical-service-icon-box{color:#38bdf8;background:#ffffff0d;border-radius:5px;place-items:center;width:24px;height:24px;display:grid}.tactical-service-text{flex-direction:column;display:flex}.tactical-service-name{color:#e2e8f0;font-size:.72rem;font-weight:600}.tactical-service-districts{color:#64748b;font-size:.6rem}.tactical-service-meter-col{flex-direction:column;align-items:flex-end;gap:3px;min-width:70px;display:flex}.tactical-meter-top{align-items:center;gap:5px;display:flex}.tactical-meter-pct{font-size:.74rem;font-weight:700;font-family:var(--mono);color:#f1f5f9}.tactical-bar-track{background:#ffffff14;border-radius:99px;width:65px;height:4px;overflow:hidden}.tactical-bar-fill{border-radius:inherit;height:100%;transition:width .3s ease-out}.fill-good{background:#34d399}.fill-attention{background:#fbbf24}.fill-critical{background:#f87171}.fill-cyan{background:#38bdf8}.tactical-barometer-body{flex-direction:column;gap:8px;display:flex}.tactical-gauge-wrapper{justify-content:center;align-items:center;height:65px;display:flex;position:relative}.tactical-gauge-svg{width:130px;height:65px}.tactical-gauge-center{flex-direction:column;align-items:center;line-height:1;display:flex;position:absolute;bottom:0}.gauge-pct-val{font-size:1.15rem;font-weight:800;font-family:var(--mono);color:#fff}.gauge-status-sub{color:#34d399;letter-spacing:.02em;font-size:.6rem;font-weight:600}.tactical-opinion-channels{border-top:1px solid #ffffff0f;flex-direction:column;gap:4px;padding-top:4px;display:flex}.tactical-sub-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-size:.62rem;font-weight:700}.channels-list{flex-direction:column;gap:3px;display:flex}.channel-row{justify-content:space-between;align-items:center;gap:8px;font-size:.68rem;display:flex}.channel-name{color:#cbd5e1;white-space:nowrap;text-overflow:ellipsis;width:80px;overflow:hidden}.channel-bar-box{background:#ffffff14;border-radius:99px;flex:1;height:4px;overflow:hidden}.channel-bar-fill{border-radius:inherit;background:#38bdf8;height:100%}.channel-val{font-family:var(--mono);color:#f1f5f9;text-align:right;width:28px;font-size:.68rem;font-weight:700}.tactical-demographics-grid{border-top:1px solid #ffffff0f;grid-template-columns:1fr 1fr;gap:6px;padding-top:4px;display:grid}.demo-box{background:#ffffff05;border-radius:5px;flex-direction:column;padding:4px 6px;display:flex}.demo-label{color:#94a3b8;text-transform:uppercase;font-size:.58rem}.demo-val{font-size:.85rem;font-family:var(--mono);color:#f1f5f9}.demo-val.tone-cyan{color:#38bdf8}.tactical-mobility-body{flex-direction:column;gap:8px;display:flex}.tactical-kpi-pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tactical-kpi-block{background:#ffffff05;border:1px solid #ffffff0a;border-radius:6px;flex-direction:column;gap:4px;padding:6px;display:flex}.kpi-block-top{justify-content:space-between;align-items:baseline;display:flex}.kpi-label{color:#94a3b8;font-size:.6rem;font-weight:600}.kpi-val{font-size:.78rem;font-weight:700;font-family:var(--mono)}.tone-cyan{color:#38bdf8}.tone-red{color:#f87171}.tone-green{color:#34d399}.tactical-district-mobility-list{border-top:1px solid #ffffff0f;flex-direction:column;gap:3px;padding-top:4px;display:flex}.district-mob-header{color:#64748b;text-transform:uppercase;grid-template-columns:1fr 50px 50px;padding:0 4px;font-size:.58rem;font-weight:700;display:grid}.district-mob-row{background:#ffffff05;border-radius:4px;grid-template-columns:1fr 50px 50px;align-items:center;padding:3px 4px;font-size:.68rem;display:grid}.dist-name{color:#cbd5e1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dist-metric{font-family:var(--mono);text-align:center;font-weight:700}.tactical-transit-footer{border-top:1px solid #ffffff0f;padding-top:4px}.transit-footer-item{justify-content:space-between;align-items:center;font-size:.66rem;display:flex}.transit-foot-label{color:#94a3b8}.transit-foot-status{color:#f1f5f9;align-items:center;gap:5px;font-weight:600;display:flex}
.data-module-root{box-sizing:border-box;flex-direction:column;gap:16px;width:100%;padding:16px 20px 24px;display:flex}.data-section-header{justify-content:space-between;align-items:center;gap:16px;padding-bottom:4px;display:flex}.data-title-block{align-items:center;gap:12px;display:flex}.data-title-icon{color:#f8fafc;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.data-title-text h2{color:#f8fafc;margin:0;font-size:1.45rem;font-weight:700}.data-title-text p{color:#94a3b8;margin:2px 0 0;font-size:.78rem}.data-export-btn{color:#e2e8f0;font:600 .74rem var(--font);cursor:pointer;background:#121e2aa6;border:1px solid #94a3b833;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;transition:all .15s;display:inline-flex}.data-export-btn:hover{color:#fff;background:#38bdf826;border-color:#38bdf866}.data-main-columns{grid-template-columns:350px 1fr;align-items:start;gap:16px;display:grid}.data-left-column{flex-direction:column;gap:14px;display:flex}.data-right-column{flex-direction:column;display:flex}.data-card,.service-item-card{background:#121e2aa6;border:1px solid #94a3b81f;flex-direction:column;display:flex}.data-card{border-radius:12px;gap:12px;padding:16px;box-shadow:0 4px 16px #00000040}.data-card-title{color:#f8fafc;margin:0;font-size:.92rem;font-weight:700}.data-card-header-with-icon{align-items:center;gap:10px;display:flex}.card-header-icon{border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:1.1rem;display:grid}.card-header-icon.green-icon{color:#34d399;background:#10785a40}.card-header-icon.blue-icon{color:#38bdf8;background:#1e3a5f73}
.header-text-group{flex-direction:column;display:flex}.card-subtitle{color:#94a3b8;margin:1px 0 0;font-size:.68rem}.mobility-bars-list{flex-direction:column;gap:10px;margin-top:4px;display:flex}.mobility-bar-row{align-items:center;gap:10px;display:flex}.mobility-district-name{color:#e2e8f0;flex-shrink:0;width:70px;font-size:.74rem;font-weight:600}.mobility-track{background:#ffffff14;border-radius:99px;flex:1;height:8px;overflow:hidden}.mobility-fill{border-radius:inherit;height:100%}.mobility-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.mobility-card-footer{padding-top:6px}.mobility-details-link{color:#94a3b8;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:.72rem;font-weight:600;transition:color .15s;display:inline-flex}.mobility-details-link:hover{color:#38bdf8}
.opinion-metric-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.opinion-metric-main{align-items:baseline;gap:8px;display:flex}.opinion-pct-huge{color:#34d399;font-size:1.7rem;font-weight:800;font-family:var(--mono)}.opinion-pct-label{color:#94a3b8;font-size:.72rem}.opinion-badge{border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.68rem;font-weight:700;display:inline-flex}.opinion-badge.badge-stable{color:#34d399;background:#34d3991f;border:1px solid #34d3994d}.opinion-badge.badge-critical{color:#f87171;background:#ef44441f;border:1px solid #ef44444d}.opinion-progress-bar-track{background:#ffffff14;border-radius:99px;width:100%;height:6px;overflow:hidden}.opinion-progress-bar-fill{border-radius:inherit;background:#34d399;height:100%}.opinion-submetric-row{justify-content:space-between;align-items:center;padding-top:4px;display:flex}.opinion-submetric-item{align-items:baseline;gap:6px;display:flex}.submetric-val{color:#f8fafc;font-size:.88rem;font-weight:700;font-family:var(--mono)}.submetric-val.green-text{color:#34d399}.submetric-label{color:#94a3b8;font-size:.68rem}.population-hero-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.population-hero-left{flex-direction:column;display:flex}.pop-val-huge{color:#f8fafc;font-size:1.6rem;font-weight:800;font-family:var(--mono)}.pop-label-sub{color:#94a3b8;font-size:.7rem}.population-arc-container{flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.arc-inner-text{flex-direction:column;align-items:center;line-height:1;display:flex;position:absolute;bottom:0}.arc-inner-text strong{color:#f8fafc;font-size:.85rem;font-family:var(--mono)}.arc-inner-text small{color:#94a3b8;font-size:.58rem}.population-submetrics-grid{border-top:1px solid #94a3b81f;grid-template-columns:1fr 1fr;gap:10px;padding-top:6px;display:grid}.pop-submetric-box{flex-direction:column;gap:2px;display:flex}
.services-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.services-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:4px 0 8px;display:flex}.district-filter-chips{gap:6px;display:flex}.filter-chip{color:#94a3b8;font:600 .72rem var(--font);cursor:pointer;background:#0f1c2480;border:1px solid #94a3b82e;border-radius:6px;padding:4px 12px;transition:all .15s}.filter-chip.is-active{color:#fff;background:#1e3a5f99;border-color:#38bdf880;font-weight:700}.toolbar-controls{align-items:center;gap:8px;display:flex}.services-search{align-items:center;display:flex;position:relative}.services-search svg{color:#94a3b8;position:absolute;left:8px}.services-search input{color:#f8fafc;font:.72rem var(--font);background:#0a1218b3;border:1px solid #94a3b833;border-radius:6px;width:120px;padding:5px 10px 5px 28px}.services-sort-select{color:#94a3b8;background:#0a1218b3;border:1px solid #94a3b833;border-radius:6px;padding:5px 10px;font-size:.7rem}.services-card-grid-container{flex-direction:column;gap:16px;display:flex}.service-category-section{flex-direction:column;gap:8px;display:flex}.category-section-title{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;font-size:.7rem;font-weight:800;display:flex}.header-basic{color:#38bdf8}.header-essential{color:#34d399}.header-strategic{color:#a78bfa}.service-cards-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.service-item-card{border-radius:10px;gap:8px;padding:12px;transition:all .15s}.service-item-card:hover{background:#121e2ae6;border-color:#38bdf859}.service-card-top{align-items:center;gap:10px;display:flex}.service-icon-wrapper{color:#38bdf8;flex-shrink:0}.category-basic .service-icon-wrapper{color:#38bdf8}.category-essential .service-icon-wrapper{color:#34d399}.category-strategic .service-icon-wrapper{color:#a78bfa}.service-electricidad .service-icon-wrapper{color:#f59e0b}.service-bomberos .service-icon-wrapper{color:#f87171}.service-title-and-pct{flex-direction:column;display:flex}.service-card-name{color:#f8fafc;font-size:.78rem;font-weight:600}.service-overall-pct{color:#fff;font-size:1.15rem;font-weight:700;font-family:var(--mono);line-height:1.1}.service-card-progress-track{background:#ffffff14;border-radius:99px;width:100%;height:5px;overflow:hidden}.service-card-progress-fill{border-radius:inherit;height:100%}.fill-basic{background:#38bdf8}.fill-essential{background:#34d399}.fill-strategic{background:#a78bfa}.service-electricidad .service-card-progress-fill{background:#f59e0b}.service-bomberos .service-card-progress-fill{background:#f87171}.service-card-districts-row{border-top:1px solid #94a3b81a;justify-content:space-around;align-items:center;padding-top:4px;display:flex}.district-breakdown-item{flex-direction:column;flex:1;align-items:center;display:flex}.district-breakdown-item.has-divider{border-right:1px solid #94a3b81f}.district-code{color:#94a3b8;font-size:.58rem;font-weight:700}.district-pct{color:#e2e8f0;font-size:.7rem;font-weight:600;font-family:var(--mono)}

.summary-module-root{box-sizing:border-box;flex-direction:column;gap:16px;width:100%;padding:16px 20px 24px;display:flex}.summary-kpi-card,.summary-card{background:#121e2aa6;border:1px solid #94a3b81f;border-radius:12px;flex-direction:column;padding:16px;display:flex}
.summary-module-root{box-sizing:border-box;flex-direction:column;gap:10px;width:100%;padding:8px 12px 12px;display:flex}.summary-cockpit-3col{grid-template-columns:1.15fr .95fr 1.15fr;gap:10px;display:grid}.summary-hero-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172acc;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;justify-content:space-between;gap:8px;min-width:0;padding:10px 14px;display:flex;position:relative;box-shadow:0 4px 20px #00000059,inset 0 1px #ffffff0f}.hero-main-section{justify-content:space-between;align-items:center;gap:10px;display:flex}.hero-card-left{flex-direction:column;gap:2px;display:flex}.hero-card-header{align-items:center;gap:6px;display:flex}.hero-label-badge{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;font-size:.68rem;font-weight:700}.hero-status-pill{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:1px 6px;font-size:.58rem;font-weight:700}.hero-status-pill.is-surplus{color:#4ade80;background:#22c55e1f;border:1px solid #22c55e40}.hero-status-pill.is-deficit{color:#fb7185;background:#f43f5e1f;border:1px solid #f43f5e40}.hero-val-wrap{align-items:baseline;gap:6px;display:flex}.hero-treasury-val{font-size:1.35rem;font-weight:800;font-family:var(--mono);letter-spacing:-.02em;line-height:1.1}.hero-income-sub{font-size:.76rem;font-weight:700;font-family:var(--mono)}.hero-card-right{flex-direction:column;display:flex}.hero-stat-stack{background:#ffffff08;border:1px solid #ffffff0f;border-radius:6px;flex-direction:column;gap:2px;padding:4px 8px;display:flex}.hero-stat-row{justify-content:space-between;align-items:baseline;gap:6px;font-size:.65rem;display:flex}.hero-stat-label{color:#94a3b8;font-weight:600}.hero-stat-val strong{color:#f8fafc;font-family:var(--mono);font-weight:700}.hero-telemetry-ribbon{border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:6px;padding-top:5px;display:flex}.ribbon-item{align-items:center;gap:4px;font-size:.66rem;display:flex}.ribbon-label{color:#94a3b8;font-weight:600}.ribbon-item strong{font-family:var(--mono);font-weight:700}.ribbon-divider{background:#ffffff1a;width:1px;height:9px}.summary-rci-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172acc;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;justify-content:space-between;gap:6px;min-width:0;padding:10px 14px;display:flex;box-shadow:0 4px 20px #00000059,inset 0 1px #ffffff0f}.rci-card-header{justify-content:space-between;align-items:center;gap:6px;display:flex}.rci-header-actions{align-items:center;gap:5px;display:flex}.rci-suggested-tag{color:#cbd5e1;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff14;border-radius:4px;padding:2px 6px;font-size:.62rem;font-weight:600}.rci-action-btn{color:#fbbf24;cursor:pointer;white-space:nowrap;background:#f59e0b1f;border:1px solid #f59e0b47;border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-size:.6rem;font-weight:700;transition:all .14s;display:inline-flex}.rci-action-btn:hover{color:#fef08a;background:#f59e0b38;border-color:#f59e0b73}.rci-gauge-triad{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.rci-gauge-col{flex-direction:column;gap:2px;display:flex}.rci-col-header{justify-content:space-between;align-items:baseline;display:flex}.rci-col-tag{font-size:.72rem;font-weight:800;font-family:var(--mono);letter-spacing:.02em}.tone-r .rci-col-tag{color:#4ade80}.tone-c .rci-col-tag{color:#38bdf8}.tone-i .rci-col-tag{color:#fbbf24}.rci-col-val{font-size:.7rem;font-weight:700;font-family:var(--mono);color:#f1f5f9}.rci-segmented-track{gap:2px;width:100%;height:5px;display:flex}.rci-segment-block{background:#ffffff14;border-radius:2px;flex:1;height:100%;overflow:hidden}.rci-segment-fill{border-radius:inherit;height:100%;transition:width .2s}.fill-r{background:#22c55e}.fill-c{background:#0284c7}.fill-i{background:#d97706}.district-sparkline-wrap{align-items:center;gap:3px;padding:0 4px;display:flex}.sparkline-svg{display:block}.sparkline-arrow{font-size:.68rem;font-weight:800;font-family:var(--mono);line-height:1}.sparkline-arrow.arrow-up{color:#4ade80}.sparkline-arrow.arrow-down{color:#fb7185}.color-emerald{color:#4ade80}.color-cyan{color:#38bdf8}.color-amber{color:#fbbf24}.color-rose{color:#fb7185}.bg-emerald{background:#22c55e}.bg-cyan{background:#0284c7}.bg-amber{background:#d97706}@media (max-width:1050px){.summary-cockpit-3col{grid-template-columns:1fr 1fr}}@media (max-width:720px){.summary-cockpit-3col{grid-template-columns:1fr}}
.approval-radial-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172acc;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;justify-content:space-between;gap:6px;min-width:0;padding:10px 14px;display:flex;box-shadow:0 4px 20px #00000059,inset 0 1px #ffffff0f}.approval-card-header{justify-content:space-between;align-items:center;display:flex}.drivers-tag{text-transform:uppercase;letter-spacing:.03em;color:#94a3b8;background:#ffffff0d;border:1px solid #ffffff14;border-radius:4px;padding:2px 6px;font-size:.6rem;font-weight:700}.approval-main-dial{flex-direction:column;justify-content:center;align-items:center;height:60px;margin-top:-2px;display:flex;position:relative}.main-arc-svg{display:block}.main-arc-fill{transition:stroke-dashoffset .4s}.main-dial-center{flex-direction:column;align-items:center;display:flex;position:absolute;bottom:2px}.main-dial-val{font-size:1.35rem;font-weight:800;font-family:var(--mono);color:#fff;line-height:1}.dial-drivers-triad{border-top:1px solid #ffffff0f;grid-template-columns:repeat(3,1fr);gap:4px;padding-top:4px;display:grid}.mini-dial-item{flex-direction:column;align-items:center;gap:2px;display:flex}.mini-dial-svg-wrap{place-items:center;width:38px;height:38px;display:grid;position:relative}.mini-dial-track{fill:none;stroke:#ffffff14;stroke-width:3.5px}.mini-dial-fill{fill:none;stroke-width:3.5px;stroke-linecap:round;transition:stroke-dashoffset .3s}.mini-dial-pct{font-size:.62rem;font-weight:700;font-family:var(--mono);color:#f1f5f9;position:absolute}.mini-dial-label{color:#94a3b8;white-space:nowrap;text-align:center;font-size:.62rem;font-weight:600;line-height:1.1}.stroke-amber{stroke:#f59e0b}.stroke-emerald{stroke:#22c55e}.stroke-cyan{stroke:#0284c7}.stroke-blue{stroke:#38bdf8}
.summary-strategic-row{grid-template-columns:1fr 1.15fr;gap:12px;display:grid}.summary-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172abf;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:10px;padding:12px 14px;display:flex;box-shadow:0 4px 16px #00000040}.summary-card-header{align-items:center;gap:8px;display:flex}.card-header-icon-box{color:#f8fafc;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;flex-shrink:0;place-items:center;width:24px;height:24px;display:grid}.summary-card-header h3{color:#f8fafc;margin:0;font-size:.82rem;font-weight:700}.district-roster-list{flex-direction:column;gap:6px;display:flex}.district-roster-item{background:#0a121c80;border:1px solid #ffffff0f;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;display:flex}.district-item-main{flex-direction:column;gap:1px;min-width:85px;display:flex}.district-name-with-icon{align-items:center;gap:5px;display:flex}.district-type-icon{flex-shrink:0;place-items:center;display:grid}.district-roster-name{color:#f8fafc;font-size:.74rem;font-weight:700}.district-roster-pop{color:#94a3b8;font-size:.62rem;font-family:var(--mono)}.district-item-meter{flex:1;align-items:center;gap:6px;display:flex}.district-meter-track{background:#ffffff14;border-radius:99px;flex:1;height:5px;overflow:hidden}.district-meter-fill{border-radius:inherit;height:100%}.district-meter-pct{font-size:.7rem;font-weight:700;font-family:var(--mono);color:#cbd5e1;text-align:right;width:28px}.status-pill{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:5px;padding:2px 6px;font-size:.62rem;font-weight:700;display:inline-block}.status-pill.status-critical,.status-pill.badge-red{color:#fb7185;background:#f43f5e1f;border:1px solid #f43f5e40}.status-pill.status-attention,.status-pill.badge-orange{color:#fbbf24;background:#f59e0b1f;border:1px solid #f59e0b40}.status-pill.status-good,.status-pill.badge-green{color:#4ade80;background:#22c55e1f;border:1px solid #22c55e40}.btn-locate-mini{color:#94a3b8;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:all .14s;display:inline-flex}.btn-locate-mini:hover{color:#fff;background:#ffffff1f;border-color:#fff3}.actions-list{flex-direction:column;gap:5px;display:flex}.action-row-item{background:#0a121c80;border:1px solid #ffffff0f;border-radius:7px;align-items:center;gap:8px;padding:5px 8px;display:flex}.action-item-icon-box{flex-shrink:0;place-items:center;display:grid}.action-item-title{color:#e2e8f0;flex:1;font-size:.7rem;font-weight:600}.btn-view-service{color:#cbd5e1;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:5px;align-items:center;gap:4px;padding:2px 7px;font-size:.62rem;font-weight:600;transition:all .14s;display:inline-flex}.btn-view-service:hover{color:#fff;background:#ffffff1f;border-color:#fff3}.utility-health-strip{border-top:1px solid #ffffff0f;justify-content:space-around;align-items:center;margin-top:2px;padding-top:6px;display:flex}.utility-item{align-items:center;gap:5px;font-size:.66rem;display:flex}.utility-led{border-radius:50%;flex-shrink:0;width:5px;height:5px}.utility-led.led-green{background:#4ade80}.utility-led.led-red{background:#fb7185}.utility-label{color:#94a3b8;font-weight:600}.utility-item strong{font-family:var(--mono);font-weight:700}.utility-divider{background:#ffffff14;width:1px;height:10px}@media (max-width:1000px){.summary-strategic-row{grid-template-columns:1fr}}
.summary-bottom-grid{grid-template-columns:.9fr 1.1fr;gap:14px;display:grid}.category-coverage-3grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.category-mini-box{background:#0a121c80;border:1px solid #ffffff0f;border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.cat-mini-header{align-items:center;gap:6px;display:flex}.cat-mini-icon-box{place-items:center;display:grid}.cat-mini-title{text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;font-size:.68rem;font-weight:700}.cat-mini-pct{color:#f8fafc;font-size:1.35rem;font-weight:800;font-family:var(--mono)}.cat-mini-track{background:#ffffff14;border-radius:99px;width:100%;height:5px;overflow:hidden}.cat-mini-fill{border-radius:inherit;height:100%}.mobility-roster-list{flex-direction:column;gap:8px;display:flex}.mobility-roster-row{background:#0a121c80;border:1px solid #ffffff0f;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.mobility-roster-info{align-items:center;gap:8px;min-width:90px;display:flex}.mobility-dot-indicator{background:#38bdf8;border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 8px #38bdf899}.mobility-district-name{color:#f8fafc;font-size:.78rem;font-weight:700}.mobility-metrics-duo{flex:1;align-items:center;gap:16px;display:flex}.mobility-metric-item{flex:1;align-items:center;gap:6px;display:flex}.mobility-metric-label{color:#94a3b8;font-size:.64rem;font-weight:600}.mobility-gauge-bar{background:#ffffff14;border-radius:99px;flex:1;height:5px;overflow:hidden}.gauge-fill{border-radius:inherit;height:100%}.mobility-val-tag{font-size:.68rem;font-family:var(--mono);color:#cbd5e1;text-align:right;width:28px;font-weight:700}.mobility-approval-badge{font-size:.78rem;font-family:var(--mono);font-weight:700}@media (max-width:1000px){.summary-bottom-grid{grid-template-columns:1fr}}

.districts-cards-list{flex-direction:column;gap:10px;display:flex}.district-row-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0d1623bf;border:1px solid #ffffff14;border-radius:8px;grid-template-columns:160px 1fr 160px;align-items:center;gap:14px;padding:12px 16px;transition:all .14s;display:grid;box-shadow:0 4px 16px #0000004d,inset 0 1px #ffffff0f}.district-row-card:hover{background:#121e30d9;border-color:#ffffff2e;transform:translateY(-1px)}.district-identity-section{align-items:center;gap:10px;display:flex}.district-identity-info{flex-direction:column;gap:3px;display:flex}.district-name-heading{color:#f8fafc;margin:0;font-size:.92rem;font-weight:700}.district-pop-sub{color:#94a3b8;font-size:.68rem;font-family:var(--mono)}.district-critical-section{flex-direction:column;gap:5px;display:flex}.section-small-title{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-size:.66rem;font-weight:700}.critical-services-grid{flex-wrap:wrap;gap:6px;display:flex}.mini-critical-chip{background:#0a121c99;border:1px solid #ffffff0f;border-radius:5px;flex-direction:column;flex:1;gap:3px;min-width:70px;padding:5px 8px;display:flex}.mini-chip-text{justify-content:space-between;align-items:center;line-height:1;display:flex}.mini-chip-text small{color:#94a3b8;font-size:.62rem;font-weight:600}.mini-chip-text strong{font-size:.72rem;font-family:var(--mono);font-weight:700}.mini-chip-text strong.green-text{color:#4ade80}.mini-chip-text strong.orange-text{color:#fbbf24}.mini-chip-text strong.red-text{color:#fb7185}.mini-chip-battery{background:#ffffff14;border-radius:99px;width:100%;height:3px;overflow:hidden}.battery-bar-fill{border-radius:inherit;height:100%;transition:width .3s}.battery-bar-fill.bg-green{background:#22c55e}.battery-bar-fill.bg-orange{background:#d97706}.battery-bar-fill.bg-red{background:#e11d48}.district-actions-section{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.district-approval-block{align-items:baseline;gap:5px;display:flex}.approval-label{color:#94a3b8;font-size:.65rem;font-weight:600}.district-approval-big{font-size:1.25rem;font-weight:800;font-family:var(--mono);line-height:1}.district-buttons-row{align-items:center;gap:5px;display:flex}.btn-district-locate{color:#e2e8f0;font:700 .68rem var(--font);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:5px;align-items:center;gap:4px;padding:4px 8px;transition:all .14s;display:inline-flex}.btn-district-locate:hover{color:#fff;background:#ffffff1f;border-color:#ffffff40}.btn-district-view{color:#94a3b8;font:700 .68rem var(--font);cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:5px;padding:4px 8px;transition:all .14s}.btn-district-view:hover{color:#fff;background:#ffffff1a}@media (max-width:900px){.district-row-card{grid-template-columns:1fr;gap:10px}.district-actions-section{flex-direction:row;justify-content:space-between;align-items:center}}
