:root {
    color-scheme: light;
    --ink-950: #0e1522;
    --ink-900: #182235;
    --ink-700: #41506a;
    --ink-500: #6c7a8f;
    --paper-0: #fffdf8;
    --paper-50: #f6f1e8;
    --paper-100: #ebe2d5;
    --line-soft: rgba(42, 57, 84, 0.12);
    --line-strong: rgba(42, 57, 84, 0.2);
    --navy-900: #102033;
    --navy-800: #173149;
    --navy-700: #244863;
    --copper-500: #da6d34;
    --copper-600: #be5627;
    --teal-500: #197a7c;
    --sage-500: #4a8b65;
    --danger-500: #b6281f;
    --danger-600: #8e1d18;
    --warning-500: #b77a1e;
    --shadow-panel: 0 24px 60px rgba(13, 24, 40, 0.12);
    --shadow-elevated: 0 30px 80px rgba(13, 24, 40, 0.18);
    --radius-xl: 34px;
    --radius-lg: 26px;
    --radius-md: 18px;
    --radius-sm: 14px;
    --font-body: "Aptos", "Segoe UI Variable", "Bahnschrift", "Trebuchet MS", sans-serif;
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-height: 100%;
}

body {
    font-family: var(--font-body);
    color: var(--ink-950);
    background:
        radial-gradient(circle at 12% 14%, rgba(218, 109, 52, 0.18), transparent 24%),
        radial-gradient(circle at 88% 10%, rgba(25, 122, 124, 0.12), transparent 20%),
        radial-gradient(circle at 50% 120%, rgba(16, 32, 51, 0.08), transparent 34%),
        linear-gradient(180deg, #efe8dc 0%, #f8f4ec 38%, #fffdf8 100%);
}

body::before,
body::after {
    content: "";
    position: fixed;
    inset: auto;
    pointer-events: none;
    z-index: 0;
    filter: blur(18px);
}

body::before {
    top: 84px;
    right: -80px;
    width: 240px;
    height: 240px;
    border-radius: 999px;
    background: rgba(218, 109, 52, 0.1);
}

body::after {
    bottom: 40px;
    left: -60px;
    width: 220px;
    height: 220px;
    border-radius: 32px;
    background: rgba(25, 122, 124, 0.08);
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

.crime-app-page,
.crime-admin-page {
    min-height: 100vh;
}

.app-shell,
.admin-shell {
    position: relative;
    z-index: 1;
    width: min(1360px, calc(100% - 28px));
    margin: 0 auto;
    padding: 18px 0 48px;
}

.glass-panel,
.form-card,
.info-card,
.map-dashboard-panel,
.list-dashboard-panel,
.detail-dashboard-panel,
.summary-card,
.panic-desk-rail,
.admin-topbar,
.admin-auth-card {
    position: relative;
    border-radius: var(--radius-xl);
    border: 1px solid rgba(255, 255, 255, 0.62);
    background: linear-gradient(180deg, rgba(255, 252, 248, 0.94), rgba(248, 242, 234, 0.82));
    box-shadow: var(--shadow-panel);
    backdrop-filter: blur(20px);
}

.hero-shell {
    padding: 22px;
    border-radius: 38px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background:
        radial-gradient(circle at top right, rgba(25, 122, 124, 0.2), transparent 28%),
        radial-gradient(circle at bottom left, rgba(218, 109, 52, 0.2), transparent 26%),
        linear-gradient(145deg, rgba(16, 32, 51, 0.98), rgba(28, 54, 77, 0.95) 58%, rgba(15, 32, 46, 0.98));
    box-shadow: var(--shadow-elevated);
    color: #f8f5ef;
    overflow: hidden;
}

.hero-shell::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(255, 255, 255, 0.03), transparent 40%, rgba(255, 255, 255, 0.05));
    pointer-events: none;
}

.brand-lockup,
.hero-nav,
.hero-nav-actions,
.panel-heading,
.map-picker-header,
.compact-heading,
.admin-topbar,
.admin-topbar-actions,
.field-grid,
.form-actions,
.panic-desk-header,
.section-label-row,
.connectivity-banner,
.draft-toolbar,
.sticky-submit-bar,
.report-card-header,
.report-card-meta,
.status-pill-row {
    display: flex;
    gap: 14px;
}

.hero-nav,
.panel-heading,
.map-picker-header,
.compact-heading,
.admin-topbar,
.panic-desk-header,
.section-label-row,
.sticky-submit-bar,
.report-card-header {
    align-items: flex-start;
    justify-content: space-between;
}

.hero-nav,
.admin-topbar,
.admin-topbar-actions,
.hero-nav-actions {
    align-items: center;
}

.brand-lockup {
    align-items: center;
}

.brand-mark {
    width: 62px;
    height: 62px;
    border-radius: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(160deg, #f4b56d, var(--copper-500));
    color: #fff;
    font-size: 1.45rem;
    box-shadow: 0 18px 34px rgba(190, 86, 39, 0.34);
}

.brand-mark-logo {
    padding: 0;
    overflow: hidden;
}

.brand-mark-logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.brand-lockup h1,
.hero-copy h2,
.hero-panel h4,
.hero-panel strong,
.panel-heading h3,
.admin-topbar h2,
.info-card h3,
.admin-auth-card h1,
.panic-desk-header h3,
.detail-title,
.report-card h4,
.success-panel h4 {
    margin: 0;
}

.brand-lockup h1 {
    font-size: clamp(1.02rem, 1.9vw, 1.35rem);
    line-height: 1.08;
    max-width: 22ch;
}

.brand-kicker,
.section-tag,
.panic-desk-label,
.summary-card .stat-label {
    margin: 0 0 6px;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 0.72rem;
    font-weight: 800;
}

.brand-kicker,
.hero-shell .section-tag,
.hero-shell .panel-note,
.hero-shell .brand-kicker,
.hero-panel-footnote,
.hero-copy .hero-text,
.hero-badges span,
.scene-workflow-grid article,
.admin-auth-card,
.dark-surface,
.dark-surface .brand-kicker,
.admin-auth-card .section-tag,
.admin-auth-card .form-status,
.admin-auth-copy,
.admin-auth-card .outline-button,
.admin-auth-card .field-block span {
    color: rgba(248, 245, 239, 0.92);
}

.hero-copy h2 {
    font-size: clamp(2.7rem, 6vw, 5rem);
    line-height: 0.94;
    max-width: 8ch;
    letter-spacing: -0.05em;
}

.hero-text,
.panel-note,
.form-status,
.capture-meta,
.detail-body,
.detail-item span,
.report-card p,
.queue-priority-note,
.panic-desk-note,
.signal-list span,
.scene-workflow-grid span,
.sticky-submit-copy span,
.draft-indicator,
.section-label-row span {
    color: var(--ink-700);
}

.hero-text {
    max-width: 48ch;
    font-size: 1rem;
    line-height: 1.72;
}

.hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.hero-badges span,
.pill,
.draft-indicator,
.admin-user-chip,
.summary-card .stat-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid var(--line-soft);
    background: rgba(255, 255, 255, 0.62);
    font-size: 0.84rem;
    font-weight: 700;
}

.hero-badges span {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.16);
}

.premium-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.8fr);
    gap: 22px;
    margin-top: 22px;
    align-items: stretch;
}

.hero-panel,
.premium-status-panel {
    padding: 22px;
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.04));
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.scene-workflow-grid {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.scene-workflow-grid article {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 14px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.scene-workflow-grid strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.16);
    font-size: 1rem;
}

.hero-panel-footnote {
    margin: 16px 0 0;
    font-size: 0.9rem;
}

.premium-report-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.72fr);
    gap: 24px;
    margin-top: 24px;
    align-items: start;
}

.quick-report-stack,
.premium-info-column,
.info-column {
    display: grid;
    gap: 24px;
}

.premium-report-card,
.premium-install-card,
.premium-ops-card,
.map-dashboard-panel,
.list-dashboard-panel,
.detail-dashboard-panel,
.summary-card,
.panic-desk-rail,
.admin-topbar,
.admin-auth-card {
    padding: 24px;
}

.premium-report-card {
    background: linear-gradient(180deg, rgba(255, 254, 251, 0.95), rgba(247, 240, 231, 0.9));
}

.connectivity-banner,
.draft-toolbar {
    align-items: center;
    justify-content: space-between;
}

.connectivity-banner {
    margin-bottom: 18px;
    padding: 14px 16px;
    border-radius: 20px;
    background: rgba(25, 122, 124, 0.1);
    border: 1px solid rgba(25, 122, 124, 0.16);
    color: var(--teal-500);
    font-weight: 700;
}

.connectivity-banner[data-state="offline"] {
    background: rgba(183, 122, 30, 0.12);
    border-color: rgba(183, 122, 30, 0.18);
    color: var(--warning-500);
}

.draft-toolbar {
    margin-bottom: 18px;
}

.draft-indicator {
    justify-content: flex-start;
    min-height: 40px;
    color: var(--ink-700);
}

.draft-indicator[data-state="saved"] {
    background: rgba(74, 139, 101, 0.14);
    border-color: rgba(74, 139, 101, 0.18);
    color: var(--sage-500);
}

.draft-indicator[data-state="error"] {
    background: rgba(182, 40, 31, 0.12);
    border-color: rgba(182, 40, 31, 0.16);
    color: var(--danger-500);
}

.panel-heading,
.premium-panel-heading,
.compact-heading {
    margin-bottom: 18px;
}

.report-form,
.stacked-tight,
.premium-report-form,
.compact-stack,
.capture-suite,
.contact-sheet,
.detail-stack {
    display: grid;
    gap: 16px;
}

.field-grid.two-column,
.detail-grid,
.panic-desk-grid,
.quick-action-grid,
.choice-chip-grid,
.emergency-preset-grid,
.live-capture-actions,
.stats-grid,
.admin-main-grid,
.filter-row {
    display: grid;
}

.field-grid.two-column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.field-block {
    display: grid;
    gap: 8px;
}

.field-block span {
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    color: var(--ink-900);
}

.field-block.compact span {
    font-size: 0.76rem;
}

.field-block input,
.field-block select,
.field-block textarea {
    width: 100%;
    padding: 15px 16px;
    border-radius: 18px;
    border: 1px solid rgba(32, 50, 75, 0.12);
    background: rgba(255, 255, 255, 0.88);
    color: var(--ink-950);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.field-block textarea {
    min-height: 120px;
    resize: vertical;
}

.field-block input:focus,
.field-block select:focus,
.field-block textarea:focus {
    outline: none;
    border-color: rgba(36, 72, 99, 0.34);
    box-shadow: 0 0 0 4px rgba(36, 72, 99, 0.08), 0 8px 18px rgba(24, 34, 53, 0.08);
    transform: translateY(-1px);
}

.priority-block,
.location-summary-card,
.capture-suite,
.contact-sheet,
.map-picker-card,
.success-panel,
.detail-stack,
.detail-media {
    padding: 18px;
    border-radius: 24px;
    border: 1px solid var(--line-soft);
    background: rgba(255, 255, 255, 0.58);
}

.map-canvas {
    min-height: 330px;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(23, 49, 73, 0.12);
}

.admin-map {
    min-height: 560px;
}

.preview-panel {
    display: grid;
    place-items: center;
    min-height: 220px;
    padding: 12px;
    border-radius: 24px;
    border: 1px dashed rgba(23, 49, 73, 0.18);
    background: rgba(245, 239, 230, 0.56);
}

.preview-panel img,
.preview-panel video,
.detail-media img,
.detail-media video {
    width: 100%;
    max-height: 360px;
    object-fit: cover;
    border-radius: 18px;
}

.detail-body {
    min-height: 220px;
}

.detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.detail-item {
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(23, 49, 73, 0.1);
    background: rgba(255, 255, 255, 0.84);
}

.detail-item strong,
.summary-card .stat-value,
.panic-desk-value {
    display: block;
    color: var(--ink-950);
}

.detail-item strong {
    margin-bottom: 6px;
}

.solid-button,
.outline-button,
.ghost-button,
.panic-button,
.emergency-preset,
.choice-chip {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 18px;
    font-weight: 800;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.solid-button,
.outline-button,
.ghost-button,
.panic-button {
    min-height: 52px;
    padding: 0 18px;
    border: 1px solid transparent;
}

.solid-button::after,
.outline-button::after,
.ghost-button::after,
.panic-button::after,
.emergency-preset::after,
.choice-chip::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(255, 255, 255, 0.16), transparent 44%, rgba(255, 255, 255, 0.08));
    pointer-events: none;
}

.solid-button {
    background: linear-gradient(135deg, var(--copper-500), #f0a15c);
    color: #fffdf8;
    box-shadow: 0 18px 34px rgba(190, 86, 39, 0.24);
}

.outline-button {
    background: rgba(255, 255, 255, 0.08);
    color: inherit;
    border-color: rgba(255, 255, 255, 0.2);
}

.ghost-button {
    background: rgba(255, 255, 255, 0.74);
    color: var(--ink-900);
    border-color: rgba(23, 49, 73, 0.12);
}

.solid-button:hover,
.outline-button:hover,
.ghost-button:hover,
.panic-button:hover,
.emergency-preset:hover,
.choice-chip:hover,
.solid-button:focus-visible,
.outline-button:focus-visible,
.ghost-button:focus-visible,
.panic-button:focus-visible,
.emergency-preset:focus-visible,
.choice-chip:focus-visible {
    transform: translateY(-1px);
}

.small {
    min-height: 40px;
    padding: 0 14px;
    border-radius: 14px;
}

.inline-flex {
    display: inline-flex;
}

.quick-action-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.quick-action-button {
    min-height: 66px;
    border-radius: 22px;
}

.panic-mode-card {
    display: grid;
    gap: 16px;
    margin-bottom: 18px;
    padding: 20px;
    border-radius: 28px;
    color: #fff8f5;
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.18), transparent 26%),
        linear-gradient(155deg, var(--danger-600), var(--danger-500) 58%, #df7046);
    box-shadow: 0 26px 44px rgba(142, 29, 24, 0.24);
}

.panic-mode-card .section-tag,
.panic-mode-card p,
.panic-mode-card h4,
.panic-desk-hot .panic-desk-label,
.panic-desk-hot .panic-desk-note,
.panic-desk-hot .panic-desk-value {
    color: inherit;
    margin: 0;
}

.panic-mode-copy {
    display: grid;
    gap: 8px;
}

.panic-mode-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.panic-button {
    min-height: 64px;
    padding: 0 18px;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.panic-button-primary {
    background: rgba(255, 248, 244, 0.96);
    color: var(--danger-600);
}

.panic-button-secondary {
    background: rgba(255, 255, 255, 0.12);
    color: #fff8f5;
}

.emergency-preset-block {
    display: grid;
    gap: 12px;
}

.emergency-preset-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.emergency-preset {
    justify-items: start;
    min-height: 108px;
    padding: 16px;
    text-align: left;
    border: 1px solid rgba(23, 49, 73, 0.12);
    background: rgba(255, 255, 255, 0.78);
    color: var(--ink-900);
}

.emergency-preset i {
    font-size: 1.2rem;
}

.emergency-preset-critical {
    background: linear-gradient(180deg, rgba(255, 244, 240, 0.96), rgba(255, 233, 227, 0.94));
    color: var(--danger-600);
    border-color: rgba(182, 40, 31, 0.18);
}

.emergency-preset-high {
    background: linear-gradient(180deg, rgba(255, 248, 239, 0.96), rgba(248, 236, 214, 0.94));
    color: #8a5314;
    border-color: rgba(183, 122, 30, 0.2);
}

.section-label-row {
    margin-bottom: 14px;
}

.section-label-row strong {
    font-size: 1rem;
}

.choice-chip-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.choice-chip {
    min-height: 52px;
    padding: 0 12px;
    border: 1px solid rgba(23, 49, 73, 0.12);
    background: rgba(255, 255, 255, 0.76);
    color: var(--ink-900);
}

.choice-chip.is-active {
    background: linear-gradient(135deg, rgba(218, 109, 52, 0.18), rgba(255, 228, 210, 0.94));
    border-color: rgba(190, 86, 39, 0.24);
    box-shadow: 0 14px 26px rgba(190, 86, 39, 0.12);
}

.critical-chip.is-active {
    background: linear-gradient(135deg, rgba(182, 40, 31, 0.18), rgba(255, 235, 231, 0.94));
    border-color: rgba(182, 40, 31, 0.28);
    color: var(--danger-600);
}

.premium-location-grid {
    gap: 12px;
}

.premium-map-card {
    padding: 18px;
}

.map-wrap[hidden],
[hidden] {
    display: none !important;
}

.visually-hidden-input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    overflow: hidden;
}

.visually-hidden-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    overflow: hidden;
}

.live-capture-panel {
    gap: 14px;
    padding: 18px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(11, 21, 35, 0.98), rgba(21, 37, 57, 0.96));
    color: #f8f5ef;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.live-capture-head {
    align-items: flex-start;
}

.live-capture-head span {
    display: block;
    margin-top: 4px;
    color: rgba(248, 245, 239, 0.72);
    font-size: 0.88rem;
}

.live-video-shell {
    position: relative;
    min-height: 280px;
    border-radius: 24px;
    overflow: hidden;
    background: #060d16;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.live-video-shell video {
    width: 100%;
    min-height: 280px;
    display: block;
    object-fit: cover;
}

.capture-unavailable {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 18px;
    text-align: center;
    background: rgba(6, 13, 22, 0.92);
}

.live-capture-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.capture-meta,
.hero-panel-footnote,
.panel-note,
.admin-auth-copy,
.info-card p,
.detail-body,
.workflow-list,
.signal-list,
.map-help {
    line-height: 1.6;
}

.contact-sheet summary {
    cursor: pointer;
    list-style: none;
    font-weight: 800;
}

.contact-sheet summary::-webkit-details-marker {
    display: none;
}

.contact-sheet[open] summary {
    margin-bottom: 12px;
}

.sticky-submit-bar {
    position: sticky;
    bottom: 14px;
    z-index: 10;
    padding: 14px;
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(16, 32, 51, 0.96), rgba(27, 53, 77, 0.94));
    color: #f8f5ef;
    box-shadow: 0 26px 44px rgba(16, 32, 51, 0.22);
}

.sticky-submit-copy {
    display: grid;
    gap: 4px;
}

.sticky-submit-copy span {
    color: rgba(248, 245, 239, 0.76);
}

.sticky-submit-button {
    min-width: 176px;
}

.premium-success-panel {
    background: linear-gradient(180deg, rgba(230, 250, 238, 0.94), rgba(249, 255, 252, 0.92));
    border-color: rgba(74, 139, 101, 0.18);
}

.premium-install-card,
.premium-ops-card {
    position: sticky;
    top: 18px;
}

.signal-list {
    list-style: none;
    margin: 16px 0 0;
    padding: 0;
    display: grid;
    gap: 12px;
}

.signal-list li {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.signal-list i {
    margin-top: 3px;
    color: var(--copper-500);
}

.admin-auth-screen {
    display: grid;
    place-items: center;
    min-height: calc(100vh - 56px);
}

.admin-auth-card {
    width: min(540px, 100%);
    background:
        radial-gradient(circle at top right, rgba(218, 109, 52, 0.18), transparent 28%),
        linear-gradient(155deg, rgba(16, 32, 51, 0.98), rgba(24, 49, 71, 0.96));
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow: var(--shadow-elevated);
}

.admin-login-shell {
    width: min(1100px, 100%);
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.82fr);
    gap: 0;
    overflow: hidden;
    padding: 0;
}

.admin-login-shell-solo {
    width: min(420px, 100%);
    grid-template-columns: 1fr;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background:
        radial-gradient(circle at top, rgba(218, 109, 52, 0.14), transparent 30%),
        linear-gradient(180deg, rgba(12, 21, 34, 0.98), rgba(17, 31, 48, 0.96));
    box-shadow: 0 30px 90px rgba(5, 12, 20, 0.34);
}

.admin-login-brief,
.admin-login-panel {
    padding: 28px;
}

.admin-login-brief {
    display: grid;
    gap: 22px;
    background:
        radial-gradient(circle at top right, rgba(218, 109, 52, 0.2), transparent 28%),
        radial-gradient(circle at bottom left, rgba(25, 122, 124, 0.18), transparent 24%),
        linear-gradient(155deg, rgba(16, 32, 51, 0.98), rgba(24, 49, 71, 0.96));
}

.admin-login-copy-block {
    display: grid;
    gap: 10px;
}

.admin-login-copy-block h2,
.admin-login-panel-head h2 {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    line-height: 0.98;
}

.admin-login-signal-grid {
    display: grid;
    gap: 12px;
}

.admin-login-signal-grid article {
    display: grid;
    gap: 6px;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
}

.admin-login-signal-grid strong,
.admin-login-meta-row span {
    color: #fff8f2;
}

.admin-login-signal-grid span {
    color: rgba(248, 245, 239, 0.86);
}

.admin-login-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.admin-login-meta-row span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.88rem;
    font-weight: 700;
}

.admin-login-panel {
    display: grid;
    align-content: center;
    gap: 18px;
    background: linear-gradient(160deg, rgba(252, 249, 243, 0.98), rgba(244, 248, 251, 0.96));
}

.admin-login-panel-solo {
    padding: 28px;
    gap: 16px;
    background:
        linear-gradient(180deg, rgba(14, 24, 38, 0.96), rgba(18, 33, 52, 0.94));
}

.admin-login-panel-solo .admin-login-panel-head {
    gap: 10px;
}

.admin-login-panel-solo .section-tag,
.admin-login-panel-solo .panel-note,
.admin-login-panel-solo .field-block span,
.admin-login-panel-solo .form-status {
    color: rgba(236, 242, 248, 0.76);
}

.admin-login-panel-solo h2 {
    color: #f8fbff;
    font-size: clamp(1.7rem, 4vw, 2.2rem);
    letter-spacing: -0.04em;
}

.admin-login-panel-solo .field-block {
    gap: 6px;
}

.admin-login-panel-solo .field-block input {
    min-height: 50px;
    padding: 13px 14px;
    border-radius: 16px;
    border-color: rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.08);
    color: #f8fbff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.admin-login-panel-solo .field-block input::placeholder {
    color: rgba(236, 242, 248, 0.42);
}

.admin-login-panel-solo .field-block input:focus {
    border-color: rgba(218, 109, 52, 0.44);
    box-shadow: 0 0 0 4px rgba(218, 109, 52, 0.12), 0 10px 24px rgba(0, 0, 0, 0.18);
}

.admin-login-panel-solo .solid-button {
    min-height: 50px;
    border-radius: 16px;
}

.admin-login-panel-solo .form-status {
    font-size: 0.84rem;
}

.admin-login-panel-solo .stacked-tight {
    gap: 12px;
}

body.crime-admin-page .admin-auth-screen {
    min-height: 100vh;
}

.admin-login-stage {
    overflow: hidden;
}

.admin-login-kpis,
.admin-login-workboard,
.admin-login-footer,
.admin-login-checklist {
    display: grid;
    gap: 12px;
}

.admin-login-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-login-kpi,
.admin-login-workboard article,
.admin-login-credential-note {
    display: grid;
    gap: 6px;
    padding: 16px 18px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
}

.admin-login-kpi strong,
.admin-login-workboard strong,
.admin-login-credential-note strong {
    color: #fff8f2;
}

.admin-login-kpi span,
.admin-login-workboard span {
    color: rgba(248, 245, 239, 0.86);
}

.admin-login-eyebrow {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.admin-login-panel .admin-login-credential-note {
    border-color: rgba(23, 49, 73, 0.08);
    background: rgba(255, 255, 255, 0.72);
}

.admin-login-panel .admin-login-credential-note strong,
.admin-login-panel .admin-login-credential-note li {
    color: var(--ink-900);
}

.admin-login-checklist {
    margin: 0;
    padding-left: 18px;
}

.admin-login-checklist li {
    line-height: 1.55;
}

.admin-login-footer {
    grid-template-columns: 1fr;
}

.admin-login-footer .ghost-button {
    width: 100%;
}

.admin-login-panel-head {
    display: grid;
    gap: 8px;
}

.admin-login-panel .section-tag,
.admin-login-panel .panel-note,
.admin-login-panel .field-block span,
.admin-login-panel .form-status {
    color: var(--ink-800);
}

.admin-login-panel .field-block input,
.admin-login-panel .field-block textarea,
.admin-login-panel .field-block select {
    background: rgba(255, 255, 255, 0.98);
    border-color: rgba(23, 49, 73, 0.12);
}

.admin-login-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.admin-auth-card .field-block input,
.admin-auth-card .field-block textarea,
.admin-auth-card .field-block select {
    background: rgba(255, 255, 255, 0.96);
}

.admin-dashboard {
    display: grid;
    gap: 22px;
}

.admin-workspace-layout {
    display: grid;
    grid-template-columns: minmax(220px, 244px) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.admin-sidebar-overlay {
    position: fixed;
    inset: 0;
    z-index: 48;
    background: rgba(16, 24, 38, 0.42);
    backdrop-filter: blur(8px);
}

.admin-workspace-main {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.admin-sidebar-shell {
    position: sticky;
    top: 18px;
    display: grid;
    gap: 14px;
    padding: 20px;
    border-radius: 28px;
    background: linear-gradient(165deg, rgba(255, 252, 247, 0.96), rgba(240, 246, 250, 0.92));
    z-index: 49;
}

.admin-sidebar-brand,
.admin-sidebar-card,
.admin-sidebar-actions,
.admin-sidebar-nav {
    display: grid;
    gap: 12px;
}

.admin-sidebar-mobile-bar,
.admin-view-switcher {
    display: flex;
    gap: 10px;
}

.admin-sidebar-mobile-bar {
    align-items: center;
    justify-content: space-between;
}

.admin-sidebar-close,
.admin-sidebar-toggle {
    display: none;
}

.admin-user-chip-sidebar {
    justify-content: flex-start;
    width: 100%;
    min-height: 46px;
}

.admin-sidebar-nav {
    gap: 10px;
}

.admin-sidebar-link {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-height: 52px;
    padding: 0 16px;
    border-radius: 18px;
    border: 1px solid rgba(23, 49, 73, 0.08);
    background: rgba(255, 255, 255, 0.72);
    color: var(--ink-900);
    font-weight: 800;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.admin-sidebar-link:hover,
.admin-sidebar-link:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(190, 86, 39, 0.18);
    box-shadow: 0 14px 26px rgba(13, 24, 40, 0.08);
    background: rgba(255, 255, 255, 0.92);
}

.admin-sidebar-link.is-active {
    border-color: rgba(190, 86, 39, 0.24);
    background: linear-gradient(135deg, rgba(218, 109, 52, 0.14), rgba(255, 241, 230, 0.96));
    color: var(--ink-950);
    box-shadow: 0 16px 28px rgba(190, 86, 39, 0.1);
}

.admin-sidebar-card {
    padding: 16px;
    border-radius: 22px;
    border: 1px solid rgba(23, 49, 73, 0.08);
    background: rgba(255, 255, 255, 0.54);
}

.admin-sidebar-actions .ghost-button,
.admin-sidebar-actions .outline-button,
.admin-sidebar-actions .inline-flex {
    width: 100%;
}

.admin-view-switcher {
    flex-wrap: wrap;
}

.admin-view-button {
    min-width: 82px;
}

.admin-view-button.is-active {
    background: linear-gradient(135deg, rgba(218, 109, 52, 0.16), rgba(255, 239, 225, 0.96));
    border-color: rgba(190, 86, 39, 0.22);
    color: var(--ink-950);
}

.admin-topbar-summary {
    max-width: 34ch;
    padding: 12px 14px;
    border-radius: 18px;
    border: 1px solid rgba(23, 49, 73, 0.08);
    background: rgba(255, 255, 255, 0.62);
    color: var(--ink-700);
    font-size: 0.9rem;
    line-height: 1.55;
}

.admin-command-note-card {
    display: grid;
    gap: 6px;
    padding: 16px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.68);
    border: 1px solid rgba(23, 49, 73, 0.08);
}

.admin-command-note-card strong {
    color: var(--ink-950);
}

.admin-command-note-card span {
    color: var(--ink-700);
    line-height: 1.55;
}

#adminOverviewSection,
#panicDeskRail,
#adminMapSection,
#adminQueueSection,
#adminCaseSection {
    scroll-margin-top: 20px;
}

.admin-command-stage,
.admin-command-stage-grid,
.admin-command-hero {
    display: grid;
    gap: 18px;
}

.admin-command-stage-grid {
    grid-template-columns: 1fr;
    align-items: start;
}

.admin-command-hero {
    grid-template-columns: minmax(0, 0.92fr) minmax(260px, 0.34fr) minmax(0, 0.92fr);
    align-items: start;
    padding: 24px;
    background: linear-gradient(145deg, rgba(255, 253, 248, 0.96), rgba(240, 246, 250, 0.9));
}

.admin-command-hero-copy {
    display: grid;
    gap: 12px;
}

.admin-command-hero-copy h3,
.command-palette-head h3 {
    margin: 0;
    color: var(--ink-950);
}

.admin-command-hero-actions {
    display: grid;
    gap: 10px;
    align-content: start;
}

.admin-focus-panel-hero,
.admin-summary-panel {
    height: 100%;
}

.admin-ops-layout,
.admin-ops-primary,
.admin-ops-secondary {
    display: grid;
    gap: 18px;
}

.admin-ops-layout {
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.68fr);
    align-items: start;
}

.admin-topbar {
    background: linear-gradient(145deg, rgba(255, 253, 248, 0.95), rgba(244, 238, 230, 0.88));
}

.stats-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.summary-card {
    min-height: 132px;
}

.summary-card .stat-label {
    width: fit-content;
    color: var(--ink-700);
    background: rgba(255, 255, 255, 0.62);
}

.summary-card .stat-value {
    font-size: clamp(1.6rem, 2vw, 2.3rem);
    font-weight: 800;
}

.summary-card .stat-note {
    margin-top: 8px;
    color: var(--ink-700);
}

.summary-card-panic {
    background: linear-gradient(180deg, rgba(255, 242, 239, 0.96), rgba(255, 232, 226, 0.9));
    border-color: rgba(182, 40, 31, 0.16);
}

.summary-card-panic .stat-label {
    color: var(--danger-500);
}

.panic-desk-rail {
    background: linear-gradient(155deg, rgba(255, 246, 242, 0.96), rgba(255, 236, 230, 0.9));
    border-color: rgba(182, 40, 31, 0.14);
}

.panic-desk-rail.is-active {
    box-shadow: 0 0 0 2px rgba(182, 40, 31, 0.08), 0 28px 56px rgba(142, 29, 24, 0.12);
}

.panic-desk-grid {
    grid-template-columns: 1.05fr 1fr 1fr;
    gap: 14px;
}

.panic-desk-card {
    display: grid;
    gap: 8px;
    min-height: 162px;
    padding: 18px;
    border-radius: 24px;
    border: 1px solid rgba(182, 40, 31, 0.12);
    background: rgba(255, 255, 255, 0.78);
}

.panic-desk-primary {
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.84), rgba(255, 244, 240, 0.88));
}

.panic-desk-hot {
    background: linear-gradient(160deg, var(--danger-600), #d45e38 65%, #e69b69);
    color: #fff8f5;
    animation: panicDeskPulse 2.1s ease-in-out infinite;
}

.panic-desk-calm {
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.94), rgba(244, 241, 236, 0.92));
}

.panic-desk-alert {
    background: linear-gradient(180deg, rgba(255, 250, 246, 0.96), rgba(255, 239, 233, 0.92));
}

.panic-desk-value {
    font-size: clamp(1.5rem, 2vw, 2.25rem);
}

.admin-focus-panel,
.dispatch-lanes-panel,
.admin-log-panel,
.admin-analytics-panel,
.admin-shortcuts-panel {
    padding: 24px;
}

.admin-focus-panel {
    display: grid;
    gap: 14px;
    background: linear-gradient(160deg, rgba(245, 248, 252, 0.94), rgba(255, 251, 246, 0.9));
}

.admin-focus-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.admin-focus-summary {
    margin: 0;
    color: var(--ink-900);
    font-size: 1rem;
    line-height: 1.65;
}

.dispatch-lanes-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.dispatch-lane {
    display: grid;
    gap: 12px;
    padding: 16px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.62);
    border: 1px solid rgba(23, 49, 73, 0.08);
}

.dispatch-lane-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.dispatch-lane-head strong,
.dispatch-lane-item strong,
.admin-log-list strong {
    color: var(--ink-950);
}

.dispatch-lane-head span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(23, 49, 73, 0.08);
    color: var(--ink-700);
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.dispatch-lane-list,
.admin-log-list {
    display: grid;
    gap: 10px;
}

.dispatch-lane-item,
.admin-log-list article {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(23, 49, 73, 0.08);
}

.dispatch-lane-item {
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.dispatch-lane-item:hover {
    transform: translateY(-1px);
    border-color: rgba(190, 86, 39, 0.18);
    box-shadow: 0 14px 26px rgba(13, 24, 40, 0.08);
}

.dispatch-lane-item span,
.dispatch-lane-item small,
.dispatch-lane-empty,
.admin-log-list span {
    color: var(--ink-700);
}

.dispatch-lane-empty {
    padding: 10px 0;
}

.admin-log-panel {
    background: linear-gradient(160deg, rgba(255, 252, 247, 0.94), rgba(243, 247, 250, 0.9));
}

.admin-analytics-panel {
    display: grid;
    gap: 18px;
    background: linear-gradient(160deg, rgba(240, 248, 247, 0.92), rgba(255, 252, 247, 0.9));
}

.analytics-kpi-grid,
.analytics-detail-grid,
.shortcut-list {
    display: grid;
    gap: 12px;
}

.analytics-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.analytics-kpi-card,
.analytics-card,
.shortcut-list article {
    display: grid;
    gap: 6px;
    padding: 16px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(23, 49, 73, 0.08);
}

.analytics-kpi-card strong {
    font-size: 1.65rem;
    color: var(--ink-950);
}

.analytics-kpi-card span,
.analytics-kpi-card small,
.analytics-card-head span,
.analytics-list-item span,
.shortcut-list span {
    color: var(--ink-700);
}

.analytics-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.analytics-card {
    gap: 12px;
}

.analytics-card-head,
.analytics-mix-head,
.shortcut-list article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.analytics-list,
.detail-quick-actions {
    display: grid;
    gap: 10px;
}

.analytics-list-item,
.analytics-mix-item {
    display: grid;
    gap: 8px;
}

.analytics-mix-bar {
    width: 100%;
    height: 10px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(23, 49, 73, 0.08);
}

.analytics-mix-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--copper-500), var(--teal-500));
}

.admin-shortcuts-panel {
    background: linear-gradient(160deg, rgba(248, 249, 252, 0.94), rgba(255, 252, 247, 0.9));
}

.admin-shortcuts-panel-inline,
.admin-log-panel-inline,
.dispatch-lanes-panel-inline {
    margin-top: 16px;
}

.analytics-detail-grid-map {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 16px;
}

.shortcut-list article {
    justify-content: flex-start;
}

.shortcut-list kbd {
    min-width: 44px;
    padding: 8px 10px;
    border-radius: 12px;
    background: rgba(23, 49, 73, 0.1);
    border: 1px solid rgba(23, 49, 73, 0.12);
    color: var(--ink-950);
    font-size: 0.8rem;
    font-weight: 800;
    text-align: center;
}

.detail-quick-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 16px 0 12px;
}

.quick-status-btn {
    width: 100%;
}

.command-palette-overlay {
    position: fixed;
    inset: 0;
    z-index: 90;
    display: grid;
    place-items: center;
    padding: 18px;
    background: rgba(16, 24, 38, 0.46);
    backdrop-filter: blur(10px);
}

.command-palette-card {
    width: min(760px, 100%);
    display: grid;
    gap: 16px;
    padding: 24px;
    background: linear-gradient(160deg, rgba(255, 253, 248, 0.98), rgba(245, 248, 252, 0.94));
}

.command-palette-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.command-palette-list {
    display: grid;
    gap: 10px;
    max-height: min(58vh, 520px);
    overflow: auto;
}

.command-palette-item {
    width: 100%;
    display: grid;
    gap: 4px;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(23, 49, 73, 0.08);
    background: rgba(255, 255, 255, 0.86);
    text-align: left;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.command-palette-item:hover {
    transform: translateY(-1px);
    border-color: rgba(190, 86, 39, 0.18);
    box-shadow: 0 14px 26px rgba(13, 24, 40, 0.08);
}

.command-palette-item strong {
    color: var(--ink-950);
}

.command-palette-item span {
    color: var(--ink-700);
}

@keyframes panicDeskPulse {
    0%,
    100% {
        transform: translateY(0);
        box-shadow: 0 0 0 0 rgba(182, 40, 31, 0.08);
    }

    50% {
        transform: translateY(-2px);
        box-shadow: 0 18px 34px rgba(142, 29, 24, 0.16);
    }
}

.admin-main-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
        "map"
        "queue"
        "detail";
    gap: 20px;
    align-items: start;
}

.admin-zone-map {
    grid-area: map;
}

.admin-zone-queue {
    grid-area: queue;
}

.admin-zone-detail {
    grid-area: detail;
    align-self: stretch;
}

.report-list {
    display: grid;
    gap: 12px;
    max-height: 720px;
    overflow: auto;
    padding-right: 2px;
}

.report-card {
    padding: 16px;
    border-radius: 22px;
    border: 1px solid rgba(23, 49, 73, 0.1);
    background: rgba(255, 255, 255, 0.76);
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.report-card:hover,
.report-card.is-active {
    transform: translateY(-2px);
    border-color: rgba(36, 72, 99, 0.18);
    box-shadow: 0 18px 34px rgba(13, 24, 40, 0.08);
}

.report-card-panic {
    background: linear-gradient(180deg, rgba(255, 247, 244, 0.94), rgba(255, 239, 233, 0.9));
    border-color: rgba(182, 40, 31, 0.16);
}

.report-card-meta,
.status-pill-row {
    flex-wrap: wrap;
    align-items: center;
}

.report-card p {
    margin: 10px 0 0;
    line-height: 1.58;
}

.pill {
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(23, 49, 73, 0.12);
}

.pill.status-new { background: rgba(218, 109, 52, 0.16); color: var(--copper-600); }
.pill.status-acknowledged { background: rgba(25, 122, 124, 0.14); color: var(--teal-500); }
.pill.status-dispatched { background: rgba(36, 72, 99, 0.14); color: var(--navy-700); }
.pill.status-resolved { background: rgba(74, 139, 101, 0.14); color: var(--sage-500); }
.pill.status-closed { background: rgba(24, 34, 53, 0.1); color: var(--ink-900); }
.pill.urgency-critical { background: rgba(182, 40, 31, 0.14); color: var(--danger-500); }
.pill.urgency-high { background: rgba(183, 122, 30, 0.16); color: var(--warning-500); }
.pill.source-panic { background: rgba(182, 40, 31, 0.16); color: var(--danger-500); }
.pill.source-pwa { background: rgba(25, 122, 124, 0.12); color: var(--teal-500); }
.pill.source-web { background: rgba(24, 34, 53, 0.08); color: var(--ink-900); }

.filter-row {
    grid-template-columns: 170px 170px minmax(0, 1fr);
    gap: 12px;
    margin-bottom: 14px;
}

.queue-priority-note {
    margin: -2px 0 14px;
    padding: 12px 14px;
    border-radius: 18px;
    background: rgba(182, 40, 31, 0.08);
    border: 1px solid rgba(182, 40, 31, 0.12);
}

.empty-state {
    display: grid;
    place-items: center;
    text-align: center;
    color: var(--ink-700);
}

.detail-evidence-link {
    display: inline-flex;
    margin-top: 10px;
    color: var(--copper-600);
    font-weight: 800;
}

.premium-install-card {
    background: linear-gradient(155deg, rgba(255, 255, 255, 0.94), rgba(245, 242, 236, 0.9));
}

.hero-inline-link {
    font-size: 0.92rem;
    font-weight: 800;
    color: rgba(248, 245, 239, 0.86);
}

.hero-inline-link:hover,
.hero-inline-link:focus-visible {
    color: #fff;
}

.mobile-install-card,
.mobile-install-actions {
    display: flex;
    gap: 16px;
}

.mobile-install-card {
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    padding: 20px 22px;
}

.mobile-install-copy {
    max-width: 60ch;
}

.mobile-install-copy h4 {
    margin: 0 0 8px;
}

.mobile-install-copy .panel-note {
    margin: 0;
    color: var(--ink-700);
}

.install-status {
    margin: 12px 0 0;
    font-size: 0.95rem;
    line-height: 1.55;
    color: var(--ink-700);
}

.install-status[data-state="success"] {
    color: #0c7a43;
}

.install-status[data-state="error"] {
    color: #b42318;
}

.mobile-install-actions {
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.premium-ops-card {
    background: linear-gradient(160deg, rgba(231, 245, 245, 0.84), rgba(255, 255, 255, 0.92));
}

@media (max-width: 1240px) {
    .admin-workspace-layout,
    .premium-report-layout,
    .premium-hero-grid,
    .admin-main-grid,
    .panic-desk-grid,
    .admin-command-stage-grid,
    .admin-command-hero,
    .analytics-detail-grid-map {
        grid-template-columns: 1fr;
    }

    .stats-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-main-grid {
        grid-template-areas: none;
    }

    .admin-login-shell {
        grid-template-columns: 1fr;
    }

    .admin-sidebar-shell {
        position: static;
    }

    .admin-ops-layout,
    .dispatch-lanes-grid,
    .analytics-detail-grid,
    .analytics-kpi-grid,
    .admin-login-kpis {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 860px) {
    .app-shell,
    .admin-shell {
        width: min(100% - 18px, 100%);
        padding-top: 12px;
    }

    .mobile-install-card {
        align-items: flex-start;
        flex-direction: column;
    }

    .mobile-install-actions {
        width: 100%;
        justify-content: stretch;
    }

    .mobile-install-actions .solid-button,
    .mobile-install-actions .outline-button {
        width: 100%;
    }

    .hero-nav,
    .hero-nav-actions,
    .admin-workspace-layout,
    .panel-heading,
    .map-picker-header,
    .form-actions,
    .admin-topbar,
    .admin-topbar-actions,
    .panic-desk-header,
    .connectivity-banner,
    .draft-toolbar,
    .sticky-submit-bar,
    .live-capture-head,
    .section-label-row {
        flex-direction: column;
        align-items: stretch;
    }

    .field-grid.two-column,
    .detail-grid,
    .filter-row,
    .stats-grid,
    .quick-action-grid,
    .choice-chip-grid,
    .emergency-preset-grid,
    .live-capture-actions,
    .panic-mode-actions {
        grid-template-columns: 1fr;
    }

    .hero-copy h2,
    .premium-hero-copy h2 {
        max-width: 100%;
    }

    .map-canvas,
    .admin-map {
        min-height: 300px;
    }

    .sticky-submit-button,
    .mobile-top-actions,
    .hero-nav-actions .ghost-button,
    .hero-nav-actions .outline-button {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .hero-shell,
    .premium-report-card,
    .premium-install-card,
    .premium-ops-card,
    .map-dashboard-panel,
    .list-dashboard-panel,
    .detail-dashboard-panel,
    .admin-topbar,
    .summary-card,
    .panic-desk-rail,
    .admin-auth-card {
        padding: 18px;
        border-radius: 28px;
    }

    .admin-login-shell-solo {
        width: min(100%, 100%);
    }

    .admin-login-panel-solo {
        padding: 22px;
    }

    .premium-hero-shell {
        padding-bottom: 88px;
    }

    .brand-mark {
        width: 54px;
        height: 54px;
    }

    .hero-copy h2 {
        font-size: clamp(2.2rem, 12vw, 3.3rem);
    }

    .quick-action-button,
    .panic-button,
    .emergency-preset,
    .choice-chip,
    .solid-button,
    .outline-button,
    .ghost-button {
        min-height: 58px;
    }

    .sticky-submit-bar {
        bottom: 10px;
        padding: 12px;
    }

    .live-video-shell,
    .live-video-shell video {
        min-height: 220px;
    }
}

.app-native-hero {
    display: grid;
    gap: 22px;
}

.app-native-hero-grid {
    align-items: stretch;
}

.hero-kicker-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 6px;
}

.app-native-inline-pill {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.16);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.app-native-status-panel {
    display: grid;
    gap: 16px;
}

.hero-signal-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.hero-signal-strip span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.app-native-layout {
    align-items: start;
}

.app-native-layout {
    grid-template-columns: minmax(0, 1fr);
}

.app-native-flow,
.app-native-sidebar {
    display: grid;
    gap: 24px;
}

.app-native-card {
    display: grid;
    gap: 22px;
}

.mobile-command-strip {
    display: grid;
    gap: 14px;
}

.mobile-draft-toolbar {
    margin-bottom: 0;
}

.app-native-heading {
    margin-bottom: 0;
}

.app-native-action-deck {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    gap: 18px;
    align-items: start;
}

.quick-action-dock,
.app-native-preset-block,
.app-native-form {
    display: grid;
    gap: 18px;
}

.quick-action-dock {
    padding: 18px;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.5);
    border: 1px solid rgba(23, 49, 73, 0.08);
}

.app-native-stage-grid {
    display: grid;
    gap: 18px;
}

.app-native-stage-grid-top {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
}

.app-native-scene-grid {
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
}

.app-native-stage-card {
    position: relative;
    overflow: hidden;
}

.app-native-stage-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 18px;
    right: 18px;
    height: 1px;
    background: linear-gradient(90deg, rgba(23, 49, 73, 0), rgba(23, 49, 73, 0.12), rgba(23, 49, 73, 0));
}

.app-native-story-card,
.app-native-evidence-card,
.app-native-readiness-card,
.app-native-side-card {
    display: grid;
    gap: 14px;
}

.app-native-readiness-card {
    background: linear-gradient(160deg, rgba(250, 246, 237, 0.94), rgba(255, 255, 255, 0.9));
}

.admin-command-masthead {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: end;
}

.admin-command-copy {
    display: grid;
    gap: 8px;
}

.admin-command-overview {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.75fr);
    gap: 18px;
    align-items: start;
}

.admin-ops-brief {
    display: grid;
    gap: 10px;
    padding: 24px;
}

.admin-control-room-grid {
    align-items: start;
}

.admin-zone {
    display: grid;
    gap: 16px;
}

.admin-filter-panel {
    display: grid;
    gap: 16px;
    padding: 22px;
    background: linear-gradient(145deg, rgba(255, 253, 248, 0.95), rgba(244, 248, 251, 0.9));
}

.admin-filter-toolbar {
    display: grid;
    grid-template-columns: repeat(5, minmax(140px, 1fr)) minmax(240px, 1.35fr);
    gap: 12px;
    align-items: end;
}

.admin-filter-search {
    min-width: 0;
}

.admin-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.admin-filter-actions .solid-button,
.admin-filter-actions .ghost-button {
    min-height: 44px;
}

.admin-filter-bar {
    align-items: end;
}

.admin-case-form {
    margin-top: 6px;
}

@media (max-width: 1240px) {
    .app-native-action-deck,
    .admin-command-overview {
        grid-template-columns: 1fr;
    }

    .admin-filter-toolbar {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .app-native-stage-grid-top,
    .app-native-scene-grid,
    .admin-command-masthead {
        grid-template-columns: 1fr;
    }

    .hero-kicker-row,
    .hero-signal-strip {
        align-items: stretch;
    }

    .admin-workspace-layout {
        gap: 14px;
    }

    .admin-filter-toolbar {
        grid-template-columns: 1fr;
    }

    .admin-filter-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .admin-sidebar-shell {
        position: fixed;
        top: 12px;
        left: 12px;
        bottom: 12px;
        width: min(360px, calc(100vw - 24px));
        max-width: calc(100vw - 24px);
        padding: 18px;
        border-radius: 24px;
        overflow: auto;
        transform: translateX(calc(-100% - 24px));
        transition: transform 0.22s ease;
    }

    body.admin-sidebar-open .admin-sidebar-shell {
        transform: translateX(0);
    }

    .admin-sidebar-close,
    .admin-sidebar-toggle {
        display: inline-flex;
    }

    .admin-sidebar-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-sidebar-link {
        min-height: 50px;
        padding: 0 14px;
    }

    .admin-topbar-actions {
        gap: 12px;
    }

    .admin-topbar-summary {
        max-width: none;
    }
}

.composer-stepper {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.composer-step-chip {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(23, 49, 73, 0.1);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--ink-900);
    text-align: left;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.composer-step-chip:hover,
.composer-step-chip:focus-visible,
.composer-step-chip.is-active {
    transform: translateY(-1px);
    border-color: rgba(190, 86, 39, 0.2);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(252, 241, 231, 0.94));
    box-shadow: 0 16px 28px rgba(13, 24, 40, 0.08);
}

.composer-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 16px;
    background: rgba(23, 49, 73, 0.08);
    color: var(--ink-900);
    font-size: 1rem;
    font-weight: 800;
}

.composer-step-chip.is-active .composer-step-number {
    background: linear-gradient(135deg, var(--copper-500), #f0a15c);
    color: #fffdf8;
}

.composer-step-copy {
    display: grid;
    gap: 2px;
}

.composer-step-copy strong,
.composer-step-nav-copy strong {
    font-size: 0.95rem;
    color: var(--ink-950);
}

.composer-step-copy small,
.composer-step-status span,
.composer-step-nav-copy span {
    color: var(--ink-700);
    font-size: 0.84rem;
}

.composer-step-status,
.composer-step-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 22px;
    border: 1px solid rgba(23, 49, 73, 0.08);
    background: rgba(255, 255, 255, 0.52);
}

.composer-step-status {
    margin-top: -4px;
}

.composer-step-status strong {
    color: var(--ink-950);
}

.composer-step-nav {
    position: sticky;
    bottom: 88px;
    z-index: 9;
    background: rgba(255, 250, 244, 0.92);
    box-shadow: 0 18px 34px rgba(13, 24, 40, 0.08);
}

.composer-step-nav-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
    flex: 1;
}

.composer-step {
    display: grid;
    gap: 18px;
}

.composer-step.is-active {
    animation: composerStepFade 0.22s ease;
}

@keyframes composerStepFade {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.admin-summary-strip {
    display: grid;
}

body.operator-dense-mode .admin-shell {
    width: min(1480px, calc(100% - 20px));
}

body.operator-dense-mode .admin-dashboard {
    gap: 16px;
}

body.operator-dense-mode .admin-workspace-layout {
    grid-template-columns: minmax(210px, 232px) minmax(0, 1fr);
    gap: 14px;
}

body.operator-dense-mode .admin-topbar,
body.operator-dense-mode .summary-card,
body.operator-dense-mode .panic-desk-rail,
body.operator-dense-mode .map-dashboard-panel,
body.operator-dense-mode .list-dashboard-panel,
body.operator-dense-mode .detail-dashboard-panel,
body.operator-dense-mode .admin-ops-brief {
    padding: 18px;
    border-radius: 26px;
}

body.operator-dense-mode .stats-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

body.operator-dense-mode .summary-card {
    min-height: 124px;
}

body.operator-dense-mode .summary-card .stat-value {
    font-size: 1.7rem;
}

body.operator-dense-mode .summary-card .stat-note,
body.operator-dense-mode .panel-note,
body.operator-dense-mode .report-card p,
body.operator-dense-mode .detail-body,
body.operator-dense-mode .queue-priority-note {
    font-size: 0.88rem;
    line-height: 1.45;
}

body.operator-dense-mode .admin-command-overview {
    grid-template-columns: minmax(0, 1.6fr) minmax(240px, 0.62fr);
    gap: 14px;
}

body.operator-dense-mode .admin-ops-layout {
    grid-template-columns: minmax(0, 1.68fr) minmax(220px, 0.54fr);
    gap: 14px;
}

body.operator-dense-mode .admin-focus-panel,
body.operator-dense-mode .dispatch-lanes-panel,
body.operator-dense-mode .admin-log-panel,
body.operator-dense-mode .admin-analytics-panel,
body.operator-dense-mode .admin-shortcuts-panel {
    padding: 18px;
}

body.operator-dense-mode .admin-login-brief,
body.operator-dense-mode .admin-login-panel {
    padding: 22px;
}

body.operator-dense-mode .admin-sidebar-shell {
    padding: 18px;
    border-radius: 24px;
}

body.operator-dense-mode .admin-sidebar-card {
    padding: 14px;
    border-radius: 18px;
}

body.operator-dense-mode .admin-sidebar-link {
    min-height: 44px;
    padding: 0 12px;
    border-radius: 14px;
}

body.operator-dense-mode .admin-view-button {
    min-width: 70px;
}

body.operator-dense-mode .admin-command-hero,
body.operator-dense-mode .command-palette-card {
    padding: 18px;
}

body.operator-dense-mode .dispatch-lanes-grid {
    gap: 10px;
}

body.operator-dense-mode .dispatch-lane {
    padding: 12px;
    border-radius: 18px;
}

body.operator-dense-mode .dispatch-lane-item,
body.operator-dense-mode .admin-log-list article,
body.operator-dense-mode .analytics-kpi-card,
body.operator-dense-mode .analytics-card,
body.operator-dense-mode .shortcut-list article {
    padding: 10px 12px;
    border-radius: 14px;
}

body.operator-dense-mode .panic-desk-grid {
    gap: 10px;
}

body.operator-dense-mode .panic-desk-card {
    min-height: 132px;
    padding: 14px;
    border-radius: 20px;
}

body.operator-dense-mode .panic-desk-value {
    font-size: 1.5rem;
}

body.operator-dense-mode .admin-main-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
        "map"
        "queue"
        "detail";
    gap: 14px;
}

body.operator-dense-mode .admin-map {
    min-height: 460px;
}

body.operator-dense-mode .filter-row {
    grid-template-columns: 140px 150px minmax(0, 1fr);
    gap: 10px;
}

body.operator-dense-mode .field-block input,
body.operator-dense-mode .field-block select,
body.operator-dense-mode .field-block textarea {
    padding: 12px 14px;
    border-radius: 16px;
}

body.operator-dense-mode .report-list {
    gap: 10px;
    max-height: 620px;
}

body.operator-dense-mode .report-card {
    padding: 12px 14px;
    border-radius: 18px;
}

body.operator-dense-mode .pill,
body.operator-dense-mode .admin-user-chip,
body.operator-dense-mode .summary-card .stat-label {
    min-height: 32px;
    padding: 0 10px;
    font-size: 0.76rem;
}

body.operator-dense-mode .detail-grid {
    gap: 10px;
}

body.operator-dense-mode .detail-item {
    padding: 12px;
    border-radius: 16px;
}

body.operator-dense-mode .detail-media img,
body.operator-dense-mode .detail-media video {
    max-height: 240px;
}

@media (min-width: 861px) {
    .composer-step-nav {
        display: none;
    }
}

@media (max-width: 860px) {
    .composer-stepper {
        position: sticky;
        top: 12px;
        z-index: 9;
        padding: 8px;
        border-radius: 22px;
        background: rgba(255, 250, 244, 0.92);
        backdrop-filter: blur(18px);
        box-shadow: 0 18px 34px rgba(13, 24, 40, 0.08);
    }

    .composer-step-chip {
        grid-template-columns: 34px;
        justify-items: center;
        padding: 12px 8px;
        text-align: center;
    }

    .composer-step-number {
        width: 34px;
        height: 34px;
        border-radius: 12px;
        font-size: 0.9rem;
    }

    .composer-step-copy {
        gap: 1px;
    }

    .composer-step-copy strong {
        font-size: 0.78rem;
    }

    .composer-step-copy small {
        display: none;
    }

    .composer-step-status {
        align-items: flex-start;
        flex-direction: column;
    }

    .report-form.is-stepped > .composer-step:not(.is-active) {
        display: none;
    }

    .report-form.is-stepped > .composer-step-nav {
        display: flex;
    }

    .report-form.is-stepped .sticky-submit-bar {
        bottom: 0;
    }
}

@media (max-width: 520px) {
    .composer-step-status,
    .composer-step-nav {
        padding: 12px 14px;
        border-radius: 18px;
    }

    .composer-step-nav {
        bottom: 84px;
    }

    .composer-step-nav .solid-button,
    .composer-step-nav .ghost-button {
        min-height: 52px;
        padding: 0 14px;
    }
}
