.dashboard-gate { display: grid; justify-items: center; align-content: center; padding: 64px 24px 80px; }
.dashboard-gate > section { width: min(100%, 600px); background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 40px; }
.dashboard-gate h1 { margin: 0 0 20px; font-size: 3rem; }
.dashboard-gate p:not(.section-kicker) { color: var(--muted); font-size: 1.0625rem; }
.gate-icon { display: none; }
.dashboard-gate form { margin: 28px 0 22px; }
.dashboard-gate label { display: block; margin: 0 0 20px; }
.dashboard-gate button[type=submit] { width: 100%; }
.dashboard-gate > section > a { font-size: 1rem; font-weight: 600; }
.dashboard-gate .form-error { margin: 20px 0; }
.dashboard-gate .account-notice { margin: 20px 0; }
.account-help-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 22px; }
.account-help-links a { min-height: 44px; display: inline-flex; align-items: center; font-size: 1rem; font-weight: 700; }
.dashboard-gate.signup-gate > section { width: min(100%, 860px); }
.dashboard-gate .account-form-grid label { margin: 0; }
.account-form-section { margin-top: 28px; padding-top: 26px; border-top: 1px solid var(--line); }
.account-form-section h2 { margin: 0 0 8px; font-size: 2rem; }
.account-form-section > p:not(.provider-status) { margin-bottom: 20px; font-size: 1rem; }
.dashboard-gate.reports-home { align-content: start; justify-items: stretch; padding: 42px 32px 72px; background: #edf2f3; }
.dashboard-gate.reports-home > section { width: min(100%, 1120px); margin: 0 auto; padding: 34px; }
.reports-home-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
.reports-home-heading h1 { margin: 0 0 10px; font-size: 3.25rem; }
.reports-home-heading p:not(.section-kicker) { max-width: 68ch; margin: 0; }
.reports-new-action { display: inline-flex; min-height: 48px; flex: none; align-items: center; justify-content: center; padding: 11px 18px; border-radius: 7px; background: var(--signal); color: #172d36; font-weight: 800; text-decoration: none; }
.reports-new-action:hover { background: #ffb65c; }
.reports-home .account-notice { margin: 22px 0 0; }
.reports-home-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 22px; }
.reports-home-summary article { min-width: 0; padding: 18px 20px; border: 1px solid #cbd7d9; border-radius: 9px; background: #f7f9f9; box-shadow: inset 0 3px #2c788c; }
.reports-home-summary span, .reports-home-summary b, .reports-home-summary small { display: block; }
.reports-home-summary span { color: #52666e; font-size: .8rem; font-weight: 750; }
.reports-home-summary b { margin: 4px 0 2px; color: var(--ink); font: 600 2.35rem/1 var(--display-font); font-variant-numeric: tabular-nums; }
.reports-home-summary small { color: #677a81; font-size: .74rem; line-height: 1.35; }
.reports-list-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-top: 34px; }
.reports-list-heading h2, .reports-list-heading p { margin: 0; }
.reports-list-heading h2 { font-size: 2rem; }
.reports-list-heading p { margin-top: 4px; color: var(--muted); font-size: .9rem; }
.reports-list-heading > a { flex: none; font-size: .9rem; font-weight: 750; }
.account-report-list { display: grid; gap: 10px; margin: 18px 0 0; }
.account-report-list > a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 18px; align-items: center; padding: 18px 20px; border: 1px solid #d3dcde; border-radius: 9px; background: #fff; color: var(--ink); text-decoration: none; transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease; }
.account-report-list > a:hover, .account-report-list > a:focus-visible { border-color: #6aa59f; background: #f4faf8; transform: translateY(-1px); }
.account-report-main { min-width: 0; }
.account-report-main b, .account-report-main span { display: block; }
.account-report-main b { overflow-wrap: anywhere; color: var(--teal); font-size: .92rem; }
.account-report-main span { margin-top: 3px; color: #455b64; font-size: .9rem; }
.account-report-list > a > small { grid-column: 1 / -1; color: var(--muted); font-size: .78rem; }
.account-report-status { min-width: 92px; padding: 6px 9px; border-radius: 6px; text-align: center; font-size: .78rem; font-weight: 800; }
.account-report-status.status-received { background: #e8f1fb; color: #245d96; }
.account-report-status.status-verified { background: #fff1d9; color: #855000; }
.account-report-status.status-dispatched { background: #eee9fa; color: #65449c; }
.account-report-status.status-resolved { background: #e5f3ea; color: #176444; }
.reports-home .dashboard-empty { margin-top: 18px; border: 1px dashed #aebfc3; border-radius: 9px; background: #f8faf9; }
.reports-home .dashboard-empty a { width: fit-content; margin: 10px auto 0; font-weight: 750; }

.admin-body { background: #f3f2f1; }
.dashboard-shell { width: min(100%, 1500px); margin: auto; padding: 36px 28px 76px; }
.dashboard-intro { display: flex; justify-content: space-between; align-items: end; gap: 32px; margin-bottom: 24px; }
.dashboard-intro h1 { margin: 0 0 10px; color: var(--ink); font-size: 3.25rem; }
.admin-body .dashboard-intro p { max-width: 72ch; margin: 0; color: var(--muted); font-size: 1.0625rem; }
.dashboard-actions { display: flex; align-items: center; justify-content: end; flex-wrap: wrap; gap: 12px 18px; flex-shrink: 0; }
.dashboard-actions > span { color: var(--muted); font-size: .875rem; font-variant-numeric: tabular-nums; }
.dashboard-export-menu { position: relative; }
.dashboard-export-menu > summary { display: inline-flex; min-height: 44px; align-items: center; gap: 9px; padding: 9px 15px; border: 1px solid var(--line); border-radius: 7px; background: #fff; color: var(--ink); cursor: pointer; font-size: 1rem; font-weight: 700; list-style: none; }
.dashboard-export-menu > summary::-webkit-details-marker { display: none; }
.dashboard-export-menu > summary:hover, .dashboard-export-menu[open] > summary { border-color: var(--teal); color: var(--teal); }
.dashboard-export-menu > summary svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform 160ms ease-out; }
.dashboard-export-menu[open] > summary svg { transform: rotate(180deg); }
.dashboard-export-options { position: absolute; z-index: 20; top: calc(100% + 8px); right: 0; width: min(320px, calc(100vw - 32px)); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.dashboard-export-options a { display: block; padding: 15px 17px; color: var(--ink); text-decoration: none; }
.dashboard-export-options a + a { border-top: 1px solid var(--line); }
.dashboard-export-options a:hover { background: var(--teal-soft); }
.dashboard-export-options strong, .dashboard-export-options small { display: block; }
.dashboard-export-options strong { color: var(--teal); font-size: 1rem; }
.dashboard-export-options small { margin-top: 4px; color: var(--muted); font-size: .875rem; line-height: 1.4; }
.dashboard-refresh { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 16px; border: 1px solid #8fa2a7; background: #fff; color: var(--ink); border-radius: 7px; font-size: .9375rem; font-weight: 700; text-decoration: none; }
.dashboard-refresh:hover { border-color: var(--teal); color: var(--teal); }
.dashboard-shell > .notice { margin: 0 0 20px; }

.dashboard-filter-panel { margin-bottom: 16px; overflow: hidden; border: 1px solid #c8d4d8; border-radius: 10px; background: #fff; }
.filter-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 18px; border-bottom: 1px solid #dce4e6; background: #f7f9fa; }
.filter-heading h2, .filter-heading p { margin: 0; }
.filter-heading h2 { font-size: 1.25rem; }
.filter-heading p { margin-top: 3px; color: var(--muted); font-size: .84rem; }
.filter-heading > span { flex: none; padding: 5px 9px; border-radius: 5px; background: #e8f1fb; color: #245d96; font-size: .76rem; font-weight: 700; }
.dashboard-filters { display: grid; grid-template-columns: repeat(5, minmax(125px, 1fr)) auto; gap: 12px; align-items: end; padding: 16px 18px 18px; }
.dashboard-filters label { min-width: 0; color: #42575f; font-size: .78rem; font-weight: 700; }
.dashboard-filters select { min-height: 42px; margin-top: 6px; padding: 8px 34px 8px 10px; font-size: .875rem; }
.filter-actions { display: flex; gap: 8px; align-items: center; }
.filter-actions button, .filter-actions a { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 9px 13px; border-radius: 6px; font-size: .84rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.filter-actions button { border: 0; background: #176b8d; color: #fff; }
.filter-actions a { border: 1px solid #91a4aa; background: #fff; color: var(--ink); }

.dashboard-overview { display: grid; grid-template-columns: 1.45fr repeat(5, minmax(135px, 1fr)); gap: 10px; padding: 10px; background: var(--navy); border-radius: var(--radius); overflow: hidden; }
.overview-lead { display: flex; flex-direction: column; justify-content: center; min-height: 146px; padding: 22px 24px; color: #fff; background: #173b47; border-radius: 9px; }
.overview-lead h2 { margin: 0 0 8px; color: #fff; font-size: 1.8rem; }
.overview-lead p { margin: 0 0 12px; color: #c8dade; font-size: .9375rem; line-height: 1.45; }
.overview-lead small { color: #ffd69f; font-size: .875rem; font-weight: 650; }
.metric-card { position: relative; min-width: 0; min-height: 146px; padding: 20px 18px 16px; overflow: hidden; background: #fff; border-radius: 9px; box-shadow: inset 0 4px #487a96; }
.metric-card > span, .metric-card > small { display: block; }
.metric-card > span { min-height: 42px; color: #3c5059; font-size: .875rem; font-weight: 700; line-height: 1.35; }
.metric-card > b { display: block; margin: 2px 0 3px; color: var(--ink); font: 600 2.75rem/1 var(--display-font); font-variant-numeric: tabular-nums; }
.metric-card > small { color: #66777e; font-size: .78rem; line-height: 1.35; }
.metric-active { box-shadow: inset 0 4px #3278e8; }
.metric-critical { box-shadow: inset 0 4px #c83d4b; }
.metric-dispatched { box-shadow: inset 0 4px #7956bd; }
.metric-resolved { box-shadow: inset 0 4px #17865c; }

.bi-insight-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.bi-insight-strip article { min-width: 0; padding: 15px 17px; border: 1px solid #ced9dc; border-radius: 9px; background: #fff; }
.bi-insight-strip span, .bi-insight-strip b, .bi-insight-strip small { display: block; }
.bi-insight-strip span { color: var(--muted); font-size: .77rem; font-weight: 700; }
.bi-insight-strip b { margin: 5px 0 3px; color: #176b8d; font: 600 1.8rem/1 var(--display-font); font-variant-numeric: tabular-nums; }
.bi-insight-strip b.text-value { overflow: hidden; font: 750 1.05rem/1.25 var(--body-font); text-overflow: ellipsis; white-space: nowrap; }
.bi-insight-strip small { color: #66777e; font-size: .72rem; line-height: 1.35; }

.dashboard-command-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 20px; margin-top: 20px; }
.dashboard-panel { min-width: 0; overflow: hidden; background: #fff; border: 1px solid #ced9dc; border-radius: 12px; }
.severity-panel, .trend-panel, .pipeline-panel { grid-column: span 4; }
.areas-panel { grid-column: span 7; }
.chart-panel { grid-column: span 5; }
.chart-panel.half-chart { grid-column: span 6; }
.panel-title { display: flex; align-items: start; justify-content: space-between; gap: 18px; min-height: 94px; padding: 20px 22px 17px; border-bottom: 1px solid #dce4e6; }
.panel-title h2 { margin: 0; font-size: 1.65rem; }
.panel-title p { margin: 5px 0 0; color: var(--muted); font-size: .9rem; line-height: 1.45; }
.panel-total, .secure-chip, .official-chip { flex: none; padding: 5px 9px; border-radius: 6px; background: var(--teal-soft); color: var(--teal); font-size: .78rem; font-weight: 700; white-space: nowrap; }
.official-chip { background: #e9f1fb; color: #285d92; }
.dashboard-empty { min-height: 150px; display: grid; place-content: center; padding: 28px; margin: 0; color: var(--muted); text-align: center; }
.dashboard-empty.larger { min-height: 240px; gap: 7px; }
.dashboard-empty.larger b { color: var(--ink); font-size: 1.2rem; }
.dashboard-empty.larger span { max-width: 62ch; }

.severity-content { display: grid; grid-template-columns: 166px minmax(0, 1fr); align-items: center; gap: 24px; min-height: 250px; padding: 24px; }
.severity-ring { width: 160px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(#c83d4b 0 var(--red-end), #e39426 var(--red-end) var(--orange-end), #16845a var(--orange-end) 100%); }
.severity-ring > div { width: 100px; aspect-ratio: 1; display: grid; place-content: center; text-align: center; border-radius: 50%; background: #fff; }
.severity-ring b, .severity-ring span { display: block; }
.severity-ring b { font: 600 2.5rem/1 var(--display-font); font-variant-numeric: tabular-nums; }
.severity-ring span { margin-top: 5px; color: var(--muted); font-size: .8rem; }
.severity-key { display: grid; gap: 10px; margin: 0; }
.severity-key > div { padding-bottom: 10px; border-bottom: 1px solid #e2e8ea; }
.severity-key > div:last-child { padding: 0; border: 0; }
.severity-key dt, .severity-key dd { display: flex; align-items: center; }
.severity-key dt { gap: 8px; font-size: .875rem; font-weight: 650; }
.severity-key dt > span { width: 9px; height: 9px; border-radius: 50%; background: currentColor; }
.severity-key dd { justify-content: space-between; gap: 10px; margin: 3px 0 0 17px; }
.severity-key dd b { font-size: 1.125rem; font-variant-numeric: tabular-nums; }
.severity-key dd small { color: var(--muted); }
.severity-red { color: var(--red); }
.severity-orange { color: var(--orange); }
.severity-green { color: var(--green); }

.chart-summary { margin: 0; padding: 12px 20px 0; color: var(--muted); font-size: .8125rem; }
.daily-chart { height: 235px; display: grid; grid-template-columns: repeat(var(--days, 7), minmax(24px, 1fr)); gap: 8px; align-items: stretch; margin: 0; padding: 16px 20px 20px; overflow-x: auto; list-style: none; }
.daily-column { min-width: 0; display: grid; grid-template-rows: 24px 1fr 22px 18px; justify-items: center; align-items: end; }
.daily-column > b { font-size: .875rem; font-variant-numeric: tabular-nums; }
.daily-track { width: min(30px, 72%); height: 100%; display: flex; align-items: end; overflow: hidden; border-radius: 5px 5px 2px 2px; background: #eef2f3; }
.daily-track > i { display: block; width: 100%; min-height: 4px; border-radius: 5px 5px 2px 2px; background: #287b9d; }
.daily-column > strong { align-self: end; font-size: .8125rem; }
.daily-column > small { align-self: start; color: var(--muted); font-size: .75rem; white-space: nowrap; }
.compact-date { display: none; }

.pipeline-list { display: grid; gap: 16px; min-height: 250px; padding: 22px; }
.pipeline-row > div { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 7px; font-size: .875rem; }
.pipeline-row > div span { font-weight: 650; }
.pipeline-row > div b { font-variant-numeric: tabular-nums; }
.pipeline-track { display: block; height: 9px; overflow: hidden; border-radius: 4px; background: #edf1f2; }
.pipeline-track > i { display: block; min-width: 3px; height: 100%; border-radius: 4px; }
.pipeline-row > small { display: block; margin-top: 5px; color: var(--muted); font-size: .75rem; }

.area-table-wrap { overflow-x: auto; }
.area-table { width: 100%; min-width: 600px; border-collapse: collapse; text-align: left; font-size: .9rem; }
.area-table th { padding: 13px 18px; background: #f5f7f7; color: var(--muted); font-size: .78rem; font-weight: 700; }
.area-table th:not(:first-child), .area-table td:not(:first-child) { text-align: center; }
.area-table td { padding: 14px 18px; border-top: 1px solid #e0e7e8; font-variant-numeric: tabular-nums; }
.area-table td:first-child { display: flex; align-items: center; gap: 12px; }
.area-table td:first-child b, .area-table td:first-child small { display: block; }
.area-table td:first-child small { margin-top: 2px; color: var(--muted); font-size: .76rem; }
.area-rank { flex: 0 0 26px; width: 26px; height: 26px; display: grid; place-content: center; border-radius: 50%; background: #e8f1f0; color: var(--teal); font-size: .75rem; font-weight: 700; }
.critical-count { display: inline-grid; min-width: 26px; min-height: 26px; place-content: center; border-radius: 6px; background: #eef2f3; color: var(--muted); font-weight: 700; }
.critical-count.has-critical { background: #ffe9eb; color: var(--red); }

.bar-set { display: grid; align-content: start; gap: 17px; min-height: 300px; padding: 22px; }
.bar-row > div { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 7px; font-size: .875rem; }
.bar-row > div > b { max-width: 70%; font-weight: 650; overflow-wrap: anywhere; }
.bar-row > div > span { display: flex; gap: 8px; align-items: baseline; }
.bar-row strong { font-variant-numeric: tabular-nums; }
.bar-row small { color: var(--muted); font-size: .72rem; }
.bar-track { display: block; height: 9px; overflow: hidden; border-radius: 4px; background: #edf1f2; }
.bar-track > i { display: block; min-width: 3px; height: 100%; border-radius: 4px; }

.incident-panel { margin-top: 20px; }
.queue-title { min-height: 0; }
.table-scroll-hint { display: none; margin: 0; padding: 12px 20px; background: #eaf4f2; color: var(--teal); font-size: .875rem; }
.queue-scroll { max-height: 900px; overflow: auto; scrollbar-color: #82989e #eef2f3; }
.incident-table { width: 100%; min-width: 1080px; border-collapse: collapse; table-layout: fixed; text-align: left; font-size: .9375rem; }
.incident-table th { position: sticky; z-index: 2; top: 0; padding: 14px 18px; background: #f4f7f7; color: var(--muted); border-bottom: 1px solid #d8e1e3; font-size: .78rem; font-weight: 750; }
.incident-table th:nth-child(1) { width: 29%; }
.incident-table th:nth-child(2) { width: 19%; }
.incident-table th:nth-child(3) { width: 17%; }
.incident-table th:nth-child(4) { width: 35%; }
.incident-table td { padding: 20px 18px; border-top: 1px solid #dfe6e8; vertical-align: top; overflow-wrap: anywhere; }
.incident-table tbody tr:hover { background: #fbfcfc; }
.incident-table td > p { margin: 8px 0; color: var(--muted); line-height: 1.5; }
.incident-table td > small, .incident-table td > p small { color: var(--muted); font-size: .78rem; }
.incident-reference { color: var(--teal); font-size: .86rem; letter-spacing: .015em; }
.incident-summary { color: var(--ink) !important; font-weight: 600; }
.hazard-name, .hazard-name + small { display: block; }
.hazard-name { margin-top: 12px; }
.hazard-name + small { margin-top: 3px; color: var(--muted); }
.assignment small, .assignment b, .latest-note small { display: block; }
.assignment b { margin-top: 2px; color: var(--ink); font-size: .9rem; }
.latest-note { padding: 10px 12px; background: #f4f7f7; border-radius: 7px; color: var(--ink) !important; font-size: .84rem; }
.latest-note small { margin-bottom: 3px; color: var(--muted); }
.survey-disclosure, .operation-disclosure { margin-top: 13px; }
.survey-disclosure summary, .operation-disclosure summary { width: fit-content; min-height: 38px; padding: 7px 0; color: var(--teal); cursor: pointer; font-size: .85rem; font-weight: 700; }
.survey-disclosure[open] summary, .operation-disclosure[open] summary { margin-bottom: 8px; }
.survey-disclosure dl { margin: 4px 0 0; }
.survey-disclosure dl > div { padding: 8px 0; border-top: 1px solid #e2e8e9; }
.survey-disclosure dt { color: var(--muted); font-size: .75rem; }
.survey-disclosure dd { margin: 2px 0 0; font-size: .84rem; }
.admin-evidence { width: min(100%, 320px); margin: 8px 0 0; overflow: hidden; border-radius: 8px; background: var(--navy); }
.admin-evidence img { display: block; width: 100%; max-height: 240px; object-fit: contain; }
.admin-evidence figcaption { padding: 8px 10px; color: #d8e3e6; font-size: .78rem; }
.operation-disclosure { padding-top: 2px; border-top: 1px solid #e1e8e9; }
.operation-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 6px; }
.operation-form label { min-width: 0; font-size: .84rem; }
.operation-form label:nth-of-type(3), .operation-form button { grid-column: 1 / -1; }
.operation-form select, .operation-form textarea { min-height: 44px; margin-top: 5px; padding: 8px 10px; font-size: .875rem; }
.operation-form textarea { min-height: 90px; }
.operation-form button { min-height: 44px; padding: 9px 14px; }

.dashboard-intelligence { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 20px; }
.weather-content { padding: 22px; }
.weather-content > small { display: block; margin-bottom: 13px; color: var(--muted); font-size: .8rem; }
.weather-content > p { font-size: .9375rem; }
.forecast-list { display: grid; gap: 14px; margin: 20px 0; }
.forecast-list > div { padding-top: 13px; border-top: 1px solid #e0e7e8; }
.forecast-list b, .forecast-list span { display: block; }
.forecast-list span { margin-top: 3px; color: var(--muted); font-size: .875rem; }
.weather-content > a { display: inline-flex; min-height: 44px; align-items: center; font-size: .9rem; font-weight: 700; }
.advisory-list { display: grid; padding: 4px 22px; }
.advisory-list a { display: flex; gap: 14px; align-items: start; padding: 18px 0; border-bottom: 1px solid #e0e7e8; text-decoration: none; }
.advisory-list a:last-child { border: 0; }
.advisory-list a:hover b { color: var(--teal); text-decoration: underline; }
.advisory-list b { color: var(--ink); font-size: .9375rem; }
.advisory-list small { display: block; margin-top: 5px; color: var(--muted); font-size: .78rem; }
.advisory-level { flex: none; font-style: normal; }

@media (max-width: 1260px) {
  .dashboard-filters { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
  .dashboard-overview { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .overview-lead { grid-column: 1 / -1; min-height: 118px; }
  .severity-panel, .trend-panel { grid-column: span 6; }
  .pipeline-panel { grid-column: span 5; }
  .areas-panel { grid-column: span 7; }
  .chart-panel { grid-column: span 12; }
  .bar-set { grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 0; }
}

/* BI command workspace */
.bi-dashboard-shell { width: min(100%, 1600px); padding-top: 24px; }
.bi-titlebar { align-items: center; margin-bottom: 18px; }
.bi-titlebar h1 { margin: 3px 0 5px; font-size: clamp(2.25rem, 3vw, 3.4rem); }
.dashboard-eyebrow, .visual-kicker { display: block; color: #16766f; font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.bi-titlebar .dashboard-actions { max-width: 520px; }

.bi-slicer-panel { margin-bottom: 12px; overflow: hidden; border: 1px solid #d2d0ce; border-radius: 5px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.bi-slicer-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 16px; border-bottom: 1px solid #e1dfdd; background: #faf9f8; }
.bi-slicer-heading h2 { margin: 2px 0 0; font: 750 1.05rem/1.2 var(--body-font); }
.filter-count { flex: none; padding: 4px 8px; border-radius: 4px; background: #e5eff9; color: #245e97; font-size: .72rem; font-weight: 750; }
.dashboard-filters.bi-slicers { grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 10px; padding: 13px 16px; }
.bi-slicers label { font-size: .72rem; }
.bi-slicers select { min-height: 38px; margin-top: 4px; padding-block: 6px; font-size: .8rem; }
.bi-slicers .filter-actions button, .bi-slicers .filter-actions a { min-height: 38px; padding: 7px 11px; }
.active-filter-list { display: flex; flex-wrap: wrap; gap: 7px; padding: 0 16px 13px; }
.active-filter-list a { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border: 1px solid #bdd0d4; border-radius: 4px; background: #f7fafa; color: #24414b; font-size: .72rem; text-decoration: none; }
.active-filter-list a:hover { border-color: #17776f; color: #075d56; }
.active-filter-list a span:first-child { color: #687a80; }
.active-filter-list a b { margin-left: 2px; font-size: 1rem; line-height: .8; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

.bi-context-row { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 16px; margin-bottom: 12px; padding: 10px 14px; border-radius: 5px; background: #243746; color: #fff; }
.bi-context-row > div:first-child span, .bi-context-row > div:first-child b { display: block; }
.bi-context-row > div:first-child span { color: #a9c2cc; font-size: .68rem; font-weight: 750; text-transform: uppercase; }
.bi-context-row > div:first-child b { margin-top: 2px; font-size: .87rem; white-space: nowrap; }
.bi-operational-alert { display: flex; align-items: center; justify-content: end; gap: 8px; min-width: 0; font-size: .78rem; text-align: right; }
.bi-operational-alert > span { flex: none; width: 8px; height: 8px; border-radius: 50%; background: #68d3b0; box-shadow: 0 0 0 4px rgba(104,211,176,.13); }
.bi-operational-alert.warning > span { background: #ffb14f; box-shadow: 0 0 0 4px rgba(255,177,79,.14); }
.bi-operational-alert.critical > span { background: #ff6571; box-shadow: 0 0 0 4px rgba(255,101,113,.14); }

.bi-kpi-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.bi-kpi { position: relative; min-width: 0; min-height: 126px; padding: 16px 16px 14px 20px; overflow: hidden; border: 1px solid #d2d0ce; border-radius: 5px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.bi-kpi::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: #118dff; }
.bi-kpi > span, .bi-kpi > b, .bi-kpi > small { display: block; }
.bi-kpi > span { color: #50636a; font-size: .76rem; font-weight: 750; }
.bi-kpi > b { margin: 10px 0 5px; color: #102a3a; font: 650 2.35rem/1 var(--display-font); font-variant-numeric: tabular-nums; }
.bi-kpi > small { color: #6a7a80; font-size: .75rem; line-height: 1.35; }
.bi-kpi.kpi-active::before { background: #118dff; }
.bi-kpi.kpi-critical::before { background: #cf3e4d; }
.bi-kpi.kpi-review::before { background: #e28a1f; }
.bi-kpi.kpi-team::before { background: #744ec2; }
.bi-kpi.kpi-resolved::before { background: #16865d; }


.bi-visual-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 12px; }
.bi-visual { min-width: 0; overflow: hidden; border: 1px solid #d2d0ce; border-radius: 5px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.bi-span-4 { grid-column: span 4; }
.bi-span-5 { grid-column: span 5; }
.bi-span-7 { grid-column: span 7; }
.bi-span-8 { grid-column: span 8; }
.bi-span-12 { grid-column: span 12; }
.bi-visual-header { display: flex; min-height: 78px; align-items: start; justify-content: space-between; gap: 16px; padding: 15px 17px 12px; border-bottom: 1px solid #e1dfdd; background: #fff; }
.bi-visual-header h2 { margin: 2px 0 0; font-size: 1.32rem; }
.bi-visual-header p { margin: 4px 0 0; color: #64757b; font-size: .8rem; line-height: 1.4; }
.visual-total { flex: none; padding: 4px 7px; border-radius: 4px; background: #e7f2f0; color: #126e66; font-size: .7rem; font-weight: 750; white-space: nowrap; }

.map-visual-header { align-items: center; }
.map-scope-chip { flex: none; padding: 6px 9px; border: 1px solid #9fc5c8; border-radius: 4px; background: #e7f4f2; color: #126e66; font-size: .68rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; white-space: nowrap; }
.bi-map-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(380px, .75fr); height: 760px; }
.bi-map-stage { position: relative; min-width: 0; min-height: 0; overflow: hidden; border-right: 1px solid #c8dce1; background: #bed7df; }
.bi-incident-map { position: absolute; inset: 0; z-index: 1; background-color: #cfe3e9; background-image: radial-gradient(circle at 50% 45%, rgba(255,255,255,.5), transparent 56%), linear-gradient(rgba(32,94,111,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(32,94,111,.05) 1px, transparent 1px); background-size: auto, 32px 32px, 32px 32px; }
.bi-map-status { position: absolute; z-index: 500; left: 14px; right: 14px; bottom: 14px; max-width: 620px; margin: 0 auto; padding: 9px 12px; border: 1px solid rgba(25,69,82,.2); border-radius: 6px; background: rgba(255,255,255,.94); box-shadow: 0 3px 12px rgba(9,38,56,.14); color: #294d59; font-size: .72rem; line-height: 1.4; text-align: center; pointer-events: none; }
.bi-map-status.warning { border-color: #e2aa4d; background: rgba(255,248,232,.96); color: #744900; }
.bi-map-status.error { border-color: #df8993; background: rgba(255,241,241,.97); color: #902d3a; }
.bi-heat-key { position: absolute; z-index: 500; top: 12px; right: 12px; display: grid; grid-template-columns: repeat(3, auto); align-items: center; gap: 7px 12px; padding: 10px 12px; border: 1px solid rgba(25,69,82,.18); border-radius: 5px; background: rgba(255,255,255,.96); box-shadow: 0 3px 12px rgba(9,38,56,.14); color: #405a64; font-size: .65rem; font-weight: 800; pointer-events: none; }
.bi-heat-key strong, .bi-heat-key small { grid-column: 1 / -1; }
.bi-heat-key strong { color: #172b36; font-size: .7rem; }
.bi-heat-key span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.bi-heat-key i { width: 11px; height: 11px; border: 2px solid rgba(0,0,0,.12); border-radius: 50%; box-shadow: 0 0 0 4px currentColor; }
.bi-heat-key i.green { background: #087f5b; color: rgba(8,127,91,.22); }
.bi-heat-key i.orange { background: #d97706; color: rgba(217,119,6,.22); }
.bi-heat-key i.red { background: #b91c2c; color: rgba(185,28,44,.22); }
.bi-heat-key small { color: #6b7479; font-size: .58rem; font-weight: 650; }
.bi-map-insights { min-width: 0; overflow: auto; background: #f7f9f9; }
.map-tools { padding: 15px; border-bottom: 1px solid #dce4e6; background: #f4f8f8; }
.map-tools-heading, .map-hotspot-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.map-tools-heading h3, .map-hotspot-heading h3 { margin: 2px 0 0; color: #123244; font: 800 .88rem/1.25 var(--body-font); }
.map-tools-heading button, .map-hotspot-heading button { flex: none; padding: 5px 8px; border: 1px solid #9cb6bd; border-radius: 4px; background: #fff; color: #1a5d6c; font: 800 .64rem/1.2 var(--body-font); cursor: pointer; }
.map-tools-heading button:hover, .map-hotspot-heading button:hover { border-color: #27768a; background: #e7f3f4; }
.map-tools-heading button:focus-visible, .map-hotspot-heading button:focus-visible, .map-filter-grid select:focus-visible, .map-filter-grid input:focus-visible, .map-layer-toggles input:focus-visible { outline: 3px solid #cc7a15; outline-offset: 2px; }
.map-filter-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 12px; }
.map-filter-grid label { color: #52676e; font-size: .65rem; font-weight: 800; }
.map-filter-grid label:last-child { grid-column: 1 / -1; }
.map-filter-grid select, .map-filter-grid input { width: 100%; min-height: 36px; margin-top: 4px; padding: 6px 28px 6px 8px; border: 1px solid #aebfc4; border-radius: 4px; background: #fff; color: #173542; font: 650 .7rem/1.2 var(--body-font); }
.map-filter-grid input { padding-right: 8px; }
.map-time-input[hidden] { display: none; }
.map-time-policy { margin: 10px 0 0; padding: 9px 10px; border-left: 3px solid #248195; background: #e7f3f4; color: #405d67; font-size: .65rem; line-height: 1.45; }
.map-time-policy b { color: #155d70; }
.map-layer-toggles { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 12px; min-width: 0; margin: 12px 0 0; padding: 10px; border: 1px solid #cad9dc; border-radius: 5px; background: #fff; }
.map-layer-toggles legend { padding: 0 5px; color: #52676e; font-size: .64rem; font-weight: 850; text-transform: uppercase; letter-spacing: .035em; }
.map-layer-toggles label { display: grid; grid-template-columns: 16px minmax(0, 1fr); align-items: start; gap: 5px; color: #284a55; font-size: .67rem; font-weight: 700; line-height: 1.3; cursor: pointer; }
.map-layer-toggles label small { grid-column: 2; margin-top: -3px; color: #7d642e; font-size: .6rem; font-weight: 700; }
.map-layer-toggles label.unavailable { opacity: .5; cursor: not-allowed; }
.map-layer-toggles input { width: 15px; height: 15px; margin: 0; accent-color: #0d766d; }
.map-filter-summary { margin: 9px 0 0; color: #61757d; font-size: .65rem; line-height: 1.35; }
.bi-map-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid #dce4e6; background: #fff; }
.bi-map-metrics > div { min-width: 0; padding: 13px 12px; border-left: 1px solid #e0e7e9; }
.bi-map-metrics > div:first-child { border: 0; }
.bi-map-metrics span, .bi-map-metrics b, .bi-map-metrics small { display: block; }
.bi-map-metrics span { color: #60737a; font-size: .65rem; font-weight: 750; }
.bi-map-metrics b { margin: 5px 0 2px; color: #123244; font: 650 1.65rem/1 var(--display-font); font-variant-numeric: tabular-nums; }
.bi-map-metrics small { color: #7a898e; font-size: .61rem; line-height: 1.25; }
.map-hotspot-card { padding: 15px; border-bottom: 1px solid #dce4e6; background: #0e3342; color: #eef8f8; }
.map-hotspot-card .visual-kicker { color: #7de0dd; }
.map-hotspot-heading h3 { color: #fff; }
.map-hotspot-heading button { border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.08); color: #fff; }
.map-hotspot-heading button:hover { border-color: #7de0dd; background: rgba(125,224,221,.14); }
.map-hotspot-card > p { margin: 7px 0 0; color: #bdd2d8; font-size: .68rem; line-height: 1.4; }
.map-hotspot-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 12px; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 5px; background: rgba(255,255,255,.16); }
.map-hotspot-grid > div { min-width: 0; padding: 9px 7px; background: #163f4e; }
.map-hotspot-grid span, .map-hotspot-grid b { display: block; }
.map-hotspot-grid span { min-height: 26px; color: #b9cfd5; font-size: .56rem; font-weight: 750; line-height: 1.25; text-transform: uppercase; letter-spacing: .025em; }
.map-hotspot-grid b { margin-top: 4px; color: #fff; font: 700 1rem/1 var(--display-font); font-variant-numeric: tabular-nums; }
.map-hotspot-details { display: grid; gap: 7px; margin: 12px 0 0; }
.map-hotspot-details > div { display: grid; grid-template-columns: minmax(92px, .7fr) minmax(0, 1.3fr); gap: 10px; padding-top: 7px; border-top: 1px solid rgba(255,255,255,.13); }
.map-hotspot-details dt { color: #a9c6cd; font-size: .62rem; }
.map-hotspot-details dd { margin: 0; color: #fff; font-size: .66rem; font-weight: 750; line-height: 1.35; overflow-wrap: anywhere; }
.map-selected-card { padding: 16px; border-bottom: 1px solid #dce4e6; background: #fff; }
.map-selected-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.map-selected-heading > b { color: #4e646d; font-size: .7rem; overflow-wrap: anywhere; text-align: right; }
.map-selected-card h3 { margin: 12px 0 4px; font: 750 1rem/1.3 var(--body-font); }
.map-selected-card > p { margin: 0; color: #61757d; font-size: .75rem; line-height: 1.4; }
.map-selected-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 12px; margin: 14px 0 0; }
.map-selected-facts > div { min-width: 0; padding-top: 8px; border-top: 1px solid #e3e9ea; }
.map-selected-facts .map-fact-wide { grid-column: 1 / -1; }
.map-selected-facts dt { color: #718187; font-size: .63rem; font-weight: 750; text-transform: uppercase; letter-spacing: .03em; }
.map-selected-facts dd { margin: 3px 0 0; color: #173542; font-size: .73rem; font-weight: 650; line-height: 1.38; overflow-wrap: anywhere; }
.map-selected-facts dd.map-value-verified { color: #08725a; }
.map-selected-facts dd.map-value-unverified, .map-selected-facts dd.map-value-stale { color: #9a5900; }
.map-selected-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 13px; }
.map-queue-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 38px; padding: 8px 11px; border-radius: 5px; background: #0d766d; color: #fff; font-size: .72rem; font-weight: 800; text-decoration: none; }
.map-queue-link:hover { background: #095e58; color: #fff; }
.map-area-filter { display: grid; place-items: center; min-height: 38px; padding: 8px 10px; border: 1px solid #98b7bf; border-radius: 5px; background: #f6fafa; color: #205a68; font-size: .68rem; font-weight: 800; text-align: center; text-decoration: none; }
.map-area-filter:hover { border-color: #27768a; background: #eaf5f6; color: #174b57; }
.map-report-browser { padding: 14px 15px 10px; }
.map-report-browser h3 { margin: 0 0 9px; font: 800 .72rem/1.2 var(--body-font); text-transform: uppercase; letter-spacing: .04em; }
.map-report-list { display: grid; max-height: 360px; gap: 6px; overflow-y: auto; padding: 2px 3px 3px 0; }
.map-report-list button { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; gap: 9px; align-items: center; width: 100%; min-height: 48px; padding: 7px 8px; border: 1px solid #d5dfe1; border-radius: 5px; background: #fff; color: #173542; text-align: left; cursor: pointer; }
.map-report-list button:hover, .map-report-list button[aria-current="true"] { border-color: #3d889f; background: #edf6f7; }
.map-report-list button:focus-visible { outline: 3px solid #cc7a15; outline-offset: 2px; }
.map-report-list button > i { width: 9px; height: 9px; border-radius: 50%; background: #2f9d69; }
.map-report-list button > i.orange { background: #e9961f; }
.map-report-list button > i.red { background: #d33f50; }
.map-report-list button span { min-width: 0; }
.map-report-list button b, .map-report-list button small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.map-report-list button b { font-size: .72rem; }
.map-report-list button small { margin-top: 2px; color: #6b7c82; font-size: .64rem; }
.map-report-list button em { color: #667980; font-size: .63rem; font-style: normal; font-weight: 750; }
.map-popup { display: grid; gap: 3px; min-width: 180px; color: #173542; }
.map-popup b { font-size: .78rem; }
.map-popup span { font-size: .72rem; line-height: 1.35; }
.map-popup small { color: #667980; font-size: .65rem; }
.map-visual .leaflet-container { font-family: var(--body-font); }
.map-visual .leaflet-control-attribution { background: rgba(255,255,255,.9); font-size: 9px; }
.map-visual .leaflet-popup-content-wrapper { border-radius: 7px; box-shadow: 0 5px 18px rgba(9,38,56,.22); }
.map-visual .geoportal-basemap { filter: saturate(.9) contrast(1) brightness(1.01); }
.map-visual .country-overview .geoportal-basemap { opacity: .7 !important; filter: saturate(.55) contrast(.56) brightness(1.24); }
.map-visual .philippines-map-mask { shape-rendering: geometricPrecision; }
.map-visual .ph-overview-label { border: 0; background: transparent; }
.map-visual .ph-overview-label span { display: block; width: 80px; padding: 4px 7px; border: 1px solid rgba(255,255,255,.72); border-radius: 4px; background: rgba(9,38,56,.86); box-shadow: 0 2px 7px rgba(9,38,56,.2); color: #fff; font-size: .67rem; font-weight: 850; letter-spacing: .08em; line-height: 1.1; text-align: center; text-transform: uppercase; white-space: nowrap; }
.map-visual .leaflet-heatmap-layer { mix-blend-mode: multiply; }
.map-visual .leaflet-control-zoom a { color: #173f52; }
.map-visual .incident-cluster { border: 0; border-radius: 50%; background: rgba(22,134,93,.92); box-shadow: 0 0 0 5px rgba(255,255,255,.78), 0 3px 12px rgba(9,38,56,.35); color: #fff; text-align: center; }
.map-visual .incident-cluster.cluster-orange { background: rgba(226,138,31,.95); }
.map-visual .incident-cluster.cluster-red { background: rgba(207,62,77,.95); }
.map-visual .incident-cluster.selected { box-shadow: 0 0 0 5px #092638, 0 3px 13px rgba(9,38,56,.42); }
.map-visual .incident-cluster span, .map-visual .incident-cluster small { display: block; }
.map-visual .incident-cluster span { padding-top: 10px; font: 800 1.15rem/1 var(--display-font); }
.map-visual .incident-cluster small { margin-top: 2px; font-size: .52rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }

.bi-chart-wrap { width: 100%; overflow-x: auto; padding: 6px 10px 0; }
.bi-combo-chart { display: block; width: 100%; min-width: 680px; height: auto; }
.chart-grid-line { stroke: #dfe7e9; stroke-width: 1; }
.chart-axis-label { fill: #667980; font: 11px var(--body-font); }
.chart-x-label { font-size: 10px; }
.trend-area { fill: url(#trend-area-fill); }
.trend-total-line { fill: none; stroke: #236ca1; stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.trend-point { fill: #fff; stroke: #236ca1; stroke-width: 2; }
.chart-day rect { opacity: .92; }
.chart-day:hover rect { opacity: 1; filter: brightness(.92); }
.bi-chart-legend, .priority-legend { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.bi-chart-legend { justify-content: center; padding: 0 16px 14px; }
.bi-chart-legend span, .priority-legend span { display: inline-flex; align-items: center; gap: 5px; color: #52666d; font-size: .68rem; font-weight: 700; }
.bi-chart-legend span::before, .priority-legend span::before { content: ""; width: 9px; height: 9px; border-radius: 2px; background: #236ca1; }
.bi-chart-legend .total::before { width: 13px; height: 3px; border-radius: 2px; }
.bi-chart-legend .green::before, .priority-legend .green::before { background: #2f9d69; }
.bi-chart-legend .orange::before, .priority-legend .orange::before { background: #ec9a24; }
.bi-chart-legend .red::before, .priority-legend .red::before { background: #d14452; }

.bi-funnel { display: grid; gap: 14px; padding: 18px; }
.bi-funnel-row { display: block; padding: 7px 9px; border: 1px solid transparent; border-radius: 6px; color: #102a3a; text-decoration: none; }
.bi-funnel-row:hover, .bi-funnel-row.selected { border-color: #9dbbc4; background: #f4f8f8; }
.bi-funnel-row > div { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 6px; font-size: .78rem; font-weight: 750; }
.bi-funnel-row > div b { font-variant-numeric: tabular-nums; }
.bi-funnel-track { display: block; height: 13px; overflow: hidden; border-radius: 3px; background: #edf1f2; }
.bi-funnel-track i { display: block; height: 100%; border-radius: 3px; }
.bi-funnel-row small { display: block; margin-top: 4px; color: #687b82; font-size: .72rem; }

.priority-legend { justify-content: end; padding-top: 4px; }
.bi-stacked-list { display: grid; gap: 4px; padding: 14px 17px 18px; }
.bi-stack-row { display: grid; grid-template-columns: minmax(120px, 34%) minmax(0, 1fr); gap: 14px; align-items: center; padding: 9px 10px; border: 1px solid transparent; border-radius: 6px; color: #102a3a; text-decoration: none; }
.bi-stack-row:hover, .bi-stack-row.selected { border-color: #9dbbc4; background: #f4f8f8; }
.bi-stack-label b, .bi-stack-label span { display: block; overflow-wrap: anywhere; }
.bi-stack-label b { font-size: .78rem; }
.bi-stack-label span { margin-top: 2px; color: #708087; font-size: .72rem; }
.bi-stack-track { display: flex; height: 18px; overflow: hidden; border-radius: 3px; background: #edf1f2; }
.bi-stack-track i { display: block; height: 100%; }
.bi-stack-track .green { background: #2f9d69; }
.bi-stack-track .orange { background: #ec9a24; }
.bi-stack-track .red { background: #d14452; }

.bi-gauge-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 18px 17px 12px; }
.bi-gauge { display: grid; justify-items: center; min-width: 0; text-align: center; }
.bi-gauge > div { width: min(88px, 100%); aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--gauge-color) calc(var(--value) * 1%), #e6ecee 0); }
.bi-gauge > div::before { content: ""; grid-area: 1 / 1; width: 70%; aspect-ratio: 1; border-radius: 50%; background: #fff; }
.bi-gauge b { z-index: 1; grid-area: 1 / 1; font-size: 1.08rem; font-variant-numeric: tabular-nums; }
.bi-gauge > span { margin-top: 7px; color: #51666d; font-size: .68rem; font-weight: 750; }
.bi-time-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 12px 17px 18px; border-top: 1px solid #e0e7e9; }
.bi-time-grid > div { min-width: 0; padding: 0 11px; border-left: 1px solid #e0e7e9; }
.bi-time-grid > div:first-child { padding-left: 0; border: 0; }
.bi-time-grid dt { color: #667980; font-size: .7rem; }
.bi-time-grid dd { margin: 4px 0 2px; font-size: .88rem; font-weight: 800; overflow-wrap: anywhere; }
.bi-time-grid small { color: #78888e; font-size: .68rem; }

.bi-area-table-wrap { overflow-x: auto; }
.bi-area-table { width: 100%; min-width: 630px; border-collapse: collapse; text-align: left; font-size: .78rem; }
.bi-area-table th { padding: 9px 12px; background: #f5f7f8; color: #62747b; font-size: .7rem; text-transform: uppercase; letter-spacing: .03em; }
.bi-area-table th:not(:nth-child(2)), .bi-area-table td:not(:nth-child(2)) { text-align: center; }
.bi-area-table td { position: relative; z-index: 0; padding: 10px 12px; border-top: 1px solid #e2e8e9; font-variant-numeric: tabular-nums; }
.bi-area-table tr { background: linear-gradient(90deg, rgba(40,123,157,.07) var(--area-share), transparent var(--area-share)); }
.bi-area-table a { color: #102a3a; text-decoration: none; }
.bi-area-table a:hover b { color: #0c766e; text-decoration: underline; }
.bi-area-table a b, .bi-area-table a small { display: block; }
.bi-area-table a small { margin-top: 2px; color: #6b7c82; font-size: .7rem; }
.visual-footnote { margin: 0; padding: 10px 14px; border-top: 1px solid #e0e7e9; background: #f8fafa; color: #687a80; font-size: .7rem; line-height: 1.4; }

.bi-aging-list { display: grid; gap: 10px; padding: 17px; }
.bi-aging-list > div > div { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 4px; color: #465c64; font-size: .7rem; }
.bi-aging-list > div > div b { color: #102a3a; font-variant-numeric: tabular-nums; }
.bi-aging-list > div > span { display: block; height: 9px; overflow: hidden; border-radius: 2px; background: #e9eef0; }
.bi-aging-list > div > span i { display: block; height: 100%; min-width: 2px; background: #2e7fa4; }
.bi-aging-list > div > span i.late { background: #d34a56; }
.bi-needs-block { padding: 14px 17px 18px; border-top: 1px solid #e0e7e9; }
.bi-needs-block h3 { margin: 0 0 11px; font: 750 .82rem/1.2 var(--body-font); }
.bi-needs-block > p { margin: 0; color: #687b82; font-size: .72rem; }
.bi-need-list { display: grid; gap: 8px; }
.bi-need-list > div { display: grid; grid-template-columns: minmax(100px, 42%) minmax(0, 1fr) 22px; gap: 8px; align-items: center; font-size: .72rem; }
.bi-need-list > div > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bi-need-list > div > span:nth-child(2) { height: 7px; overflow: hidden; border-radius: 2px; background: #e9eef0; }
.bi-need-list i { display: block; height: 100%; background: #7b57b4; }
.bi-need-list b { text-align: right; font-variant-numeric: tabular-nums; }

.bi-dashboard-shell .incident-panel { margin-top: 14px; }
.bi-dashboard-shell .incident-panel .panel-title { min-height: 82px; }

@media (max-width: 1320px) {
  .dashboard-filters.bi-slicers { grid-template-columns: repeat(3, minmax(150px, 1fr)) auto; }
  .bi-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .bi-span-4, .bi-span-5, .bi-span-7, .bi-span-8 { grid-column: span 12; }
  .bi-titlebar { align-items: start; }
  .bi-titlebar .dashboard-actions { max-width: none; }
  .dashboard-filters.bi-slicers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bi-slicers .filter-actions { grid-column: 1 / -1; }
  .bi-map-layout { grid-template-columns: 1fr; height: auto; }
  .bi-map-stage { min-height: 500px; border-right: 0; border-bottom: 1px solid #d9e2e4; }
  .bi-map-insights { overflow: visible; }
}
@media (max-width: 720px) {
  .bi-dashboard-shell { padding-top: 24px; }
  .dashboard-filters.bi-slicers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bi-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bi-context-row { grid-template-columns: 1fr; }
  .bi-operational-alert { justify-content: start; text-align: left; }
  .bi-visual-grid { gap: 11px; }
  .bi-visual-header { min-height: 0; flex-wrap: wrap; }
  .bi-map-stage { min-height: 430px; }
}
@media (max-width: 480px) {
  .bi-slicer-heading { align-items: start; }
  .dashboard-filters.bi-slicers, .bi-kpi-grid { grid-template-columns: 1fr; }
  .bi-slicers .filter-actions { grid-column: 1 / -1; }
  .bi-kpi { min-height: 110px; }
  .bi-stack-row { grid-template-columns: 1fr; gap: 7px; }
  .priority-legend { justify-content: start; }
  .bi-gauge-grid { gap: 5px; padding-inline: 10px; }
  .bi-time-grid { grid-template-columns: 1fr; gap: 10px; }
  .bi-time-grid > div, .bi-time-grid > div:first-child { padding: 0 0 10px; border: 0; border-bottom: 1px solid #e0e7e9; }
  .bi-time-grid > div:last-child { padding-bottom: 0; border: 0; }
  .map-visual-header .priority-legend { width: 100%; }
  .bi-map-stage { min-height: 380px; }
  .bi-map-metrics { grid-template-columns: 1fr 1fr; }
  .bi-map-metrics > div:nth-child(3) { grid-column: 1 / -1; border-top: 1px solid #e0e7e9; border-left: 0; }
  .map-filter-grid, .map-layer-toggles { grid-template-columns: 1fr; }
  .map-filter-grid label:last-child { grid-column: auto; }
  .map-hotspot-grid { grid-template-columns: 1fr 1fr; }
  .map-selected-facts { grid-template-columns: 1fr; }
  .map-selected-facts .map-fact-wide { grid-column: auto; }
  .map-selected-actions { grid-template-columns: 1fr; }
  .bi-map-status { left: 8px; right: 8px; bottom: 8px; }
  .bi-heat-key { top: 8px; right: 8px; gap: 6px 9px; padding: 8px 9px; }
  .bi-heat-key small { display: none; }
}
@media (max-width: 900px) {
  .dashboard-intro { flex-direction: column; align-items: start; }
  .dashboard-actions { justify-content: start; }
  .dashboard-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bi-insight-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .severity-panel, .trend-panel, .pipeline-panel, .areas-panel { grid-column: span 12; }
  .chart-panel.half-chart { grid-column: span 12; }
  .dashboard-intelligence { grid-template-columns: 1fr; }
  .table-scroll-hint { display: block; }
}
@media (max-width: 700px) {
  .dashboard-shell { padding: 28px 16px 56px; }
  .dashboard-gate.reports-home { padding: 24px 16px 52px; }
  .dashboard-gate.reports-home > section { padding: 26px 22px; }
  .reports-home-heading { align-items: start; flex-direction: column; gap: 18px; }
  .reports-home-heading h1 { font-size: 2.75rem; }
  .reports-new-action { width: 100%; }
  .reports-home-summary { grid-template-columns: 1fr; }
  .reports-list-heading { align-items: start; flex-direction: column; gap: 9px; }
  .dashboard-intro h1 { font-size: 2.8rem; }
  .dashboard-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .overview-lead { grid-column: 1 / -1; }
  .metric-card { min-height: 132px; }
  .dashboard-command-grid, .dashboard-intelligence { gap: 14px; margin-top: 14px; }
  .incident-panel { margin-top: 14px; }
  .panel-title { min-height: 0; padding: 18px; flex-wrap: wrap; }
  .severity-content { grid-template-columns: 145px minmax(0, 1fr); gap: 16px; padding: 20px 16px; }
  .severity-ring { width: 140px; }
  .severity-ring > div { width: 86px; }
  .bar-set { grid-template-columns: 1fr; padding: 20px 18px; }
  .area-table { min-width: 0; }
  .area-table thead, .incident-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .area-table tbody { display: grid; gap: 10px; padding: 12px; }
  .area-table tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 10px; border: 1px solid #dce4e6; border-radius: 8px; }
  .area-table td, .area-table td:not(:first-child) { display: block; padding: 8px; border: 0; text-align: left; }
  .area-table td:first-child { grid-column: 1 / -1; display: flex; padding-bottom: 12px; border-bottom: 1px solid #e0e7e8; }
  .area-table td::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--muted); font-size: .75rem; font-weight: 700; }
  .area-table td:first-child::before { display: none; }
  .queue-scroll { max-height: none; overflow: visible; }
  .table-scroll-hint { display: none; }
  .incident-table { display: block; min-width: 0; }
  .incident-table tbody { display: grid; gap: 12px; padding: 12px; }
  .incident-table tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #dce4e6; border-radius: 9px; overflow: hidden; }
  .incident-table td { display: block; padding: 16px; border: 0; }
  .incident-table td:nth-child(1), .incident-table td:nth-child(4) { grid-column: 1 / -1; }
  .incident-table td:nth-child(2), .incident-table td:nth-child(3), .incident-table td:nth-child(4) { border-top: 1px solid #e0e7e8; }
  .incident-table td:nth-child(3) { border-left: 1px solid #e0e7e8; }
  .incident-table td::before { content: attr(data-label); display: block; margin-bottom: 9px; color: var(--muted); font-size: .75rem; font-weight: 750; text-transform: uppercase; letter-spacing: .03em; }
  .operation-disclosure { margin-top: 16px; }
}
@media (max-width: 460px) {
  .dashboard-gate { padding: 32px 16px 48px; }
  .dashboard-gate > section { padding: 28px 22px; }
  .dashboard-gate h1 { font-size: 2.6rem; }
  .dashboard-gate.reports-home > section { padding: 23px 18px; }
  .account-report-list > a { grid-template-columns: 1fr; padding: 16px; }
  .account-report-status { width: fit-content; min-width: 88px; }
  .account-report-list > a > small { grid-column: auto; }
  .dashboard-intro h1 { font-size: 2.55rem; }
  .dashboard-actions { align-items: start; flex-direction: column; }
  .dashboard-export-menu, .dashboard-export-menu > summary { width: 100%; }
  .dashboard-export-menu > summary { justify-content: space-between; }
  .dashboard-export-options { right: auto; left: 0; }
  .dashboard-refresh { width: 100%; justify-content: center; }
  .filter-heading { align-items: start; }
  .dashboard-filters, .bi-insight-strip { grid-template-columns: 1fr; }
  .filter-actions, .filter-actions button, .filter-actions a { width: 100%; }
  .overview-lead { padding: 20px; }
  .metric-card { min-height: 128px; padding: 18px 14px 14px; }
  .metric-card > span { min-height: 40px; font-size: .82rem; }
  .metric-card > b { font-size: 2.35rem; }
  .metric-card > small { font-size: .72rem; }
  .severity-content { grid-template-columns: 1fr; justify-items: center; }
  .severity-key { width: 100%; }
  .daily-chart { height: 220px; gap: 5px; padding-inline: 10px; }
  .wide-date { display: none; }
  .compact-date { display: inline; }
  .daily-column > small { font-size: .75rem; }
  .pipeline-list, .weather-content { padding: 18px; }
  .advisory-list { padding-inline: 18px; }
  .operation-form { grid-template-columns: 1fr; }
  .operation-form label:nth-of-type(3), .operation-form button { grid-column: auto; }
}

/* Rich incident drill-through */
.map-selected-card { position: relative; padding: 17px; border-bottom: 1px solid #dce4e6; background: #fff; box-shadow: inset 4px 0 #497b93; transition: box-shadow 160ms ease-out, background-color 160ms ease-out; }
.map-selected-card.priority-green { box-shadow: inset 4px 0 #16865d; }
.map-selected-card.priority-orange { box-shadow: inset 4px 0 #e28a1f; }
.map-selected-card.priority-red { box-shadow: inset 4px 0 #cf3e4d; }
.map-selected-group { display: block; margin-top: 13px; color: #687b82; font-size: .63rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.map-selected-card h3 { margin: 4px 0; font: 800 1.05rem/1.3 var(--body-font); }
.map-selected-card > p { margin: 0; color: #536b74; font-size: .74rem; line-height: 1.45; }
.map-action-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 13px; }
.map-action-strip > div { min-width: 0; padding: 8px; border: 1px solid #d9e2e4; border-radius: 5px; background: #f7f9f9; }
.map-action-strip span, .map-action-strip b { display: block; }
.map-action-strip span { color: #6e7f85; font-size: .59rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.map-action-strip b { margin-top: 4px; color: #173542; font-size: .68rem; line-height: 1.25; overflow-wrap: anywhere; }
.map-action-strip > div.urgent { border-color: #e5a7ae; background: #fff0f1; }
.map-action-strip > div.urgent b { color: #ad2638; }
.map-impact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 7px; overflow: hidden; border: 1px solid #cfe0e3; border-radius: 5px; background: #0f3544; color: #fff; }
.map-impact-grid > div { min-width: 0; padding: 10px 8px; border-left: 1px solid rgba(255,255,255,.14); text-align: center; }
.map-impact-grid > div:first-child { border-left: 0; }
.map-impact-grid b, .map-impact-grid span { display: block; }
.map-impact-grid b { color: #79ddd8; font: 700 1.35rem/1 var(--display-font); font-variant-numeric: tabular-nums; }
.map-impact-grid span { margin-top: 4px; color: #c8dade; font-size: .59rem; line-height: 1.25; }
.map-assessment-section, .map-needs-section { margin-top: 13px; padding-top: 12px; border-top: 1px solid #dfe7e8; }
.map-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.map-section-heading span, .map-needs-section > span { color: #173542; font-size: .7rem; font-weight: 850; }
.map-section-heading small { color: #77878c; font-size: .59rem; }
.map-assessment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin: 8px 0 0; }
.map-assessment-grid > div { min-width: 0; padding: 8px; border: 1px solid #dce5e7; border-radius: 5px; background: #f7f9f9; }
.map-assessment-grid dt { color: #6d7e84; font-size: .59rem; line-height: 1.3; }
.map-assessment-grid dd { margin: 4px 0 0; color: #173542; font-size: .69rem; font-weight: 750; line-height: 1.35; overflow-wrap: anywhere; }
.map-assessment-grid .map-assessment-empty { grid-column: 1 / -1; }
.map-narrative-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-top: 7px; }
.map-narrative-grid > div { min-width: 0; padding: 9px; border-left: 3px solid #4e91a9; background: #f1f6f7; }
.map-narrative-grid > div.wide { grid-column: 1 / -1; }
.map-narrative-grid span { color: #5f737a; font-size: .59rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.map-narrative-grid p { margin: 4px 0 0; color: #173542; font-size: .68rem; line-height: 1.4; overflow-wrap: anywhere; }
.map-need-chips { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.map-need-chips i { padding: 5px 7px; border: 1px solid #9acbc5; border-radius: 4px; background: #e8f5f2; color: #0b685f; font-size: .62rem; font-style: normal; font-weight: 750; }
.map-need-chips i.none { border-color: #d8e0e2; background: #f5f7f7; color: #6b7c82; }
.map-selected-facts { gap: 8px 11px; margin-top: 13px; }
.map-selected-facts > div { padding-top: 7px; }
.map-selected-actions { margin-top: 12px; }

.map-popup { display: grid; min-width: 235px; gap: 6px; color: #173542; }
.map-popup-header { display: flex; align-items: center; gap: 7px; }
.map-popup-header i { flex: none; padding: 3px 6px; border-radius: 3px; background: #16865d; color: #fff; font-size: .62rem; font-style: normal; font-weight: 850; text-transform: uppercase; }
.map-popup.priority-orange .map-popup-header i { background: #d77d0d; }
.map-popup.priority-red .map-popup-header i { background: #c63243; }
.map-popup-header b { font-size: .86rem; }
.map-popup > strong { font-size: .75rem; }
.map-popup > span { color: #536b74; font-size: .7rem; line-height: 1.35; }
.map-popup-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid #d7e2e4; border-radius: 4px; background: #f4f8f8; }
.map-popup-metrics small { padding: 6px 5px; border-left: 1px solid #dce5e7; color: #294b57; font-size: .6rem; font-weight: 750; line-height: 1.25; text-align: center; }
.map-popup-metrics small:first-child { border-left: 0; }
.map-popup-status { color: #244f5e; font-size: .65rem; font-weight: 750; }
.map-popup-freshness { color: #687b82; font-size: .62rem; }
.map-popup-hint { padding-top: 5px; border-top: 1px solid #e0e7e8; color: #0d766d; font-size: .6rem; font-weight: 750; }

/* Disaster-specific assessment analytics */
.disaster-profile-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 12px; background: #f3f7f7; }
.disaster-profile-card { min-width: 0; overflow: hidden; border: 1px solid #cbd8db; border-radius: 7px; background: #fff; }
.disaster-profile-card > header { display: flex; align-items: start; justify-content: space-between; gap: 12px; padding: 13px 14px 11px; border-bottom: 1px solid #dfe7e8; }
.disaster-profile-card > header span { display: block; color: #687b82; font-size: .59rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.disaster-profile-card > header h3 { margin: 3px 0 0; font: 800 1rem/1.2 var(--body-font); }
.disaster-profile-card > header a { flex: none; padding: 5px 7px; border: 1px solid #9cc5c3; border-radius: 4px; background: #e9f5f3; color: #0b685f; font-size: .65rem; font-weight: 800; text-decoration: none; }
.disaster-profile-card > header a:hover { border-color: #0d766d; background: #dff0ed; }
.profile-command-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: #123746; color: #fff; }
.profile-command-metrics > div { min-width: 0; padding: 10px; border-left: 1px solid rgba(255,255,255,.12); text-align: center; }
.profile-command-metrics > div:first-child { border-left: 0; }
.profile-command-metrics b, .profile-command-metrics span { display: block; }
.profile-command-metrics b { color: #77ddd8; font: 700 1.35rem/1 var(--display-font); font-variant-numeric: tabular-nums; }
.profile-command-metrics span { margin-top: 4px; color: #c7dade; font-size: .61rem; }
.profile-priority { padding: 11px 13px; border-bottom: 1px solid #e1e8e9; }
.profile-priority > div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.profile-priority > div span { font-size: .68rem; font-weight: 800; }
.profile-priority > div small { color: #687b82; font-size: .58rem; text-align: right; }
.profile-priority-track { display: flex; height: 12px; overflow: hidden; border-radius: 3px; background: #e9eef0; }
.profile-priority-track i { display: block; height: 100%; }
.profile-priority-track .green { background: #2f9d69; }
.profile-priority-track .orange { background: #ec9a24; }
.profile-priority-track .red { background: #d14452; }
.profile-chart-block { padding: 11px 13px; border-bottom: 1px solid #e1e8e9; }
.profile-chart-block h4 { margin: 0 0 8px; color: #173542; font: 800 .68rem/1.25 var(--body-font); }
.profile-chart-block > p { margin: 0; color: #6d7e84; font-size: .66rem; }
.profile-bars { display: grid; gap: 6px; }
.profile-bars > div { display: grid; grid-template-columns: minmax(80px, 42%) minmax(0, 1fr) 20px; gap: 7px; align-items: center; }
.profile-bars > div > span:first-child { overflow: hidden; color: #4d626a; font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.profile-bars > div > span:nth-child(2) { height: 7px; overflow: hidden; border-radius: 2px; background: #e8edef; }
.profile-bars i { display: block; min-width: 2px; height: 100%; background: #2c7e9f; }
.profile-chart-block.condition .profile-bars i { background: #7860ad; }
.profile-bars b { font-size: .64rem; font-variant-numeric: tabular-nums; text-align: right; }
.profile-numeric-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #dfe7e8; }
.profile-numeric-grid > div { min-width: 0; padding: 10px 12px; background: #f8fafa; }
.profile-numeric-grid span, .profile-numeric-grid b, .profile-numeric-grid small { display: block; }
.profile-numeric-grid span { color: #718187; font-size: .55rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.profile-numeric-grid b { margin: 3px 0; color: #0d766d; font: 700 1.25rem/1 var(--display-font); font-variant-numeric: tabular-nums; }
.profile-numeric-grid small { color: #50666e; font-size: .59rem; line-height: 1.25; }

/* Structured assessment drawer in the response queue */
.survey-disclosure[open] { padding: 10px; border: 1px solid #c9dadd; border-radius: 7px; background: #f6f9f9; }
.survey-disclosure[open] summary { margin: -4px 0 8px; }
.assessment-sheet { overflow: hidden; border: 1px solid #cbd8db; border-radius: 7px; background: #fff; }
.assessment-sheet-header { display: flex; align-items: start; justify-content: space-between; gap: 10px; padding: 12px; border-bottom: 1px solid #dce5e7; }
.assessment-sheet-header span:first-child { color: #687b82; font-size: .58rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.assessment-sheet-header h3 { margin: 3px 0 0; font: 800 .84rem/1.3 var(--body-font); }
.assessment-command-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: #123746; color: #fff; }
.assessment-command-strip > div { min-width: 0; padding: 9px 7px; border-left: 1px solid rgba(255,255,255,.12); }
.assessment-command-strip > div:first-child { border-left: 0; }
.assessment-command-strip span, .assessment-command-strip b { display: block; }
.assessment-command-strip span { color: #bad1d7; font-size: .55rem; }
.assessment-command-strip b { margin-top: 3px; color: #fff; font-size: .64rem; overflow-wrap: anywhere; }
.assessment-command-strip b.urgent-text { color: #ffb7bd; }
.assessment-block { padding: 12px; border-top: 1px solid #e0e7e8; }
.assessment-command-strip + .assessment-block { border-top: 0; }
.assessment-block-title { display: flex; gap: 8px; align-items: start; margin-bottom: 9px; }
.assessment-block-title > span { flex: none; color: #118078; font: 800 .82rem/1 var(--display-font); }
.assessment-block-title h4 { margin: 0; font: 800 .72rem/1.2 var(--body-font); }
.assessment-block-title p { margin: 3px 0 0; color: #6b7c82; font-size: .59rem; line-height: 1.3; }
.assessment-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin: 0; }
.assessment-card-grid > div { min-width: 0; padding: 8px; border: 1px solid #dce5e7; border-radius: 5px; background: #f7f9f9; }
.assessment-card-grid .wide { grid-column: 1 / -1; }
.assessment-card-grid dt { color: #6b7c82; font-size: .57rem; line-height: 1.3; }
.assessment-card-grid dd { margin: 3px 0 0; color: #173542; font-size: .66rem; font-weight: 750; line-height: 1.35; overflow-wrap: anywhere; }
.assessment-narratives { display: grid; gap: 6px; }
.assessment-narratives > div { padding: 8px; border-left: 3px solid #488ca4; background: #f1f6f7; }
.assessment-narratives span { color: #667980; font-size: .56rem; font-weight: 800; text-transform: uppercase; }
.assessment-narratives p { margin: 3px 0 0; color: #173542; font-size: .65rem; line-height: 1.4; }
.assessment-need-list { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.assessment-need-list span { padding: 4px 6px; border: 1px solid #9acbc5; border-radius: 4px; background: #e8f5f2; color: #0b685f; font-size: .58rem; font-weight: 750; }
.assessment-need-list span.none { border-color: #d8e0e2; background: #f5f7f7; color: #6b7c82; }
.assessment-empty { margin: 0; padding: 9px; background: #f5f7f7; color: #687b82; font-size: .64rem; line-height: 1.4; }
.evidence-block .admin-evidence { width: 100%; margin: 0; }

@media (min-width: 701px) {
  .incident-table tr:has(.survey-disclosure[open]) td:not(:first-child) { visibility: hidden; }
  .survey-disclosure[open] { position: relative; z-index: 3; width: min(calc(345% + 90px), calc(100vw - 94px), 1528px); box-shadow: 0 14px 34px rgba(9,38,56,.14); }
  .assessment-sheet { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .assessment-sheet-header, .assessment-command-strip, .evidence-block { grid-column: 1 / -1; }
  .assessment-block { border-top: 1px solid #e0e7e8; }
  .assessment-block:nth-of-type(even) { border-left: 1px solid #e0e7e8; }
  .assessment-card-grid.situation { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .assessment-narratives { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .evidence-block .admin-evidence { width: min(100%, 540px); }
}

@media (max-width: 1180px) {
  .disaster-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .disaster-profile-grid { grid-template-columns: 1fr; }
  .map-action-strip, .map-impact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .map-assessment-grid, .map-narrative-grid, .assessment-card-grid { grid-template-columns: 1fr; }
  .map-narrative-grid > div.wide, .assessment-card-grid .wide { grid-column: auto; }
  .map-action-strip { grid-template-columns: 1fr; }
  .map-impact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .map-selected-card { transition: none; }
}

/* Live command center */
.live-command { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(330px, .75fr); gap: 12px; margin: 14px 0 12px; }
.live-feed-panel, .duplicate-panel { min-width: 0; overflow: hidden; border: 1px solid #c7d5d8; border-radius: 9px; background: #fff; box-shadow: 0 3px 10px rgba(17,45,56,.045); }
.live-panel-header { display: flex; min-height: 92px; align-items: center; justify-content: space-between; gap: 22px; padding: 16px 18px; border-bottom: 1px solid #dce5e7; background: #f7f9f9; }
.live-panel-header.compact { align-items: start; }
.live-panel-header h2, .live-panel-header p { margin: 0; }
.live-panel-header h2 { margin-top: 2px; font: 800 1.22rem/1.2 var(--body-font); }
.live-panel-header p { margin-top: 4px; color: #5b6f76; font-size: .78rem; line-height: 1.4; }
.live-connection { display: flex; flex: none; align-items: center; gap: 9px; min-width: 132px; padding: 8px 10px; border: 1px solid #a8c9c1; border-radius: 6px; background: #eaf5f1; color: #145e48; }
.live-connection > i { display: block; flex: none; width: 9px; height: 9px; border-radius: 50%; background: #20875e; box-shadow: 0 0 0 4px rgba(32,135,94,.12); }
.live-connection span, .live-connection b, .live-connection small { display: block; }
.live-connection b { font-size: .76rem; }
.live-connection small { margin-top: 2px; font-size: .62rem; white-space: nowrap; }
.live-connection[data-state="connecting"] > i { background: #d78b1e; box-shadow: 0 0 0 4px rgba(215,139,30,.13); animation: live-pulse 1.2s ease-in-out infinite; }
.live-connection[data-state="connecting"] { border-color: #e2c28c; background: #fff6e7; color: #7c5312; }
.live-connection[data-state="error"] > i { background: #c83e4d; box-shadow: 0 0 0 4px rgba(200,62,77,.12); }
.live-connection[data-state="error"] { border-color: #dfaab0; background: #fff0f1; color: #972d39; }
@keyframes live-pulse { 50% { opacity: .35; transform: scale(.75); } }
.live-feed-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid #dce5e7; background: #103746; color: #fff; }
.live-feed-summary > div { min-width: 0; padding: 11px 16px; border-left: 1px solid rgba(255,255,255,.12); }
.live-feed-summary > div:first-child { border-left: 0; }
.live-feed-summary span, .live-feed-summary b { display: block; }
.live-feed-summary span { color: #bed1d6; font-size: .63rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.live-feed-summary b { margin-top: 3px; color: #78ddd8; font: 700 1.45rem/1 var(--display-font); font-variant-numeric: tabular-nums; }
.live-feed-list { max-height: 390px; overflow-y: auto; }
.live-feed-row { position: relative; display: grid; grid-template-columns: 10px minmax(210px, 1fr) minmax(112px, auto); gap: 12px; align-items: center; min-height: 66px; padding: 11px 16px; border-bottom: 1px solid #e3e9ea; color: #173542; text-decoration: none; }
.live-feed-row:last-child { border-bottom: 0; }
.live-feed-row:hover, .live-feed-row:focus-visible { z-index: 1; background: #eff7f6; box-shadow: inset 4px 0 #147f77; }
.live-priority-dot { width: 9px; height: 9px; border-radius: 50%; background: #239464; box-shadow: 0 0 0 4px #e4f3eb; }
.priority-orange .live-priority-dot { background: #df8a1d; box-shadow: 0 0 0 4px #fff0da; }
.priority-red .live-priority-dot { background: #ce4050; box-shadow: 0 0 0 4px #fde8eb; }
.live-feed-main, .live-feed-state { min-width: 0; }
.live-feed-main b, .live-feed-main small, .live-feed-state b, .live-feed-state small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-feed-main b { font-size: .82rem; }
.live-feed-main small, .live-feed-state small { margin-top: 3px; color: #687b82; font-size: .64rem; }
.live-feed-state { padding-left: 10px; border-left: 3px solid #4b85b7; }
.live-feed-state b { font-size: .7rem; }
.live-feed-state.status-verified { border-color: #dc8618; }
.live-feed-state.status-dispatched { border-color: #7453b8; }
.live-feed-state.status-resolved { border-color: #16845a; }
.live-empty { margin: 0; padding: 34px 20px; color: #61757c; text-align: center; }
.duplicate-total { display: grid; flex: none; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #e5eff9; color: #245e97; font-weight: 850; }
.duplicate-list { max-height: 500px; overflow-y: auto; padding: 10px; background: #f3f7f7; }
.duplicate-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; margin-bottom: 8px; padding: 13px; border: 1px solid #d6e0e2; border-left: 4px solid #d38b22; border-radius: 6px; background: #fff; }
.duplicate-card:last-child { margin-bottom: 0; }
.duplicate-card.confidence-high { border-left-color: #c64050; }
.duplicate-card > div:first-child span, .duplicate-card > div:first-child b, .duplicate-card > div:first-child small { display: block; }
.duplicate-card > div:first-child span { color: #8e5d14; font-size: .58rem; font-weight: 850; letter-spacing: .045em; text-transform: uppercase; }
.duplicate-card.confidence-high > div:first-child span { color: #a52f3d; }
.duplicate-card > div:first-child b { margin-top: 3px; font-size: .74rem; line-height: 1.35; }
.duplicate-card > div:first-child small { margin-top: 4px; color: #697b81; font-size: .61rem; line-height: 1.35; }
.duplicate-card > strong { color: #173542; font-size: .68rem; white-space: nowrap; }
.duplicate-references { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 5px; }
.duplicate-references a { padding: 4px 6px; border-radius: 4px; background: #e8f3f2; color: #0d6f68; font-size: .59rem; font-weight: 800; text-decoration: none; }
.duplicate-references a:hover { text-decoration: underline; }
.duplicate-empty { display: grid; min-height: 154px; place-content: center; padding: 24px; text-align: center; }
.duplicate-empty b, .duplicate-empty span { display: block; }
.duplicate-empty b { color: #28574f; font-size: .82rem; }
.duplicate-empty span { max-width: 30ch; margin-top: 6px; color: #697b81; font-size: .68rem; line-height: 1.45; }
@media (max-width: 1120px) {
  .live-command { grid-template-columns: 1fr; }
  .duplicate-list { max-height: 360px; }
}
@media (max-width: 680px) {
  .live-panel-header { align-items: start; flex-direction: column; gap: 12px; }
  .live-connection { width: 100%; }
  .live-feed-row { grid-template-columns: 10px minmax(0, 1fr) auto; }
}
@media (max-width: 460px) {
  .live-feed-summary > div { padding-inline: 10px; }
  .live-feed-summary span { min-height: 30px; }
  .live-feed-row { align-items: start; }
  .live-feed-state { max-width: 92px; }
}
@media (prefers-reduced-motion: reduce) {
  .live-connection[data-state="connecting"] > i { animation: none; }
}

/* Administrator account directory */
.admin-users-shell { min-height: calc(100dvh - 150px); }
.admin-users-intro { align-items: center; }
.user-admin-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.user-admin-summary article { min-width: 0; padding: 17px 18px; border: 1px solid #c9d6d9; border-radius: 8px; background: #fff; box-shadow: inset 0 3px #2d8191; }
.user-admin-summary span, .user-admin-summary b, .user-admin-summary small { display: block; }
.user-admin-summary span { color: #62767d; font-size: .68rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.user-admin-summary b { margin: 5px 0 3px; color: #173542; font: 700 2rem/1 var(--display-font); }
.user-admin-summary small { color: #6c7e84; font-size: .66rem; }
.user-directory-panel { overflow: hidden; border: 1px solid #c7d5d8; border-radius: 9px; background: #fff; }
.user-directory-panel > header { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 18px 20px; border-bottom: 1px solid #dce5e7; background: #f7f9f9; }
.user-directory-panel > header h2, .user-directory-panel > header p { margin: 0; }
.user-directory-panel > header h2 { margin-top: 2px; font: 800 1.2rem/1.25 var(--body-font); }
.user-directory-panel > header p { margin-top: 4px; color: #657980; font-size: .76rem; }
.user-directory-panel form { flex: 0 1 500px; }
.user-directory-panel form label { display: block; margin-bottom: 5px; color: #4f666f; font-size: .67rem; font-weight: 750; }
.user-directory-panel form > div { display: flex; gap: 7px; }
.user-directory-panel input { min-width: 160px; min-height: 42px; }
.user-directory-panel button, .user-directory-panel form a { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 8px 13px; border-radius: 6px; font-size: .76rem; font-weight: 800; text-decoration: none; }
.user-directory-panel button { border: 0; background: #176b8d; color: #fff; }
.user-directory-panel form a { border: 1px solid #94a7ac; background: #fff; color: #365660; }
.user-directory-list { display: grid; gap: 1px; background: #e1e8e9; }
.user-directory-card { display: grid; grid-template-columns: 42px minmax(190px, 1.15fr) minmax(380px, 2fr) auto; gap: 15px; align-items: center; min-width: 0; padding: 15px 18px; background: #fff; }
.user-directory-card:hover { background: #f4f9f8; }
.user-directory-avatar { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #123746; color: #79ddd8; font-weight: 850; }
.user-directory-identity { min-width: 0; }
.user-directory-identity b, .user-directory-identity a, .user-directory-identity small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-directory-identity b { font-size: .8rem; }
.user-directory-identity a { margin-top: 3px; color: #0d6f68; font-size: .7rem; }
.user-directory-identity small { margin-top: 3px; color: #718288; font-size: .63rem; }
.user-directory-card dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; }
.user-directory-card dl > div { min-width: 0; padding-left: 10px; border-left: 1px solid #dfe7e8; }
.user-directory-card dt { color: #718288; font-size: .58rem; font-weight: 750; }
.user-directory-card dd { margin: 4px 0 0; overflow: hidden; color: #284955; font-size: .68rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.user-directory-card dd.has-active { color: #b53342; }
.user-directory-state { min-width: 110px; text-align: right; }
.user-directory-state span, .user-directory-state small { display: block; }
.user-directory-state span { padding: 5px 7px; border-radius: 4px; font-size: .61rem; font-weight: 800; white-space: nowrap; }
.user-directory-state span.clear { background: #e7f3eb; color: #176444; }
.user-directory-state span.attention { background: #fff0e1; color: #8a5106; }
.user-directory-state small { margin-top: 5px; color: #78888d; font-size: .58rem; }

@media (max-width: 1050px) {
  .user-directory-card { grid-template-columns: 42px minmax(180px, 1fr) auto; }
  .user-directory-card dl { grid-column: 2 / -1; grid-row: 2; }
}
@media (max-width: 760px) {
  .user-admin-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .user-directory-panel > header { align-items: stretch; flex-direction: column; }
  .user-directory-panel form { flex-basis: auto; }
  .user-directory-card { grid-template-columns: 42px minmax(0, 1fr); }
  .user-directory-card dl, .user-directory-state { grid-column: 1 / -1; }
  .user-directory-state { display: flex; align-items: center; justify-content: space-between; text-align: left; }
}
@media (max-width: 520px) {
  .user-admin-summary { grid-template-columns: 1fr; }
  .user-directory-panel form > div { flex-wrap: wrap; }
  .user-directory-panel input { flex: 1 0 100%; }
  .user-directory-card dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Administrator readability scale: keep dense operational data legible. */
.admin-body .workspace-role-label { font-size: .8rem; }
.admin-body .workspace-nav-label { font-size: .78rem; }
.admin-body .workspace-nav a strong { font-size: 1rem; }
.admin-body .workspace-nav a small { font-size: .8rem; line-height: 1.35; }
.admin-body .workspace-account-copy strong { font-size: .98rem; }
.admin-body .workspace-account-copy small,
.admin-body .workspace-footer-brand small,
.admin-body .workspace-footer-bottom { font-size: .78rem; }

.admin-body .dashboard-actions > span { font-size: .95rem; }
.admin-body :is(.dashboard-eyebrow, .visual-kicker) { font-size: .8rem; }
.admin-body .bi-slicer-heading h2 { font-size: 1.16rem; }
.admin-body :is(.filter-count, .bi-slicers label, .active-filter-list a) { font-size: .8rem; }
.admin-body .bi-slicers select,
.admin-body .bi-slicers :is(button, .filter-actions a) { font-size: .9rem; }
.admin-body .bi-context-row > div:first-child span { font-size: .76rem; }
.admin-body .bi-context-row > div:first-child b { font-size: .98rem; }
.admin-body .bi-operational-alert { font-size: .9rem; }
.admin-body .bi-kpi > span { font-size: .86rem; }
.admin-body .bi-kpi > small { font-size: .8rem; }
.admin-body .bi-visual-header h2 { font-size: 1.45rem; }
.admin-body .bi-visual-header p { font-size: .9rem; }
.admin-body :is(.visual-total, .map-scope-chip) { font-size: .78rem; }

.admin-body .bi-map-status { font-size: .8rem; }
.admin-body .bi-heat-key { font-size: .75rem; }
.admin-body :is(.map-tools-heading h3, .map-hotspot-heading h3) { font-size: 1rem; }
.admin-body :is(.map-tools-heading button, .map-hotspot-heading button) { font-size: .78rem; }
.admin-body .map-filter-grid label { font-size: .78rem; }
.admin-body :is(.map-filter-grid select, .map-filter-grid input) { font-size: .82rem; }
.admin-body :is(.map-time-policy, .map-filter-summary) { font-size: .78rem; }
.admin-body .map-layer-toggles legend { font-size: .76rem; }
.admin-body .map-layer-toggles label { font-size: .8rem; }
.admin-body .map-layer-toggles label small { font-size: .72rem; }
.admin-body .bi-map-metrics span { font-size: .76rem; }
.admin-body .bi-map-metrics small { font-size: .72rem; }
.admin-body .map-hotspot-card > p { font-size: .8rem; }
.admin-body .map-hotspot-grid span { font-size: .68rem; }
.admin-body .map-hotspot-details dt { font-size: .72rem; }
.admin-body .map-hotspot-details dd { font-size: .8rem; }
.admin-body .map-selected-heading > b { font-size: .78rem; }
.admin-body .map-selected-card > p { font-size: .84rem; }
.admin-body .map-selected-facts dt { font-size: .72rem; }
.admin-body .map-selected-facts dd { font-size: .82rem; }
.admin-body :is(.map-queue-link, .map-area-filter) { font-size: .8rem; }
.admin-body .map-report-browser h3 { font-size: .8rem; }
.admin-body .map-report-list button b { font-size: .84rem; }
.admin-body .map-report-list button small { font-size: .76rem; }
.admin-body .map-report-list button em { font-size: .74rem; }
.admin-body .map-popup b { font-size: .86rem; }
.admin-body .map-popup span { font-size: .8rem; }
.admin-body .map-popup small { font-size: .74rem; }
.admin-body .map-visual .ph-overview-label span { font-size: .72rem; }
.admin-body .map-visual .incident-cluster small { font-size: .64rem; }

.admin-body .chart-axis-label { font-size: 12px; }
.admin-body .chart-x-label { font-size: 11px; }
.admin-body :is(.bi-chart-legend span, .priority-legend span) { font-size: .78rem; }
.admin-body .bi-funnel-row > div { font-size: .86rem; }
.admin-body .bi-funnel-row small { font-size: .78rem; }
.admin-body .bi-stack-label b { font-size: .86rem; }
.admin-body .bi-stack-label span { font-size: .78rem; }
.admin-body .bi-gauge > span { font-size: .78rem; }
.admin-body .bi-time-grid dt { font-size: .78rem; }
.admin-body .bi-time-grid dd { font-size: .96rem; }
.admin-body .bi-time-grid small { font-size: .76rem; }
.admin-body .bi-area-table { font-size: .86rem; }
.admin-body .bi-area-table th { font-size: .76rem; }
.admin-body .bi-area-table a small { font-size: .78rem; }
.admin-body .visual-footnote { font-size: .78rem; }
.admin-body .bi-aging-list > div > div,
.admin-body .bi-needs-block > p,
.admin-body .bi-need-list > div { font-size: .8rem; }

.admin-body .map-selected-group { font-size: .72rem; }
.admin-body .map-action-strip span,
.admin-body .map-impact-grid span,
.admin-body .map-section-heading small { font-size: .7rem; }
.admin-body .map-action-strip b { font-size: .8rem; }
.admin-body :is(.map-section-heading span, .map-needs-section > span) { font-size: .8rem; }
.admin-body .map-assessment-grid dt,
.admin-body .map-narrative-grid span { font-size: .7rem; }
.admin-body .map-assessment-grid dd,
.admin-body .map-narrative-grid p { font-size: .8rem; }
.admin-body .map-need-chips i { font-size: .74rem; }
.admin-body .map-popup-header i { font-size: .72rem; }
.admin-body .map-popup-header b { font-size: .92rem; }
.admin-body .map-popup > strong { font-size: .82rem; }
.admin-body .map-popup-metrics small,
.admin-body .map-popup-status,
.admin-body .map-popup-freshness,
.admin-body .map-popup-hint { font-size: .72rem; }

.admin-body .disaster-profile-card > header span { font-size: .7rem; }
.admin-body .disaster-profile-card > header a { font-size: .75rem; }
.admin-body .profile-command-metrics span { font-size: .74rem; }
.admin-body .profile-priority > div span { font-size: .8rem; }
.admin-body .profile-priority > div small { font-size: .72rem; }
.admin-body .profile-chart-block h4 { font-size: .8rem; }
.admin-body .profile-chart-block > p { font-size: .76rem; }
.admin-body .profile-bars > div > span:first-child,
.admin-body .profile-bars b { font-size: .74rem; }
.admin-body .profile-numeric-grid span { font-size: .68rem; }
.admin-body .profile-numeric-grid small { font-size: .72rem; }

.admin-body .assessment-sheet-header span:first-child { font-size: .7rem; }
.admin-body .assessment-sheet-header h3 { font-size: .94rem; }
.admin-body .assessment-command-strip span { font-size: .68rem; }
.admin-body .assessment-command-strip b { font-size: .76rem; }
.admin-body .assessment-block-title h4 { font-size: .82rem; }
.admin-body .assessment-block-title p { font-size: .72rem; }
.admin-body .assessment-card-grid dt,
.admin-body .assessment-narratives span { font-size: .7rem; }
.admin-body .assessment-card-grid dd,
.admin-body .assessment-narratives p { font-size: .78rem; }
.admin-body .assessment-need-list span,
.admin-body .assessment-empty { font-size: .72rem; }

/* Evacuation capacity command board */
.capacity-command-panel { margin-top: 20px; }
.capacity-command-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 24px 19px; border-bottom: 1px solid #dbe3e5; background: linear-gradient(112deg, #f8fbfb 0%, #eef6f5 100%); }
.capacity-command-header h2, .capacity-command-header p { margin: 0; }
.capacity-command-header h2 { margin-top: 3px; font-size: 1.8rem; }
.capacity-command-header p { max-width: 72ch; margin-top: 5px; color: #536970; font-size: .94rem; line-height: 1.45; }
.capacity-command-header > a { display: inline-flex; min-height: 42px; flex: none; align-items: center; gap: 8px; padding: 8px 13px; border: 1px solid #8aa1a7; border-radius: 7px; background: #fff; color: #164e5f; font-size: .86rem; font-weight: 800; text-decoration: none; }
.capacity-command-header > a:hover { border-color: #087b72; background: #edf8f6; color: #075f59; }
.capacity-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; border-bottom: 1px solid #dbe3e5; background: #dbe3e5; }
.capacity-summary-grid article { min-width: 0; padding: 17px 20px 16px; background: #fff; box-shadow: inset 0 3px #39798a; }
.capacity-summary-grid span, .capacity-summary-grid b, .capacity-summary-grid small { display: block; }
.capacity-summary-grid span { color: #52676f; font-size: .76rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.capacity-summary-grid b { margin: 5px 0 3px; color: #153744; font: 650 2rem/1 var(--display-font); font-variant-numeric: tabular-nums; }
.capacity-summary-grid small { color: #687b82; font-size: .75rem; line-height: 1.35; }
.capacity-summary-grid .capacity-summary-available { box-shadow: inset 0 3px #159064; }
.capacity-summary-grid .capacity-summary-unavailable { box-shadow: inset 0 3px #b83d4d; }
.capacity-summary-grid .capacity-summary-review { box-shadow: inset 0 3px #d98b22; }
.capacity-workspace { display: grid; grid-template-columns: minmax(340px, 410px) minmax(0, 1fr); }
.capacity-update-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 15px; padding: 24px; border-right: 1px solid #dbe3e5; background: #fbfcfc; scroll-margin-top: 90px; }
.capacity-form-heading { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.capacity-form-heading span, .capacity-directory-heading > div > span { color: #08746d; font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.capacity-form-heading h3, .capacity-directory-heading h3 { margin: 2px 0 0; color: #15343f; font-size: 1.35rem; }
.capacity-freshness-rule { display: inline-flex; align-items: center; gap: 7px; padding: 6px 9px; border-radius: 999px; background: #e5f5f1; color: #08705f !important; font-size: .68rem !important; letter-spacing: 0 !important; white-space: nowrap; }
.capacity-freshness-rule i { width: 8px; height: 8px; border-radius: 50%; background: #159873; box-shadow: 0 0 0 4px rgba(21, 152, 115, .12); }
.capacity-form-help { grid-column: 1 / -1; margin: -5px 0 2px; color: #5d7178; font-size: .82rem; line-height: 1.45; }
.capacity-update-form label { min-width: 0; color: #304952; font-size: .79rem; font-weight: 750; }
.capacity-update-form label > span[aria-hidden] { color: #c43b4b; }
.capacity-update-form label > small { display: block; margin-top: 2px; color: #73868d; font-size: .7rem; font-weight: 500; }
.capacity-update-form :is(select, input, textarea) { width: 100%; min-height: 43px; margin-top: 6px; border: 1px solid #aebfc4; border-radius: 7px; background: #fff; color: #17333e; font-size: .87rem; }
.capacity-update-form :is(select, input) { padding: 8px 10px; }
.capacity-update-form textarea { min-height: 84px; padding: 10px; resize: vertical; }
.capacity-update-form :is(select, input, textarea):focus { border-color: #087b72; outline: 3px solid rgba(8, 123, 114, .14); outline-offset: 1px; }
.capacity-update-form label.is-optional .capacity-number-required { display: none; }
.capacity-field-wide, .capacity-calculation, .capacity-form-actions { grid-column: 1 / -1; }
.capacity-calculation { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 14px; align-items: center; padding: 12px 14px; border: 1px solid #cee0dd; border-radius: 8px; background: #eef8f6; }
.capacity-calculation span { grid-row: span 2; color: #466069; font-size: .71rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.capacity-calculation b { color: #086b5a; font-size: .9rem; }
.capacity-calculation small { color: #5d747a; font-size: .7rem; line-height: 1.35; }
.capacity-form-actions { display: flex; justify-content: flex-end; gap: 9px; padding-top: 3px; }
.capacity-form-actions button { min-height: 43px; padding: 9px 14px; border-radius: 7px; font-size: .84rem; font-weight: 800; cursor: pointer; }
.capacity-reset-button { border: 1px solid #9cb0b5; background: #fff; color: #37525b; }
.capacity-save-button { border: 1px solid #08746d; background: #08746d; color: #fff; }
.capacity-save-button:hover { border-color: #075c57; background: #075c57; }
.capacity-directory { min-width: 0; background: #fff; }
.capacity-directory-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 22px 24px 17px; border-bottom: 1px solid #dfe6e8; }
.capacity-directory-heading p { margin: 4px 0 0; color: #667a81; font-size: .8rem; }
.capacity-directory-heading label { width: min(250px, 42%); color: #51666e; font-size: .72rem; font-weight: 750; }
.capacity-directory-heading input { width: 100%; min-height: 40px; margin-top: 5px; padding: 8px 10px; border: 1px solid #aebfc4; border-radius: 7px; font-size: .82rem; }
.capacity-table-wrap { max-height: 650px; overflow: auto; scrollbar-color: #8da1a6 #eef2f3; }
.capacity-table { width: 100%; min-width: 790px; border-collapse: collapse; text-align: left; font-size: .82rem; }
.capacity-table th { position: sticky; z-index: 2; top: 0; padding: 11px 13px; border-bottom: 1px solid #dbe3e5; background: #f4f7f7; color: #5d7178; font-size: .7rem; font-weight: 800; letter-spacing: .02em; }
.capacity-table td { padding: 13px; border-top: 1px solid #e2e8ea; color: #314b54; vertical-align: middle; font-variant-numeric: tabular-nums; }
.capacity-table tbody tr:hover { background: #f8fbfb; }
.capacity-table td:first-child { width: 31%; }
.capacity-table td:first-child b, .capacity-table td:first-child small, .capacity-table time + small { display: block; }
.capacity-table td:first-child b { color: #17343f; font-size: .83rem; }
.capacity-table td:first-child small, .capacity-table time + small { margin-top: 3px; color: #73868d; font-size: .69rem; }
.capacity-table time { white-space: nowrap; }
.capacity-available-value { color: #08705f !important; font-weight: 850; }
.capacity-status { display: inline-flex; align-items: center; gap: 7px; min-height: 27px; padding: 4px 8px; border-radius: 999px; background: #eef2f3; color: #52666d; font-size: .69rem; font-weight: 800; white-space: nowrap; }
.capacity-status i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.capacity-status-open { background: #e4f5ed; color: #11704c; }
.capacity-status-limited { background: #fff2d9; color: #9a5e0c; }
.capacity-status-full, .capacity-status-unsafe { background: #fde8eb; color: #a52f3e; }
.capacity-status-closed { background: #e9eef0; color: #52656d; }
.capacity-status-stale { background: #fff2d9; color: #9a5e0c; }
.capacity-edit-button { min-height: 34px; padding: 6px 10px; border: 1px solid #8ba5aa; border-radius: 6px; background: #fff; color: #17667a; font-size: .75rem; font-weight: 800; cursor: pointer; }
.capacity-edit-button:hover { border-color: #087b72; background: #eaf7f4; color: #075f59; }
.capacity-no-results { margin: 0; padding: 36px 20px; color: #60747b; text-align: center; }

@media (max-width: 1180px) {
  .capacity-workspace { grid-template-columns: 1fr; }
  .capacity-update-form { border-right: 0; border-bottom: 1px solid #dbe3e5; }
  .capacity-table-wrap { max-height: 540px; }
}

@media (max-width: 760px) {
  .capacity-command-header { align-items: start; padding: 20px; }
  .capacity-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capacity-update-form { padding: 20px; }
  .capacity-directory-heading { align-items: stretch; flex-direction: column; padding: 20px; }
  .capacity-directory-heading label { width: 100%; }
}

@media (max-width: 520px) {
  .capacity-command-header { flex-direction: column; }
  .capacity-command-header > a { width: 100%; justify-content: center; }
  .capacity-summary-grid { grid-template-columns: 1fr; }
  .capacity-update-form { grid-template-columns: 1fr; padding: 18px 16px; }
  .capacity-update-form > * { grid-column: 1 !important; }
  .capacity-form-heading { align-items: start; }
  .capacity-calculation { grid-template-columns: 1fr; gap: 4px; }
  .capacity-calculation span { grid-row: auto; }
  .capacity-form-actions { display: grid; grid-template-columns: 1fr 1.4fr; }
  .capacity-directory-heading { padding: 18px 16px; }
}

.admin-body .live-panel-header h2 { font-size: 1.34rem; }
.admin-body .live-panel-header p { font-size: .88rem; }
.admin-body .live-connection b { font-size: .84rem; }
.admin-body .live-connection small { font-size: .74rem; }
.admin-body .live-feed-summary span { font-size: .74rem; }
.admin-body .live-feed-main b { font-size: .92rem; }
.admin-body :is(.live-feed-main small, .live-feed-state small) { font-size: .76rem; }
.admin-body .live-feed-state b { font-size: .8rem; }
.admin-body .duplicate-card > div:first-child span { font-size: .7rem; }
.admin-body .duplicate-card > div:first-child b { font-size: .84rem; }
.admin-body .duplicate-card > div:first-child small { font-size: .74rem; }
.admin-body .duplicate-card > strong { font-size: .78rem; }
.admin-body .duplicate-references a { font-size: .72rem; }
.admin-body .duplicate-empty b { font-size: .92rem; }
.admin-body .duplicate-empty span { font-size: .8rem; }

.admin-body .user-admin-summary span { font-size: .76rem; }
.admin-body .user-admin-summary small { font-size: .76rem; }
.admin-body .user-directory-panel > header p { font-size: .86rem; }
.admin-body .user-directory-panel form label { font-size: .78rem; }
.admin-body :is(.user-directory-panel button, .user-directory-panel form a) { font-size: .86rem; }
.admin-body .user-directory-identity b { font-size: .9rem; }
.admin-body .user-directory-identity a { font-size: .8rem; }
.admin-body .user-directory-identity small { font-size: .74rem; }
.admin-body .user-directory-card dt { font-size: .7rem; }
.admin-body .user-directory-card dd { font-size: .78rem; }
.admin-body .user-directory-state span { font-size: .72rem; }
.admin-body .user-directory-state small { font-size: .7rem; }
