/*
 * REGRESSION GUARDRAILS — read before editing
 * NEW page polish goes in css/pages/<page>.css (loaded per route). See css/PAGES.md.
 * Edit this monolith only for global shell (sidebar, topbar, shared .btn/.card base).
 * Scope page rules: Overview .ov4-overview | Map .geo5-page | Ops .ops2d-* | Case case-file scope
 * Page polish: ./scripts/dashboard_polish_page.sh <page> — NEVER add ov4/geo5 blocks here
 */
:root{
  color-scheme:dark;
  --bg:#07111f;
  --bg-2:#0a1627;
  --surface:#101b2d;
  --surface-2:#16243a;
  --surface-3:#1b2f4b;
  --ink:#f5f8fc;
  --muted:#c0ccda;
  --soft:#93a8c2;
  --line:#2a3c56;
  --line-2:#20324a;
  --nav:#050b14;
  --nav-2:#081426;
  --blue:#7bb3ff;
  --blue-strong:#4f8df7;
  --blue-soft:rgba(79,141,247,.18);
  --red:#ff8b8b;
  --red-soft:rgba(255,139,139,.15);
  --amber:#ffd166;
  --amber-soft:rgba(255,209,102,.16);
  --green:#55e6a5;
  --green-soft:rgba(85,230,165,.14);
  --cyan:#67e8f9;
  --cyan-soft:rgba(103,232,249,.14);
  --violet:#b9a4ff;
  --violet-soft:rgba(185,164,255,.16);
  --shadow:0 22px 48px rgba(0,0,0,.36);
  --shadow-soft:0 12px 28px rgba(0,0,0,.25);
  --radius:18px;
  --radius-sm:12px;
  --nav-w:292px;
  --top-h:74px;
  --scroll-track:#07101d;
  --scroll-thumb:#51647c;
  --scroll-thumb-hover:#7a8fa9;
  --font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*{box-sizing:border-box}
html,body{height:100%;margin:0;background:var(--bg);color:var(--ink);font-family:var(--font)}
body{
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(79,141,247,.15), transparent 32%),
    radial-gradient(circle at 8% 18%, rgba(103,232,249,.10), transparent 26%),
    linear-gradient(180deg,var(--bg),#06101d);
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}

*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:999px}
*::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:999px;border:2px solid var(--scroll-track)}
*::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}

.app{height:100%;display:grid;grid-template-columns:var(--nav-w) 1fr}
.sidebar{height:100vh;background:linear-gradient(180deg,var(--nav),var(--nav-2));color:#dbe8f8;overflow:auto;padding:18px 14px;scrollbar-gutter:stable}
.main{height:100vh;overflow:auto;scrollbar-gutter:stable}

.brand{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;padding:8px 8px 18px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:12px}
.brand-logo{height:46px;width:46px;border-radius:15px;background:linear-gradient(135deg,#0ea5e9,#1d4ed8 60%,#312e81);display:grid;place-items:center;color:white;font-weight:950;letter-spacing:-.06em;box-shadow:0 16px 38px rgba(37,99,235,.38)}
.brand-title{font-weight:900;font-size:15px;line-height:1.15;color:white}
.brand-sub{font-size:12px;color:#a7b9d1;margin-top:4px}
.nav-group{margin:18px 0 8px;padding-left:10px;color:#7f92ad;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:950}
.nav-item{display:flex;align-items:center;gap:11px;padding:10px;border-radius:14px;margin:3px 0;color:#c7d4e7;border:1px solid transparent}
.nav-item:hover{background:rgba(255,255,255,.06)}
.nav-item.active{background:rgba(37,99,235,.22);border-color:rgba(147,197,253,.24);color:#fff}
.nav-icon{width:28px;height:28px;border-radius:10px;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:13px}
.nav-item.active .nav-icon{background:#2563eb;color:#fff}
.nav-muted{margin-left:auto;color:#7890ae;font-size:11px}
.sidebar-card{margin:18px 6px 4px;border:1px solid rgba(148,163,184,.25);border-radius:16px;padding:12px;background:rgba(15,23,42,.40)}
.sidebar-card b{display:block;font-size:12px;color:#fff;margin-bottom:4px}
.sidebar-card p{margin:0;color:#a7b9d1;font-size:12px;line-height:1.45}

.topbar{
  height:var(--top-h);
  background:rgba(8,17,31,.88);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 28px;
  color:var(--ink);
}
.top-left .crumb{font-size:12px;color:var(--muted);margin-bottom:3px}
.top-left .title{font-weight:900;letter-spacing:-.01em}
.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

.page{display:none;padding:24px 28px 54px}
.page.active{display:block}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:18px}
.kicker{font-size:12px;color:#9fb3cf;text-transform:uppercase;letter-spacing:.12em;font-weight:950;margin-bottom:6px}
h1{font-size:30px;line-height:1.08;margin:0 0 5px;letter-spacing:-.04em;color:var(--ink)}
h2{font-size:18px;margin:0;letter-spacing:-.02em;color:var(--ink)}
h3{font-size:15px;margin:0;color:var(--ink)}
p{margin:0}
.lede{font-size:14px;color:var(--muted);line-height:1.48}
.source{font-size:12px;color:var(--muted);line-height:1.5;text-align:right}
.small{font-size:12px;color:var(--muted);line-height:1.45}

.card,.toolbar,.ops-tile,.lens-card,.definition,.briefing,.login-card,.setting-card{
  background:linear-gradient(180deg,rgba(16,27,45,.98),rgba(13,24,40,.98));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
  color:var(--ink);
}
.pad{padding:16px}
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:1.15fr .85fr}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}

.btn{
  border:1px solid #334b68;
  background:#12243a;
  color:#e5edf8;
  border-radius:11px;
  padding:9px 12px;
  font-size:13px;
  font-weight:850;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.btn:hover{background:#172b45}
.btn.primary{background:var(--blue-strong);border-color:var(--blue-strong);color:#fff}
.btn.soft{background:rgba(79,141,247,.16);border-color:rgba(123,179,255,.38);color:#dbeafe}
.btn.danger{background:var(--red-soft);border-color:rgba(255,139,139,.42);color:#ffd7d7}
.btn.ghost{background:transparent;color:#e5edf8;border-color:#334b68}

.badge,.pill,.status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding:5px 9px;
  font-size:12px;
  font-weight:850;
  border:1px solid #334b68;
  background:#12243a;
  color:#e5edf8;
  white-space:nowrap;
}
.badge.gray,.pill.gray{background:#18283d;color:#d1dae8}
.badge.blue,.pill.blue,.status.open{background:rgba(79,141,247,.20);color:#dbeafe;border-color:rgba(123,179,255,.42)}
.badge.red,.pill.red,.status.overdue{background:rgba(255,139,139,.16);color:#ffd7d7;border-color:rgba(255,139,139,.42)}
.badge.amber,.pill.amber,.status.review{background:rgba(255,209,102,.16);color:#ffedb0;border-color:rgba(255,209,102,.42)}
.badge.green,.pill.green,.status.resolved{background:rgba(85,230,165,.14);color:#c9ffe4;border-color:rgba(85,230,165,.38)}
.badge.cyan,.pill.cyan{background:rgba(103,232,249,.14);color:#cffafe;border-color:rgba(103,232,249,.38)}
.badge.violet,.pill.violet,.status.progress{background:rgba(185,164,255,.16);color:#ebe4ff;border-color:rgba(185,164,255,.40)}
.status{font-size:11px;font-weight:900;padding:4px 8px}

.toolbar{border-radius:18px;padding:12px 14px;display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}
.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.segment{display:flex;gap:2px;background:#0b1728;border:1px solid #20344f;border-radius:999px;padding:3px}
.segment button{border:0;background:transparent;border-radius:999px;padding:7px 12px;font-size:12px;color:#9fb0c8;font-weight:900}
.segment button.active{background:#193354;color:#bfdbfe;box-shadow:0 3px 10px rgba(15,23,42,.18)}
.input,.form input,.form select,.form textarea{border:1px solid #334b68;border-radius:11px;padding:9px 11px;background:#0b1728;color:#f5f8fc;min-width:190px}
.form label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#9fb3cf;font-weight:950;margin-bottom:6px}
.form input,.form select,.form textarea{width:100%;min-width:0}
.form textarea{min-height:112px}

.metric{
  padding:18px 15px 14px;
  min-height:124px;
  position:relative;
  overflow:hidden;
  background:rgba(22,36,58,.88);
  border-radius:var(--radius);
}
.metric:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--line)}
.metric.blue:before{background:var(--blue-strong)}.metric.red:before{background:var(--red)}.metric.amber:before{background:var(--amber)}.metric.green:before{background:var(--green)}.metric.cyan:before{background:var(--cyan)}.metric.violet:before{background:var(--violet)}
.metric-label{font-size:11px;color:#9fb3cf;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.metric-value{font-size:31px;font-weight:950;letter-spacing:-.06em;margin-top:7px;color:var(--ink)}
.metric-sub{font-size:12px;color:var(--muted);line-height:1.38;margin-top:4px}
.metric-link{position:absolute;right:12px;bottom:11px;font-size:11px;color:#9cc7ff;font-weight:900}

.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.situation,.case-hero{
  background:
    radial-gradient(circle at 85% 15%,rgba(14,165,233,.24),transparent 32%),
    linear-gradient(135deg,#0b1220,#123b73 58%,#075985);
  color:white;
  border:0;
  box-shadow:var(--shadow);
  overflow:hidden;
  position:relative;
}
.situation{border-radius:var(--radius)}
.situation:after{content:"";position:absolute;right:-120px;top:-120px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.08)}
.situation h2,.situation .kicker,.situation .lede,.case-hero .kicker,.case-title,.case-sub{color:white}
.situation .lede{color:#dbeafe}
.situation-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.situation-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.situation .btn{border-color:rgba(255,255,255,.30)}
.situation .btn.primary{background:white;color:#1e3a8a;border-color:white}
.situation .btn.ghost{color:white}

.ops-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.ops-tile{border-radius:16px;padding:13px 14px;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}
.ops-ico{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font-weight:950}
.ops-ico.red{background:var(--red-soft);color:var(--red)}
.ops-ico.amber{background:var(--amber-soft);color:var(--amber)}
.ops-ico.green{background:var(--green-soft);color:var(--green)}
.ops-ico.blue{background:var(--blue-soft);color:var(--blue)}
.ops-title{font-size:13px;font-weight:950;color:var(--ink)}
.ops-sub{font-size:12px;color:var(--muted);line-height:1.38;margin-top:3px}

.attention-list{display:grid;gap:9px}
.attention{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px;background:rgba(22,36,58,.88)}
.attention.red{background:rgba(255,139,139,.12);border-color:rgba(255,139,139,.32)}
.attention.amber{background:rgba(255,209,102,.12);border-color:rgba(255,209,102,.32)}
.attention.blue{background:rgba(79,141,247,.14);border-color:rgba(123,179,255,.32)}
.attention.green{background:rgba(85,230,165,.13);border-color:rgba(85,230,165,.32)}
.attention.violet{background:rgba(185,164,255,.14);border-color:rgba(185,164,255,.32)}
.dot{width:11px;height:11px;border-radius:99px;background:var(--soft);display:inline-flex;flex-shrink:0}
.dot.red{background:var(--red)}.dot.amber{background:var(--amber)}.dot.blue{background:var(--blue-strong)}.dot.green{background:var(--green)}.dot.violet{background:var(--violet)}
.att-title{font-size:13px;font-weight:900;color:var(--ink)}
.att-sub{font-size:12px;color:var(--muted);margin-top:2px}
.att-num{font-size:16px;font-weight:950;color:var(--ink)}

.table-wrap{overflow:auto}
.table{width:100%;border-collapse:separate;border-spacing:0}
.table th{background:#0b1728;border-bottom:1px solid var(--line);padding:11px 12px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#9fb3cf;white-space:nowrap}
.table td{border-bottom:1px solid var(--line-2);padding:12px;font-size:13px;vertical-align:middle;color:#e2ebf7}
.table tr:hover td{background:#14243a}
.ref{font-weight:950;color:#9cc7ff}
.tag-row{display:flex;gap:5px;flex-wrap:wrap}

.visual-grid{display:grid;grid-template-columns:1.05fr .95fr .9fr;gap:16px;margin-bottom:16px}
.visual-card{min-height:248px;overflow:hidden;position:relative}
.visual-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(123,179,255,.10),transparent 42%);pointer-events:none}
.sparkline{height:150px;margin-top:14px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,rgba(123,179,255,.10),transparent);padding:8px}
.sparkline svg{width:100%;height:100%;overflow:visible}
.chart-axis{stroke:#334b68;stroke-width:1}
.chart-line{fill:none;stroke:#7bb3ff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.chart-area{fill:rgba(123,179,255,.14)}
.chart-dot{fill:#0f1d31;stroke:#7bb3ff;stroke-width:3}

.donut-wrap{display:grid;grid-template-columns:126px 1fr;gap:16px;align-items:center;margin-top:14px}
.donut{width:126px;height:126px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--blue-strong) 0 84%, var(--green) 84% 90%, var(--violet) 90% 100%)}
.donut.redmix{background:conic-gradient(var(--red) 0 49%, var(--amber) 49% 82%, var(--green) 82% 100%)}
.donut:after{content:"";position:absolute;inset:17px;border-radius:50%;background:#101b2d}
.donut span{position:relative;z-index:1;font-size:24px;font-weight:950;color:var(--ink)}
.legend-stack{display:grid;gap:9px}
.legend-stack .legend-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line-2);padding-bottom:7px;color:#dce8f7}

.bar,.bar-track{height:8px;border-radius:999px;background:#1b2e49;overflow:hidden}
.bar span,.bar-fill{height:100%;display:block;border-radius:999px;background:var(--blue-strong)}
.bar-fill.red{background:var(--red)}.bar-fill.amber{background:var(--amber)}.bar-fill.green{background:var(--green)}.bar-fill.violet{background:var(--violet)}.bar-fill.cyan{background:var(--cyan)}.bar-fill.blue{background:var(--blue-strong)}
.bar-list{display:grid;gap:12px;margin-top:12px}
.bar-row{display:grid;grid-template-columns:150px 1fr 42px;gap:10px;align-items:center;font-size:13px}
.bar-label{font-weight:850;color:#dce8f7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chart-card{min-height:280px}
.mini-chart-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}
.micro-card{border:1px solid var(--line);background:rgba(22,36,58,.88);border-radius:14px;padding:12px}
.micro-card b{font-size:20px;color:var(--ink)}
.micro-card span{display:block;font-size:12px;color:var(--muted);margin-top:3px}

.map-card{height:430px;border-radius:18px;border:1px solid var(--line);background:var(--surface-2);overflow:hidden;position:relative}
.map-card.tall{height:650px}
.map-bg{position:absolute;inset:0;background:radial-gradient(circle at 62% 58%,rgba(103,232,249,.22) 0 15%,transparent 16%),radial-gradient(circle at 38% 38%,rgba(85,230,165,.12) 0 13%,transparent 14%),linear-gradient(118deg,#0b1728 0%,#0b2948 48%,#113f66 49%,#10243a 100%)}
.boundary{position:absolute;left:17%;top:12%;width:58%;height:73%;border:3px solid rgba(96,165,250,.70);background:rgba(96,165,250,.08);border-radius:42% 35% 46% 32%;box-shadow:inset 0 0 0 9999px rgba(255,255,255,.02)}
.ward-line{position:absolute;background:rgba(96,165,250,.22);height:2px;transform-origin:left}
.cluster,.marker{position:absolute;display:grid;place-items:center;color:white;font-weight:950;box-shadow:0 10px 24px rgba(15,23,42,.28)}
.cluster{width:44px;height:44px;border-radius:50%;border:4px solid white;background:#1d4ed8}
.cluster.red{background:#dc2626}.cluster.amber{background:#f59e0b}.cluster.violet{background:#7c3aed}
.marker{width:21px;height:21px;border-radius:50%;border:3px solid white;background:#2563eb}
.marker.red{background:#dc2626}.marker.amber{background:#f59e0b}.marker.green{background:#10b981}.marker.violet{background:#7c3aed}
.map-label{position:absolute;left:24%;top:22%;background:#101b2d;border:1px solid #334b68;box-shadow:var(--shadow-soft);border-radius:999px;padding:6px 10px;font-size:12px;color:#dbeafe;font-weight:950}
.map-tools{position:absolute;left:14px;top:14px;display:flex;gap:8px;flex-wrap:wrap}
.map-tools .pill{box-shadow:var(--shadow-soft);background:#101b2d}
.map-legend{position:absolute;right:14px;bottom:14px;background:#101b2d;border:1px solid #334b68;box-shadow:var(--shadow-soft);border-radius:14px;padding:10px 12px;font-size:12px;display:grid;gap:7px;color:#e5edf8}
.legend-row{display:flex;align-items:center;gap:8px}

.stack{display:grid;gap:16px}
.case-hero{border-radius:22px;padding:22px;margin-bottom:16px;display:grid;grid-template-columns:1fr auto;gap:20px}
.case-title{font-size:25px;font-weight:950;letter-spacing:-.04em}
.case-sub{font-size:13px;margin-top:5px}
.timeline{display:grid;gap:12px;position:relative}
.timeline:before{content:"";position:absolute;left:10px;top:8px;bottom:8px;width:2px;background:var(--line)}
.timeline-item{display:grid;grid-template-columns:22px 1fr;gap:10px;position:relative}
.timeline-dot{width:22px;height:22px;border-radius:50%;background:var(--blue-strong);border:4px solid var(--surface);box-shadow:0 0 0 1px rgba(123,179,255,.38);z-index:1}
.timeline-body{background:rgba(22,36,58,.88);border:1px solid var(--line);border-radius:14px;padding:10px;color:var(--ink)}

.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.photo-preview{height:170px;border-radius:16px;background:linear-gradient(135deg,#93c5fd,#2563eb);display:grid;place-items:center;color:white;font-weight:950;position:relative;overflow:hidden}
.photo-preview:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 26% 26%,rgba(255,255,255,.30),transparent 26%),linear-gradient(135deg,transparent,rgba(15,23,42,.22))}
.photo-preview span{position:relative;z-index:1}
.thumb{height:142px;background:linear-gradient(135deg,#1e3a8a,#2563eb);display:grid;place-items:center;color:white;font-weight:950;position:relative}
.thumb.photo,.thumb.flood,.thumb.damage{background:linear-gradient(135deg,#1e40af,#60a5fa)}
.thumb.missing{background:var(--red-soft);color:var(--red)}
.thumb:after{content:"REVIEW";position:absolute;right:9px;top:9px;background:#101b2d;border:1px solid var(--line);border-radius:999px;padding:4px 7px;font-size:10px;color:var(--muted)}
.media-meta{padding:11px}

.briefing{max-width:980px;margin:0 auto;border-radius:22px;padding:30px}
.brief-section{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}
.callout{border:1px solid rgba(123,179,255,.38);background:rgba(79,141,247,.16);color:#dbeafe;border-radius:16px;padding:14px 16px;font-size:13px;line-height:1.5}
.callout.red{background:var(--red-soft);color:#ffd7d7;border-color:rgba(255,139,139,.42)}
.callout.amber{background:var(--amber-soft);color:#ffedb0;border-color:rgba(255,209,102,.42)}
.callout.green{background:var(--green-soft);color:#c9ffe4;border-color:rgba(85,230,165,.38)}
.callout.violet{background:var(--violet-soft);color:#ebe4ff;border-color:rgba(185,164,255,.40)}

.login-wrap{min-height:calc(100vh - var(--top-h) - 48px);display:grid;place-items:center}
.login-card{width:min(980px,100%);display:grid;grid-template-columns:1.1fr .9fr;border-radius:26px;overflow:hidden}
.login-info{background:linear-gradient(135deg,#07111f,#123b73);color:white;padding:34px}
.login-info .lede{color:#dbeafe}
.login-form{padding:34px}
.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}

.definition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.definition{border-radius:16px;padding:15px}
.definition h3{margin-bottom:6px}
.queue-lenses{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}
.lens-card{border-radius:16px;padding:13px}
.lens-card .num{width:28px;height:28px;border-radius:10px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:13px;font-weight:950;margin-bottom:8px}
.lens-card b{font-size:13px;color:var(--ink)}
.lens-card p{font-size:12px;color:var(--muted);line-height:1.42;margin-top:4px}

.admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}
.user-avatar{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font-weight:950;background:var(--blue-soft);color:var(--blue);border:1px solid rgba(123,179,255,.30)}
.row-user{display:flex;gap:10px;align-items:center}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.setting-card{padding:16px;border-radius:18px}
.setting-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line-2)}
.setting-row:last-child{border-bottom:0}
.audit-risk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.hide{display:none!important}

@media(max-width:1260px){
  .grid-6{grid-template-columns:repeat(3,1fr)}
  .grid-2{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .visual-grid{grid-template-columns:1fr}
  .queue-lenses{grid-template-columns:repeat(2,1fr)}
  .ops-strip{grid-template-columns:repeat(2,1fr)}
  .admin-grid,.audit-risk{grid-template-columns:repeat(2,1fr)}
  .settings-grid{grid-template-columns:1fr}
}
@media(max-width:920px){
  body{overflow:auto}
  .app{display:block}
  .sidebar{height:auto}
  .main{height:auto;overflow:visible}
  .topbar{position:relative;height:auto;padding:14px 18px;gap:12px;display:block}
  .top-actions{margin-top:10px;flex-wrap:wrap}
  .page{padding:18px}
  .grid-6,.grid-4,.grid-3,.role-grid,.login-card,.definition-grid,.ops-strip,.queue-lenses,.admin-grid,.audit-risk,.settings-grid,.donut-wrap{grid-template-columns:1fr}
  .page-head,.toolbar,.case-hero,.situation-row{display:block}
  .source{text-align:left;margin-top:12px}
  .bar-row{grid-template-columns:1fr}
  .bar-track{width:100%}
}


/* v12 final corner-only fix.
   Preserve v9 size and spacing. Only improve the card edge so the dark left corner does not disappear into the page background. */
.situation{
  border:1px solid rgba(123,179,255,.26)!important;
  box-shadow:
    0 18px 44px rgba(0,0,0,.32),
    0 0 0 1px rgba(255,255,255,.035) inset!important;
}
.situation:before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(123,179,255,.13), transparent 20%),
    linear-gradient(180deg, rgba(255,255,255,.045), transparent 30%);
  opacity:.75;
}
.situation:after{
  content:"";
  position:absolute;
  right:-120px;
  top:-120px;
  width:320px;
  height:320px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
}
.situation-row{position:relative;z-index:1}
.situation .kicker{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  margin-bottom:6px!important;
}
.situation .kicker:before{content:none!important}

/* Production Flask parity layer */
:root{--bs-body-bg:var(--bg);--bs-body-color:var(--ink);--bs-border-color:var(--line);--bs-primary:#4f8df7;--bs-link-color:#9cc7ff;}
body{overflow:hidden!important;}
.app{min-height:100vh;}
a.nav-item{cursor:pointer;}
.sidebar .nav-item{width:100%;}
.nav-item .nav-icon{flex-shrink:0;}
.nav-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.topbar .title a{color:inherit;text-decoration:none;}
.top-actions .btn{white-space:nowrap;}
.page{display:block;}
.flash-wrap{padding:14px 28px 0;}
.alert{background:rgba(22,36,58,.96);border:1px solid var(--line);color:var(--ink);border-radius:14px;box-shadow:var(--shadow-soft);padding:12px 42px 12px 14px;margin:0 0 10px;position:relative;}
.alert-success{border-color:rgba(85,230,165,.38);background:rgba(85,230,165,.13);color:#c9ffe4;}
.alert-danger{border-color:rgba(255,139,139,.42);background:rgba(255,139,139,.16);color:#ffd7d7;}
.alert-warning{border-color:rgba(255,209,102,.42);background:rgba(255,209,102,.16);color:#ffedb0;}
.alert-info{border-color:rgba(123,179,255,.42);background:rgba(79,141,247,.18);color:#dbeafe;}
.btn-close{position:absolute;right:12px;top:10px;filter:invert(1) grayscale(100%);opacity:.8;}
.form-control,.form-select,.form-range,.input,select,input,textarea{background:#0b1728!important;color:#f5f8fc!important;border:1px solid #334b68!important;border-radius:11px!important;}
.form-control::placeholder,.input::placeholder,textarea::placeholder{color:#7f92ad!important;}
.form-label,label{color:#9fb3cf!important;font-weight:850;}
select option{background:#0b1728;color:#f5f8fc;}
.btn{line-height:1.25;text-decoration:none;}
.btn-sm{padding:7px 10px;font-size:12px;border-radius:10px;}
.btn-primary,.btn.primary{background:var(--blue-strong)!important;border-color:var(--blue-strong)!important;color:#fff!important;}
.btn-outline-secondary,.btn-outline-light,.btn-outline-primary{background:transparent!important;border-color:#334b68!important;color:#e5edf8!important;}
.btn-light{background:#f8fbff!important;color:#10243a!important;border-color:#f8fbff!important;}
.btn-link{border:0;background:transparent;color:#9cc7ff;padding:0;}
.card{background:linear-gradient(180deg,rgba(16,27,45,.98),rgba(13,24,40,.98))!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-soft)!important;color:var(--ink)!important;}
.card-body{padding:16px;}
.card-footer{background:#0b1728!important;border-top:1px solid var(--line)!important;color:var(--muted)!important;}
.table-responsive,.table-wrap{overflow:auto;}
.table{margin:0;color:var(--ink)!important;}
.table>:not(caption)>*>*{background:transparent!important;color:#e2ebf7!important;border-color:var(--line-2)!important;}
.table th{background:#0b1728!important;color:#9fb3cf!important;border-bottom:1px solid var(--line)!important;}
.table td,.table th{padding:12px;font-size:13px;vertical-align:middle;}
.table-hover tbody tr:hover td,.table tr:hover td{background:#14243a!important;}
.list-group,.list-group-item{background:transparent!important;color:var(--ink)!important;border-color:var(--line-2)!important;}
.list-group-item-action:hover{background:#14243a!important;color:#fff!important;}
.text-muted{color:var(--muted)!important;}.text-strong{color:var(--ink)!important;}.text-white-50{color:#a7b9d1!important;}
.badge-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:850;border:1px solid #334b68;background:#12243a;color:#e5edf8;white-space:nowrap;}
.badge-status-open{background:rgba(79,141,247,.20);color:#dbeafe;border-color:rgba(123,179,255,.42)}
.badge-status-progress{background:rgba(185,164,255,.16);color:#ebe4ff;border-color:rgba(185,164,255,.40)}
.badge-status-closed{background:rgba(85,230,165,.14);color:#c9ffe4;border-color:rgba(85,230,165,.38)}
.badge-status-neutral{background:#18283d;color:#d1dae8;}
.badge-status-overdue{background:rgba(255,139,139,.16);color:#ffd7d7;border-color:rgba(255,139,139,.42)}
.filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:end;}
.filter-grid .span-2{grid-column:span 2;}.filter-actions{display:flex;gap:8px;justify-content:flex-end;align-items:end;}
.mini-meta{display:flex;gap:7px;flex-wrap:wrap;align-items:center;}
.kpi-link{position:absolute;right:12px;bottom:11px;font-size:11px;color:#9cc7ff;font-weight:900;}
.metric{position:relative;}
.empty-state{border:1px dashed #334b68;background:rgba(22,36,58,.55);border-radius:16px;padding:18px;color:var(--muted);}
.pagination{display:flex;gap:6px;align-items:center;justify-content:center;margin-top:16px;flex-wrap:wrap}.page-link{background:#12243a!important;border:1px solid #334b68!important;color:#e5edf8!important;border-radius:10px!important}.page-item.active .page-link{background:#2563eb!important;border-color:#2563eb!important}.page-item.disabled .page-link{opacity:.55;}
.leaflet-container{background:#0b1728!important;color:#111827!important;border-radius:18px;}
.leaflet-control-layers,.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#101b2d!important;color:#e5edf8!important;border:1px solid #334b68!important;}
.leaflet-control-layers label{color:#e5edf8!important;}.leaflet-control-attribution{background:rgba(16,27,45,.85)!important;color:#c0ccda!important;}
#map,#overviewMap{border-radius:18px;overflow:hidden;}
.map-card #map,.map-card #overviewMap{height:100%!important;min-height:100%!important;}
.prototype-map-shell{height:650px;border-radius:18px;border:1px solid var(--line);background:var(--surface-2);overflow:hidden;position:relative;}
.incident-media-preview img{max-width:100%;border-radius:16px;border:1px solid var(--line);}.incident-media-preview .placeholder{min-height:170px;align-items:center;justify-content:center;border-radius:16px;background:#0b1728;color:var(--muted);}
@media(max-width:1260px){.filter-grid{grid-template-columns:repeat(3,1fr)}.filter-grid .span-2{grid-column:span 1}}
@media(max-width:920px){body{overflow:auto!important}.flash-wrap{padding:12px 18px 0}.filter-grid{grid-template-columns:1fr}.filter-actions{justify-content:flex-start}.topbar{display:block}.top-actions{margin-top:10px}}


/* Restored case details and cleaner media states. */
.v3-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;}
.v3-info-card{border:1px solid var(--line);background:rgba(22,36,58,.88);border-radius:14px;padding:12px;min-height:86px;}
.v3-info-card .label{font-size:10px;color:#9fb3cf;text-transform:uppercase;letter-spacing:.08em;font-weight:950;margin-bottom:5px;}
.v3-info-card b{display:block;color:#f5f8fc;font-size:14px;margin-bottom:3px;word-break:break-word;}
.v3-info-card p{font-size:12px;color:#c0ccda;line-height:1.35;margin:0;}
.v3-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;}
.v3-timeline-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.v3-media-state{min-height:150px;border:1px solid var(--line);border-radius:16px;display:grid;place-items:center;text-align:center;padding:12px;background:linear-gradient(135deg,#0b1728,#14243a);}
.v3-media-state.real{background:linear-gradient(135deg,#1f2937,#334155);}
.v3-media-state.restricted{background:linear-gradient(135deg,#291b32,#4c1d3f);}
.v3-media-state.unavailable{background:linear-gradient(135deg,#2b1620,#47212d);}
.v3-media-state.none{background:linear-gradient(135deg,#152033,#243044);}
.v3-media-state b{font-size:14px;color:white;}
.v3-media-state span{display:block;margin-top:5px;font-size:12px;color:#c0ccda;font-weight:600;}
.thumb.photo.real-slot,.photo-preview.real-slot{background:linear-gradient(135deg,#22324a,#304866);color:#dbeafe;border:1px dashed rgba(219,234,254,.40);}
.thumb.photo.real-slot:before,.photo-preview.real-slot:before{content:"";position:absolute;inset:18px;border:1px dashed rgba(219,234,254,.35);border-radius:12px;background:rgba(255,255,255,.04);}
.thumb.photo.real-slot span,.photo-preview.real-slot span{position:relative;z-index:1;}
.thumb.restricted-slot{background:linear-gradient(135deg,#3a2330,#5c2b3e);color:#ffd7d7;border:1px dashed rgba(255,139,139,.44);}
.thumb.missing{background:rgba(148,163,184,.12)!important;color:#cbd5e1!important;border:1px dashed rgba(203,213,225,.32);}
.incident-media-preview .v3-media-state{border-top-left-radius:0;border-top-right-radius:0;}

/* Clearer operational basemap on CSS-rendered overview maps. */
.map-card > .map-bg{background:linear-gradient(32deg,rgba(255,255,255,.42) 0 1px,transparent 1px 58px),linear-gradient(118deg,rgba(255,255,255,.44) 0 1px,transparent 1px 72px),radial-gradient(circle at 60% 57%,rgba(59,130,246,.18) 0 13%,transparent 14%),linear-gradient(118deg,#e8efe6 0%,#d8e7d8 46%,#b7d1dc 47%,#dce8df 100%)!important;}
.map-card > .boundary{border-color:rgba(37,99,235,.75)!important;background:rgba(37,99,235,.08)!important;}
.map-card .map-label,.map-card .map-legend,.map-card .map-tools .pill{background:rgba(255,255,255,.92)!important;color:#10243a!important;border-color:rgba(30,64,175,.24)!important;}

@media(max-width:1180px){.auth-shell{padding:42px 28px;}.auth-stage{grid-template-columns:1fr;gap:34px;align-items:start;}.auth-copy h1{font-size:44px;}.auth-card{justify-self:start;}.v3-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:720px){.auth-shell{padding:28px 18px;}.auth-brand{grid-template-columns:44px 1fr;}.auth-brand-logo{height:44px;width:44px;}.auth-stage{min-height:auto;margin-top:48px;}.auth-copy h1{font-size:36px;}.auth-copy p{font-size:15px;}.auth-card{padding:24px;border-radius:22px;}.auth-card h2{font-size:30px;}.v3-info-grid{grid-template-columns:1fr;}.v3-section-title{display:block;}.v3-section-title .badge,.v3-section-title .btn{margin-top:8px;}}

/* Full V3 alignment pass: production-safe shell, controls and page states. */
.brand-logo,.auth-brand-logo{letter-spacing:-.07em}
.nav-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shell-select select,.top-actions select,.toolbar select,.mini-meta select,.form select,.setting-row select,.setting-row input{
  border:1px solid #334b68!important;border-radius:12px!important;background:#0b1728!important;color:#f5f8fc!important;min-height:38px;padding:8px 11px!important;box-shadow:none!important;
}
.shell-select select{min-width:260px;background:#0d1c31!important;border-color:#385273!important}
.toolbar input,.toolbar select,.input{min-height:44px}
.flash-wrap{padding:14px 28px 0}.flash-wrap .alert,.auth-flash-wrap .alert{border-radius:14px;border:1px solid rgba(123,179,255,.24);background:rgba(16,27,45,.92);color:#e5edf8;box-shadow:var(--shadow-soft)}
.auth-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}.auth-value-card{border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:15px;background:rgba(255,255,255,.10);color:#e0f2fe}.auth-value-card b{display:block;color:#fff;margin-bottom:4px}.auth-value-card span{font-size:13px;line-height:1.35;color:#dbeafe}.auth-note-warn{border:1px solid rgba(255,209,102,.38);background:rgba(255,209,102,.12);color:#ffedb0;border-radius:14px;padding:12px 13px}
.audit-risk{grid-template-columns:1fr}.definition-grid{grid-template-columns:1fr}

.row-action-details{position:relative;display:inline-block}
.row-action-details>summary{list-style:none}
.row-action-details>summary::-webkit-details-marker{display:none}
.row-action-form{position:absolute;right:0;top:42px;z-index:80;min-width:260px;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-soft);display:flex;gap:8px;align-items:center}
.row-action-form select{min-width:130px}
@media(max-width:920px){.row-action-form{position:static;margin-top:8px;min-width:0;flex-wrap:wrap}}

.settings-secondary{margin-top:8px;border-top:1px solid var(--line-2);padding-top:10px}.settings-secondary summary{width:max-content;margin-bottom:8px}.message-secondary{opacity:.96}.message-secondary textarea{min-height:88px}
.evidence-thumb{display:block;height:170px;position:relative;overflow:hidden;background:linear-gradient(135deg,#16243a,#22324a);border-radius:16px 16px 0 0;color:#dbeafe;text-align:center}.evidence-thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb-fallback{display:none;position:absolute;inset:0;place-items:center;font-weight:900;color:#dbeafe;background:linear-gradient(135deg,#22324a,#304866)}.map-legend-inline{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.settings-secondary{margin-top:10px}.settings-secondary summary{list-style:none;width:max-content}.settings-secondary summary::-webkit-details-marker{display:none}
.row-action-panel{margin-top:10px;display:grid;gap:10px;padding:10px;border:1px solid var(--line);border-radius:14px;background:rgba(11,23,40,.92)}
.row-action-details summary{list-style:none}.row-action-details summary::-webkit-details-marker{display:none}

/* 2026-07 visual IA cleanup: slimmer shell, mockup-style nav dots, embedded guide support. */
:root{--nav-w:264px;--top-h:78px}
.app{grid-template-columns:var(--nav-w) 1fr}
.sidebar{padding:24px 18px;background:linear-gradient(180deg,rgba(5,18,33,.96),rgba(7,20,36,.88)),radial-gradient(circle at 60% 12%,rgba(59,130,246,.18),transparent 40%);border-right:1px solid rgba(162,199,255,.14)}
.brand{display:flex;align-items:center;gap:14px;padding:4px 6px 28px;border-bottom:0;margin-bottom:0}
.brand-logo{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#2563eb 0%,#3b82f6 45%,#22d3ee 100%);box-shadow:0 14px 30px rgba(37,99,235,.30)}
.brand-title{font-size:15px;line-height:1.15;font-weight:850}.brand-sub{margin-top:4px;color:#85a9d7;font-size:12px}
.nav-group{margin:22px 10px 10px;padding-left:0;font-size:10px;font-weight:850;letter-spacing:.16em;color:#75a7ea}.nav-item{gap:10px;min-height:42px;padding:10px 12px;border-radius:14px;margin:0 0 7px;color:#bfd5f3;font-size:14px;font-weight:700;border:1px solid transparent}.nav-item:hover{background:rgba(59,130,246,.10);border-color:rgba(124,178,255,.16);color:#fff}.nav-item.active{color:#fff;background:linear-gradient(135deg,rgba(59,130,246,.22),rgba(96,165,250,.10));border-color:rgba(124,178,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.nav-muted{margin-left:auto;min-width:24px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(12,30,50,.72);border:1px solid rgba(152,190,235,.18);color:#d9ecff;font-size:11px;font-weight:850}.sidebar-card{margin:22px 0 4px;padding:14px;border-radius:18px;background:rgba(10,26,45,.82);border:1px solid rgba(154,193,242,.14);color:#85a9d7}.sidebar-card b{font-size:12px}.sidebar-card p{color:#85a9d7}
.topbar{height:var(--top-h);padding:18px 28px;border-bottom:1px solid rgba(154,193,242,.13);background:rgba(5,17,31,.42);backdrop-filter:blur(18px)}.top-left .crumb{color:#85a9d7;font-size:13px;font-weight:600;margin-bottom:4px}.top-left .title{font-size:24px;line-height:1.1;font-weight:900;letter-spacing:-.03em}.top-actions{gap:10px;flex-wrap:nowrap}.shell-select select{height:40px;border-radius:999px;border:1px solid rgba(152,190,235,.20);background:rgba(12,30,50,.72);color:#d9ecff;padding:0 32px 0 13px;font-size:13px;font-weight:800}.shell-live-pill{height:40px;padding:0 13px;font-size:13px}.shell-live-pill:before{content:"";width:9px;height:9px;border-radius:50%;background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.14)}.top-updated{color:#85a9d7;font-size:13px;font-weight:650;white-space:nowrap}
.account-chip{display:inline-flex;align-items:center;gap:9px;height:40px;padding:0 12px 0 4px;border-radius:999px;background:rgba(12,30,50,.72);border:1px solid rgba(152,190,235,.20);color:#d9ecff;font-size:13px;font-weight:800}.account-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:white;background:linear-gradient(135deg,#2563eb,#22d3ee);font-size:12px;font-weight:900}.shell-account-action{padding-left:11px;padding-right:11px}
.definition-grid.compact-definitions{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.compact-definitions .definition{min-height:132px;padding:14px;background:rgba(12,30,50,.52);border-color:rgba(152,190,235,.16)}.compact-definitions .definition h3{margin-bottom:6px}.data-guide-panel{scroll-margin-top:96px}@media (max-width:1400px){.definition-grid.compact-definitions{grid-template-columns:repeat(2,minmax(0,1fr))}.shell-account-action{display:none}}

/* end 2026-07 visual overhaul phase 1I */
/* end 2026-07 visual overhaul phase 2E */

/* end 2026-07 visual overhaul phase 2I */

/* end 2026-07 visual overhaul phase 3C */


/* end 2026-07 reporting refinement */

/* === prod official logo 2026-07-28 === */
.brand-logo,
.auth-brand-logo {
  background: #ffffff !important;
  box-shadow: none !important;
  color: transparent !important;
  font-size: 0 !important;
  letter-spacing: 0 !important;
  line-height: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 5px;
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.auth-brand-logo {
  border-color: rgba(255, 255, 255, 0.18);
}
.brand-logo img,
.auth-brand-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* === prod official logo polish 2026-07-28 === */
.brand-logo,
.auth-brand-logo,
body.auth-body .auth-brand-logo {
  border-radius: 8px !important;
  border: none !important;
  box-sizing: border-box !important;
}
.brand-logo {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 4px !important;
}
body.auth-body .auth-brand-logo,
.auth-brand-logo {
  width: 74px !important;
  height: 74px !important;
  min-width: 74px !important;
  min-height: 74px !important;
  padding: 6px !important;
}
.brand-logo img,
.auth-brand-logo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}
@media (max-width: 720px) {
  body.auth-body .auth-brand-logo,
  .auth-brand-logo {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
    padding: 5px !important;
  }
}

/* === prod brand layout polish 2026-07-28 === */
.sidebar .brand-title {
  font-size: 14px !important;
  line-height: 1.22 !important;
  letter-spacing: -0.02em !important;
}
.sidebar .brand-sub {
  margin-top: 3px !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
}

/* === global topbar shell polish 2026-07-28 === */
.topbar {
  height: auto !important;
  min-height: 66px !important;
  padding: 15px 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: nowrap !important;
  background: rgba(5, 17, 31, 0.42) !important;
  backdrop-filter: blur(18px) !important;
  border-bottom: 1px solid rgba(154, 193, 242, 0.13) !important;
}
.topbar-title-block,
.topbar .top-left {
  min-width: 0;
  flex: 1 1 auto;
}
.topbar .title {
  margin: 0;
  font-size: 24px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: -0.03em;
  color: var(--ink);
}
.topbar-actions,
.topbar .top-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
  flex-shrink: 0 !important;
}
.topbar-actions > *,
.topbar .top-actions > * {
  flex-shrink: 0;
}
.topbar-actions .btn,
.topbar .top-actions .btn {
  height: 40px;
  white-space: nowrap;
  border-radius: 13px;
}
.topbar .status-pill,
.topbar .shell-live-pill {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 13px;
  border-radius: 999px;
  color: #d9ecff;
  background: rgba(12, 30, 50, 0.72);
  border: 1px solid rgba(152, 190, 235, 0.2);
  font-size: 13px;
  font-weight: 800;
}
.topbar .status-pill::before,
.topbar .shell-live-pill::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #34d399;
  box-shadow: 0 0 0 4px rgba(52, 211, 153, 0.14);
}
.topbar .top-updated {
  color: #85a9d7;
  font-size: 13px;
  font-weight: 650;
  white-space: nowrap;
}
.topbar .account-menu {
  position: relative;
  flex-shrink: 0;
}
.topbar .account-menu summary {
  list-style: none;
}
.topbar .account-menu summary::-webkit-details-marker {
  display: none;
}
.topbar .account-chip {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  height: 42px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(12, 30, 50, 0.72);
  border: 1px solid rgba(152, 190, 235, 0.2);
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
  color: #d9ecff;
}
.topbar .account-avatar {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, #2563eb, #22d3ee);
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.28);
  font-size: 13px;
  font-weight: 950;
  color: #fff;
}
.topbar .account-panel {
  position: absolute;
  right: 0;
  top: 48px;
  z-index: 100;
  width: 210px;
  padding: 10px;
  border-radius: 16px;
  background: rgba(6, 18, 32, 0.96);
  border: 1px solid rgba(166, 205, 255, 0.22);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}
.topbar .account-panel-meta {
  display: grid;
  gap: 2px;
  padding: 8px 10px 10px;
  border-bottom: 1px solid rgba(166, 205, 255, 0.12);
  margin-bottom: 6px;
}
.topbar .account-panel a {
  display: block;
  padding: 9px 10px;
  border-radius: 10px;
  color: #bfd5f3;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
}
.topbar .account-panel a:hover {
  background: rgba(96, 165, 250, 0.12);
  color: #fff;
}
@media (max-width: 920px) {
  .topbar {
    display: flex !important;
    flex-wrap: wrap !important;
    height: auto !important;
    padding: 14px 18px !important;
    gap: 12px !important;
  }
  .topbar-actions,
  .topbar .top-actions {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap !important;
  }
}

/* === CLIENT-READY PASS4 GLOBAL SHELL (double-frame override) === */
/* Explicit override of file ownership for GLOBAL shell cohesion only.
   Goal: ONE content canvas. Outer .main/.page must not read as a second framed surface. */
body.theme-dark.disaster-dark,
body.disaster-dark {
  background: #EEF2FB !important;
  background-image: none !important;
}
body.theme-dark.disaster-dark .app,
body.disaster-dark .app {
  background: transparent !important;
}
body.theme-dark.disaster-dark .main,
body.disaster-dark .main {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  outline: 0 !important;
}
body.theme-dark.disaster-dark .page,
body.theme-dark.disaster-dark .page.active,
body.disaster-dark .page,
body.disaster-dark .page.active {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}
/* Cards are the only framed surfaces */
body.theme-dark.disaster-dark .card,
body.disaster-dark .card {
  background: #FFFFFF !important;
  background-image: none !important;
  border: 1px solid #C5D0E8 !important;
  box-shadow: 0 8px 22px rgba(13, 26, 120, 0.06) !important;
  color: #0D1A78 !important;
}
/* Toolbar / setting surfaces: solid white, not nested pale panels */
body.theme-dark.disaster-dark .toolbar,
body.disaster-dark .toolbar,
body.theme-dark.disaster-dark .setting-card,
body.disaster-dark .setting-card {
  background: #FFFFFF !important;
  background-image: none !important;
  border: 1px solid #C5D0E8 !important;
  box-shadow: 0 6px 18px rgba(13, 26, 120, 0.05) !important;
}
