:root {
    --ops-ink: #1b1f23;
    --ops-ink-soft: #4f5b66;
    --ops-olive: #005ea8;
    --ops-olive-dark: #12345a;
    --ops-olive-light: #d9e8f6;
    --ops-khaki: #e3e8ee;
    --ops-sand: #f4f6f8;
    --ops-paper: #ffffff;
    --ops-line: #c9d2dc;
    --ops-line-dark: #7c8da0;
    --ops-green: #287c50;
    --ops-warning: #a66f00;
    --ops-danger: #b50909;
    --ops-white: #ffffff;
    --ops-shadow: 0 0.65rem 1.6rem rgba(7, 31, 60, 0.08);
    --ops-button-min-height: 2.55rem;
    --ops-button-padding-y: 0.58rem;
    --ops-button-padding-x: 0.9rem;
    --ops-button-font-size: 0.64rem;
}

html,
body {
    min-height: 100%;
    background: var(--ops-sand);
    color: var(--ops-ink);
}

body {
    letter-spacing: 0.01em;
    background-image:
        linear-gradient(rgba(0, 94, 168, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 94, 168, 0.035) 1px, transparent 1px);
    background-size: 28px 28px;
}

::selection {
    background: var(--ops-olive);
    color: var(--ops-white);
}

.command-kicker,
.eyebrow,
.command-label,
.readiness-label,
.section-code,
.hierarchy-rank,
.zulu-label {
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.command-kicker,
.eyebrow,
.command-muted,
.readiness-meta {
    color: var(--ops-ink-soft);
}

.command-heading,
.command-title,
.ops-brand {
    font-weight: 900;
    letter-spacing: 0.035em;
}

.command-title {
    color: var(--ops-olive-dark);
}

.command-subtitle {
    color: var(--ops-ink-soft);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.16em;
}

.brand-mark {
    width: 5rem;
    height: 5rem;
    position: relative;
    display: grid;
    place-items: center;
    border: 2px solid var(--ops-olive-dark);
    background: var(--ops-paper);
    color: var(--ops-olive-dark);
    font-size: 2rem;
    font-weight: 900;
    box-shadow: inset 0 0 0 0.35rem var(--ops-olive-light), var(--ops-shadow);
    clip-path: polygon(12% 0, 88% 0, 100% 12%, 100% 88%, 88% 100%, 12% 100%, 0 88%, 0 12%);
}

.brand-mark::before,
.brand-mark::after {
    content: "";
    position: absolute;
    width: 0.7rem;
    height: 0.7rem;
    border-color: var(--ops-olive-dark);
}

.brand-mark::before {
    top: 0.45rem;
    left: 0.45rem;
    border-top: 2px solid;
    border-left: 2px solid;
}

.brand-mark::after {
    right: 0.45rem;
    bottom: 0.45rem;
    border-right: 2px solid;
    border-bottom: 2px solid;
}

.brand-mark-sm {
    width: 3.6rem;
    height: 3.6rem;
    flex: 0 0 auto;
    font-size: 1.35rem;
}

.brand-mark-xs {
    width: 2.65rem;
    height: 2.65rem;
    flex: 0 0 auto;
    font-size: 1rem;
    box-shadow: inset 0 0 0 0.22rem var(--ops-olive-light);
}

.status-dot {
    width: 0.5rem;
    height: 0.5rem;
    display: inline-block;
    margin-right: 0.35rem;
    border-radius: 50%;
    background: var(--ops-green);
    box-shadow: 0 0 0 0.18rem rgba(40, 124, 80, 0.14);
    vertical-align: 0.05em;
}

/* Splash */
.splash-shell,
.auth-shell {
    position: relative;
    overflow: hidden;
}

.splash-shell::before,
.auth-shell::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(135deg, transparent 0 48.7%, rgba(0, 94, 168, 0.035) 49%, transparent 49.3%),
        linear-gradient(45deg, transparent 0 48.7%, rgba(0, 94, 168, 0.03) 49%, transparent 49.3%);
    background-size: 140px 140px;
}

.command-splash {
    width: min(100%, 46rem);
    position: relative;
    z-index: 1;
    padding: 1.25rem;
    border: 1px solid var(--ops-line-dark);
    background: rgba(251, 250, 244, 0.94);
    box-shadow: var(--ops-shadow);
    animation: splash-in 500ms ease-out both;
}

.command-splash::before,
.command-splash::after,
.command-panel::before,
.command-panel::after {
    content: "";
    position: absolute;
    width: 0.8rem;
    height: 0.8rem;
    border-color: var(--ops-olive-dark);
    pointer-events: none;
}

.command-splash::before,
.command-panel::before {
    top: -1px;
    left: -1px;
    border-top: 3px solid;
    border-left: 3px solid;
}

.command-splash::after,
.command-panel::after {
    right: -1px;
    bottom: -1px;
    border-right: 3px solid;
    border-bottom: 3px solid;
}

.command-rule {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.55rem 0.65rem;
    border-top: 1px solid var(--ops-line);
    border-bottom: 1px solid var(--ops-line);
    color: var(--ops-ink-soft);
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.status-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid var(--ops-line);
    background: #f6f8fa;
}

.status-strip span {
    padding: 0.55rem 0.35rem;
    color: var(--ops-ink-soft);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.status-strip span + span {
    border-left: 1px solid var(--ops-line);
}

.splash-progress {
    height: 0.38rem;
    border-radius: 0;
    background: var(--ops-olive-light);
}

.splash-progress .progress-bar {
    background: var(--ops-olive-dark);
    transition: none;
}

/* Panels */
.command-panel {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-paper);
    box-shadow: var(--ops-shadow);
}

.command-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid var(--ops-line-dark);
    background: linear-gradient(90deg, #eef2f5, #f7f9fb 70%);
}

.command-panel-body {
    background: rgba(251, 250, 244, 0.96);
}

.command-panel-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.65rem 1rem;
    border-top: 1px solid var(--ops-line);
    background: #eef2f5;
    color: var(--ops-ink-soft);
    font-size: 0.63rem;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.auth-panel {
    z-index: 1;
}

.auth-classification,
.ops-classification-bar {
    background: var(--ops-olive-dark);
    color: #f7f9fb;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.09em;
}

.auth-classification {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.55rem 1rem;
}

.auth-classification .status-dot,
.ops-classification-bar .status-dot {
    background: #b8d8c6;
    box-shadow: none;
}

.command-label {
    color: var(--ops-olive-dark);
    margin-bottom: 0.45rem;
}

.command-input {
    min-height: 3.25rem;
    border-radius: 0;
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-white);
    color: var(--ops-ink);
    box-shadow: inset 0 2px 0 rgba(0, 94, 168, 0.04);
}

.command-input:focus {
    border-color: var(--ops-olive-dark);
    background: var(--ops-white);
    box-shadow: 0 0 0 0.22rem rgba(0, 94, 168, 0.14);
}

.btn:not(.btn-close),
.notification-ack-btn,
.notification-text-btn {
    min-height: var(--ops-button-min-height);
    padding: var(--ops-button-padding-y) var(--ops-button-padding-x);
    border-radius: 0;
    font-size: var(--ops-button-font-size);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.btn.btn-sm,
.btn.btn-lg {
    min-height: var(--ops-button-min-height);
    padding: var(--ops-button-padding-y) var(--ops-button-padding-x);
    font-size: var(--ops-button-font-size);
}

.command-btn,
.command-btn-outline {
    border-radius: 0;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.command-btn {
    border: 1px solid var(--ops-olive-dark);
    background: var(--ops-olive-dark);
    color: var(--ops-white);
}

.command-btn:hover,
.command-btn:focus {
    border-color: #2f3529;
    background: #2f3529;
    color: var(--ops-white);
}

.command-btn-outline {
    border: 1px solid var(--ops-line-dark);
    background: transparent;
    color: var(--ops-ink);
}

.command-btn-outline:hover,
.command-btn-outline:focus {
    border-color: var(--ops-olive-dark);
    background: var(--ops-olive-dark);
    color: var(--ops-white);
}

.command-alert {
    border-radius: 0;
    border-left-width: 4px;
}

/* Command Center */
.ops-shell {
    display: flex;
    flex-direction: column;
}

.ops-topbar {
    border-bottom: 1px solid var(--ops-line-dark);
    background: rgba(251, 250, 244, 0.97);
    box-shadow: 0 0.25rem 0.75rem rgba(7, 31, 60, 0.05);
}

.ops-brand {
    color: var(--ops-olive-dark);
    font-size: 1rem;
}

.ops-classification-bar {
    padding: 0.45rem 0;
}

.zulu-clock {
    min-width: 8rem;
    padding: 0.35rem 0.65rem;
    border-left: 3px solid var(--ops-olive-dark);
    background: #eef3f7;
    color: var(--ops-ink);
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.zulu-label {
    display: block;
    color: var(--ops-ink-soft);
    font-size: 0.55rem;
    line-height: 1;
}

.zulu-clock time {
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.command-stamp {
    padding: 0.45rem 0.6rem;
    border: 1px solid var(--ops-olive-dark);
    color: var(--ops-olive-dark);
    font-size: 0.64rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    transform: rotate(-1.5deg);
}

.readiness-card {
    height: 100%;
    min-height: 8.3rem;
    padding: 1rem;
    border-top: 4px solid var(--ops-olive-dark);
    border-right: 1px solid var(--ops-line);
    border-bottom: 1px solid var(--ops-line);
    border-left: 1px solid var(--ops-line);
    background: #f4f7fa;
}

.readiness-value {
    margin: 0.8rem 0 0.35rem;
    color: var(--ops-ink);
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: 0.035em;
}

.readiness-meta {
    font-size: 0.77rem;
}

.ops-section {
    border: 1px solid var(--ops-line);
    background: var(--ops-white);
}

.ops-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.65rem 0.8rem;
    border-bottom: 1px solid var(--ops-line);
    background: #edf2f7;
    color: var(--ops-olive-dark);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.section-code {
    color: var(--ops-ink-soft);
    font-size: 0.56rem;
}

.briefing-block {
    padding: 1.25rem;
}

.command-dl > div {
    display: grid;
    grid-template-columns: minmax(7rem, 0.8fr) minmax(0, 1.2fr);
    gap: 1rem;
    padding: 0.85rem;
    border-top: 1px solid var(--ops-line);
}

.command-dl > div:first-child {
    border-top: 0;
}

.command-dl dt {
    color: var(--ops-ink-soft);
    font-size: 0.64rem;
    font-weight: 900;
    letter-spacing: 0.09em;
}

.command-dl dd {
    margin: 0;
    color: var(--ops-ink);
    font-size: 0.84rem;
    font-weight: 800;
    text-align: right;
}

.command-hierarchy {
    padding: 0.8rem;
}

.hierarchy-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.8rem;
    border-top: 1px solid var(--ops-line);
    border-left: 4px solid var(--ops-olive-light);
    background: #f7f9fb;
}

.hierarchy-item:first-child {
    border-top: 0;
}

.hierarchy-command {
    border-left-color: var(--ops-olive-dark);
}

.hierarchy-supervisor {
    border-left-color: var(--ops-khaki);
}

.hierarchy-rank {
    color: var(--ops-ink-soft);
    font-size: 0.56rem;
}

.hierarchy-item strong {
    font-size: 0.8rem;
    text-align: right;
}

.posture-list {
    padding: 0.8rem;
}

.posture-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.7rem 0.15rem;
    border-top: 1px dashed var(--ops-line);
    font-size: 0.78rem;
}

.posture-list > div:first-child {
    border-top: 0;
}

.posture-list span {
    color: var(--ops-ink-soft);
}

.posture-list strong {
    color: var(--ops-olive-dark);
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ops-footer {
    margin-top: auto;
    padding: 0.65rem 0;
    border-top: 1px solid var(--ops-line-dark);
    background: #e7ecf1;
    color: var(--ops-ink-soft);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.09em;
}

@keyframes splash-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 575.98px) {
    .command-rule,
    .auth-classification,
    .command-panel-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.25rem;
    }

    .status-strip {
        grid-template-columns: 1fr;
    }

    .status-strip span + span {
        border-top: 1px solid var(--ops-line);
        border-left: 0;
    }

    .command-panel-header {
        align-items: flex-start;
    }

    .command-stamp {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Primary navigation */
.ops-navbar {
    min-height: 4.6rem;
    padding: 0;
    border-bottom: 1px solid var(--ops-line-dark);
    background: rgba(251, 250, 244, 0.98);
    box-shadow: 0 0.25rem 0.75rem rgba(7, 31, 60, 0.06);
}

.ops-navbar .navbar-brand {
    min-width: max-content;
    margin-right: 0;
    padding: 0.55rem 0;
    color: var(--ops-ink);
}

.ops-navbar .navbar-brand:hover,
.ops-navbar .navbar-brand:focus {
    color: var(--ops-ink);
}

.ops-nav-links {
    align-self: stretch;
}

.ops-nav-links .nav-item {
    display: flex;
}

.ops-nav-links .nav-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 7.25rem;
    padding: 0.8rem 1rem;
    border-right: 1px solid transparent;
    border-left: 1px solid transparent;
    color: var(--ops-ink-soft);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.11em;
}

.ops-nav-links .nav-link::after {
    content: "";
    position: absolute;
    right: 0.9rem;
    bottom: 0;
    left: 0.9rem;
    height: 3px;
    background: transparent;
}

.ops-nav-links .nav-link:hover,
.ops-nav-links .nav-link:focus {
    color: var(--ops-olive-dark);
    background: #f4f6f8;
}

.ops-nav-links .nav-link.active {
    border-right-color: var(--ops-line);
    border-left-color: var(--ops-line);
    background: #eef3f7;
    color: var(--ops-olive-dark);
}

.ops-nav-links .nav-link.active::after {
    background: var(--ops-olive-dark);
}

.ops-nav-icon,
.ops-navbar-action-icon,
.ops-menu-icon {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.ops-nav-icon {
    width: 1.1rem;
    color: var(--ops-olive);
    font-size: 0.82rem;
}

.ops-nav-links .nav-link.active .ops-nav-icon,
.ops-nav-links .nav-link:hover .ops-nav-icon,
.ops-nav-links .nav-link:focus .ops-nav-icon {
    color: var(--ops-olive-dark);
}

.ops-navbar-action-icon {
    width: 1rem;
    font-size: 0.78rem;
}

.ops-admin-toggle,
.ops-account-toggle,
.ops-signout-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
}

.ops-menu-icon {
    width: 2rem;
    color: var(--ops-warning);
    font-size: 0.78rem;
}

.ops-admin-menu .dropdown-item.active .ops-menu-icon {
    color: #e6d49c;
}

.ops-admin-menu .dropdown-item.disabled .ops-menu-icon {
    opacity: 0.6;
}

.ops-user-chip {
    display: flex;
    min-width: 10rem;
    flex-direction: column;
    padding-left: 0.65rem;
    border-left: 3px solid var(--ops-khaki);
    line-height: 1.1;
}

.ops-user-name {
    max-width: 13rem;
    overflow: hidden;
    color: var(--ops-ink);
    font-size: 0.75rem;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ops-user-role {
    margin-top: 0.25rem;
    color: var(--ops-ink-soft);
    font-size: 0.52rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.command-nav-toggler {
    border-radius: 0;
    border-color: var(--ops-line-dark);
}

/* Messages module */
.messages-main {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    background: #f4f6f8;
}

.messages-alerts {
    background: var(--ops-sand);
}

.mail-commandbar {
    min-height: 5.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--ops-line-dark);
    background: var(--ops-paper);
}

.mail-module-title {
    color: var(--ops-olive-dark);
    font-size: 1.65rem;
    font-weight: 950;
    letter-spacing: 0.04em;
}

.mail-command-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.mail-command-actions .btn {
    min-height: 2.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
}

.mail-shell {
    display: grid;
    min-height: 36rem;
    flex: 1 1 auto;
    grid-template-columns: 13.5rem minmax(18rem, 22rem) minmax(0, 1fr);
    border-bottom: 1px solid var(--ops-line-dark);
    background: var(--ops-paper);
}

.mail-folders {
    padding: 0.9rem 0.7rem;
    border-right: 1px solid var(--ops-line-dark);
    background: #edf2f7;
}

.mail-folders-title {
    padding: 0.45rem 0.6rem 0.7rem;
    color: var(--ops-ink-soft);
    font-size: 0.58rem;
    font-weight: 900;
    letter-spacing: 0.13em;
}

.mail-folder-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-height: 2.65rem;
    padding: 0.55rem 0.65rem;
    border-left: 4px solid transparent;
    color: var(--ops-ink-soft);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-decoration: none;
}

.mail-folder-link:hover,
.mail-folder-link:focus {
    background: rgba(255, 255, 255, 0.5);
    color: var(--ops-ink);
}

.mail-folder-link.active {
    border-left-color: var(--ops-olive-dark);
    background: var(--ops-paper);
    color: var(--ops-olive-dark);
}

.mail-count {
    min-width: 1.55rem;
    padding: 0.12rem 0.35rem;
    background: var(--ops-olive-dark);
    color: var(--ops-white);
    font-size: 0.58rem;
    text-align: center;
}

.mail-folder-divider {
    margin: 0.8rem 0.6rem;
    border-top: 1px solid var(--ops-line-dark);
}

.mail-folder-meta {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin: 0.6rem;
    color: var(--ops-ink-soft);
    font-size: 0.52rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.mail-folder-meta strong {
    color: var(--ops-olive-dark);
    font-size: 0.62rem;
}

.mail-list {
    min-width: 0;
    border-right: 1px solid var(--ops-line-dark);
    background: #f7f9fb;
}

.mail-list-header {
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.7rem 0.85rem;
    border-bottom: 1px solid var(--ops-line-dark);
    background: #eef2f5;
}

.mail-list-header > div {
    display: flex;
    flex-direction: column;
}

.mail-list-header strong {
    color: var(--ops-ink);
    font-size: 0.74rem;
    letter-spacing: 0.06em;
}

.mail-list-eyebrow {
    color: var(--ops-ink-soft);
    font-size: 0.52rem;
    font-weight: 900;
    letter-spacing: 0.12em;
}

.mail-list-scroll {
    max-height: calc(100vh - 15.4rem);
    min-height: 31.9rem;
    overflow-y: auto;
}

.mail-item {
    position: relative;
    display: block;
    min-height: 7.2rem;
    padding: 0.85rem 0.85rem 0.8rem 1rem;
    border-bottom: 1px solid var(--ops-line);
    background: #f7f9fb;
    color: inherit;
    text-decoration: none;
}

.mail-item:hover,
.mail-item:focus {
    background: #eef2f5;
    color: inherit;
}

.mail-item.selected {
    box-shadow: inset 4px 0 0 var(--ops-olive-dark);
    background: #e7ecf1;
}

.mail-item.unread {
    background: var(--ops-white);
}

.mail-item.unread .mail-person,
.mail-item.unread .mail-subject {
    color: var(--ops-olive-dark);
    font-weight: 950;
}

.mail-item-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
}

.mail-person {
    min-width: 0;
    overflow: hidden;
    color: var(--ops-ink);
    font-size: 0.77rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mail-item time {
    flex: 0 0 auto;
    color: var(--ops-ink-soft);
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.mail-subject {
    margin-top: 0.35rem;
    overflow: hidden;
    color: var(--ops-ink);
    font-size: 0.76rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mail-preview {
    display: -webkit-box;
    margin-top: 0.28rem;
    overflow: hidden;
    color: var(--ops-ink-soft);
    font-size: 0.7rem;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.mail-unread-marker {
    position: absolute;
    top: 1.1rem;
    left: 0.42rem;
    width: 0.36rem;
    height: 0.36rem;
    border-radius: 50%;
    background: var(--ops-olive-dark);
}

.mail-empty-list,
.mail-reader-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: var(--ops-ink-soft);
    text-align: center;
}

.mail-empty-list {
    min-height: 20rem;
    gap: 0.35rem;
    padding: 2rem;
    font-size: 0.72rem;
}

.mail-empty-list strong {
    color: var(--ops-olive-dark);
    font-size: 0.8rem;
    letter-spacing: 0.1em;
}

.mail-empty-symbol {
    margin-bottom: 0.35rem;
    color: var(--ops-line-dark);
    font-size: 2.5rem;
}

.mail-reader {
    min-width: 0;
    background: var(--ops-white);
}

.mail-reader-header {
    min-height: 6.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 1.35rem;
    border-bottom: 1px solid var(--ops-line-dark);
    background: linear-gradient(90deg, #f7f9fb, #eef2f5);
}

.mail-reader-title {
    margin: 0.22rem 0 0;
    color: var(--ops-ink);
    font-size: 1.2rem;
    font-weight: 900;
    letter-spacing: 0.02em;
}

.reader-routing {
    display: grid;
    align-items: center;
    grid-template-columns: 2.6rem minmax(0, 1fr) auto;
    gap: 0.8rem;
    padding: 1rem 1.35rem;
    border-bottom: 1px solid var(--ops-line);
    background: #ffffff;
}

.routing-avatar {
    width: 2.6rem;
    height: 2.6rem;
    display: grid;
    place-items: center;
    border: 1px solid var(--ops-olive-dark);
    background: var(--ops-olive-light);
    color: var(--ops-olive-dark);
    font-size: 0.9rem;
    font-weight: 950;
    clip-path: polygon(10% 0, 90% 0, 100% 10%, 100% 90%, 90% 100%, 10% 100%, 0 90%, 0 10%);
}

.routing-details {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
}

.routing-details strong {
    overflow: hidden;
    color: var(--ops-ink);
    font-size: 0.78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.routing-details span,
.routing-time {
    color: var(--ops-ink-soft);
    font-size: 0.57rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.routing-time {
    text-align: right;
}

.reader-body {
    min-height: 22rem;
    padding: 1.6rem 1.5rem 2.25rem;
    color: #2b2e29;
    font-size: 0.9rem;
    line-height: 1.7;
    white-space: pre-wrap;
}

.reader-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.65rem 1.35rem;
    border-top: 1px solid var(--ops-line);
    background: #eef2f5;
    color: var(--ops-ink-soft);
    font-size: 0.53rem;
    font-weight: 900;
    letter-spacing: 0.09em;
}

.mail-reader-empty {
    min-height: 36rem;
    padding: 3rem;
}

.mail-reader-empty h2 {
    margin: 0.55rem 0;
    color: var(--ops-olive-dark);
    font-size: 1rem;
    font-weight: 950;
    letter-spacing: 0.08em;
}

.mail-reader-empty p {
    max-width: 27rem;
    margin: 0;
    font-size: 0.76rem;
}

.mail-reader-insignia {
    width: 4.25rem;
    height: 4.25rem;
    display: grid;
    place-items: center;
    margin-bottom: 1rem;
    border: 2px solid var(--ops-line-dark);
    background: #f4f6f8;
    color: var(--ops-olive-dark);
    font-size: 1.5rem;
    font-weight: 950;
    clip-path: polygon(10% 0, 90% 0, 100% 10%, 100% 90%, 90% 100%, 10% 100%, 0 90%, 0 10%);
}

.compose-panel {
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

.compose-fields {
    flex: 1 1 auto;
}

.compose-field-row {
    display: grid;
    align-items: center;
    grid-template-columns: 5.5rem minmax(0, 1fr);
    min-height: 3.4rem;
    padding: 0.45rem 1.35rem;
    border-bottom: 1px solid var(--ops-line);
}

.compose-label {
    margin: 0;
    color: var(--ops-ink-soft);
    font-size: 0.61rem;
    font-weight: 900;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.compose-control {
    border: 0;
    border-radius: 0;
    background-color: transparent;
    color: var(--ops-ink);
    font-size: 0.82rem;
    box-shadow: none !important;
}

.compose-control:focus {
    background-color: #f7f9fb;
}

.compose-body-wrap {
    padding: 1rem 1.35rem;
}

.compose-body {
    min-height: 20rem;
    resize: vertical;
    border-radius: 0;
    border-color: var(--ops-line);
    background: #ffffff;
    color: var(--ops-ink);
    font-size: 0.88rem;
    line-height: 1.6;
}

.compose-body:focus {
    border-color: var(--ops-olive-dark);
    box-shadow: 0 0 0 0.2rem rgba(0, 94, 168, 0.1);
}

.compose-error {
    grid-column: 2;
    padding: 0.15rem 0.75rem 0.25rem;
    color: var(--ops-danger);
    font-size: 0.68rem;
    font-weight: 700;
}

.compose-footer {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.85rem 1.35rem;
    border-top: 1px solid var(--ops-line-dark);
    background: #eef2f5;
}

.compose-footer .btn {
    min-width: 7rem;
    font-size: 0.64rem;
}

.compose-security {
    margin-left: auto;
    color: var(--ops-ink-soft);
    font-size: 0.53rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.min-w-0 {
    min-width: 0;
}

@media (max-width: 1199.98px) {
    .mail-shell {
        grid-template-columns: 12rem 20rem minmax(0, 1fr);
    }

    .ops-user-chip {
        display: none;
    }
}

@media (max-width: 991.98px) {
    .ops-navbar {
        min-height: auto;
    }

    .ops-nav-links {
        margin-top: 0.65rem;
        border-top: 1px solid var(--ops-line);
    }

    .ops-nav-links .nav-item {
        display: block;
    }

    .ops-nav-links .nav-link {
        min-height: 2.8rem;
        border-right: 0;
        border-left: 0;
    }

    .ops-user-chip {
        display: flex;
    }

    .mail-shell {
        grid-template-columns: 10.5rem minmax(16rem, 19rem) minmax(22rem, 1fr);
        overflow-x: auto;
    }

    .mail-list-scroll {
        max-height: none;
    }
}

@media (max-width: 767.98px) {
    .mail-commandbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .mail-command-actions {
        width: 100%;
    }

    .mail-command-actions .btn {
        flex: 1 1 0;
    }

    .mail-shell {
        display: block;
        overflow: visible;
    }

    .mail-folders {
        display: flex;
        align-items: stretch;
        gap: 0.35rem;
        overflow-x: auto;
        padding: 0.55rem;
        border-right: 0;
        border-bottom: 1px solid var(--ops-line-dark);
    }

    .mail-folders-title,
    .mail-folder-divider,
    .mail-folder-meta {
        display: none;
    }

    .mail-folder-link {
        min-width: 7rem;
        border-bottom: 3px solid transparent;
        border-left: 0;
    }

    .mail-folder-link.active {
        border-bottom-color: var(--ops-olive-dark);
    }

    .mail-list {
        border-right: 0;
        border-bottom: 1px solid var(--ops-line-dark);
    }

    .mail-list-scroll {
        min-height: 0;
        max-height: 22rem;
    }

    .mail-reader-empty {
        min-height: 21rem;
    }

    .reader-routing {
        grid-template-columns: 2.6rem minmax(0, 1fr);
    }

    .routing-time {
        grid-column: 2;
        text-align: left;
    }

    .reader-body {
        min-height: 18rem;
    }
}

@media (max-width: 575.98px) {
    .mail-reader-header {
        align-items: flex-start;
    }

    .compose-field-row {
        grid-template-columns: 1fr;
        gap: 0.2rem;
        padding-top: 0.7rem;
        padding-bottom: 0.7rem;
    }

    .compose-error {
        grid-column: 1;
    }

    .compose-footer,
    .reader-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .compose-security {
        margin-left: 0;
    }
}

/* Per-user Trash controls */
.mail-count-muted {
    background: #667584;
}

.mail-origin-tag {
    display: inline-block;
    margin-top: 0.45rem;
    padding: 0.1rem 0.35rem;
    border: 1px solid var(--ops-line-dark);
    color: var(--ops-ink-soft);
    font-size: 0.5rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.reader-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1.35rem;
    border-top: 1px solid var(--ops-line);
    background: #f4f6f8;
}

.reader-actions form {
    margin: 0;
}

.command-btn-danger {
    min-height: var(--ops-button-min-height);
    border-radius: 0;
    border: 1px solid #68463f;
    background: #f3e9e5;
    color: #5b3129;
    font-size: var(--ops-button-font-size);
    font-weight: 900;
    letter-spacing: 0.08em;
}

.command-btn-danger:hover,
.command-btn-danger:focus {
    border-color: #4b2923;
    background: #ead9d3;
    color: #3f211c;
}

.reader-action-note {
    color: var(--ops-ink-soft);
    font-size: 0.52rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

@media (max-width: 575.98px) {
    .reader-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .reader-actions .btn,
    .reader-actions form {
        width: 100%;
    }
}

/* Real-time command notifications */
.ops-notifications {
    flex: 0 0 auto;
}

.notification-bell-btn {
    position: relative;
    width: var(--ops-button-min-height);
    min-width: var(--ops-button-min-height);
    height: var(--ops-button-min-height);
    min-height: var(--ops-button-min-height);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 var(--ops-button-min-height);
    padding: 0;
    border: 1px solid var(--ops-line-dark);
    border-radius: 0;
    background: #f4f7fa;
    color: var(--ops-olive-dark);
    line-height: 1;
}

.notification-bell-btn:hover,
.notification-bell-btn:focus,
.notification-bell-btn[aria-expanded="true"] {
    border-color: var(--ops-olive-dark);
    background: var(--ops-olive-dark);
    color: var(--ops-white);
    box-shadow: none;
}

.notification-bell-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.25rem;
    height: 1.25rem;
    display: block;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.notification-badge {
    position: absolute;
    top: -0.35rem;
    right: -0.45rem;
    min-width: 1.35rem;
    height: 1.35rem;
    display: grid;
    place-items: center;
    padding: 0 0.28rem;
    border: 2px solid var(--ops-paper);
    border-radius: 999px;
    background: #b50909;
    color: #fff;
    font-size: 0.58rem;
    font-weight: 900;
    line-height: 1;
}

.notification-menu {
    width: min(25rem, calc(100vw - 1.5rem));
    margin-top: 0.55rem !important;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--ops-line-dark);
    border-radius: 0;
    background: var(--ops-paper);
    box-shadow: 0 1rem 2.5rem rgba(7, 31, 60, 0.16);
}

.notification-menu-header,
.notification-menu-toolbar,
.notification-menu-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.notification-menu-header {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--ops-line-dark);
    background: linear-gradient(90deg, #eef2f5, #f7f9fb);
}

.notification-menu-header strong {
    display: block;
    color: var(--ops-olive-dark);
    font-size: 0.86rem;
    letter-spacing: 0.08em;
}

.notification-live-state {
    color: var(--ops-ink-soft);
    font-size: 0.58rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.notification-menu-toolbar {
    min-height: 2.35rem;
    padding: 0.45rem 0.85rem;
    border-bottom: 1px solid var(--ops-line);
    background: #f4f7fa;
    color: var(--ops-ink-soft);
    font-size: 0.58rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.notification-text-btn {
    min-height: var(--ops-button-min-height);
    padding: 0 var(--ops-button-padding-x);
    border: 1px solid transparent;
    background: transparent;
    color: var(--ops-olive-dark);
    font: inherit;
    letter-spacing: inherit;
}

.notification-text-btn:disabled {
    opacity: 0.45;
}

.notification-list {
    max-height: min(30rem, 66vh);
    overflow-y: auto;
    background: #ffffff;
}

.notification-item {
    position: relative;
    border-bottom: 1px solid var(--ops-line);
    background: #ffffff;
}

.notification-item::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    background: #7c8da0;
}

.notification-item.severity-success::before { background: #287c50; }
.notification-item.severity-warning::before { background: #a66f00; }
.notification-item.severity-critical::before { background: #b50909; }

.notification-item.unread {
    background: #eef4f9;
}

.notification-item.unread .notification-title::after {
    content: " NEW";
    margin-left: 0.4rem;
    color: #b50909;
    font-size: 0.5rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.notification-item-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.45rem;
    align-items: start;
    padding: 0.75rem 0.7rem 0.75rem 0.9rem;
}

.notification-open {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
}

.notification-open:hover .notification-title,
.notification-open:focus .notification-title {
    color: var(--ops-olive-dark);
    text-decoration: underline;
    text-underline-offset: 0.18rem;
}

.notification-module,
.notification-time {
    color: var(--ops-ink-soft);
    font-size: 0.52rem;
    font-weight: 900;
    letter-spacing: 0.09em;
}

.notification-title {
    margin: 0.18rem 0;
    color: var(--ops-ink);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.02em;
}

.notification-body {
    width: 100%;
    display: -webkit-box;
    overflow: hidden;
    color: var(--ops-ink-soft);
    font-size: 0.7rem;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.notification-time {
    margin-top: 0.4rem;
}

.notification-ack-btn {
    min-height: var(--ops-button-min-height);
    padding: var(--ops-button-padding-y) var(--ops-button-padding-x);
    border: 1px solid var(--ops-line-dark);
    background: #f4f6f8;
    color: var(--ops-olive-dark);
    font-size: 0.5rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.notification-ack-btn:hover,
.notification-ack-btn:focus {
    background: var(--ops-olive-dark);
    color: #fff;
}

.notification-empty {
    min-height: 10rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    padding: 1.5rem;
    color: var(--ops-ink-soft);
    text-align: center;
}

.notification-empty > span {
    color: var(--ops-olive-dark);
    font-size: 1.65rem;
}

.notification-empty strong {
    color: var(--ops-ink);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
}

.notification-empty small {
    font-size: 0.65rem;
}

.notification-menu-footer {
    padding: 0.55rem 0.8rem;
    border-top: 1px solid var(--ops-line-dark);
    background: #eef2f5;
    color: var(--ops-ink-soft);
    font-size: 0.5rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.notification-toast-container {
    position: fixed;
    z-index: 1090;
    top: 5.6rem;
    right: 1rem;
    width: min(25rem, calc(100vw - 2rem));
    pointer-events: none;
}

.command-notification-toast {
    width: 100%;
    margin-bottom: 0.65rem;
    border: 1px solid var(--ops-line-dark);
    border-left: 5px solid #7c8da0;
    border-radius: 0;
    background: #ffffff;
    box-shadow: 0 1rem 2.2rem rgba(7, 31, 60, 0.18);
    pointer-events: auto;
}

.command-notification-toast.severity-success { border-left-color: #287c50; }
.command-notification-toast.severity-warning { border-left-color: #a66f00; }
.command-notification-toast.severity-critical { border-left-color: #b50909; }

.notification-toast-header {
    border-bottom: 1px solid var(--ops-line);
    border-radius: 0;
    background: #eef3f7;
    color: var(--ops-ink);
}

.notification-toast-header small {
    margin-right: 0.65rem;
    color: var(--ops-ink-soft);
    font-size: 0.52rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.notification-toast-status {
    width: 0.5rem;
    height: 0.5rem;
    margin-right: 0.55rem;
    background: var(--ops-olive-dark);
}

.notification-toast-body {
    padding: 0.9rem;
}

.notification-toast-body p {
    margin: 0 0 0.8rem;
    color: var(--ops-ink-soft);
    font-size: 0.76rem;
    line-height: 1.45;
}

.notification-toast-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.45rem;
}

.notification-toast-actions .btn {
    min-width: 6rem;
    font-size: 0.55rem;
}

@media (max-width: 991.98px) {
    .notification-menu {
        position: fixed !important;
        top: 4.5rem !important;
        right: 0.75rem !important;
        left: auto !important;
        transform: none !important;
    }

    .notification-toast-container {
        top: 4.8rem;
    }
}

/* Administration navigation */
.ops-admin-dropdown {
    flex: 0 0 auto;
}

.ops-admin-toggle {
    min-height: 2.3rem;
    padding-right: 0.7rem;
    padding-left: 0.7rem;
    font-size: 0.61rem;
    white-space: nowrap;
}

.ops-admin-toggle.active,
.ops-admin-toggle.show {
    border-color: var(--ops-olive-dark);
    background: var(--ops-olive-dark);
    color: var(--ops-white);
}

.ops-admin-menu {
    min-width: 15rem;
    padding: 0.35rem;
    border-radius: 0;
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-paper);
    box-shadow: var(--ops-shadow);
}

.ops-admin-menu .dropdown-item {
    display: grid;
    grid-template-columns: 2rem 1fr;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid transparent;
    color: var(--ops-ink);
    font-size: 0.64rem;
    font-weight: 900;
    letter-spacing: 0.07em;
}

.ops-admin-menu .dropdown-item:hover,
.ops-admin-menu .dropdown-item:focus {
    border-color: var(--ops-line);
    background: #eef3f7;
    color: var(--ops-olive-dark);
}

.ops-admin-menu .dropdown-item.active {
    border-color: var(--ops-olive-dark);
    background: var(--ops-olive-dark);
    color: var(--ops-white);
}

.ops-admin-item-code {
    color: var(--ops-warning);
    font-size: 0.56rem;
    letter-spacing: 0.1em;
}

.ops-admin-menu .dropdown-item.active .ops-admin-item-code {
    color: #e6d49c;
}

/* Administration module */
.admin-main {
    flex: 1 1 auto;
    background: rgba(244, 242, 232, 0.78);
}

.admin-commandbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.25rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--ops-line-dark);
}

.admin-module-title {
    color: var(--ops-olive-dark);
    font-size: clamp(1.55rem, 2.2vw, 2.2rem);
    font-weight: 900;
    letter-spacing: 0.04em;
}

.admin-command-actions {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.admin-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.admin-metric {
    position: relative;
    min-height: 7.6rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--ops-line);
    border-top: 4px solid var(--ops-olive-dark);
    background: var(--ops-paper);
}

.admin-metric::after {
    content: "";
    position: absolute;
    right: 0.55rem;
    bottom: 0.55rem;
    width: 0.55rem;
    height: 0.55rem;
    border-right: 2px solid var(--ops-line-dark);
    border-bottom: 2px solid var(--ops-line-dark);
}

.admin-metric-label,
.admin-metric > span:last-child {
    display: block;
    color: var(--ops-ink-soft);
    font-size: 0.54rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.admin-metric strong {
    display: block;
    margin: 0.35rem 0 0.2rem;
    color: var(--ops-ink);
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1;
}

.admin-roster-panel {
    overflow: visible;
}

.admin-roster-header {
    flex-wrap: wrap;
}

.admin-roster-tools {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.admin-filter {
    width: min(20rem, 45vw);
    min-height: 2.5rem;
    border-radius: 0;
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-white);
    color: var(--ops-ink);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.admin-filter:focus {
    border-color: var(--ops-olive-dark);
    box-shadow: 0 0 0 0.2rem rgba(0, 94, 168, 0.12);
}

.admin-user-table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--ops-ink);
    --bs-table-border-color: var(--ops-line);
    vertical-align: middle;
}

.admin-user-table thead th {
    padding: 0.7rem 0.85rem;
    border-bottom-width: 1px;
    background: #edf2f7;
    color: var(--ops-ink-soft);
    font-size: 0.55rem;
    font-weight: 900;
    letter-spacing: 0.11em;
    white-space: nowrap;
}

.admin-user-table tbody td {
    padding: 0.8rem 0.85rem;
    background: rgba(255, 255, 255, 0.68);
}

.admin-user-table tbody tr:hover td {
    background: #f4f7fa;
}

.admin-personnel-cell {
    display: flex;
    align-items: center;
    min-width: 13rem;
    gap: 0.7rem;
}

.admin-avatar {
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--ops-olive-dark);
    background: var(--ops-olive-light);
    color: var(--ops-olive-dark);
    font-size: 0.85rem;
    font-weight: 900;
    clip-path: polygon(10% 0, 90% 0, 100% 10%, 100% 90%, 90% 100%, 10% 100%, 0 90%, 0 10%);
}

.admin-personnel-cell strong,
.admin-account-cell strong,
.admin-assignment-cell strong {
    display: block;
    color: var(--ops-ink);
    font-size: 0.78rem;
    font-weight: 900;
}

.admin-personnel-cell span:not(.admin-avatar),
.admin-account-cell span,
.admin-assignment-cell span {
    display: block;
    margin-top: 0.14rem;
    color: var(--ops-ink-soft);
    font-size: 0.59rem;
    font-weight: 700;
    letter-spacing: 0.035em;
}

.admin-account-cell {
    min-width: 13rem;
}

.admin-assignment-cell {
    min-width: 9rem;
}

.admin-unassigned {
    color: var(--ops-warning);
    font-size: 0.6rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.admin-status {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.26rem 0.42rem;
    border: 1px solid;
    font-size: 0.54rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.admin-status > span {
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
}

.admin-status-active {
    border-color: #87977d;
    background: #eef3f7;
    color: #405536;
}

.admin-status-active > span {
    background: var(--ops-green);
}

.admin-status-inactive {
    border-color: #b99d96;
    background: #f3e9e5;
    color: #68463f;
}

.admin-status-inactive > span {
    background: var(--ops-danger);
}

.admin-self-tag {
    display: block;
    margin-top: 0.35rem;
    color: var(--ops-warning);
    font-size: 0.49rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.admin-row-actions {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    min-width: 13rem;
}

.admin-row-actions form {
    margin: 0;
}

.admin-row-actions .btn {
    min-width: 5.8rem;
    font-size: 0.55rem;
}

.admin-row-actions .btn:disabled {
    opacity: 0.45;
}

.admin-empty-state {
    display: grid;
    min-height: 14rem;
    place-items: center;
    align-content: center;
    color: var(--ops-ink-soft);
    text-align: center;
}

.admin-empty-state > span {
    color: var(--ops-olive-dark);
    font-size: 2rem;
}

.admin-empty-state strong {
    margin-top: 0.35rem;
    color: var(--ops-ink);
    font-size: 0.8rem;
    letter-spacing: 0.08em;
}

.admin-empty-state p {
    margin: 0.3rem 0 0;
    font-size: 0.7rem;
}

/* Administration forms */
.admin-form-divider {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin: 1.8rem 0 1rem;
    color: var(--ops-olive-dark);
    font-size: 0.58rem;
    font-weight: 900;
    letter-spacing: 0.12em;
}

.admin-form-divider::after {
    content: "";
    height: 1px;
    flex: 1 1 auto;
    background: var(--ops-line);
}

.admin-form-error {
    margin-top: 0.3rem;
    color: var(--ops-danger);
    font-size: 0.63rem;
    font-weight: 800;
}

.admin-field-note {
    margin-top: 0.3rem;
    color: var(--ops-ink-soft);
    font-size: 0.58rem;
}

.admin-role-doctrine {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--ops-line);
    background: #f4f7fa;
}

.admin-role-doctrine > div {
    padding: 0.62rem 0.75rem;
}

.admin-role-doctrine > div + div {
    border-left: 1px solid var(--ops-line);
}

.admin-role-doctrine strong,
.admin-role-doctrine span {
    display: block;
}

.admin-role-doctrine strong {
    color: var(--ops-olive-dark);
    font-size: 0.56rem;
    letter-spacing: 0.08em;
}

.admin-role-doctrine span {
    margin-top: 0.2rem;
    color: var(--ops-ink-soft);
    font-size: 0.54rem;
    font-weight: 800;
}

.admin-active-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--ops-line-dark);
    background: #eef3f7;
}

.admin-active-control strong,
.admin-active-control > div:first-child span {
    display: block;
}

.admin-active-control strong {
    color: var(--ops-olive-dark);
    font-size: 0.63rem;
    letter-spacing: 0.08em;
}

.admin-active-control > div:first-child span {
    margin-top: 0.2rem;
    color: var(--ops-ink-soft);
    font-size: 0.59rem;
}

.admin-active-control .form-check-label {
    color: var(--ops-olive-dark);
    font-size: 0.59rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.admin-active-control .form-check-input {
    border-color: var(--ops-line-dark);
    box-shadow: none;
}

.admin-active-control .form-check-input:checked {
    border-color: var(--ops-olive-dark);
    background-color: var(--ops-olive-dark);
}

.admin-form-footer {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.85rem 1rem;
    border-top: 1px solid var(--ops-line-dark);
    background: #eef2f5;
}

.admin-form-footer .btn {
    min-width: 8rem;
}

.admin-form-footer > span {
    margin-left: auto;
    color: var(--ops-ink-soft);
    font-size: 0.52rem;
    font-weight: 900;
    letter-spacing: 0.09em;
}

.admin-reference-block,
.admin-doctrine-block {
    padding: 0.9rem 1rem;
}

.admin-reference-block > div {
    padding: 0.7rem 0;
    border-top: 1px solid var(--ops-line);
}

.admin-reference-block > div:first-child {
    border-top: 0;
}

.admin-reference-block span,
.admin-reference-block strong {
    display: block;
}

.admin-reference-block span {
    color: var(--ops-ink-soft);
    font-size: 0.52rem;
    font-weight: 900;
    letter-spacing: 0.09em;
}

.admin-reference-block strong {
    margin-top: 0.2rem;
    color: var(--ops-ink);
    font-size: 0.67rem;
}

.admin-doctrine-block p {
    padding-bottom: 0.7rem;
    border-bottom: 1px dashed var(--ops-line);
    color: var(--ops-ink-soft);
    font-size: 0.68rem;
    line-height: 1.55;
}

.admin-doctrine-block p:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.admin-doctrine-block strong {
    color: var(--ops-olive-dark);
    font-size: 0.62rem;
    letter-spacing: 0.05em;
}

@media (max-width: 1199.98px) {
    .admin-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .ops-account-dropdown,
    .ops-account-toggle {
        width: 100%;
    }

    .ops-admin-menu {
        width: 100%;
    }

    .admin-commandbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-command-actions,
    .admin-command-actions .btn {
        width: 100%;
    }

    .admin-role-doctrine {
        grid-template-columns: 1fr;
    }

    .admin-role-doctrine > div + div {
        border-top: 1px solid var(--ops-line);
        border-left: 0;
    }
}

@media (max-width: 767.98px) {
    .admin-metrics {
        grid-template-columns: 1fr 1fr;
    }

    .admin-roster-tools {
        width: 100%;
    }

    .admin-filter {
        width: 100%;
    }

    .admin-form-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-form-footer .btn {
        width: 100%;
    }

    .admin-form-footer > span {
        margin-left: 0;
        text-align: center;
    }
}

@media (max-width: 575.98px) {
    .admin-metrics {
        grid-template-columns: 1fr;
    }

    .admin-active-control {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* HTTP error control */
.error-shell {
    min-height: 100vh;
    background-color: var(--ops-sand);
    background-image:
        linear-gradient(rgba(0, 94, 168, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 94, 168, 0.035) 1px, transparent 1px);
    background-size: 28px 28px;
}

.error-command-nav {
    border-bottom: 1px solid var(--ops-line-dark);
    background: rgba(251, 250, 244, 0.97);
    box-shadow: 0 0.35rem 1rem rgba(7, 31, 60, 0.05);
}

.error-command-nav .container-fluid {
    min-height: 4.35rem;
}

.error-command-brand {
    color: var(--ops-ink);
}

.error-command-brand:hover,
.error-command-brand:focus {
    color: var(--ops-olive-dark);
}

.error-classification-bar {
    border-bottom: 1px solid var(--ops-olive-dark);
}

.error-status-dot {
    width: 0.5rem;
    height: 0.5rem;
    display: inline-block;
    margin-right: 0.35rem;
    border-radius: 50%;
    background: var(--ops-danger);
    box-shadow: 0 0 0 0.18rem rgba(123, 62, 54, 0.14);
    vertical-align: 0.05em;
}

.error-command-panel {
    max-width: 60rem;
}

.error-panel-header {
    min-height: 6.2rem;
}

.error-panel-body {
    display: grid;
    grid-template-columns: minmax(13rem, 0.72fr) minmax(0, 2fr);
}

.error-code-block {
    min-height: 24rem;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2rem;
    border-right: 1px solid var(--ops-line-dark);
    background:
        linear-gradient(rgba(0, 94, 168, 0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 94, 168, 0.055) 1px, transparent 1px),
        #edf2f7;
    background-size: 20px 20px;
}

.error-code-block::before,
.error-code-block::after {
    content: "";
    position: absolute;
    width: 3.6rem;
    height: 3.6rem;
    border-color: var(--ops-olive-dark);
    opacity: 0.5;
}

.error-code-block::before {
    top: 1rem;
    left: 1rem;
    border-top: 2px solid;
    border-left: 2px solid;
}

.error-code-block::after {
    right: 1rem;
    bottom: 1rem;
    border-right: 2px solid;
    border-bottom: 2px solid;
}

.error-code-label,
.error-code-grid {
    color: var(--ops-ink-soft);
    font-size: 0.58rem;
    font-weight: 900;
    letter-spacing: 0.16em;
}

.error-code-block strong {
    margin: 0.15rem 0;
    color: var(--ops-olive-dark);
    font-size: clamp(5rem, 11vw, 8.5rem);
    font-weight: 900;
    letter-spacing: -0.065em;
    line-height: 0.95;
}

.error-briefing {
    display: flex;
    flex-direction: column;
    background: var(--ops-paper);
}

.error-briefing-body {
    flex: 1;
    padding: 2rem;
}

.error-briefing-body h2 {
    max-width: 40rem;
    color: var(--ops-ink);
    line-height: 1.2;
}

.error-briefing-body p:last-child {
    max-width: 43rem;
    line-height: 1.7;
}

.error-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    padding: 1rem 2rem;
    border-top: 1px solid var(--ops-line-dark);
    background: #eef3f7;
}

.error-actions .btn {
    min-width: 10.5rem;
}

.error-panel-footer {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.62rem 1rem;
    border-top: 1px solid var(--ops-line-dark);
    background: var(--ops-olive-dark);
    color: #f7f9fb;
    font-size: 0.55rem;
    font-weight: 900;
    letter-spacing: 0.12em;
}

@media (max-width: 767.98px) {
    .error-panel-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .error-panel-body {
        grid-template-columns: 1fr;
    }

    .error-code-block {
        min-height: 12rem;
        border-right: 0;
        border-bottom: 1px solid var(--ops-line-dark);
        text-align: center;
        align-items: center;
    }

    .error-code-block strong {
        font-size: 5.5rem;
    }

    .error-briefing-body {
        padding: 1.35rem;
    }

    .error-actions {
        padding: 1rem 1.35rem;
    }

    .error-actions .btn {
        width: 100%;
    }

    .error-panel-footer {
        flex-direction: column;
        text-align: center;
    }
}

/* Structured personnel identity */
.admin-profile-grid {
    display: grid;
    grid-template-columns: minmax(11rem, 13rem) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}

.admin-profile-photo-block {
    padding: 0.9rem;
    border: 1px solid var(--ops-line);
    background: #f4f7fa;
}

.admin-profile-photo-preview {
    width: 100%;
    aspect-ratio: 1 / 1;
    display: grid;
    place-items: center;
    margin: 0.45rem 0 0.75rem;
    overflow: hidden;
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-olive-light);
    color: var(--ops-olive-dark);
    font-size: 3.2rem;
    font-weight: 900;
    clip-path: polygon(5% 0, 95% 0, 100% 5%, 100% 95%, 95% 100%, 5% 100%, 0 95%, 0 5%);
}

.admin-profile-photo-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.admin-photo-input {
    padding: 0.45rem;
    font-size: 0.62rem;
}

.admin-remove-photo {
    color: var(--ops-ink-soft);
    font-size: 0.6rem;
    font-weight: 800;
}

.admin-avatar-photo {
    object-fit: cover;
}

@media (max-width: 767.98px) {
    .admin-profile-grid {
        grid-template-columns: 1fr;
    }

    .admin-profile-photo-block {
        max-width: 18rem;
    }
}

/* Message Groups + threaded communications */
.message-group-members {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    min-width: 12rem;
}

.message-group-members strong {
    font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
    font-size: .76rem;
    letter-spacing: .08em;
    color: var(--ops-olive-900, #071f3c);
}

.message-group-members span {
    color: var(--ops-muted, #4f5b66);
    font-size: .78rem;
    line-height: 1.35;
}

.message-group-select {
    min-height: 18rem;
    padding: .35rem;
}

.message-group-select option {
    padding: .55rem .7rem;
    border-bottom: 1px solid rgba(0, 94, 168, .12);
}

.message-group-description {
    min-height: 7rem;
    resize: vertical;
}

.compose-routing-note {
    grid-column: 2;
    margin-top: .3rem;
    color: var(--ops-muted, #4f5b66);
    font-size: .72rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.thread-participant-line {
    margin-top: .45rem;
    max-width: 58rem;
    color: var(--ops-muted, #4f5b66);
    font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
    font-size: .67rem;
    line-height: 1.45;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.thread-chain {
    display: flex;
    flex-direction: column;
    gap: .9rem;
    padding: 1rem 1.1rem 1.25rem;
    max-height: 54vh;
    overflow-y: auto;
    background:
        linear-gradient(rgba(0, 94, 168, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 94, 168, .025) 1px, transparent 1px),
        #f7f9fb;
    background-size: 24px 24px;
}

.thread-message-card {
    border: 1px solid rgba(0, 94, 168, .22);
    border-left: 4px solid #7c8da0;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(7, 31, 60, .05);
}

.thread-message-card.thread-message-own {
    border-left-color: #005ea8;
    background: #eef4f9;
}

.thread-message-card.thread-message-selected {
    outline: 2px solid rgba(0, 94, 168, .22);
    outline-offset: 2px;
}

.thread-message-card .reader-routing {
    border-bottom: 1px solid rgba(0, 94, 168, .12);
}

.thread-message-card .reader-body {
    min-height: auto;
    padding-top: 1.15rem;
    padding-bottom: 1.15rem;
}

.thread-message-id {
    padding: 0 1.25rem .8rem;
    color: var(--ops-muted, #4f5b66);
    font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
    font-size: .64rem;
    letter-spacing: .08em;
    text-align: right;
}

.thread-reply-form {
    border-top: 1px solid rgba(0, 94, 168, .2);
    border-bottom: 1px solid rgba(0, 94, 168, .2);
    background: #eef2f5;
    padding: 1rem 1.15rem;
}

.thread-reply-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .75rem;
}

.thread-reply-heading > div {
    display: flex;
    flex-direction: column;
    gap: .12rem;
}

.thread-reply-heading strong {
    color: var(--ops-olive-900, #071f3c);
    font-size: .76rem;
    letter-spacing: .07em;
}

.thread-reply-body {
    min-height: 8rem;
    background: #ffffff;
}

.thread-reply-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem 1rem;
    margin-top: .75rem;
}

.thread-reply-actions span {
    color: var(--ops-muted, #4f5b66);
    font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
    font-size: .65rem;
    letter-spacing: .06em;
}

@media (max-width: 767.98px) {
    .compose-routing-note {
        grid-column: 1;
    }

    .thread-chain {
        max-height: none;
        padding: .75rem;
    }

    .thread-participant-line {
        max-height: 4.5rem;
        overflow-y: auto;
    }
}

/* Department profiles + My Account */
.ops-account-dropdown .dropdown-menu,
.ops-admin-dropdown .dropdown-menu {
    min-width: 14.5rem;
}

.ops-account-divider {
    margin: 0.35rem 0;
    border-color: var(--ops-line);
    opacity: 1;
}

.ops-account-submenu-item {
    position: relative;
}

.ops-account-submenu-toggle {
    grid-template-columns: 2rem 1fr auto !important;
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
}

.ops-account-submenu-chevron {
    margin-left: 0.65rem;
    font-size: 0.58rem;
    transition: transform 0.18s ease;
}

.ops-account-submenu-toggle[aria-expanded="true"] .ops-account-submenu-chevron {
    transform: rotate(180deg);
}

.ops-account-submenu-list {
    margin: 0.2rem 0 0.25rem 1rem;
    padding: 0.2rem 0 0.2rem 0.45rem;
    list-style: none;
    border-left: 1px solid var(--ops-line);
}

.ops-account-submenu-list .dropdown-item {
    min-height: 2.35rem;
    padding-top: 0.42rem;
    padding-bottom: 0.42rem;
    font-size: 0.58rem;
}

.ops-account-submenu-list .ops-menu-icon {
    opacity: 0.86;
}

.ops-account-toggle.active {
    background: var(--ops-olive-dark);
    color: #fff;
    border-color: var(--ops-olive-dark);
}

.profile-main {
    max-width: 1680px;
}

.profile-commandbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.25rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--ops-line-dark);
}

.profile-module-title {
    color: var(--ops-olive-dark);
    font-size: clamp(1.5rem, 3vw, 2.35rem);
    font-weight: 900;
    letter-spacing: .045em;
}

.profile-card {
    overflow: hidden;
}

.profile-card-header {
    border-bottom: 1px solid var(--ops-line-dark);
}

.profile-identity-grid {
    display: grid;
    grid-template-columns: minmax(13rem, 17rem) minmax(0, 1fr);
    min-height: 31rem;
}

.profile-portrait-wrap {
    padding: 1.35rem;
    border-right: 1px solid var(--ops-line-dark);
    background:
        linear-gradient(rgba(0, 94, 168, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 94, 168, .04) 1px, transparent 1px),
        #eef2f5;
    background-size: 20px 20px;
}

.profile-portrait {
    width: 100%;
    aspect-ratio: 4 / 5;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-olive-light);
    color: var(--ops-olive-dark);
    font-size: 5rem;
    font-weight: 900;
    clip-path: polygon(6% 0, 94% 0, 100% 5%, 100% 95%, 94% 100%, 6% 100%, 0 95%, 0 5%);
}

.profile-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-id-plate {
    margin-top: .85rem;
    padding: .75rem .8rem;
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-olive-dark);
    color: #f7f9fb;
}

.profile-id-plate span,
.profile-detail span {
    display: block;
    margin-bottom: .15rem;
    font-size: .55rem;
    font-weight: 900;
    letter-spacing: .13em;
}

.profile-id-plate strong {
    display: block;
    font-size: 1rem;
    letter-spacing: .08em;
}

.profile-identity-copy {
    padding: 2rem;
    background: var(--ops-paper);
}

.profile-identity-copy > h2 {
    margin: .35rem 0 .25rem;
    color: var(--ops-ink);
    font-size: clamp(2rem, 4vw, 3.3rem);
    font-weight: 900;
    line-height: 1.05;
}

.profile-assignment {
    padding-bottom: 1.2rem;
    color: var(--ops-olive-dark);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.profile-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    padding-top: 1.2rem;
    border-top: 1px solid var(--ops-line);
}

.profile-detail {
    min-height: 5rem;
    padding: .85rem .9rem;
    border: 1px solid var(--ops-line);
    background: #f6f8fa;
}

.profile-detail-wide {
    grid-column: 1 / -1;
}

.profile-detail span {
    color: var(--ops-ink-soft);
}

.profile-detail strong {
    color: var(--ops-ink);
    font-size: .86rem;
    overflow-wrap: anywhere;
}

.profile-card-footer,
.profile-settings-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
    padding: .75rem 1rem;
    border-top: 1px solid var(--ops-line-dark);
    background: #edf2f7;
    color: var(--ops-ink-soft);
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .1em;
}

.department-directory-panel {
    overflow: hidden;
}

.department-directory-list {
    max-height: 42rem;
    overflow-y: auto;
    background: #f7f9fb;
}

.department-member-row {
    display: grid;
    grid-template-columns: 2.8rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    padding: .75rem .85rem;
    border-bottom: 1px solid var(--ops-line);
    color: inherit;
    text-decoration: none;
    transition: background-color .12s ease, box-shadow .12s ease;
}

.department-member-row:hover,
.department-member-row.active {
    background: #e7ecf1;
    box-shadow: inset 4px 0 0 var(--ops-olive-dark);
}

.department-member-avatar {
    width: 2.8rem;
    height: 2.8rem;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-olive-light);
    color: var(--ops-olive-dark);
    font-weight: 900;
}

.department-member-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.department-member-copy {
    min-width: 0;
}

.department-member-copy strong,
.department-member-copy small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.department-member-copy strong {
    color: var(--ops-olive-dark);
    font-size: .74rem;
    letter-spacing: .055em;
}

.department-member-copy small {
    color: var(--ops-ink-soft);
    font-size: .62rem;
}

.department-member-state {
    min-width: 2.1rem;
    padding: .2rem .3rem;
    border: 1px solid #287c50;
    color: #245c3a;
    font-size: .52rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-align: center;
}

.department-member-state.inactive {
    border-color: #9f8c78;
    color: #7d624a;
}

.department-directory-empty {
    padding: 1.25rem;
    color: var(--ops-ink-soft);
    font-size: .72rem;
}

.profile-settings-grid {
    display: grid;
    grid-template-columns: minmax(11rem, 13rem) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}

.profile-security-divider {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin: 1rem 0;
    color: var(--ops-ink-soft);
    font-size: .55rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.profile-security-divider::before,
.profile-security-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--ops-line);
}

.profile-security-footer {
    display: block;
}

@media (max-width: 991.98px) {
    .profile-commandbar {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 767.98px) {
    .profile-identity-grid,
    .profile-settings-grid {
        grid-template-columns: 1fr;
    }

    .profile-portrait-wrap {
        border-right: 0;
        border-bottom: 1px solid var(--ops-line-dark);
    }

    .profile-portrait {
        max-width: 16rem;
        margin-inline: auto;
    }

    .profile-identity-copy {
        padding: 1.25rem;
    }

    .profile-detail-grid {
        grid-template-columns: 1fr;
    }

    .profile-detail-wide {
        grid-column: auto;
    }
}

/* Dashboard quick actions */
.quick-actions-panel .command-panel-body {
    min-height: 0;
}

.quick-action-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 15.5rem;
    padding: .8rem;
    overflow: hidden;
    border: 1px solid var(--ops-line-dark);
    background:
        linear-gradient(rgba(0, 94, 168, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 94, 168, .035) 1px, transparent 1px),
        #f7f9fb;
    background-size: 22px 22px;
    box-shadow: inset 0 4px 0 var(--ops-olive-dark);
}

.quick-action-card::after {
    content: "";
    position: absolute;
    right: -1px;
    bottom: -1px;
    width: 1.1rem;
    height: 1.1rem;
    border-right: 3px solid var(--ops-olive-dark);
    border-bottom: 3px solid var(--ops-olive-dark);
}

.quick-action-code {
    color: var(--ops-ink-soft);
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .13em;
}

.quick-action-mark {
    width: 2.8rem;
    height: 2.8rem;
    display: grid;
    place-items: center;
    margin: .65rem 0 .75rem;
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-olive-light);
    color: var(--ops-olive-dark);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .08em;
    clip-path: polygon(10% 0, 90% 0, 100% 10%, 100% 90%, 90% 100%, 10% 100%, 0 90%, 0 10%);
}

.quick-action-copy {
    flex: 1;
}

.quick-action-copy h2 {
    margin: .2rem 0 .4rem;
    color: var(--ops-olive-dark);
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: .055em;
}

.quick-action-copy p {
    margin: 0;
    color: var(--ops-ink-soft);
    font-size: .7rem;
    line-height: 1.45;
}

.quick-action-footer {
    display: grid;
    gap: .4rem;
    margin-top: .75rem;
    padding-top: .65rem;
    border-top: 1px solid var(--ops-line);
}

.quick-action-meta {
    color: var(--ops-ink-soft);
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .11em;
    text-align: center;
}

.quick-action-unread {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: .45rem;
    min-height: 1.15rem;
    color: var(--ops-ink-soft);
    font-size: .57rem;
    font-weight: 900;
    letter-spacing: .11em;
}

.quick-action-unread strong {
    color: var(--ops-olive-dark);
    font-size: 1.05rem;
    letter-spacing: 0;
}

.quick-action-unread.has-unread {
    color: var(--ops-danger);
}

.quick-action-unread.has-unread strong {
    color: var(--ops-danger);
}

/* Department directory / chain of command */
.directory-chain {
    display: grid;
    gap: 1.25rem;
}

.directory-rank-section {
    overflow: hidden;
}

.directory-rank-header {
    padding-block: .85rem;
}

.directory-rank-insignia {
    width: 2.55rem;
    height: 2.55rem;
    display: grid;
    place-items: center;
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-olive-dark);
    color: #f7f9fb;
    font-size: .65rem;
    font-weight: 900;
    letter-spacing: .08em;
    clip-path: polygon(12% 0, 88% 0, 100% 12%, 100% 88%, 88% 100%, 12% 100%, 0 88%, 0 12%);
}

.directory-rank-body {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: var(--ops-line);
    border-top: 1px solid var(--ops-line);
}

.directory-personnel-card {
    min-width: 0;
    display: grid;
    grid-template-columns: 4.35rem minmax(0, 1fr) auto;
    grid-template-areas:
        "photo copy status"
        "photo action action";
    align-items: center;
    gap: .75rem;
    min-height: 8.5rem;
    padding: .9rem;
    background: var(--ops-paper);
    color: inherit;
    text-decoration: none;
    transition: background-color .12s ease, box-shadow .12s ease;
}

.directory-personnel-card:hover,
.directory-personnel-card:focus-visible {
    background: #eef2f5;
    box-shadow: inset 4px 0 0 var(--ops-olive-dark);
    outline: 0;
}

.directory-personnel-photo {
    grid-area: photo;
    width: 4.35rem;
    height: 5.4rem;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-olive-light);
    color: var(--ops-olive-dark);
    font-size: 1.45rem;
    font-weight: 900;
}

.directory-personnel-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.directory-personnel-copy {
    grid-area: copy;
    min-width: 0;
}

.directory-personnel-copy strong,
.directory-personnel-copy small,
.directory-personnel-rank {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.directory-personnel-rank {
    margin-bottom: .25rem;
    color: var(--ops-olive-dark);
    font-size: .52rem;
    font-weight: 900;
    letter-spacing: .09em;
}

.directory-personnel-copy strong {
    color: var(--ops-ink);
    font-size: .9rem;
    letter-spacing: .035em;
}

.directory-personnel-copy small {
    margin-top: .12rem;
    color: var(--ops-ink-soft);
    font-size: .61rem;
}

.directory-personnel-status {
    grid-area: status;
    align-self: start;
    padding: .22rem .35rem;
    border: 1px solid #287c50;
    color: #245c3a;
    font-size: .48rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.directory-personnel-status.inactive {
    border-color: #9f8c78;
    color: #7d624a;
}

.directory-personnel-action {
    grid-area: action;
    justify-self: end;
    color: var(--ops-olive-dark);
    font-size: .5rem;
    font-weight: 900;
    letter-spacing: .1em;
}

.directory-rank-empty {
    grid-column: 1 / -1;
    padding: 1.25rem;
    background: var(--ops-paper);
    color: var(--ops-ink-soft);
    font-size: .72rem;
}

.directory-unassigned-section .command-panel-header {
    background: linear-gradient(90deg, #eef2f5, #f7f9fb 70%);
}

@media (max-width: 1199.98px) {
    .directory-rank-body {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .quick-action-card {
        min-height: auto;
    }

    .directory-rank-body {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 479.98px) {
    .directory-personnel-card {
        grid-template-columns: 3.6rem minmax(0, 1fr);
        grid-template-areas:
            "photo copy"
            "photo status"
            "action action";
    }

    .directory-personnel-photo {
        width: 3.6rem;
        height: 4.5rem;
    }

    .directory-personnel-status {
        justify-self: start;
        align-self: center;
    }
}

/* Mission Board */
.mission-commandbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.mission-status-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-paper);
    box-shadow: var(--ops-shadow);
}

.mission-status-cell {
    min-height: 5.25rem;
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.85rem 1rem;
}

.mission-status-cell + .mission-status-cell {
    border-left: 1px solid var(--ops-line);
}

.mission-status-cell span,
.mission-board-meta span,
.mission-fact-grid span,
.mission-authority-block span,
.mission-audit-footer,
.mission-poi-item small {
    color: var(--ops-ink-soft);
    font-size: 0.58rem;
    font-weight: 900;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.mission-status-cell strong {
    color: var(--ops-olive-dark);
    font-size: 1.45rem;
    font-weight: 950;
}

.mission-board-list {
    display: grid;
}

.mission-board-row {
    display: grid;
    grid-template-columns: 9.5rem minmax(0, 1fr) 14rem 9.5rem;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid var(--ops-line);
    background: var(--ops-paper);
}

.mission-board-row:last-child {
    border-bottom: 0;
}

.mission-board-row:hover {
    background: #f7f9fb;
}

.mission-board-row.assigned-to-me {
    box-shadow: inset 4px 0 0 var(--ops-olive-dark);
}

.mission-board-code,
.mission-board-main,
.mission-board-meta,
.mission-board-actions {
    min-width: 0;
}

.mission-board-code {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 0.45rem;
}

.mission-board-code > strong {
    color: var(--ops-olive-dark);
    font-size: 0.94rem;
    font-weight: 950;
    letter-spacing: 0.05em;
}

.mission-status,
.mission-priority,
.mission-my-tasking {
    display: inline-flex;
    align-items: center;
    min-height: 1.45rem;
    padding: 0.2rem 0.42rem;
    border: 1px solid var(--ops-line-dark);
    background: #eef2f5;
    color: var(--ops-ink-soft);
    font-size: 0.53rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.mission-status-active,
.mission-my-tasking {
    border-color: #74836a;
    background: #e7ecf1;
    color: #405537;
}

.mission-status-planning {
    background: #e7ecf1;
}

.mission-status-on-hold,
.mission-priority-priority {
    border-color: #a18b58;
    background: #f1ead6;
    color: var(--ops-warning);
}

.mission-status-completed {
    background: #e7ecf1;
    color: var(--ops-ink-soft);
}

.mission-status-cancelled,
.mission-priority-critical {
    border-color: #96665f;
    background: #efe1de;
    color: var(--ops-danger);
}

.mission-priority-routine {
    background: #eef3f7;
    color: var(--ops-olive-dark);
}

.mission-board-main h3 {
    margin: 0.18rem 0 0.35rem;
    color: var(--ops-ink);
    font-size: 1rem;
    font-weight: 950;
    letter-spacing: 0.02em;
}

.mission-board-main p {
    margin: 0;
    color: var(--ops-ink-soft);
    font-size: 0.74rem;
    line-height: 1.5;
}

.mission-board-meta {
    display: grid;
    align-content: start;
    gap: 0.7rem;
}

.mission-board-meta div {
    display: grid;
    gap: 0.15rem;
}

.mission-board-meta strong {
    color: var(--ops-ink);
    font-size: 0.68rem;
    font-weight: 900;
}

.mission-board-actions {
    display: flex;
    align-items: stretch;
    flex-direction: column;
    gap: 0.45rem;
}

.mission-board-actions .btn {
    font-size: 0.58rem;
}

.mission-empty-state {
    min-height: 22rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.7rem;
    padding: 2rem;
    color: var(--ops-ink-soft);
    text-align: center;
}

.mission-empty-state h2 {
    margin: 0;
    color: var(--ops-olive-dark);
    font-size: 1rem;
    font-weight: 950;
    letter-spacing: 0.08em;
}

.mission-empty-state p {
    max-width: 34rem;
    margin: 0 0 0.5rem;
    font-size: 0.78rem;
}

.mission-empty-mark {
    width: 4rem;
    height: 4rem;
    display: grid;
    place-items: center;
    border: 2px solid var(--ops-line-dark);
    background: var(--ops-olive-light);
    color: var(--ops-olive-dark);
    font-size: 1.35rem;
    font-weight: 950;
    clip-path: polygon(12% 0, 88% 0, 100% 12%, 100% 88%, 88% 100%, 12% 100%, 0 88%, 0 12%);
}

.mission-textarea {
    min-height: 8.5rem;
    resize: vertical;
}

.mission-textarea-sm {
    min-height: 7rem;
    resize: vertical;
}

.mission-assignee-select {
    min-height: 23rem;
}

.mission-authority-block {
    display: grid;
}

.mission-authority-block > div {
    display: grid;
    gap: 0.2rem;
    padding: 0.85rem 1rem;
    border-top: 1px solid var(--ops-line);
}

.mission-authority-block > div:first-child {
    border-top: 0;
}

.mission-authority-block strong {
    color: var(--ops-olive-dark);
    font-size: 0.7rem;
    font-weight: 900;
}

.mission-form-actions {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--ops-line-dark);
    background: #edf2f7;
}

.mission-form-actions > span {
    margin-left: auto;
    color: var(--ops-ink-soft);
    font-size: 0.55rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

/* Mission detail */
.mission-detail-panel {
    overflow: visible;
}

.mission-fact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-bottom: 1px solid var(--ops-line-dark);
}

.mission-fact-grid > div {
    display: grid;
    gap: 0.2rem;
    padding: 0.8rem 1rem;
    border-right: 1px solid var(--ops-line);
    border-bottom: 1px solid var(--ops-line);
}

.mission-fact-grid > div:nth-child(even),
.mission-fact-grid > .mission-fact-wide {
    border-right: 0;
}

.mission-fact-grid > .mission-fact-wide {
    grid-column: 1 / -1;
}

.mission-fact-grid strong {
    color: var(--ops-ink);
    font-size: 0.76rem;
    font-weight: 900;
}

.mission-detail-section {
    padding: 1rem 1.1rem;
    border-bottom: 1px solid var(--ops-line);
}

.mission-prose,
.mission-three-column-detail p {
    margin: 0.4rem 0 0;
    color: #2b2e29;
    font-size: 0.8rem;
    line-height: 1.65;
    white-space: pre-wrap;
}

.mission-three-column-detail {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-bottom: 1px solid var(--ops-line);
}

.mission-three-column-detail > div {
    min-width: 0;
    padding: 1rem;
    border-right: 1px solid var(--ops-line);
}

.mission-three-column-detail > div:last-child {
    border-right: 0;
}

.mission-three-column-detail p {
    font-size: 0.72rem;
}

.mission-assignee-list {
    display: grid;
    gap: 0.45rem;
}

.mission-assignee {
    display: grid;
    align-items: center;
    grid-template-columns: 5.25rem minmax(0, 1fr);
    gap: 0.7rem;
    padding: 0.6rem 0.7rem;
    border: 1px solid var(--ops-line);
    background: #f7f9fb;
    color: inherit;
    text-decoration: none;
}

.mission-assignee:hover,
.mission-assignee:focus-visible {
    border-color: var(--ops-olive-dark);
    background: #eef2f5;
}

.mission-assignee-rank {
    color: var(--ops-olive-dark);
    font-size: 0.58rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.mission-assignee > span:last-child {
    min-width: 0;
    display: grid;
    gap: 0.12rem;
}

.mission-assignee strong {
    color: var(--ops-ink);
    font-size: 0.72rem;
    font-weight: 950;
}

.mission-assignee small {
    overflow: hidden;
    color: var(--ops-ink-soft);
    font-size: 0.58rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mission-empty-inline {
    padding: 0.7rem 0.8rem;
    border: 1px dashed var(--ops-line-dark);
    background: #f6f8fa;
    color: var(--ops-ink-soft);
    font-size: 0.7rem;
}

.mission-audit-footer {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 0.65rem 1rem;
    background: #eef2f5;
}

.mission-map-panel {
    overflow: visible;
}

.mission-map-search {
    position: relative;
    z-index: 500;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--ops-line-dark);
    background: #f4f6f8;
}

.mission-address-search-wrap {
    position: relative;
}

.mission-address-results {
    position: absolute;
    z-index: 1200;
    top: calc(100% + 0.2rem);
    right: 0;
    left: 0;
    max-height: 19rem;
    overflow-y: auto;
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-paper);
    box-shadow: var(--ops-shadow);
}

.mission-address-result {
    width: 100%;
    display: grid;
    gap: 0.15rem;
    padding: 0.72rem 0.8rem;
    border: 0;
    border-bottom: 1px solid var(--ops-line);
    background: var(--ops-paper);
    color: var(--ops-ink);
    text-align: left;
}

.mission-address-result:last-child {
    border-bottom: 0;
}

.mission-address-result:hover,
.mission-address-result:focus-visible {
    outline: 0;
    background: var(--ops-olive-light);
}

.mission-address-result strong {
    font-size: 0.72rem;
    font-weight: 900;
}

.mission-address-result span,
.mission-address-status {
    color: var(--ops-ink-soft);
    font-size: 0.59rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.mission-address-status {
    margin-top: 0.42rem;
}

.mission-map {
    width: 100%;
    height: 38rem;
    border-bottom: 1px solid var(--ops-line-dark);
    background: #e7ecf1;
    cursor: grab;
}

.mission-map.poi-placement-mode {
    cursor: crosshair;
    box-shadow: inset 0 0 0 3px var(--ops-warning);
}

.mission-map .maplibregl-ctrl-attrib {
    font-size: 0.62rem;
}

.mission-map-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    background: #eef2f5;
}

.mission-map-actions > span {
    color: var(--ops-ink-soft);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
}

.mission-map-actions .btn.active {
    border-color: var(--ops-warning);
    background: var(--ops-warning);
}

.mission-poi-list {
    display: grid;
}

.mission-poi-item {
    display: grid;
    align-items: center;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.8rem;
    padding: 0.85rem 1rem;
    border-top: 1px solid var(--ops-line);
}

.mission-poi-focus {
    min-width: 0;
    display: grid;
    align-items: center;
    grid-template-columns: 7.25rem minmax(0, 1fr);
    gap: 0.8rem;
    padding: 0.3rem;
    border: 1px solid transparent;
    background: transparent;
    color: inherit;
    text-align: left;
}

.mission-poi-focus:hover,
.mission-poi-focus:focus-visible {
    border-color: var(--ops-line-dark);
    outline: 0;
    background: var(--ops-olive-light);
}

.mission-poi-type {
    color: var(--ops-olive-dark);
    font-size: 0.58rem;
    font-weight: 950;
    letter-spacing: 0.08em;
}

.mission-poi-copy {
    min-width: 0;
    display: grid;
    gap: 0.18rem;
}

.mission-poi-copy strong {
    color: var(--ops-ink);
    font-size: 0.75rem;
    font-weight: 950;
}

.mission-poi-copy > span {
    color: var(--ops-ink-soft);
    font-size: 0.68rem;
}

.mission-danger-panel {
    border-color: #9b7770;
}

.mission-danger-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
}

.mission-danger-actions > div {
    display: grid;
    gap: 0.2rem;
}

.mission-danger-actions strong {
    color: var(--ops-danger);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.05em;
}

.mission-danger-actions span {
    color: var(--ops-ink-soft);
    font-size: 0.65rem;
}

.mission-modal {
    border: 1px solid var(--ops-line-dark);
    border-radius: 0;
    background: var(--ops-paper);
    box-shadow: var(--ops-shadow);
}

.mission-modal .modal-header,
.mission-modal .modal-footer {
    border-color: var(--ops-line-dark);
    border-radius: 0;
    background: #eef2f5;
}

@media (max-width: 1199.98px) {
    .mission-board-row {
        grid-template-columns: 8.5rem minmax(0, 1fr) 12rem;
    }

    .mission-board-actions {
        grid-column: 2 / -1;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mission-my-tasking {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .mission-map {
        height: 32rem;
    }
}

@media (max-width: 767.98px) {
    .mission-commandbar,
    .mission-map-actions,
    .mission-danger-actions,
    .mission-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .mission-form-actions > span {
        margin-left: 0;
    }

    .mission-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mission-status-cell + .mission-status-cell {
        border-left: 0;
    }

    .mission-status-cell:nth-child(even) {
        border-left: 1px solid var(--ops-line);
    }

    .mission-status-cell:nth-child(n/**/+3) {
        border-top: 1px solid var(--ops-line);
    }

    .mission-status-cell:last-child {
        grid-column: 1 / -1;
        border-left: 0;
    }

    .mission-board-row {
        display: block;
        padding: 1rem;
    }

    .mission-board-code,
    .mission-board-main,
    .mission-board-meta,
    .mission-board-actions {
        margin-top: 0.8rem;
    }

    .mission-board-code {
        margin-top: 0;
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
    }

    .mission-board-meta {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .mission-board-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .mission-fact-grid,
    .mission-three-column-detail {
        grid-template-columns: 1fr;
    }

    .mission-fact-grid > div,
    .mission-three-column-detail > div {
        border-right: 0;
    }

    .mission-fact-grid > .mission-fact-wide {
        grid-column: auto;
    }

    .mission-map {
        height: 26rem;
    }

    .mission-poi-item,
    .mission-poi-focus {
        grid-template-columns: 1fr;
    }
}

/* Mission create/edit address acquisition map */
.mission-form-map {
    width: 100%;
    height: 18rem;
    margin-top: 0.15rem;
    border: 1px solid var(--ops-line-dark);
    background: #e7ecf1;
}

.mission-form-map .maplibregl-ctrl-attrib {
    font-size: 0.62rem;
}

/* Mission codes are system-owned identifiers and never user-editable. */
.mission-code-locked {
    background: var(--ops-paper, #eef2f5);
    color: var(--ops-olive-dark);
    font-family: var(--bs-font-monospace);
    font-weight: 800;
    letter-spacing: 0.04em;
    cursor: not-allowed;
}

.mission-code-locked:focus {
    background: var(--ops-paper, #eef2f5);
    box-shadow: none;
    border-color: var(--ops-line-dark);
}

/* ========================================================================== */
/* Dispatcher / Call Taker CAD                                                */
/* ========================================================================== */
.dispatch-commandbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.dispatch-status-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-paper);
}

.dispatch-status-cell {
    min-width: 0;
    display: grid;
    gap: 0.2rem;
    padding: 0.8rem 1rem;
    border-left: 1px solid var(--ops-line);
}

.dispatch-status-cell:first-child { border-left: 0; }
.dispatch-status-cell span {
    color: var(--ops-ink-soft);
    font-size: 0.58rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}
.dispatch-status-cell strong {
    color: var(--ops-olive-dark);
    font-family: var(--bs-font-monospace);
    font-size: 1.1rem;
}
.dispatch-status-cell.dispatch-p1 strong { color: var(--ops-danger); }

.dispatch-queue { display: grid; }
.dispatch-queue-row {
    position: relative;
    display: grid;
    grid-template-columns: 10.5rem minmax(0, 1fr) 18rem 9rem;
    gap: 1rem;
    align-items: center;
    padding: 0.95rem 1rem 0.95rem 1.2rem;
    border-top: 1px solid var(--ops-line);
    background: var(--ops-paper);
}
.dispatch-queue-row:first-child { border-top: 0; }
.dispatch-queue-row::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 0.28rem;
    background: var(--ops-olive);
}
.dispatch-queue-row.dispatch-priority-p1::before { background: var(--ops-danger); }
.dispatch-queue-row.dispatch-priority-p2::before { background: #b7791f; }
.dispatch-queue-row.assigned-to-me { background: #eef2f5; }

.dispatch-queue-priority,
.dispatch-queue-main,
.dispatch-queue-meta,
.dispatch-queue-actions { min-width: 0; }
.dispatch-queue-priority { display: grid; gap: 0.35rem; align-content: start; }
.dispatch-queue-priority > strong {
    font-family: var(--bs-font-monospace);
    color: var(--ops-ink);
    font-size: 0.72rem;
    overflow-wrap: anywhere;
}

.dispatch-priority-badge,
.dispatch-status-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 1.45rem;
    padding: 0.18rem 0.42rem;
    border: 1px solid var(--ops-line-dark);
    background: #eef2f5;
    color: var(--ops-ink);
    font-size: 0.56rem;
    font-weight: 950;
    letter-spacing: 0.06em;
}
.dispatch-priority-p1 { border-color: #8e5f58; background: #efe1dc; color: #7c3028; }
.dispatch-priority-p2 { border-color: #a57b3e; background: #f3ead5; color: #79551f; }
.dispatch-priority-p3 { border-color: #7c8da0; background: #e7ecf1; color: var(--ops-olive-dark); }
.dispatch-priority-p4 { border-color: #7c8da0; background: #eef2f5; color: var(--ops-ink-soft); }
.dispatch-status-incoming { border-color: #8b6f3d; background: #f2ead7; }
.dispatch-status-ready-for-dispatch { border-color: #69764a; background: #e7ecf1; }
.dispatch-status-dispatched,
.dispatch-status-en-route,
.dispatch-status-on-scene { border-color: #287c50; background: #e5f2e9; color: #245c3a; }
.dispatch-status-cleared { border-color: #7c8da0; background: #e3e8ee; color: #4f5b66; }
.dispatch-status-cancelled { border-color: #8e6f69; background: #eee1df; color: #744039; }

.dispatch-queue-main { display: grid; gap: 0.2rem; }
.dispatch-queue-main h3 {
    margin: 0;
    color: var(--ops-ink);
    font-size: 0.9rem;
    font-weight: 950;
    letter-spacing: -0.01em;
}
.dispatch-queue-main p {
    margin: 0;
    color: var(--ops-ink-soft);
    font-size: 0.67rem;
    line-height: 1.45;
}
.dispatch-queue-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}
.dispatch-queue-meta > div { display: grid; gap: 0.14rem; }
.dispatch-queue-meta span,
.dispatch-map-location-strip span,
.dispatch-caller-grid span,
.dispatch-timestamp-grid span {
    color: var(--ops-ink-soft);
    font-size: 0.52rem;
    font-weight: 900;
    letter-spacing: 0.07em;
}
.dispatch-queue-meta strong,
.dispatch-map-location-strip strong,
.dispatch-caller-grid strong,
.dispatch-timestamp-grid strong {
    color: var(--ops-ink);
    font-size: 0.63rem;
    line-height: 1.35;
}
.dispatch-queue-actions { display: grid; gap: 0.45rem; }

/* eCAD call-detail label/value spacing */
.dispatch-detail-grid {
    display: grid;
    gap: 0;
}
.dispatch-detail-grid > div {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(7.5rem, 9rem) minmax(0, 1fr);
    align-items: start;
    column-gap: 1rem;
    row-gap: 0.18rem;
    padding: 0.34rem 0;
}
.dispatch-detail-grid > div + div {
    border-top: 1px solid var(--ops-line);
}
.dispatch-detail-grid span {
    color: var(--ops-ink-soft);
    font-size: 0.55rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1.45;
}
.dispatch-detail-grid strong {
    min-width: 0;
    color: var(--ops-ink);
    font-size: 0.7rem;
    font-weight: 750;
    line-height: 1.5;
    overflow-wrap: anywhere;
    word-break: normal;
}
@media (max-width: 575.98px) {
    .dispatch-detail-grid > div {
        grid-template-columns: 1fr;
        column-gap: 0;
        padding: 0.45rem 0;
    }
}

.dispatch-detail-layout > [class*="col-"] { min-width: 0; }
.dispatch-map-column { position: sticky; top: 1rem; }
.dispatch-map-panel { overflow: visible; }
.dispatch-map-search { border-bottom: 1px solid var(--ops-line); background: #eef2f5; }
.dispatch-map,
.dispatch-form-map {
    width: 100%;
    height: 34rem;
    border-top: 1px solid var(--ops-line-dark);
    border-bottom: 1px solid var(--ops-line-dark);
    background: #e7ecf1;
}
.dispatch-form-map { height: 30rem; border: 1px solid var(--ops-line-dark); }
.dispatch-map .maplibregl-ctrl-attrib,
.dispatch-form-map .maplibregl-ctrl-attrib { font-size: 0.62rem; }

.dispatch-map-location-strip {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;
    gap: 0;
    background: #eef2f5;
}
.dispatch-map-location-strip > div {
    min-width: 0;
    display: grid;
    gap: 0.18rem;
    padding: 0.8rem 1rem;
    border-left: 1px solid var(--ops-line);
}
.dispatch-map-location-strip > div:first-child { border-left: 0; }

.dispatch-fact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-bottom: 1px solid var(--ops-line);
}
.dispatch-fact-grid > div {
    min-width: 0;
    display: grid;
    gap: 0.22rem;
    padding: 0.8rem 1rem;
    border-right: 1px solid var(--ops-line);
    border-top: 1px solid var(--ops-line);
}
.dispatch-fact-grid > div:nth-child(even) { border-right: 0; }
.dispatch-fact-grid > .dispatch-fact-wide { grid-column: 1 / -1; border-right: 0; }
.dispatch-fact-grid span { color: var(--ops-ink-soft); font-size: 0.55rem; font-weight: 900; letter-spacing: 0.08em; }
.dispatch-fact-grid strong { color: var(--ops-ink); font-size: 0.68rem; overflow-wrap: anywhere; }

.dispatch-detail-section { padding: 1rem; border-top: 1px solid var(--ops-line); }
.dispatch-prose {
    margin-top: 0.45rem;
    color: var(--ops-ink);
    font-size: 0.73rem;
    line-height: 1.65;
    white-space: pre-wrap;
}
.dispatch-caller-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem 1rem;
    margin-top: 0.55rem;
}
.dispatch-caller-grid > div { display: grid; gap: 0.14rem; }
.dispatch-caller-grid .dispatch-fact-wide { grid-column: 1 / -1; }

.dispatch-intel-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--ops-line);
}
.dispatch-intel-grid > div { padding: 1rem; border-right: 1px solid var(--ops-line); border-bottom: 1px solid var(--ops-line); }
.dispatch-intel-grid > div:nth-child(even) { border-right: 0; }
.dispatch-intel-grid p { margin: 0.45rem 0 0; color: var(--ops-ink-soft); font-size: 0.68rem; line-height: 1.55; white-space: pre-wrap; }

.dispatch-unit-list { display: grid; }
.dispatch-unit-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 8rem minmax(12rem, 1fr);
    gap: 0.8rem;
    align-items: center;
    padding: 0.8rem 1rem;
    border-top: 1px solid var(--ops-line);
}
.dispatch-unit-row:first-child { border-top: 0; }
.dispatch-unit-identity,
.dispatch-unit-status { min-width: 0; display: grid; gap: 0.14rem; }
.dispatch-unit-identity span,
.dispatch-unit-status span { color: var(--ops-olive-dark); font-size: 0.55rem; font-weight: 950; letter-spacing: 0.07em; }
.dispatch-unit-identity strong { color: var(--ops-ink); font-size: 0.72rem; }
.dispatch-unit-identity small,
.dispatch-unit-status small { color: var(--ops-ink-soft); font-size: 0.58rem; }
.dispatch-unit-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.45rem; }
.dispatch-empty-inline { padding: 1rem; color: var(--ops-ink-soft); font-size: 0.64rem; font-weight: 850; letter-spacing: 0.05em; }

.dispatch-log { display: grid; border-top: 1px solid var(--ops-line); }
.dispatch-log-entry {
    display: grid;
    grid-template-columns: 6.2rem minmax(0, 1fr);
    gap: 0.8rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--ops-line);
}
.dispatch-log-time { color: var(--ops-olive-dark); font-family: var(--bs-font-monospace); font-size: 0.61rem; font-weight: 900; }
.dispatch-log-copy { min-width: 0; display: grid; gap: 0.18rem; }
.dispatch-log-copy span { color: var(--ops-ink-soft); font-size: 0.53rem; font-weight: 950; letter-spacing: 0.07em; }
.dispatch-log-copy p { margin: 0; color: var(--ops-ink); font-size: 0.68rem; line-height: 1.5; white-space: pre-wrap; }

.dispatch-timestamp-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border: 1px solid var(--ops-line);
}
.dispatch-timestamp-grid > div { min-width: 0; display: grid; gap: 0.15rem; padding: 0.7rem; border-left: 1px solid var(--ops-line); }
.dispatch-timestamp-grid > div:first-child { border-left: 0; }

.dispatch-assignee-select { min-height: 15rem; }

@media (max-width: 1399.98px) {
    .dispatch-queue-row { grid-template-columns: 10rem minmax(0, 1fr) 16rem; }
    .dispatch-queue-actions { grid-column: 2 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dispatch-queue-actions .mission-my-tasking { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 1199.98px) {
    .dispatch-map-column { position: static; }
    .dispatch-map { height: 30rem; }
    .dispatch-form-map { height: 26rem; }
}

@media (max-width: 767.98px) {
    .dispatch-commandbar { align-items: stretch; flex-direction: column; }
    .dispatch-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dispatch-status-cell { border-left: 0; border-top: 1px solid var(--ops-line); }
    .dispatch-status-cell:nth-child(even) { border-left: 1px solid var(--ops-line); }
    .dispatch-status-cell:first-child,
    .dispatch-status-cell:nth-child(2) { border-top: 0; }
    .dispatch-status-cell:last-child { grid-column: 1 / -1; border-left: 0; }
    .dispatch-queue-row { display: block; padding: 1rem 1rem 1rem 1.2rem; }
    .dispatch-queue-main,
    .dispatch-queue-meta,
    .dispatch-queue-actions { margin-top: 0.8rem; }
    .dispatch-queue-meta { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .dispatch-queue-actions { display: grid; grid-template-columns: 1fr; }
    .dispatch-map-location-strip,
    .dispatch-timestamp-grid { grid-template-columns: 1fr; }
    .dispatch-map-location-strip > div,
    .dispatch-timestamp-grid > div { border-left: 0; border-top: 1px solid var(--ops-line); }
    .dispatch-map-location-strip > div:first-child,
    .dispatch-timestamp-grid > div:first-child { border-top: 0; }
    .dispatch-fact-grid,
    .dispatch-caller-grid,
    .dispatch-intel-grid { grid-template-columns: 1fr; }
    .dispatch-fact-grid > div,
    .dispatch-intel-grid > div { border-right: 0; }
    .dispatch-fact-grid > .dispatch-fact-wide,
    .dispatch-caller-grid .dispatch-fact-wide { grid-column: auto; }
    .dispatch-unit-row { grid-template-columns: 1fr; }
    .dispatch-unit-controls { grid-template-columns: 1fr; }
    .dispatch-log-entry { grid-template-columns: 1fr; gap: 0.25rem; }
    .dispatch-map { height: 25rem; }
    .dispatch-form-map { height: 22rem; }
}

/* MDT / field-unit operations */
.mdt-commandbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
}

.mdt-unit-chip {
    min-width: 15rem;
    display: grid;
    gap: .12rem;
    padding: .65rem .8rem;
    border: 1px solid var(--ops-line-dark);
    background: #eef3f7;
    text-align: right;
}
.mdt-unit-chip span,
.mdt-unit-chip small { color: var(--ops-ink-soft); font-size: .55rem; font-weight: 900; letter-spacing: .09em; }
.mdt-unit-chip strong { color: var(--ops-olive-dark); font-size: .82rem; font-weight: 950; letter-spacing: .04em; }

.mdt-panic-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 24rem);
    gap: 1rem;
    align-items: stretch;
    padding: .9rem;
    border: 2px solid #b99211;
    background: #fff6bc;
    box-shadow: inset 0 4px 0 #e7b900;
}
.mdt-panic-panel.is-active { border-color: #a92d24; background: #ffe1a4; box-shadow: inset 0 5px 0 #a92d24; }
.mdt-panic-copy { min-width: 0; display: grid; align-content: center; gap: .22rem; }
.mdt-panic-copy > strong { color: #8f271f; font-size: .86rem; font-weight: 1000; letter-spacing: .07em; }
.mdt-panic-copy > small { color: #675316; font-size: .65rem; font-weight: 800; line-height: 1.45; }

.mdt-panic-button {
    width: 100%;
    min-height: 5.4rem;
    border: 3px solid #b6281e !important;
    border-radius: 0 !important;
    background: #ffd51f !important;
    color: #b02019 !important;
    font-size: 1.7rem !important;
    font-weight: 1000 !important;
    letter-spacing: .11em !important;
    box-shadow: inset 0 -5px 0 rgba(133, 74, 0, .16) !important;
}
.mdt-panic-button:hover,
.mdt-panic-button:focus-visible { background: #ffe251 !important; color: #8f1711 !important; border-color: #8f1711 !important; }
.mdt-panic-button.active { background: #ffc107 !important; animation: mdt-panic-pulse 1.2s step-end infinite; }
@keyframes mdt-panic-pulse { 50% { outline: 4px solid rgba(181, 32, 25, .28); outline-offset: 2px; } }
@media (prefers-reduced-motion: reduce) { .mdt-panic-button.active { animation: none; } }

.panic-alert-stack { display: grid; gap: .6rem; margin-bottom: 1rem; }
.panic-alert-banner {
    display: grid;
    grid-template-columns: 3.5rem minmax(0, 1fr) auto;
    align-items: stretch;
    border: 2px solid #9f2820;
    background: #fff0aa;
    box-shadow: inset 0 4px 0 #b52a20;
}
.panic-alert-signal {
    display: grid;
    place-items: center;
    background: #b52a20;
    color: #fff7d1;
    font-size: 2rem;
    font-weight: 1000;
}
.panic-alert-copy { min-width: 0; display: grid; align-content: center; gap: .12rem; padding: .65rem .8rem; }
.panic-alert-copy > span { color: #9d211a; font-size: .58rem; font-weight: 1000; letter-spacing: .12em; }
.panic-alert-copy > strong { color: #661610; font-size: .92rem; font-weight: 1000; }
.panic-alert-copy > small { color: #6d5520; font-size: .58rem; font-weight: 850; letter-spacing: .04em; }
.panic-alert-action { display: grid; align-items: stretch; margin: 0; }
.panic-alert-monitor { display: grid; place-items: center; padding: .65rem .8rem; border-left: 1px solid #9f2820; color: #7a251e; font-size: .55rem; font-weight: 950; letter-spacing: .08em; }

.mdt-status-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    border: 1px solid var(--ops-line-dark);
    background: #f7f9fb;
}
.mdt-status-cell { min-width: 0; display: grid; gap: .12rem; padding: .65rem .75rem; border-left: 1px solid var(--ops-line); }
.mdt-status-cell:first-child { border-left: 0; }
.mdt-status-cell span { color: var(--ops-ink-soft); font-size: .54rem; font-weight: 950; letter-spacing: .09em; }
.mdt-status-cell strong { color: var(--ops-olive-dark); font-size: 1.25rem; font-weight: 1000; }
.mdt-status-p1 { background: #f4ded7; }
.mdt-status-p1 strong { color: #8d2c25; }

.mdt-filterbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 13rem auto;
    gap: .7rem;
    align-items: end;
    padding: .75rem;
    border-bottom: 1px solid var(--ops-line);
    background: #eef2f5;
}
.mdt-filter-actions { display: grid; grid-template-columns: repeat(2, auto); gap: .45rem; }
.mdt-table-wrap { overflow-x: auto; }
.mdt-call-table { min-width: 96rem; --bs-table-bg: transparent; }
.mdt-call-table thead th {
    padding: .55rem .65rem;
    border-bottom: 1px solid var(--ops-line-dark);
    background: #dbe2e8;
    color: var(--ops-olive-dark);
    font-size: .53rem;
    font-weight: 1000;
    letter-spacing: .085em;
    white-space: nowrap;
}
.mdt-call-table tbody td { padding: .6rem .65rem; border-bottom: 1px solid var(--ops-line); vertical-align: middle; color: var(--ops-ink-soft); font-size: .62rem; }
.mdt-call-row { cursor: pointer; transition: background .12s ease, box-shadow .12s ease; }
.mdt-call-row:hover,
.mdt-call-row:focus-visible { background: #eef2f5; outline: none; }
.mdt-call-row.is-assigned { background: #eef4f9; box-shadow: inset 4px 0 0 var(--ops-olive-dark); }
.mdt-call-row.is-focused { background: #e7eef5; box-shadow: inset 4px 0 0 #005ea8; }
.mdt-cad-number { color: var(--ops-olive-dark); font-family: var(--bs-font-monospace); font-size: .62rem; white-space: nowrap; }
.mdt-call-nature { display: block; color: var(--ops-olive-dark); font-size: .5rem; font-weight: 950; letter-spacing: .07em; }
.mdt-call-table td:nth-child(5) strong,
.mdt-call-table td:nth-child(6) strong { display: block; color: var(--ops-ink); font-size: .66rem; }
.mdt-call-table td:nth-child(6) span { display: block; margin-top: .12rem; }
.mdt-unit-status { display: inline-flex; align-items: center; min-height: 1.65rem; padding: .22rem .42rem; border: 1px solid var(--ops-line-dark); background: #eef3f7; color: var(--ops-ink); font-size: .52rem; font-weight: 1000; letter-spacing: .06em; white-space: nowrap; }
.mdt-unit-status-assigned { background: #e7eef5; color: #4b5836; }
.mdt-unit-status-en-route { background: #fff3c6; border-color: #a66f00; color: #6f4b00; }
.mdt-unit-status-on-scene { background: #dce9d5; border-color: #506d41; color: #27441f; }
.mdt-unit-status-available { background: #e7ecf1; color: #245c3a; }
.mdt-unit-status-cleared { background: #e3e8ee; border-color: #7c8da0; color: #45515d; }
.mdt-unit-status-pending { background: #eef2f5; color: #667584; }
.mdt-quick-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(6.6rem, 1fr));
    gap: .35rem;
    min-width: 13.6rem;
}
.mdt-quick-actions form { min-width: 0; }
.mdt-quick-status-button {
    width: 100%;
    white-space: nowrap;
    font-size: .53rem !important;
    letter-spacing: .055em !important;
}
.mdt-quick-status-button.is-current,
.mdt-quick-status-button:disabled {
    opacity: 1 !important;
    cursor: default;
    background: #005ea8 !important;
    border-color: #005ea8 !important;
    color: #fff !important;
}
.mdt-quick-status-cleared:not(:disabled) {
    border-color: #8d332c !important;
    color: #7b2b25 !important;
}
.mdt-quick-status-cleared:not(:disabled):hover,
.mdt-quick-status-cleared:not(:disabled):focus-visible {
    background: #8d332c !important;
    border-color: #8d332c !important;
    color: #fff !important;
}
.mdt-quick-status-locked {
    min-width: 11rem;
    display: grid;
    gap: .1rem;
    padding: .45rem .55rem;
    border: 1px solid var(--ops-line);
    background: #eef3f7;
}
.mdt-quick-status-locked strong { color: var(--ops-olive-dark); font-size: .54rem; font-weight: 1000; letter-spacing: .06em; }
.mdt-quick-status-locked span { color: var(--ops-ink-soft); font-size: .5rem; font-weight: 800; line-height: 1.3; }
.mdt-empty-row { padding: 2rem !important; text-align: center; font-weight: 900; letter-spacing: .06em; }

.mdt-map-panel { position: sticky; top: 1rem; overflow: hidden; }
.mdt-map { height: 24rem; background: #dbe2e8; border-bottom: 1px solid var(--ops-line-dark); }
.mdt-map .maplibregl-ctrl-attrib { font-size: .58rem; }
.mdt-map-legend { display: flex; flex-wrap: wrap; gap: .65rem; padding: .55rem .65rem; border-bottom: 1px solid var(--ops-line); background: #eef2f5; }
.mdt-map-legend span { display: inline-flex; align-items: center; gap: .25rem; color: var(--ops-ink-soft); font-size: .52rem; font-weight: 950; letter-spacing: .06em; }
.mdt-map-dot { width: .55rem; height: .55rem; border-radius: 50%; background: var(--ops-olive-dark); }
.mdt-map-dot.p1 { background: #a72a20; }
.mdt-map-dot.p2 { background: #b97813; }
.mdt-map-dot.p3 { background: #005ea8; }
.mdt-map-dot.p4 { background: #6f7d8b; }
.mdt-map-status { padding: .65rem; color: var(--ops-ink-soft); font-size: .54rem; font-weight: 900; letter-spacing: .06em; line-height: 1.45; }

@media (max-width: 1199.98px) {
    .mdt-map-panel { position: static; }
    .mdt-map { height: 20rem; }
}
@media (max-width: 991.98px) {
    .mdt-panic-panel { grid-template-columns: 1fr; }
    .mdt-status-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .mdt-status-cell:nth-child(4) { border-left: 0; border-top: 1px solid var(--ops-line); }
    .mdt-status-cell:nth-child(5), .mdt-status-cell:nth-child(6) { border-top: 1px solid var(--ops-line); }
}
@media (max-width: 767.98px) {
    .mdt-commandbar { align-items: stretch; flex-direction: column; }
    .mdt-unit-chip { min-width: 0; text-align: left; }
    .mdt-filterbar { grid-template-columns: 1fr; }
    .mdt-filter-actions { grid-template-columns: 1fr 1fr; }
    .panic-alert-banner { grid-template-columns: 2.8rem minmax(0, 1fr); }
    .panic-alert-action, .panic-alert-monitor { grid-column: 1 / -1; border-left: 0; border-top: 1px solid #9f2820; }
}
@media (max-width: 479.98px) {
    .mdt-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mdt-status-cell { border-top: 1px solid var(--ops-line); }
    .mdt-status-cell:nth-child(odd) { border-left: 0; }
    .mdt-status-cell:first-child, .mdt-status-cell:nth-child(2) { border-top: 0; }
}


/* MDT active-call quick controls live above the map. */
.mdt-map-stack {
    display: grid;
    gap: 1rem;
    position: sticky;
    top: 1rem;
}
.mdt-map-stack .mdt-map-panel { position: static; }
.mdt-quick-status-panel { overflow: hidden; }
.mdt-active-call-summary,
.mdt-no-active-call {
    display: grid;
    gap: .2rem;
    margin-bottom: .75rem;
}
.mdt-active-call-summary strong,
.mdt-no-active-call strong {
    color: var(--ops-olive-dark);
    font-size: .74rem;
    font-weight: 1000;
    letter-spacing: .045em;
    line-height: 1.3;
}
.mdt-active-call-summary small,
.mdt-no-active-call small {
    color: var(--ops-ink-soft);
    font-size: .58rem;
    font-weight: 800;
    line-height: 1.4;
}
.mdt-map-quick-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
}
.mdt-map-quick-actions form { min-width: 0; }
.mdt-map-quick-button {
    width: 100%;
    min-width: 0;
    font-weight: 1000;
    letter-spacing: .045em;
}
.mdt-map-quick-button.is-current,
.mdt-map-quick-button:disabled {
    border-color: var(--ops-olive-dark);
    background: var(--ops-olive-dark);
    color: #fff;
    opacity: 1;
}
.mdt-map-quick-button.mdt-quick-status-cleared:not(:disabled) {
    border-color: #8f211a;
    color: #8f211a;
}
.mdt-map-quick-button.mdt-quick-status-cleared:not(:disabled):hover,
.mdt-map-quick-button.mdt-quick-status-cleared:not(:disabled):focus-visible {
    background: #8f211a;
    color: #fff;
}
@media (max-width: 1199.98px) {
    .mdt-map-stack { position: static; }
}

/* PANIC acknowledgement + live banner controls */
.panic-alert-live-region:empty { display: none; }
.panic-alert-banner.is-acknowledged {
    background: #fff0b9;
    border-color: #9b7014;
}
.panic-alert-banner.is-acknowledged .panic-alert-signal {
    background: #b57900;
}
.panic-acknowledged-line {
    color: #6e520d !important;
    font-weight: 950 !important;
}
.panic-alert-actions {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(8rem, 1fr);
    align-items: stretch;
    border-left: 1px solid #9f2820;
}
.panic-alert-actions .panic-alert-action { min-width: 0; }
.panic-ack-btn {
    min-height: 100%;
    border: 0 !important;
    border-right: 1px solid #9f2820 !important;
    border-radius: 0 !important;
    background: #f0c647 !important;
    color: #5d4300 !important;
    font-size: .58rem !important;
    font-weight: 1000 !important;
    letter-spacing: .08em !important;
}
.panic-ack-btn:hover,
.panic-ack-btn:focus-visible { background: #f7d96e !important; color: #4f3800 !important; }
@media (max-width: 767.98px) {
    .panic-alert-actions {
        grid-column: 1 / -1;
        grid-auto-flow: row;
        grid-auto-columns: 1fr;
        border-left: 0;
        border-top: 1px solid #9f2820;
    }
    .panic-ack-btn { min-height: 3rem; border-left: 0 !important; border-right: 0 !important; border-bottom: 1px solid #9f2820 !important; }
}

/* Procedures / SOP-GOP library */
.procedure-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid var(--ops-line);
    background: #f4f7fa;
}

.procedure-stat-grid > div {
    min-width: 0;
    padding: .7rem .8rem;
    border-right: 1px solid var(--ops-line);
}

.procedure-stat-grid > div:last-child { border-right: 0; }

.procedure-stat-grid span,
.procedure-control-grid span {
    display: block;
    color: var(--ops-ink-soft);
    font-size: .54rem;
    font-weight: 900;
    letter-spacing: .11em;
}

.procedure-stat-grid strong {
    display: block;
    margin-top: .18rem;
    color: var(--ops-olive-dark);
    font-size: .95rem;
    font-weight: 900;
}

.procedure-filter-bar {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) minmax(11rem, 15rem) auto auto;
    gap: .55rem;
}

.procedure-table-wrap {
    border: 1px solid var(--ops-line-dark);
}

.procedure-table {
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--ops-line);
    margin: 0;
    color: var(--ops-ink);
    font-size: .7rem;
}

.procedure-table thead th {
    padding: .55rem .65rem;
    border-bottom-width: 1px;
    background: var(--ops-olive-light);
    color: var(--ops-olive-dark);
    font-size: .54rem;
    font-weight: 900;
    letter-spacing: .1em;
    white-space: nowrap;
}

.procedure-table tbody td {
    padding: .7rem .65rem;
    vertical-align: middle;
}

.procedure-type-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3.4rem;
    padding: .3rem .45rem;
    border: 1px solid var(--ops-line-dark);
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .1em;
}

.procedure-type-sop {
    background: #e7ecf1;
    color: var(--ops-olive-dark);
}

.procedure-type-gop {
    background: #eee8d8;
    color: #665c32;
}

.procedure-number {
    display: block;
    color: var(--ops-olive-dark);
    font-size: .72rem;
    font-weight: 900;
}

.procedure-cell-sub {
    display: block;
    margin-top: .18rem;
    color: var(--ops-ink-soft);
    font-size: .52rem;
    font-weight: 800;
    letter-spacing: .045em;
}

.procedure-title-cell {
    min-width: 18rem;
}

.procedure-title-cell strong {
    display: block;
    color: var(--ops-ink);
    font-size: .76rem;
    font-weight: 900;
}

.procedure-title-cell span {
    display: block;
    max-width: 46rem;
    margin-top: .2rem;
    overflow: hidden;
    color: var(--ops-ink-soft);
    font-size: .62rem;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.procedure-document {
    overflow: hidden;
}

.procedure-document-header {
    padding: 1.15rem 1.25rem;
    border-bottom: 1px solid var(--ops-line-dark);
    background:
        linear-gradient(rgba(0, 94, 168, .03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 94, 168, .03) 1px, transparent 1px),
        #f4f6f8;
    background-size: 24px 24px;
}

.procedure-document-header h1 {
    margin: .25rem 0 .45rem;
    color: var(--ops-olive-dark);
    font-size: clamp(1.35rem, 2.4vw, 2rem);
    font-weight: 900;
    letter-spacing: .025em;
}

.procedure-document-header p {
    max-width: 68rem;
    margin: 0;
    color: var(--ops-ink-soft);
    font-size: .78rem;
    line-height: 1.55;
}

.procedure-markdown {
    padding: 1.5rem 1.4rem 2rem;
    color: var(--ops-ink);
    font-size: .88rem;
    line-height: 1.7;
}

.procedure-markdown > :first-child { margin-top: 0; }
.procedure-markdown > :last-child { margin-bottom: 0; }

.procedure-markdown h1,
.procedure-markdown h2,
.procedure-markdown h3,
.procedure-markdown h4,
.procedure-markdown h5,
.procedure-markdown h6 {
    margin: 1.5em 0 .55em;
    color: var(--ops-olive-dark);
    font-weight: 900;
    letter-spacing: .025em;
}

.procedure-markdown h1 {
    padding-bottom: .4rem;
    border-bottom: 2px solid var(--ops-olive-dark);
    font-size: 1.55rem;
}

.procedure-markdown h2 {
    padding-bottom: .3rem;
    border-bottom: 1px solid var(--ops-line-dark);
    font-size: 1.25rem;
}

.procedure-markdown h3 { font-size: 1.05rem; }

.procedure-markdown p,
.procedure-markdown ul,
.procedure-markdown ol,
.procedure-markdown blockquote,
.procedure-markdown pre,
.procedure-markdown table {
    margin-bottom: 1rem;
}

.procedure-markdown blockquote {
    padding: .65rem .9rem;
    border-left: 4px solid var(--ops-olive-dark);
    background: #f4f6f8;
    color: var(--ops-ink-soft);
}

.procedure-markdown code {
    padding: .1rem .25rem;
    border: 1px solid var(--ops-line);
    background: #eef2f5;
    color: #3e4837;
    font-size: .82em;
}

.procedure-markdown pre {
    overflow-x: auto;
    padding: .85rem;
    border: 1px solid var(--ops-line-dark);
    background: #e7ecf1;
}

.procedure-markdown pre code {
    padding: 0;
    border: 0;
    background: transparent;
}

.procedure-markdown table {
    width: 100%;
    border-collapse: collapse;
}

.procedure-markdown th,
.procedure-markdown td {
    padding: .5rem .6rem;
    border: 1px solid var(--ops-line-dark);
    vertical-align: top;
}

.procedure-markdown th {
    background: var(--ops-olive-light);
    color: var(--ops-olive-dark);
    font-weight: 900;
}

.procedure-markdown a {
    color: var(--ops-olive-dark);
    font-weight: 800;
}

.procedure-control-grid {
    display: grid;
}

.procedure-control-grid > div {
    padding: .65rem .75rem;
    border-top: 1px solid var(--ops-line);
}

.procedure-control-grid > div:first-child { border-top: 0; }

.procedure-control-grid strong {
    display: block;
    margin-top: .18rem;
    color: var(--ops-ink);
    font-size: .67rem;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.procedure-access-block {
    padding: .8rem;
    border-top: 1px solid var(--ops-line);
}

.procedure-access-block p {
    margin: 0 0 .65rem;
    color: var(--ops-ink-soft);
    font-size: .68rem;
    line-height: 1.5;
}

.procedure-access-block strong {
    color: var(--ops-olive-dark);
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.procedure-markdown-editor {
    min-height: 38rem;
    resize: vertical;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: .78rem;
    line-height: 1.55;
    tab-size: 4;
}

.procedure-markdown-help {
    display: grid;
    gap: .4rem;
    padding: .75rem;
    border-top: 1px solid var(--ops-line);
}

.procedure-markdown-help code {
    display: block;
    padding: .36rem .45rem;
    border: 1px solid var(--ops-line);
    background: #f4f6f8;
    color: var(--ops-olive-dark);
    font-size: .61rem;
    white-space: normal;
}

@media (max-width: 767.98px) {
    .procedure-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .procedure-stat-grid > div:nth-child(2) { border-right: 0; }
    .procedure-stat-grid > div:nth-child(-n/**/+2) { border-bottom: 1px solid var(--ops-line); }

    .procedure-filter-bar {
        grid-template-columns: 1fr;
    }

    .procedure-document-header,
    .procedure-markdown {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}


/* Account message signature */
.profile-signature-input {
    min-height: 9rem;
    resize: vertical;
    white-space: pre-wrap;
}

.profile-signature-panel .profile-settings-footer {
    align-items: center;
}

/* Public member profile message signature */
.profile-signature-display {
    margin-top: 1rem;
    border: 1px solid var(--ops-line-dark);
    background: #f4f6f8;
}

.profile-signature-display-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .55rem .7rem;
    border-bottom: 1px solid var(--ops-line-dark);
    background: var(--ops-olive-light);
}

.profile-signature-display-header strong {
    color: var(--ops-olive-dark);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.profile-signature-display-body {
    padding: .8rem .9rem;
    color: var(--ops-ink);
    font-size: .78rem;
    line-height: 1.55;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}


/* Training operations */
.training-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid var(--ops-line-dark);
    background: #f7f9fb;
}
.training-stat {
    min-width: 0;
    padding: .7rem .8rem;
    border-right: 1px solid var(--ops-line);
}
.training-stat:last-child { border-right: 0; }
.training-stat span,
.training-control-grid span,
.training-library-meta small,
.training-attempt-row small,
.training-roster-row span {
    display: block;
    color: var(--ops-ink-soft);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .07em;
}
.training-stat strong {
    display: block;
    margin-top: .12rem;
    color: var(--ops-olive-dark);
    font-size: 1.05rem;
    font-weight: 950;
}
.training-library-list { display: grid; }
.training-library-row {
    display: grid;
    grid-template-columns: 8.5rem minmax(0, 1fr) 8rem;
    gap: 1rem;
    align-items: center;
    padding: .9rem 1rem;
    border-top: 1px solid var(--ops-line);
    color: inherit;
    text-decoration: none;
}
.training-library-row:first-child { border-top: 0; }
.training-library-row:hover,
.training-library-row:focus-visible { background: #f4f6f8; }
.training-library-code span {
    display: block;
    color: var(--ops-olive-dark);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .05em;
}
.training-library-code strong {
    display: block;
    margin-top: .2rem;
    color: var(--ops-ink-soft);
    font-size: .52rem;
    letter-spacing: .08em;
}
.training-library-main h2 {
    margin: .12rem 0 .28rem;
    color: var(--ops-ink);
    font-size: .95rem;
    font-weight: 950;
}
.training-library-main p {
    margin: 0;
    color: var(--ops-ink-soft);
    font-size: .69rem;
    line-height: 1.45;
}
.training-library-meta {
    text-align: right;
}
.training-status-badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.55rem;
    padding: .2rem .45rem;
    border: 1px solid var(--ops-line-dark);
    background: #f4f6f8;
    color: var(--ops-ink-soft);
    font-size: .55rem;
    font-weight: 950;
    letter-spacing: .06em;
    white-space: nowrap;
}
.training-status-badge.status-completed { background: #e5f2e9; color: #245c3a; border-color: #287c50; }
.training-status-badge.status-in-progress { background: #fff3c6; color: #614c00; border-color: #c8a649; }
.training-status-badge.status-failed { background: #f4dddd; color: #7d2525; border-color: #bd7777; }
.training-status-badge.status-assigned { background: #e7ecf1; color: #45515d; }
.training-control-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.training-control-grid > div {
    padding: .7rem .8rem;
    border-top: 1px solid var(--ops-line);
    border-right: 1px solid var(--ops-line);
}
.training-control-grid > div:nth-child(3n) { border-right: 0; }
.training-control-grid > div:nth-child(-n/**/+3) { border-top: 0; }
.training-control-grid strong {
    display: block;
    margin-top: .16rem;
    color: var(--ops-ink);
    font-size: .7rem;
    font-weight: 900;
    overflow-wrap: anywhere;
}
.training-objectives {
    white-space: pre-line;
    color: var(--ops-ink);
    font-size: .78rem;
    line-height: 1.55;
}
.training-question-block {
    margin: 0;
    padding: .9rem;
    border: 1px solid var(--ops-line-dark);
    background: #f7f9fb;
}
.training-question-block legend {
    float: none;
    width: 100%;
    margin: 0;
    color: var(--ops-ink);
    font-size: .78rem;
    font-weight: 850;
    line-height: 1.5;
}
.training-question-block legend > span {
    display: inline-block;
    margin-right: .5rem;
    color: var(--ops-olive-dark);
    font-size: .6rem;
    font-weight: 950;
    letter-spacing: .08em;
}
.training-question-block legend small {
    margin-left: .45rem;
    color: var(--ops-ink-soft);
    font-size: .54rem;
}
.training-answer-option {
    display: flex;
    align-items: center;
    gap: .55rem;
    min-height: 2.5rem;
    padding: .5rem .65rem;
    border: 1px solid var(--ops-line);
    background: #ffffff;
    cursor: pointer;
}
.training-answer-option input { accent-color: var(--ops-olive-dark); }
.training-answer-option span { font-size: .72rem; font-weight: 700; }
.training-question-admin {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem;
    border: 1px solid var(--ops-line);
    background: #f4f6f8;
}
.training-question-admin > div:first-child { min-width: 0; }
.training-question-admin span,
.training-question-admin small {
    display: block;
    color: var(--ops-ink-soft);
    font-size: .55rem;
    font-weight: 850;
    letter-spacing: .05em;
}
.training-question-admin strong { display: block; margin: .2rem 0; font-size: .72rem; }
.training-question-admin p { margin: .3rem 0 0; color: var(--ops-ink-soft); font-size: .66rem; }
.training-personal-status dl { margin: .8rem 0; }
.training-personal-status dl > div {
    display: flex;
    justify-content: space-between;
    gap: .8rem;
    padding: .45rem 0;
    border-bottom: 1px solid var(--ops-line);
}
.training-personal-status dt,
.training-personal-status dd { margin: 0; font-size: .62rem; }
.training-personal-status dt { color: var(--ops-ink-soft); font-weight: 850; }
.training-personal-status dd { color: var(--ops-ink); font-weight: 900; text-align: right; }
.training-attempt-row {
    padding: .6rem .7rem;
    border: 1px solid var(--ops-line);
    background: #f4f6f8;
}
.training-attempt-row span { display: block; color: var(--ops-ink-soft); font-size: .55rem; font-weight: 900; }
.training-attempt-row strong { display: block; margin: .15rem 0; font-size: .7rem; }
.training-roster-list { display: grid; }
.training-roster-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .7rem .8rem;
    border-top: 1px solid var(--ops-line);
}
.training-roster-row:first-child { border-top: 0; }
.training-roster-row strong { display: block; color: var(--ops-ink); font-size: .66rem; }
.training-roster-row > div:last-child { text-align: right; }
.training-assignee-select { min-height: 22rem; }
.training-reference-select { min-height: 9.5rem; }
.training-reference-list { display: grid; gap: .55rem; }
.training-reference-row {
    display: grid;
    grid-template-columns: 8rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .8rem;
    padding: .65rem .7rem;
    border: 1px solid var(--ops-line);
    background: var(--ops-paper);
}
.training-reference-type span,
.training-reference-type small,
.training-reference-main strong,
.training-reference-main span,
.training-reference-main small { display: block; }
.training-reference-type span { color: var(--ops-action); font-size: .64rem; font-weight: 950; letter-spacing: .08em; }
.training-reference-type small,
.training-reference-main span { color: var(--ops-ink-soft); font-size: .54rem; font-weight: 850; letter-spacing: .04em; }
.training-reference-main { min-width: 0; }
.training-reference-main strong { color: var(--ops-ink); font-size: .7rem; overflow-wrap: anywhere; }
.training-reference-main small { margin-top: .18rem; color: var(--ops-ink-soft); font-size: .6rem; line-height: 1.35; }


@media (max-width: 991.98px) {
    .training-library-row { grid-template-columns: 7rem minmax(0, 1fr); }
    .training-library-meta { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; text-align: left; }
}
@media (max-width: 767.98px) {
    .training-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .training-stat:nth-child(2) { border-right: 0; }
    .training-stat:nth-child(-n/**/+2) { border-bottom: 1px solid var(--ops-line); }
    .training-library-row { grid-template-columns: 1fr; }
    .training-library-meta { grid-column: auto; }
    .training-control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .training-control-grid > div { border-top: 1px solid var(--ops-line); border-right: 1px solid var(--ops-line); }
    .training-control-grid > div:nth-child(3n) { border-right: 1px solid var(--ops-line); }
    .training-control-grid > div:nth-child(2n) { border-right: 0; }
    .training-control-grid > div:nth-child(-n/**/+2) { border-top: 0; }
    .training-question-admin { flex-direction: column; }
    .training-reference-row { grid-template-columns: 1fr auto; }
    .training-reference-type { grid-column: 1 / -1; }
}

/* Dashboard quick actions table */
.quick-actions-table-wrap {
    border-top: 1px solid var(--ops-line);
}

.quick-actions-table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--ops-ink);
    min-width: 850px;
    font-size: .72rem;
}

.quick-actions-table > :not(caption) > * > * {
    padding: .72rem .8rem;
    border-color: var(--ops-line);
    background: transparent;
    box-shadow: none;
    vertical-align: middle;
}

.quick-actions-table thead th {
    border-bottom: 1px solid var(--ops-line-dark);
    background: var(--ops-olive-light);
    color: var(--ops-olive-dark);
    font-size: .58rem;
    font-weight: 1000;
    letter-spacing: .12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.quick-actions-table tbody tr {
    background: rgba(251, 250, 244, .74);
    transition: background-color 120ms ease;
}

.quick-actions-table tbody tr:nth-child(even) {
    background: rgba(241, 239, 229, .76);
}

.quick-actions-table tbody tr:hover {
    background: rgba(223, 226, 214, .76);
}

.quick-actions-seq {
    width: 3.3rem;
    color: var(--ops-ink-soft) !important;
    font-size: .62rem;
    font-weight: 1000;
    letter-spacing: .1em;
    text-align: center;
    white-space: nowrap;
}

.quick-actions-module {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-width: 12rem;
}

.quick-actions-mark {
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 2.35rem;
    display: grid;
    place-items: center;
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-olive-light);
    color: var(--ops-olive-dark);
    font-size: .6rem;
    font-weight: 1000;
    letter-spacing: .055em;
    clip-path: polygon(10% 0, 90% 0, 100% 10%, 100% 90%, 90% 100%, 10% 100%, 0 90%, 0 10%);
}

.quick-actions-module strong {
    display: block;
    color: var(--ops-olive-dark);
    font-size: .78rem;
    font-weight: 1000;
    letter-spacing: .055em;
}

.quick-actions-module span:not(.quick-actions-mark) {
    display: block;
    margin-top: .12rem;
    color: var(--ops-ink-soft);
    font-size: .55rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.quick-actions-status {
    color: var(--ops-ink-soft);
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .09em;
    white-space: nowrap;
}

.quick-actions-count {
    display: inline-flex;
    align-items: baseline;
    gap: .42rem;
    color: var(--ops-ink-soft);
    font-size: .55rem;
    font-weight: 900;
    letter-spacing: .08em;
    white-space: nowrap;
}

.quick-actions-count strong {
    color: var(--ops-olive-dark);
    font-size: 1rem;
    font-weight: 1000;
    letter-spacing: 0;
}

.quick-actions-count.is-alert,
.quick-actions-count.is-alert strong {
    color: var(--ops-danger);
}

.quick-actions-launch {
    min-width: 5.4rem;
    padding-inline: .8rem;
    white-space: nowrap;
}

@media (max-width: 991.98px) {
    .quick-actions-table {
        min-width: 760px;
    }
}

/* Shared eCAD / MDT Points of Interest */
.cad-poi-placement-mode {
    cursor: crosshair;
}

.dispatch-poi-control,
.dispatch-poi-section,
.mdt-poi-control {
    border-top: 1px solid var(--ops-line);
    background: rgba(245, 241, 224, .62);
}

.dispatch-poi-control small,
.mdt-poi-status {
    color: var(--ops-ink-soft);
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.dispatch-poi-form,
.mdt-poi-form {
    border-top: 1px dashed var(--ops-line-dark);
    padding-top: .8rem;
}

.dispatch-poi-coordinates,
.mdt-poi-coordinates {
    width: 100%;
    min-height: var(--ops-control-height, 2.5rem);
    display: flex;
    align-items: center;
    padding: .55rem .7rem;
    border: 1px solid var(--ops-line-dark);
    background: rgba(255,255,255,.5);
    color: var(--ops-olive-dark);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .06em;
}

.dispatch-poi-list {
    display: grid;
    gap: .55rem;
}

.dispatch-poi-item {
    display: flex;
    align-items: stretch;
    gap: .5rem;
}

.dispatch-poi-focus {
    flex: 1 1 auto;
    min-width: 0;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .7rem;
    align-items: start;
    text-align: left;
    border: 1px solid var(--ops-line);
    background: rgba(255,255,255,.45);
    padding: .65rem;
    color: inherit;
}

.dispatch-poi-focus:hover,
.dispatch-poi-focus:focus-visible {
    border-color: var(--ops-olive);
    background: var(--ops-olive-light);
}

.dispatch-poi-type {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.8rem;
    padding: .25rem .4rem;
    border: 1px solid #8a650f;
    background: #f4d477;
    color: #5a3d00;
    font-size: .52rem;
    font-weight: 1000;
    letter-spacing: .06em;
}

.dispatch-poi-copy {
    min-width: 0;
}

.dispatch-poi-copy strong,
.dispatch-poi-copy span,
.dispatch-poi-copy small {
    display: block;
}

.dispatch-poi-copy strong {
    color: var(--ops-olive-dark);
    font-size: .72rem;
    font-weight: 1000;
    letter-spacing: .04em;
}

.dispatch-poi-copy span {
    margin-top: .15rem;
    color: var(--ops-ink);
    font-size: .67rem;
    line-height: 1.35;
}

.dispatch-poi-copy small {
    margin-top: .28rem;
    color: var(--ops-ink-soft);
    font-size: .52rem;
    font-weight: 800;
    letter-spacing: .045em;
}

.dispatch-poi-delete {
    height: 100%;
    min-width: 4.8rem;
}

.mdt-poi-control {
    padding: .7rem;
}

.mdt-poi-status {
    margin-top: .5rem;
    line-height: 1.35;
}

@media (max-width: 575.98px) {
    .dispatch-poi-item {
        flex-direction: column;
    }
    .dispatch-poi-focus {
        grid-template-columns: 1fr;
    }
    .dispatch-poi-type {
        justify-self: start;
    }
    .dispatch-poi-delete {
        width: 100%;
        height: var(--ops-control-height, 2.5rem);
    }
}

/* User-selectable REEV OPS dark palettes. */
html[data-bs-theme="dark"] {
    --ops-ink: #d8dde3;
    --ops-ink-soft: #929da8;
    --ops-olive: #6f93b8;
    --ops-olive-dark: #9eb8d0;
    --ops-olive-light: #1c2833;
    --ops-khaki: #707983;
    --ops-sand: #090b0d;
    --ops-paper: #11151a;
    --ops-line: #29323b;
    --ops-line-dark: #47535f;
    --ops-green: #6b9f79;
    --ops-warning: #b38a42;
    --ops-danger: #c45d62;
    --ops-white: #f4f6f8;
    --ops-shadow: 0 0.65rem 1.6rem rgba(0, 0, 0, 0.28);
    color-scheme: dark;
}





html[data-bs-theme="dark"] body {
    background-image:
        linear-gradient(rgba(111, 147, 184, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(111, 147, 184, 0.025) 1px, transparent 1px);
}
html[data-bs-theme="dark"] .command-panel,
html[data-bs-theme="dark"] .command-splash,
html[data-bs-theme="dark"] .dropdown-menu,
html[data-bs-theme="dark"] .modal-content,
html[data-bs-theme="dark"] .mdt-call-table,
html[data-bs-theme="dark"] .table {
    background-color: var(--ops-paper) !important;
    color: var(--ops-ink);
}
html[data-bs-theme="dark"] .form-control,
html[data-bs-theme="dark"] .form-select,
html[data-bs-theme="dark"] .command-input {
    background-color: #141b22;
    border-color: var(--ops-line);
    color: var(--ops-ink);
}
html[data-bs-theme="dark"] .form-control::placeholder { color: #929da8; }
html[data-bs-theme="dark"] .table > :not(caption) > * > * { color: var(--ops-ink); background-color: transparent; border-color: var(--ops-line); }

/* Shared operational map pins */
.maplibregl-marker {
    position: absolute;
    top: 0;
    left: 0;
    will-change: transform;
    z-index: 6;
}
.ops-map-pin-wrap {
    background: transparent;
    border: 0;
    display: block;
    overflow: visible;
    pointer-events: auto;
}
.ops-map-pin {
    display: block;
    width: 22px;
    height: 22px;
    border-radius: 50% 50% 50% 0;
    background: var(--ops-pin-color, #005ea8);
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,.35);
    transform: rotate(-45deg);
    position: relative;
}
.ops-map-pin > i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    position: absolute;
    left: 50%; top: 50%;
    transform: translate(-50%,-50%);
}
.dispatch-log-scroll,
.mdt-log-scroll { max-height: 320px; overflow-y: auto; overscroll-behavior: contain; }
.map-poi-legend { display:flex; flex-wrap:wrap; gap:.45rem .8rem; font-size:.72rem; padding:.65rem .8rem; border-top:1px solid var(--ops-line); }
.map-poi-legend span { display:inline-flex; align-items:center; gap:.35rem; }
.map-poi-legend i { width:.7rem; height:.7rem; border-radius:50%; display:inline-block; }
.emergency-resource-grid { display:grid; gap:.55rem; }
.emergency-resource-item { border:1px solid var(--ops-line); padding:.7rem; background:var(--ops-paper); }
.emergency-resource-item span { display:block; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; opacity:.72; }
.emergency-resource-item strong { display:block; }
.mci-patient-table td,.mci-patient-table th { vertical-align:middle; }

/* REEV OPS TRIAGE SEMANTICS
   These variables are deliberately independent of UI themes. Current and future
   themes may change normal controls, but must not redefine clinical triage colors. */
:root {
    --triage-green-bg:#22c55e;
    --triage-yellow-bg:#ffd400;
    --triage-orange-bg:#ff8c00;
    --triage-red-bg:#dc3545;
    --triage-black-bg:#000000;
    --triage-dark-text:#000000;
    --triage-light-text:#ffffff;
    --triage-dark-border:#111111;
    --triage-light-border:#ffffff;
}

.triage-chip {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.24rem .5rem;
    border:1px solid rgba(0,0,0,.72);
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.04em;
    line-height:1.15;
}
.triage-green { background:var(--triage-green-bg) !important; color:var(--triage-dark-text) !important; border-color:var(--triage-dark-border) !important; }
.triage-yellow { background:var(--triage-yellow-bg) !important; color:var(--triage-dark-text) !important; border-color:var(--triage-dark-border) !important; }
.triage-orange { background:var(--triage-orange-bg) !important; color:var(--triage-dark-text) !important; border-color:var(--triage-dark-border) !important; }
.triage-red { background:var(--triage-red-bg) !important; color:var(--triage-dark-text) !important; border-color:var(--triage-dark-border) !important; }
.triage-black { background:var(--triage-black-bg) !important; color:var(--triage-light-text) !important; border-color:var(--triage-light-border) !important; }
.triage-unassigned { background:var(--ops-paper) !important; color:var(--ops-ink) !important; border-color:var(--ops-line) !important; }


/* Active / Completed operational record tabs */
.ops-record-tabs {
    display: inline-flex;
    align-items: stretch;
    gap: .4rem;
    padding: .3rem;
    border: 1px solid var(--ops-border, var(--ops-line-dark));
    background: var(--ops-panel, var(--ops-paper));
}
.ops-record-tab {
    min-width: 9rem;
    min-height: 3.25rem;
    padding: .55rem .85rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border: 1px solid transparent;
    color: inherit;
    text-decoration: none;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.ops-record-tab strong { font-size: 1rem; font-variant-numeric: tabular-nums; }
.ops-record-tab:hover,
.ops-record-tab:focus-visible {
    border-color: var(--ops-border, var(--ops-line-dark));
    background: var(--ops-hover-bg, rgba(86, 91, 62, .08));
    color: inherit;
}
.ops-record-tab.active {
    border-color: var(--ops-accent, var(--ops-olive));
    background: var(--ops-accent, var(--ops-olive));
    color: #fff;
}
@media (max-width: 575.98px) {
    .ops-record-tabs { display:flex; width:100%; }
    .ops-record-tab { min-width:0; flex:1 1 50%; }
}

/* NCIC person imagery */
.ncic-photo-cell { width:64px; }
.ncic-person-thumb {
    width:46px; height:46px; object-fit:cover;
    border:1px solid var(--ops-line-dark); display:inline-flex;
    align-items:center; justify-content:center; background:var(--ops-paper);
}
.ncic-person-thumb-placeholder { font-size:1.05rem; }
.ncic-person-profile-photo {
    width:min(240px,100%); aspect-ratio:4/5; object-fit:cover;
    border:1px solid var(--ops-line-dark); background:var(--ops-paper);
    display:inline-flex; align-items:center; justify-content:center;
}
.ncic-person-profile-placeholder { font-size:4rem; }
.presence-online { color:#19733a !important; font-weight:800; }
.presence-offline { color:#8a3f32 !important; font-weight:800; }

/* --------------------------------------------------------------------------
   OPERATIONAL THEMES
   Theme styling is intentionally surface/component scoped. Core application
   grids, module widths, MDT/eCAD/Mission geometry and responsive structure
   remain the original REEV OPS command layout.
   -------------------------------------------------------------------------- */


/* LAW ENFORCEMENT // midnight/navy records and patrol terminal */


/* SPECIAL OPERATIONS // graphite / OD field operations console */


/* SUBDUED TACTICAL // low-signature charcoal / field-olive command workspace */


/* FIRE / RESCUE // charcoal apparatus console with rescue-red rails */


/* EMS // deep teal clinical workstation */


/* EMERGENCY COMMUNICATIONS / DISPATCH // blue-black CAD console + amber */


/* Shared themed surfaces. These override legacy module hard-coded colors while
   deliberately avoiding any grid, width, gap, position or responsive rules. */
html[data-ops-theme]:not([data-ops-theme="default"]) body {
    background-color:var(--ops-sand) !important;
    color:var(--ops-ink) !important;
    background-image:
        linear-gradient(color-mix(in srgb,var(--ops-action) 4%,transparent) 1px,transparent 1px),
        linear-gradient(90deg,color-mix(in srgb,var(--ops-action) 4%,transparent) 1px,transparent 1px) !important;
    background-size:28px 28px !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .ops-navbar,.command-navbar,.command-panel,.command-splash,.card,.admin-card,.admin-module-card,.admin-toolbar,
    .dropdown-menu,.modal-content,.offcanvas,.list-group-item,.accordion-item,.mail-shell,.mail-folders,.mail-list,
    .mail-reader,.compose-panel,.mission-commandbar,.ops-record-tabs,.emergency-resource-item,.mdt-call-table,
    .dispatch-log-entry,.reader-footer,.mail-message-row,.mail-folder-link,.ops-classification-bar,.ops-footer
) {
    background-color:var(--ops-paper) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line) !important;
    box-shadow:var(--ops-theme-shadow);
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .command-panel,.card,.admin-card,.admin-module-card,.modal-content,.offcanvas,.list-group-item,.accordion-item,
    .mail-shell,.mail-folders,.mail-list,.mail-reader,.compose-panel,.mission-commandbar,.ops-record-tabs,
    .emergency-resource-item,.mdt-call-table
) { border-radius:var(--ops-panel-radius) !important; }
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .command-panel-header,.card-header,.mail-list-header,.mail-reader-header,.ops-section-heading,.admin-module-header
) {
    background:var(--ops-header-bg) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .form-control,.form-select,.command-input,.input-group-text,textarea,input:not([type="checkbox"]):not([type="radio"])
) {
    background-color:var(--ops-input-bg) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line-dark) !important;
    border-radius:var(--ops-control-radius) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(.form-control,.command-input)::placeholder {
    color:var(--ops-ink-soft) !important; opacity:.7;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .form-select option {
    background:var(--ops-input-bg); color:var(--ops-ink);
}
html[data-ops-theme]:not([data-ops-theme="default"]) .table {
    --bs-table-bg:var(--ops-paper);
    --bs-table-color:var(--ops-ink);
    --bs-table-border-color:var(--ops-line);
    --bs-table-striped-bg:var(--ops-table-alt);
    --bs-table-striped-color:var(--ops-ink);
    --bs-table-hover-bg:var(--ops-hover-bg);
    --bs-table-hover-color:var(--ops-ink);
    color:var(--ops-ink) !important;
    background:var(--ops-paper) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .table > :not(caption) > * > * {
    color:var(--ops-ink) !important;
    border-color:var(--ops-line) !important;
    background-color:transparent;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .table thead > tr > * {
    background:var(--ops-table-head) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line-dark) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .table tbody tr:nth-child(even) > * {
    background:var(--ops-table-alt) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(.command-btn,.btn-primary) {
    background:var(--ops-action) !important;
    border-color:var(--ops-action) !important;
    color:#fff !important;
    border-radius:var(--ops-control-radius) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(.command-btn,.btn-primary):hover {
    background:var(--ops-action-hover) !important;
    border-color:var(--ops-action-hover) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(.command-btn-outline,.btn-outline-secondary,.btn-outline-primary) {
    background:transparent !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line-dark) !important;
    border-radius:var(--ops-control-radius) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(.command-btn-outline,.btn-outline-secondary,.btn-outline-primary):hover {
    background:var(--ops-hover-bg) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-action) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(a,.nav-link,.dropdown-item) { color:var(--ops-ink) !important; }
html[data-ops-theme]:not([data-ops-theme="default"]) :is(.nav-link.active,.nav-link:hover,.dropdown-item.active,.dropdown-item:hover) {
    background:var(--ops-hover-bg) !important;
    color:var(--ops-ink) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(.command-kicker,.eyebrow,.command-muted,.readiness-meta,.admin-field-note,.procedure-cell-sub) {
    color:var(--ops-ink-soft) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(.command-heading,.command-title,.ops-brand,.admin-module-title) {
    color:var(--ops-ink) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(.command-stamp,.ncic-status-badge) {
    background:color-mix(in srgb,var(--ops-action) 20%,var(--ops-paper)) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-action) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .zulu-clock {
    background:var(--ops-input-bg) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line-dark) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(.maplibregl-popup-content,.maplibregl-popup-tip) {
    background:var(--ops-paper) !important;
    color:var(--ops-ink) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .maplibregl-ctrl-group button {
    background:var(--ops-paper) !important; color:var(--ops-ink) !important; border-color:var(--ops-line) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .presence-online { color:var(--ops-green) !important; }
html[data-ops-theme]:not([data-ops-theme="default"]) .presence-offline { color:var(--ops-danger) !important; }

/* Theme-specific component geometry: visual layout identity without changing
   the operational page/grid layout restored from yesterday. */





























/* Operational Themes page chooser previews. */
.ops-theme-preview-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.8rem;
    margin-top:1rem;
}
.ops-theme-preview {
    min-height:9.2rem;
    padding:0;
    overflow:hidden;
    border:2px solid var(--ops-line);
    background:var(--ops-paper);
    cursor:pointer;
    text-align:left;
    transition:transform 120ms ease,border-color 120ms ease,box-shadow 120ms ease;
}
.ops-theme-preview:hover,
.ops-theme-preview:focus-visible,
.ops-theme-preview.is-selected {
    transform:translateY(-2px);
    border-color:var(--ops-olive-dark);
    box-shadow:0 0 0 2px color-mix(in srgb,var(--ops-olive) 30%,transparent);
}
.ops-theme-preview-bar { display:block; height:1.25rem; background:var(--preview-accent); }
.ops-theme-preview-stage { display:grid; grid-template-columns:28% 1fr; min-height:4.8rem; background:var(--preview-bg); }
.ops-theme-preview-rail { display:block; border-right:1px solid var(--preview-line); background:var(--preview-panel); }
.ops-theme-preview-main { display:block; padding:.45rem; }
.ops-theme-preview-main span { display:block; height:.42rem; margin-bottom:.35rem; background:var(--preview-line); }
.ops-theme-preview-main span:first-child { width:72%; background:var(--preview-accent); }
.ops-theme-preview-copy { display:block; padding:.55rem .6rem; background:var(--preview-panel); color:var(--preview-text); }
.ops-theme-preview-copy strong { display:block; font-size:.64rem; letter-spacing:.06em; }
.ops-theme-preview-copy small { display:block; margin-top:.18rem; opacity:.78; font-size:.52rem; line-height:1.25; }
.ops-theme-preview[data-theme="default"] { --preview-bg:#f4f6f8;--preview-panel:#ffffff;--preview-line:#c9d2dc;--preview-accent:#005ea8;--preview-text:#1b1f23;border-radius:0; }








@media (max-width:991.98px){.ops-theme-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:575.98px){.ops-theme-preview-grid{grid-template-columns:1fr;}}

/* --------------------------------------------------------------------------
   SEPTEMBER 7 MDT LAYOUT RESTORATION
   The incident queue remains full width. PANIC + the four field status controls
   share a single top command row; selected CAD log and operational map sit
   below the queue in a two-column desktop workspace.
   -------------------------------------------------------------------------- */
.mdt-field-commandbar {
    display:grid;
    grid-template-columns:minmax(12rem, .28fr) minmax(0, 1fr);
    gap:.8rem;
    align-items:stretch;
    padding:.7rem;
    border:1px solid var(--ops-line-dark);
    background:var(--ops-paper);
}
.mdt-field-commandbar-label {
    display:grid;
    align-content:center;
    gap:.15rem;
    padding:.35rem .45rem;
    border-right:1px solid var(--ops-line);
}
.mdt-field-commandbar-label strong {
    color:var(--ops-olive-dark);
    font-size:.72rem;
    font-weight:1000;
    letter-spacing:.075em;
}
.mdt-top-control-grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:.5rem;
    align-items:stretch;
}
.mdt-top-control-grid > form,
.mdt-top-status-form { min-width:0; }
.mdt-top-quick-status { display:contents; }
.mdt-top-control-button {
    width:100%;
    min-height:3.75rem !important;
    height:100%;
    padding:.55rem .5rem !important;
    border-radius:0 !important;
    font-size:.7rem !important;
    font-weight:1000 !important;
    letter-spacing:.065em !important;
    line-height:1.05 !important;
    white-space:nowrap;
}
.mdt-panic-button.mdt-top-control-button {
    min-height:3.75rem !important;
    border-width:2px !important;
    font-size:.92rem !important;
    box-shadow:inset 0 -4px 0 rgba(133,74,0,.16) !important;
}
.mdt-top-control-button.is-current,
.mdt-top-control-button:disabled:not(.mdt-panic-button) {
    opacity:1 !important;
    cursor:default;
}
.mdt-top-control-button.is-current {
    background:var(--ops-olive-dark) !important;
    border-color:var(--ops-olive-dark) !important;
    color:#fff !important;
}
.mdt-top-control-button:disabled:not(.is-current) { opacity:.48 !important; }
.mdt-incident-queue-panel { overflow:hidden; }
.mdt-selected-workspace > [class*="col-"] { display:flex; }
.mdt-selected-workspace .command-panel { width:100%; }
.mdt-selected-log-panel .mdt-log-scroll { max-height:36rem; min-height:30rem; }
.mdt-selected-workspace .mdt-map-panel { position:static; overflow:hidden; }
.mdt-selected-workspace .mdt-map { height:30rem; }

@media (max-width:991.98px) {
    .mdt-field-commandbar { grid-template-columns:1fr; }
    .mdt-field-commandbar-label { border-right:0; border-bottom:1px solid var(--ops-line); }
    .mdt-top-control-grid { grid-template-columns:repeat(5,minmax(6.2rem,1fr)); overflow-x:auto; padding-bottom:.15rem; }
}
@media (max-width:575.98px) {
    .mdt-top-control-grid { grid-template-columns:repeat(5,minmax(5.6rem,1fr)); }
    .mdt-top-control-button { font-size:.6rem !important; }
    .mdt-selected-log-panel .mdt-log-scroll { min-height:18rem; }
    .mdt-selected-workspace .mdt-map { height:23rem; }
}

/* Complete alternate-theme surface pass. These selectors intentionally change
   palette and component treatment only; they do not alter the operational grid. */
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .status-strip,.readiness-card,.hierarchy-item,.messages-main,.reader-routing,.compose-footer,.reader-actions,
    .notification-menu-toolbar,.notification-list,.notification-item,.notification-menu-footer,.admin-main,
    .admin-role-doctrine,.admin-active-control,.admin-form-footer,.admin-profile-photo-block,.thread-message-card,
    .thread-reply-form,.profile-detail,.profile-settings-footer,.department-directory-list,.mission-form-actions,
    .mission-assignee,.mission-empty-inline,.mission-audit-footer,.mission-map-search,.mission-map-actions,
    .mission-modal .modal-footer,.dispatch-map-search,.dispatch-map-location-strip,.mdt-field-commandbar,
    .mdt-status-grid,.mdt-filterbar,.mdt-map-legend,.mdt-quick-status-locked,.procedure-stat-grid,
    .procedure-markdown blockquote,.procedure-markdown code,.procedure-markdown pre,.procedure-markdown-help code,
    .profile-signature-display,.training-stat-grid,.training-question-block,.training-answer-option,
    .training-question-admin,.training-attempt-row,.mdt-poi-control,.mdt-poi-coordinates,.dispatch-poi-focus
) {
    background:var(--ops-paper) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .ops-section-heading,.mail-list-header,.notification-menu-header,.notification-toast-header,.admin-user-table thead th,
    .mission-map-search,.dispatch-map-search,.mdt-filterbar,.mdt-call-table thead th,.mdt-map-legend
) {
    background:var(--ops-header-bg) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .mail-item,.thread-message-card,.department-member-row,.directory-personnel-card,.mission-assignee,
    .training-library-row,.notification-item
) { color:var(--ops-ink) !important; }
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .mail-item:hover,.mail-item:focus,.department-member-row:hover,.department-member-row.active,
    .directory-personnel-card:hover,.directory-personnel-card:focus-visible,.mission-assignee:hover,
    .mission-assignee:focus-visible,.training-library-row:hover,.training-library-row:focus-visible,
    .mdt-call-row:hover,.mdt-call-row:focus-visible
) { background:var(--ops-hover-bg) !important; }
html[data-ops-theme]:not([data-ops-theme="default"]) .mdt-call-row.is-assigned {
    background:color-mix(in srgb,var(--ops-action) 11%,var(--ops-paper)) !important;
    box-shadow:inset 4px 0 0 var(--ops-action) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .mdt-call-row.is-focused {
    background:color-mix(in srgb,var(--ops-action) 20%,var(--ops-paper)) !important;
    box-shadow:inset 4px 0 0 var(--ops-olive-dark) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .mdt-status-cell {
    border-color:var(--ops-line) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .mdt-status-p1 {
    background:color-mix(in srgb,var(--ops-danger) 13%,var(--ops-paper)) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .mdt-unit-status {
    background:var(--ops-input-bg) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line-dark) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .mdt-unit-status-en-route,
html[data-ops-theme]:not([data-ops-theme="default"]) .mdt-unit-status-on-scene,
html[data-ops-theme]:not([data-ops-theme="default"]) .mdt-unit-status-available {
    background:color-mix(in srgb,var(--ops-green) 14%,var(--ops-paper)) !important;
    color:var(--ops-ink) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .mdt-field-commandbar-label {
    border-color:var(--ops-line) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .mdt-field-commandbar-label strong {
    color:var(--ops-olive-dark) !important;
}






/* NCIC dashboard card normalization -------------------------------------------------
   Keep category cards consistent across every operational theme. */
.ncic-dashboard-actions {
    display:flex;
    justify-content:flex-end;
    align-items:center;
    flex-wrap:wrap;
    gap:.6rem;
}
.ncic-subnav {
    display:flex;
    flex-wrap:wrap;
    gap:.55rem;
}
.ncic-subnav .btn {
    flex:0 0 auto;
}
.ncic-category-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(205px,1fr));
    gap:.8rem;
}
.ncic-category-card {
    min-width:0;
    min-height:112px;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    align-items:center;
    gap:.8rem;
    padding:1rem;
    color:var(--ops-ink);
    text-decoration:none;
    border:1px solid var(--ops-line-dark);
    background:var(--ops-paper);
    box-shadow:var(--ops-shadow);
    transition:border-color 120ms ease,background-color 120ms ease,transform 120ms ease,box-shadow 120ms ease;
}
.ncic-category-card:hover,
.ncic-category-card:focus-visible {
    color:var(--ops-ink);
    text-decoration:none;
    border-color:var(--ops-olive-dark);
    background:var(--ops-olive-light);
    transform:translateY(-2px);
    box-shadow:0 .85rem 1.8rem rgba(0,0,0,.12);
}
.ncic-card-icon {
    width:44px;
    height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 44px;
    border:1px solid var(--ops-line-dark);
    background:var(--ops-olive-light);
    color:var(--ops-olive-dark);
    font-size:1rem;
}
.ncic-card-copy {
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:.18rem;
}
.ncic-card-copy > span {
    color:var(--ops-ink);
    font-size:.72rem;
    line-height:1.2;
    font-weight:1000;
    letter-spacing:.075em;
}
.ncic-card-copy small {
    color:var(--ops-ink-soft);
    font-size:.58rem;
    line-height:1.25;
    font-weight:700;
    letter-spacing:.035em;
}
.ncic-category-card > strong {
    min-width:2.25rem;
    text-align:right;
    color:var(--ops-olive-dark);
    font-size:1.7rem;
    line-height:1;
    font-weight:1000;
    font-variant-numeric:tabular-nums;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-category-card {
    background:var(--ops-paper) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line) !important;
    box-shadow:var(--ops-theme-shadow);
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-category-card:hover,
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-category-card:focus-visible {
    background:var(--ops-hover-bg) !important;
    border-color:var(--ops-action) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-card-icon {
    background:color-mix(in srgb,var(--ops-action) 16%,var(--ops-paper)) !important;
    border-color:var(--ops-line-dark) !important;
    color:var(--ops-action) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-card-copy > span {
    color:var(--ops-ink) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-card-copy small {
    color:var(--ops-ink-soft) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-category-card > strong {
    color:var(--ops-action) !important;
}








/* NCIC new-record chooser --------------------------------------------------------
   Uses the same theme-safe surfaces as the dashboard cards without inheriting
   legacy command-panel anchor styling. */
.ncic-new-record-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:.8rem;
}
.ncic-new-record-card {
    min-width:0;
    min-height:94px;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 28px;
    align-items:center;
    gap:.8rem;
    padding:1rem;
    border:1px solid var(--ops-line-dark);
    background:var(--ops-paper);
    color:var(--ops-ink);
    box-shadow:var(--ops-shadow);
    text-decoration:none;
    transition:border-color 120ms ease,background-color 120ms ease,transform 120ms ease,box-shadow 120ms ease;
}
.ncic-new-record-card:hover,
.ncic-new-record-card:focus-visible {
    color:var(--ops-ink);
    text-decoration:none;
    border-color:var(--ops-olive-dark);
    background:var(--ops-olive-light);
    transform:translateY(-2px);
    box-shadow:0 .85rem 1.8rem rgba(0,0,0,.12);
}
.ncic-card-arrow {
    width:28px;
    height:28px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--ops-line);
    color:var(--ops-olive-dark);
    background:transparent;
    font-size:.7rem;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-new-record-card {
    background:var(--ops-paper) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line) !important;
    box-shadow:var(--ops-theme-shadow);
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-new-record-card:hover,
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-new-record-card:focus-visible {
    background:var(--ops-hover-bg) !important;
    border-color:var(--ops-action) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-new-record-card .ncic-card-icon {
    background:color-mix(in srgb,var(--ops-action) 16%,var(--ops-paper)) !important;
    border-color:var(--ops-line-dark) !important;
    color:var(--ops-action) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-new-record-card .ncic-card-copy > span {
    color:var(--ops-ink) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-new-record-card .ncic-card-copy small {
    color:var(--ops-ink-soft) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-card-arrow {
    border-color:var(--ops-line-dark) !important;
    color:var(--ops-action) !important;
}






@media (max-width:575.98px) {
    .ncic-dashboard-actions { justify-content:stretch; }
    .ncic-dashboard-actions .btn { flex:1 1 auto; }
    .ncic-category-grid { grid-template-columns:1fr; }
    .ncic-category-card { min-height:92px; }
}

/* --------------------------------------------------------------------------
   PAGE INTRO REMOVAL
   Large title/kicker/description command bars were removed from templates.
   Any surviving action-only command bar is reduced to a transparent control row.
   -------------------------------------------------------------------------- */
.page-actions-only {
    min-height:0 !important;
    margin:0 0 1rem !important;
    padding:0 !important;
    justify-content:flex-end !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}
.page-actions-only::before,
.page-actions-only::after { display:none !important; }
.page-actions-only:not(:has(a,button,form)) { display:none !important; }
.page-actions-only > :is(.admin-command-actions,.mail-command-actions) { margin-left:auto; }

/* --------------------------------------------------------------------------
   NCIC SOCIAL PROFILE DETAIL VIEWS
   Profile-inspired presentation for Person, Vehicle and generic NCIC records.
   -------------------------------------------------------------------------- */
.ncic-social-profile {
    position:relative;
    overflow:hidden;
    border:1px solid var(--ops-line-dark);
    background:var(--ops-paper);
    box-shadow:var(--ops-shadow);
    border-radius:var(--ops-panel-radius,0);
}
.ncic-social-cover {
    height:clamp(105px,14vw,170px);
    background:
        linear-gradient(115deg,color-mix(in srgb,var(--ops-olive) 92%,#000),color-mix(in srgb,var(--ops-olive-dark) 74%,var(--ops-paper))),
        repeating-linear-gradient(135deg,transparent 0 18px,color-mix(in srgb,#fff 8%,transparent) 18px 20px);
    border-bottom:1px solid var(--ops-line-dark);
}
.ncic-social-cover-vehicle {
    background:
        linear-gradient(115deg,color-mix(in srgb,var(--ops-olive-dark) 82%,#111),color-mix(in srgb,var(--ops-olive) 68%,var(--ops-paper))),
        repeating-linear-gradient(45deg,transparent 0 22px,color-mix(in srgb,#fff 7%,transparent) 22px 24px);
}
.ncic-social-cover-record {
    background:
        linear-gradient(115deg,color-mix(in srgb,var(--ops-warning) 72%,var(--ops-olive-dark)),color-mix(in srgb,var(--ops-olive) 72%,var(--ops-paper))),
        radial-gradient(circle at 80% 35%,color-mix(in srgb,#fff 10%,transparent) 0 8%,transparent 9%);
}
.ncic-social-identity {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:1rem;
    align-items:end;
    padding:0 1.25rem 1rem;
}
.ncic-social-avatar-wrap { margin-top:-58px; position:relative; z-index:2; }
.ncic-social-avatar {
    width:118px;
    height:118px;
    object-fit:cover;
    display:grid;
    place-items:center;
    border:5px solid var(--ops-paper);
    outline:1px solid var(--ops-line-dark);
    background:var(--ops-olive-light);
    color:var(--ops-olive-dark);
    border-radius:50%;
    box-shadow:0 .45rem 1.2rem rgba(0,0,0,.18);
}
.ncic-social-avatar-placeholder { font-size:2.65rem; }
.ncic-social-heading { min-width:0; padding-top:.8rem; }
.ncic-social-heading h1 {
    margin:0;
    color:var(--ops-ink);
    font-size:clamp(1.55rem,2.6vw,2.35rem);
    line-height:1.08;
    font-weight:950;
    letter-spacing:-.025em;
}
.ncic-social-type {
    display:inline-flex;
    align-items:center;
    min-height:1.55rem;
    padding:.18rem .48rem;
    border:1px solid var(--ops-line-dark);
    background:var(--ops-olive-light);
    color:var(--ops-olive-dark);
    font-size:.58rem;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.ncic-social-handle { margin-top:.3rem; color:var(--ops-ink-soft); font-size:.72rem; font-weight:800; letter-spacing:.045em; }
.ncic-social-bio { margin-top:.7rem; color:var(--ops-ink); line-height:1.45; white-space:pre-wrap; }
.ncic-social-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.45rem; padding-top:.8rem; }
.ncic-social-stats {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    border-top:1px solid var(--ops-line);
    border-bottom:1px solid var(--ops-line);
    background:color-mix(in srgb,var(--ops-olive-light) 42%,var(--ops-paper));
}
.ncic-social-stats > div { min-width:0; padding:.8rem 1rem; text-align:center; }
.ncic-social-stats > div + div { border-left:1px solid var(--ops-line); }
.ncic-social-stats strong { display:block; overflow:hidden; text-overflow:ellipsis; color:var(--ops-ink); font-size:1.02rem; font-weight:950; white-space:nowrap; }
.ncic-social-stats span { display:block; margin-top:.12rem; color:var(--ops-ink-soft); font-size:.55rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.ncic-social-tabs { display:flex; flex-wrap:wrap; gap:.2rem; padding:.45rem .7rem 0; }
.ncic-social-tabs a {
    position:relative;
    padding:.65rem .8rem .75rem;
    color:var(--ops-ink-soft);
    font-size:.62rem;
    font-weight:950;
    letter-spacing:.08em;
    text-decoration:none;
}
.ncic-social-tabs a::after { content:""; position:absolute; left:.6rem; right:.6rem; bottom:0; height:2px; background:transparent; }
.ncic-social-tabs a:hover,.ncic-social-tabs a:focus-visible { color:var(--ops-ink); }
.ncic-social-tabs a:hover::after,.ncic-social-tabs a:focus-visible::after { background:var(--ops-olive); }

.ncic-social-card {
    overflow:hidden;
    border:1px solid var(--ops-line-dark);
    background:var(--ops-paper);
    color:var(--ops-ink);
    box-shadow:var(--ops-shadow);
    border-radius:var(--ops-panel-radius,0);
}
.ncic-social-card > header {
    display:flex;
    align-items:center;
    gap:.55rem;
    min-height:2.9rem;
    padding:.7rem .85rem;
    border-bottom:1px solid var(--ops-line);
    background:color-mix(in srgb,var(--ops-olive-light) 52%,var(--ops-paper));
    color:var(--ops-ink);
    font-size:.65rem;
    font-weight:950;
    letter-spacing:.08em;
}
.ncic-social-card > header > i { color:var(--ops-olive-dark); font-size:.85rem; }
.ncic-social-count { margin-left:auto; min-width:1.65rem; padding:.12rem .4rem; border:1px solid var(--ops-line-dark); text-align:center; font-size:.58rem; }
.ncic-social-about-list { display:grid; }
.ncic-social-about-list.two-col { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ncic-social-about-list > div { display:grid; gap:.18rem; padding:.72rem .85rem; border-bottom:1px solid var(--ops-line); }
.ncic-social-about-list > div:last-child { border-bottom:0; }
.ncic-social-about-list.two-col > div:nth-last-child(-n/**/+2) { border-bottom:0; }
.ncic-social-about-list.two-col > div:nth-child(odd) { border-right:1px solid var(--ops-line); }
.ncic-social-about-list span,.ncic-social-label { color:var(--ops-ink-soft); font-size:.54rem; font-weight:950; letter-spacing:.085em; text-transform:uppercase; }
.ncic-social-about-list strong { overflow-wrap:anywhere; font-size:.79rem; line-height:1.35; }
.ncic-social-card-body { padding:.85rem; }
.ncic-social-copy { margin-top:.35rem; line-height:1.5; white-space:pre-wrap; }
.ncic-social-post { display:grid; grid-template-columns:42px minmax(0,1fr); gap:.75rem; padding:1rem; }
.ncic-social-post-avatar,.ncic-social-connection-icon {
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border:1px solid var(--ops-line-dark);
    background:var(--ops-olive-light);
    color:var(--ops-olive-dark);
    border-radius:50%;
}
.ncic-social-post strong { display:block; font-size:.72rem; letter-spacing:.05em; }
.ncic-social-post small { display:block; margin-top:.1rem; color:var(--ops-ink-soft); font-size:.61rem; }
.ncic-social-post p { margin:.65rem 0 0; line-height:1.55; white-space:pre-wrap; }
.ncic-social-feed { display:grid; }
.ncic-social-connection {
    display:flex;
    align-items:flex-start;
    gap:.75rem;
    padding:.9rem 1rem;
    border-bottom:1px solid var(--ops-line);
}
.ncic-social-connection:last-child { border-bottom:0; }
.ncic-social-connection-main { min-width:0; flex:1 1 auto; }
.ncic-social-connection-title { display:inline-block; color:var(--ops-ink); font-size:.84rem; font-weight:950; text-decoration:none; }
.ncic-social-connection-title:hover { color:var(--ops-olive-dark); text-decoration:underline; }
.ncic-social-meta { margin:.12rem 0 .35rem; color:var(--ops-ink-soft); font-size:.58rem; font-weight:800; letter-spacing:.04em; }
.ncic-social-connection p { color:var(--ops-ink); line-height:1.4; }
.ncic-social-connection small { display:block; margin-top:.45rem; color:var(--ops-ink-soft); font-size:.6rem; line-height:1.35; }
.ncic-social-note { margin:.45rem 0; padding:.5rem .6rem; border-left:3px solid var(--ops-olive); background:color-mix(in srgb,var(--ops-olive-light) 42%,transparent); white-space:pre-wrap; font-size:.72rem; }
.ncic-social-empty { padding:1.3rem; color:var(--ops-ink-soft); text-align:center; font-size:.72rem; }

/* Make the social profile inherit every operational theme, including cards. */
html[data-ops-theme]:not([data-ops-theme="default"]) :is(.ncic-social-profile,.ncic-social-card) {
    background:var(--ops-paper) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line) !important;
    box-shadow:var(--ops-theme-shadow);
    border-radius:var(--ops-panel-radius) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-social-avatar {
    background:color-mix(in srgb,var(--ops-action) 18%,var(--ops-paper)) !important;
    color:var(--ops-action) !important;
    border-color:var(--ops-paper) !important;
    outline-color:var(--ops-line-dark) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(.ncic-social-type,.ncic-social-post-avatar,.ncic-social-connection-icon) {
    background:color-mix(in srgb,var(--ops-action) 16%,var(--ops-paper)) !important;
    color:var(--ops-action) !important;
    border-color:var(--ops-line-dark) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(.ncic-social-card > header,.ncic-social-stats) {
    background:var(--ops-header-bg) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-social-card > header > i { color:var(--ops-action) !important; }
html[data-ops-theme]:not([data-ops-theme="default"]) :is(.ncic-social-heading h1,.ncic-social-connection-title,.ncic-social-about-list strong,.ncic-social-post p,.ncic-social-connection p) { color:var(--ops-ink) !important; }
html[data-ops-theme]:not([data-ops-theme="default"]) :is(.ncic-social-handle,.ncic-social-meta,.ncic-social-about-list span,.ncic-social-label,.ncic-social-post small,.ncic-social-connection small,.ncic-social-empty) { color:var(--ops-ink-soft) !important; }
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-social-note { background:color-mix(in srgb,var(--ops-action) 12%,var(--ops-paper)) !important; border-left-color:var(--ops-action) !important; }







@media (max-width:991.98px) {
    .ncic-social-identity { grid-template-columns:auto minmax(0,1fr); align-items:end; }
    .ncic-social-actions { grid-column:1 / -1; justify-content:flex-start; padding-top:0; }
}
@media (max-width:767.98px) {
    .ncic-social-cover { height:110px; }
    .ncic-social-identity { grid-template-columns:1fr; text-align:center; padding:0 1rem 1rem; }
    .ncic-social-avatar-wrap { margin:-52px auto 0; }
    .ncic-social-heading { padding-top:.2rem; }
    .ncic-social-heading .d-flex { justify-content:center; }
    .ncic-social-actions { justify-content:center; }
    .ncic-social-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ncic-social-stats > div:nth-child(3) { border-left:0; border-top:1px solid var(--ops-line); }
    .ncic-social-stats > div:nth-child(4) { border-top:1px solid var(--ops-line); }
    .ncic-social-tabs { justify-content:center; }
}
@media (max-width:575.98px) {
    .ncic-social-actions .btn { flex:1 1 100%; }
    .ncic-social-connection { flex-wrap:wrap; }
    .ncic-social-connection > .btn,.ncic-social-connection > form { margin-left:50px; }
    .ncic-social-about-list.two-col { grid-template-columns:1fr; }
    .ncic-social-about-list.two-col > div { border-right:0 !important; border-bottom:1px solid var(--ops-line) !important; }
    .ncic-social-about-list.two-col > div:last-child { border-bottom:0 !important; }
}

/* --------------------------------------------------------------------------
   DASHBOARD // FUNCTIONAL GROUPED QUICK ACTIONS
   Chain of Command remains full width above compact operational launch cards.
   -------------------------------------------------------------------------- */
.dashboard-command-center {
    display:grid;
    gap:0;
}
.dashboard-chain-panel {
    width:100%;
    overflow:hidden;
}
.dashboard-chain-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1px;
    padding:1px;
    background:var(--ops-line);
}
.dashboard-chain-grid .hierarchy-item {
    min-height:5rem;
    border:0;
    border-left:4px solid var(--ops-olive-light);
    background:var(--ops-paper);
}
.dashboard-chain-grid .hierarchy-command { border-left-color:var(--ops-olive-dark); }
.dashboard-chain-grid .hierarchy-supervisor { border-left-color:var(--ops-khaki); }
.dashboard-chain-grid .hierarchy-rank {
    font-weight:1000;
    letter-spacing:.11em;
}
.dashboard-action-groups {
    display:grid;
    gap:1.25rem;
}
.dashboard-action-group {
    border:1px solid var(--ops-line-dark);
    background:var(--ops-paper);
    box-shadow:var(--ops-shadow);
    overflow:hidden;
}
.dashboard-action-group-heading {
    min-height:3.55rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:.72rem .9rem;
    border-bottom:1px solid var(--ops-line-dark);
    background:var(--ops-olive-light);
}
.dashboard-action-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.7rem;
    padding:.8rem;
}
.dashboard-action-grid-compact {
    grid-template-columns:minmax(15rem,26rem);
}
.dashboard-action-card {
    display:grid;
    grid-template-columns:2.6rem minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:.7rem;
    row-gap:.25rem;
    min-height:5.25rem;
    padding:.72rem;
    border:1px solid var(--ops-line-dark);
    border-left:3px solid var(--ops-olive-dark);
    background:var(--ops-paper);
    color:var(--ops-ink);
    text-decoration:none;
    box-shadow:inset 0 1px 0 color-mix(in srgb,var(--ops-white) 5%,transparent);
    transition:transform 120ms ease,border-color 120ms ease,background-color 120ms ease,box-shadow 120ms ease;
}
.dashboard-action-card:hover,
.dashboard-action-card:focus-visible {
    transform:translateY(-1px);
    border-color:var(--ops-olive-dark);
    background:var(--ops-hover-bg, var(--ops-olive-light));
    color:var(--ops-ink);
    box-shadow:0 .4rem 1rem color-mix(in srgb,var(--ops-ink) 12%,transparent);
}
.dashboard-action-icon {
    grid-row:1 / span 2;
    width:2.6rem;
    height:2.6rem;
    display:grid;
    place-items:center;
    align-self:center;
    border:1px solid var(--ops-line-dark);
    background:var(--ops-olive-light);
    color:var(--ops-olive-dark);
    font-size:1rem;
}
.dashboard-action-copy {
    min-width:0;
    align-self:end;
}
.dashboard-action-copy strong {
    display:block;
    color:var(--ops-olive-dark);
    font-size:.78rem;
    font-weight:1000;
    letter-spacing:.045em;
    line-height:1.15;
}
.dashboard-action-copy small {
    display:block;
    margin-top:.12rem;
    color:var(--ops-ink-soft);
    font-size:.56rem;
    font-weight:850;
    letter-spacing:.055em;
    text-transform:uppercase;
}
.dashboard-action-meta {
    grid-column:2;
    align-self:start;
    color:var(--ops-ink-soft);
    font-size:.52rem;
    font-weight:950;
    letter-spacing:.075em;
    text-transform:uppercase;
}
.dashboard-action-meta.is-alert { color:var(--ops-danger); }

@media (max-width:991.98px) {
    .dashboard-chain-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dashboard-action-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dashboard-action-grid-compact { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:575.98px) {
    .dashboard-chain-grid,
    .dashboard-action-grid { grid-template-columns:1fr; }
    .dashboard-action-group-heading { align-items:flex-start; }
}

/* DISPATCH THEME // black + gold CAD console
   Gold is the primary operational accent across buttons, cards, tables, rails,
   clocks, focus states and navigation rather than a secondary warning color. */

























/* Dispatch theme chooser preview now reflects the actual black / gold interface. */


/* --------------------------------------------------------------------------
   MESSAGES ACTION TOOLBAR
   Restores a compact operational toolbar after global intro-block removal.
   -------------------------------------------------------------------------- */
.mail-toolbar {
    min-height: 3.85rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.85rem;
    padding-top:.65rem !important;
    padding-bottom:.65rem !important;
    margin:0 !important;
    border-bottom:1px solid var(--ops-line-dark) !important;
    background:var(--ops-paper) !important;
    box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--ops-line-dark) 35%,transparent);
}
.mail-toolbar .mail-command-actions {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:.5rem;
    margin:0;
}
.mail-toolbar .mail-action-btn {
    min-height:2.35rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.48rem;
    padding:.46rem .82rem;
    line-height:1;
    white-space:nowrap;
}
.mail-toolbar .mail-action-btn i {
    width:1em;
    text-align:center;
    font-size:.9em;
}
.mail-trash-purge-form {
    display:inline-flex;
    margin:0;
}
.mail-trash-purge-form .btn:disabled {
    cursor:not-allowed;
    opacity:.48;
}
.mail-toolbar-state {
    display:flex;
    align-items:center;
    gap:.45rem;
    flex:0 0 auto;
    color:var(--ops-ink-soft);
    font-size:.58rem;
    font-weight:900;
    letter-spacing:.1em;
}
.mail-toolbar-state strong {
    min-width:1.65rem;
    min-height:1.65rem;
    display:grid;
    place-items:center;
    padding:0 .35rem;
    border:1px solid var(--ops-line-dark);
    background:var(--ops-sand);
    color:var(--ops-ink);
    font-size:.62rem;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .mail-toolbar {
    background:var(--ops-panel) !important;
    border-color:var(--ops-line-dark) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .mail-toolbar-state strong {
    background:var(--ops-paper) !important;
    border-color:var(--ops-line-dark) !important;
    color:var(--ops-action) !important;
}





@media (max-width:575.98px) {
    .mail-toolbar { align-items:stretch; flex-direction:column; }
    .mail-toolbar .mail-command-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .mail-toolbar .mail-action-btn, .mail-trash-purge-form { width:100%; }
    .mail-toolbar .mail-trash-purge-form { grid-column:1 / -1; }
    .mail-toolbar-state { justify-content:flex-end; }
}

/* NCIC Command-managed person flags */
.ncic-person-flags-banner {
    display:grid;
    gap:.7rem;
    padding:.85rem 1rem;
    border:1px solid color-mix(in srgb,#b42318 72%,var(--ops-line));
    border-left:5px solid #b42318;
    background:color-mix(in srgb,#b42318 8%,var(--ops-paper));
    color:var(--ops-ink);
    box-shadow:var(--ops-shadow);
}
.ncic-person-flags-banner-title {
    display:flex;
    align-items:center;
    gap:.5rem;
    color:#b42318;
    font-size:.65rem;
    font-weight:950;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.ncic-person-flag-badges { display:flex; flex-wrap:wrap; gap:.45rem; }
.ncic-person-flag-badge {
    display:inline-flex;
    align-items:center;
    gap:.38rem;
    min-height:1.75rem;
    padding:.24rem .55rem;
    border:1px solid currentColor;
    background:color-mix(in srgb,currentColor 8%,var(--ops-paper));
    color:var(--ops-ink);
    font-size:.62rem;
    font-weight:950;
    letter-spacing:.045em;
    text-transform:uppercase;
}
.ncic-person-flag-badge small {
    padding-left:.38rem;
    border-left:1px solid currentColor;
    font-size:.5rem;
    font-weight:900;
    opacity:.78;
}
.ncic-person-flag-badge.severity-advisory,.ncic-flag-icon.severity-advisory { color:#2563a7 !important; }
.ncic-person-flag-badge.severity-caution,.ncic-flag-icon.severity-caution { color:#9a6700 !important; }
.ncic-person-flag-badge.severity-high,.ncic-flag-icon.severity-high { color:#c05600 !important; }
.ncic-person-flag-badge.severity-critical,.ncic-flag-icon.severity-critical { color:#b42318 !important; }
.ncic-flag-icon { background:color-mix(in srgb,currentColor 12%,var(--ops-paper)) !important; border-color:currentColor !important; }
.ncic-person-flag-entry.is-cleared { opacity:.62; }
.ncic-person-flag-entry.is-cleared .ncic-social-connection-title { text-decoration:line-through; text-decoration-thickness:1px; }
.ncic-flag-cleared-badge {
    display:inline-flex;
    align-items:center;
    min-height:1.45rem;
    padding:.12rem .4rem;
    border:1px solid var(--ops-line-dark);
    background:color-mix(in srgb,var(--ops-paper) 92%,var(--ops-line));
    color:var(--ops-ink-soft);
    font-size:.52rem;
    font-weight:950;
    letter-spacing:.08em;
}
.ncic-flag-action-btn {
    border:1px solid #b42318;
    background:#b42318;
    color:#fff;
    font-weight:950;
    letter-spacing:.04em;
}
.ncic-flag-action-btn:hover,.ncic-flag-action-btn:focus-visible { border-color:#8f1c13; background:#8f1c13; color:#fff; }
.ncic-flag-inline-add {
    min-height:1.8rem;
    padding:.24rem .5rem;
    border:1px solid var(--ops-action);
    background:transparent;
    color:var(--ops-action);
    font-size:.58rem;
    font-weight:950;
    letter-spacing:.07em;
}
.ncic-flag-inline-add:hover,.ncic-flag-inline-add:focus-visible { background:var(--ops-action); color:var(--ops-action-text); }
.ncic-flag-form-person {
    display:flex;
    align-items:center;
    gap:.8rem;
    padding:1rem;
    border-bottom:1px solid var(--ops-line);
    background:color-mix(in srgb,var(--ops-header-bg) 72%,var(--ops-paper));
}
.ncic-flag-form-person strong { display:block; color:var(--ops-ink); font-size:.92rem; }
.ncic-flag-form-person span { display:block; margin-top:.15rem; color:var(--ops-ink-soft); font-size:.63rem; font-weight:800; }
.ncic-flag-form-avatar {
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    overflow:hidden;
    flex:0 0 auto;
    border:1px solid var(--ops-line-dark);
    background:color-mix(in srgb,var(--ops-paper) 92%,var(--ops-line));
    color:var(--ops-action);
    border-radius:50%;
}
.ncic-flag-form-avatar img { width:100%; height:100%; object-fit:cover; }
.ncic-flag-warning {
    display:flex;
    gap:.7rem;
    align-items:flex-start;
    padding:.75rem .85rem;
    border:1px solid color-mix(in srgb,var(--ops-warning) 65%,var(--ops-line));
    background:color-mix(in srgb,var(--ops-warning) 9%,var(--ops-paper));
}
.ncic-flag-warning > i { margin-top:.15rem; color:var(--ops-warning); }
.ncic-flag-warning strong,.ncic-flag-warning span { display:block; }
.ncic-flag-warning strong { font-size:.63rem; letter-spacing:.08em; }
.ncic-flag-warning span { margin-top:.18rem; color:var(--ops-ink-soft); font-size:.68rem; line-height:1.45; }
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-person-flags-banner {
    background:color-mix(in srgb,#b42318 12%,var(--ops-paper)) !important;
    color:var(--ops-ink) !important;
}



/* NCIC command-managed protected profile photos */
.ncic-profile-photo-action{display:inline-flex;align-items:center;margin:0}
.ncic-profile-photo-input{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}
.ncic-social-avatar{object-fit:cover}


/* DARK THEME SURFACE COMPLETION // 2026-09-08
   Every custom operational theme uses its own dark surface palette for cards,
   tables, blocks and module chrome. Semantic emergency/triage colors remain
   intentionally exempt so operational alerts keep their meaning. */
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .dashboard-action-group,.dashboard-action-card,.dashboard-chain-panel,.hierarchy-item,
    .mail-toolbar,.mail-shell,.mail-folders,.mail-list,.mail-reader,.mail-item,.reader-routing,.reader-actions,.compose-panel,.compose-footer,
    .admin-main,.admin-card,.admin-module-card,.admin-toolbar,.admin-role-doctrine,.admin-active-control,.admin-form-footer,.admin-profile-photo-block,
    .profile-detail,.profile-signature-display,.profile-settings-footer,.department-directory-list,.department-member-row,.directory-personnel-card,
    .mission-commandbar,.mission-assignee,.mission-empty-inline,.mission-map-search,.mission-map-actions,.mission-audit-footer,
    .dispatch-map-search,.dispatch-map-location-strip,.dispatch-log-entry,.dispatch-poi-focus,
    .mdt-field-commandbar,.mdt-status-grid,.mdt-filterbar,.mdt-map-legend,.mdt-call-table,.mdt-call-row,.mdt-quick-status-locked,.mdt-poi-control,.mdt-poi-coordinates,
    .procedure-stat-grid,.profile-signature-display,
    .training-stat-grid,.training-library-row,.training-question-block,.training-answer-option,.training-question-admin,.training-attempt-row,
    .ncic-category-card,.ncic-new-record-card,.ncic-social-profile,.ncic-social-card,.ncic-social-post,.ncic-social-connection,.ncic-social-connection-card,
    .notification-menu-toolbar,.notification-list,.notification-item,.notification-menu-footer,
    .card,.card-body,.list-group-item,.accordion-item,.accordion-body,.modal-content,.offcanvas,.dropdown-menu
) {
    background-color:var(--ops-paper) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .card-header,.command-panel-header,.ops-section-heading,.dashboard-action-group-heading,
    .mail-list-header,.mail-reader-header,.admin-module-header,.accordion-button:not(.collapsed)
) {
    background-color:var(--ops-header-bg) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line-dark) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .bg-white,.bg-light,.bg-body,.bg-body-tertiary,.text-bg-light
) {
    background-color:var(--ops-paper) !important;
    color:var(--ops-ink) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .table {
    --bs-table-bg:var(--ops-paper) !important;
    --bs-table-color:var(--ops-ink) !important;
    --bs-table-border-color:var(--ops-line) !important;
    --bs-table-striped-bg:var(--ops-table-alt) !important;
    --bs-table-striped-color:var(--ops-ink) !important;
    --bs-table-hover-bg:var(--ops-hover-bg) !important;
    --bs-table-hover-color:var(--ops-ink) !important;
    background-color:var(--ops-paper) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .table > tbody > tr > * {
    background-color:var(--ops-paper) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .table > tbody > tr:nth-child(even) > * {
    background-color:var(--ops-table-alt) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .table > tbody > tr:hover > * {
    background-color:var(--ops-hover-bg) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .table > thead > tr > * {
    background-color:var(--ops-table-head) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line-dark) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(.text-dark,.text-body,.text-body-emphasis) {
    color:var(--ops-ink) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(.text-muted,.text-body-secondary) {
    color:var(--ops-ink-soft) !important;
}
/* Preserve operational emergency/triage surfaces instead of flattening them. */
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .mdt-panic-panel.is-active,.panic-alert-banner,.panic-alert-banner.is-acknowledged,
    .mdt-panic-button,.training-status-badge,.dispatch-priority-badge,.mission-priority-badge,.triage-badge
) {
    /* Component-specific semantic styling remains authoritative. */
}

/* Dark-theme chrome completion: keep all primary containers on the selected
   theme's dark surface family, including components that historically carried
   light REEV OPS defaults. */
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .ops-navbar,.command-navbar,.ops-classification-bar,.ops-footer,.command-panel,.status-strip,.readiness-card,
    .ops-record-tabs,.emergency-resource-item,.reader-footer,.mail-message-row,.mail-folder-link,
    .ncic-dashboard-card,.ncic-record-choice-card
) {
    background-color:var(--ops-paper) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ops-navbar {
    background-color:var(--ops-navbar-bg) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(.ops-classification-bar,.ops-footer) {
    background-color:color-mix(in srgb,var(--ops-navbar-bg) 88%,#000) !important;
}

/* ===========================================================================
   CUSTOM THEME SURFACE SEAL
   Final, intentionally high-specificity dark-surface layer. This sits after
   legacy module CSS so beige/white defaults cannot leak into custom themes.
   =========================================================================== */
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .status-strip,.command-panel-footer,.zulu-clock,.readiness-card,.ops-section-heading,.hierarchy-item,
    .messages-main,.mail-folders,.mail-list,.mail-list-header,.mail-item,.reader-routing,.reader-footer,.mail-reader-insignia,
    .compose-body,.compose-footer,.reader-actions,.notification-bell-btn,.notification-menu-toolbar,.notification-list,.notification-item,
    .notification-ack-btn,.notification-menu-footer,.command-notification-toast,.notification-toast-header,
    .admin-role-doctrine,.admin-active-control,.admin-form-footer,.admin-profile-photo-block,
    .thread-message-card,.thread-reply-form,.thread-reply-body,
    .profile-detail,.profile-card-footer,.profile-settings-footer,.department-directory-list,.department-member-row,.directory-personnel-card,
    .mission-form-actions,.mission-assignee,.mission-empty-inline,.mission-audit-footer,.mission-map-search,.mission-map-actions,
    .mission-modal .modal-header,.mission-modal .modal-footer,
    .dispatch-queue-row,.dispatch-map-search,.dispatch-map-location-strip,.dispatch-log-entry,
    .mdt-unit-chip,.mdt-status-grid,.mdt-filterbar,.mdt-call-table,.mdt-call-row,.mdt-unit-status,.mdt-quick-status-locked,.mdt-map-legend,
    .procedure-stat-grid,.procedure-markdown blockquote,.procedure-markdown code,.procedure-markdown pre,.procedure-markdown-help code,
    .profile-signature-display,.training-stat-grid,.training-library-row,.training-status-badge,.training-question-block,.training-answer-option,
    .training-question-admin,.training-attempt-row,
    .member-social-profile,.member-social-card,.member-social-post,.member-social-about-list > div,
    .alert,.toast,.toast-header,.toast-body,.popover,.popover-header,.popover-body,.tooltip-inner,
    .pagination .page-link,.nav-tabs .nav-link,.nav-pills .nav-link
) {
    background-color:var(--ops-paper) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line) !important;
}

html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .mail-list-header,.notification-menu-toolbar,.notification-toast-header,
    .mission-modal .modal-header,.member-social-card > header,.member-social-post > header,
    .popover-header,.toast-header
) {
    background-color:var(--ops-header-bg) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line-dark) !important;
}

html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .mail-item:hover,.mail-item:focus,.mail-item.selected,.department-member-row:hover,.department-member-row.active,
    .directory-personnel-card:hover,.directory-personnel-card:focus-visible,.mission-board-row:hover,.mission-assignee:hover,
    .mission-assignee:focus-visible,.training-library-row:hover,.training-library-row:focus-visible,
    .mdt-call-row:hover,.mdt-call-row:focus-visible,.mdt-call-row.is-assigned,.mdt-call-row.is-focused,
    .dispatch-queue-row.assigned-to-me,.pagination .page-link:hover,.nav-tabs .nav-link:hover,.nav-pills .nav-link:hover
) {
    background-color:var(--ops-hover-bg) !important;
    color:var(--ops-ink) !important;
}

/* Dark semantic chips: retain meaning through border/text color without bright
   beige status backgrounds. */
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .mission-status,.mission-priority,.mission-my-tasking,
    .dispatch-priority-badge,.dispatch-status-badge,
    .mdt-unit-status,.training-status-badge
) {
    background-color:color-mix(in srgb,var(--ops-paper) 82%,var(--ops-line)) !important;
    color:var(--ops-ink) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .mission-status-active,.mission-my-tasking,.dispatch-status-dispatched,.dispatch-status-en-route,.dispatch-status-on-scene,
    .mdt-unit-status-assigned,.mdt-unit-status-en-route,.mdt-unit-status-on-scene,.mdt-unit-status-available,
    .training-status-badge.status-completed
) {
    background-color:color-mix(in srgb,var(--ops-green) 14%,var(--ops-paper)) !important;
    color:color-mix(in srgb,var(--ops-green) 72%,var(--ops-ink)) !important;
    border-color:color-mix(in srgb,var(--ops-green) 58%,var(--ops-line)) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .mission-status-on-hold,.mission-priority-priority,.dispatch-status-incoming,.training-status-badge.status-in-progress
) {
    background-color:color-mix(in srgb,var(--ops-warning) 13%,var(--ops-paper)) !important;
    color:color-mix(in srgb,var(--ops-warning) 76%,var(--ops-ink)) !important;
    border-color:color-mix(in srgb,var(--ops-warning) 60%,var(--ops-line)) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .mission-status-cancelled,.mission-priority-critical,.dispatch-priority-p1,.dispatch-status-cancelled,
    .training-status-badge.status-failed
) {
    background-color:color-mix(in srgb,var(--ops-danger) 13%,var(--ops-paper)) !important;
    color:color-mix(in srgb,var(--ops-danger) 74%,var(--ops-ink)) !important;
    border-color:color-mix(in srgb,var(--ops-danger) 60%,var(--ops-line)) !important;
}

html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .btn-light,.btn-secondary,.btn-outline-light,.command-btn-danger
) {
    background-color:var(--ops-header-bg) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line-dark) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .command-btn-danger {
    background-color:color-mix(in srgb,var(--ops-danger) 18%,var(--ops-paper)) !important;
    color:color-mix(in srgb,var(--ops-danger) 78%,var(--ops-ink)) !important;
    border-color:var(--ops-danger) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .command-btn-danger:hover,
html[data-ops-theme]:not([data-ops-theme="default"]) .command-btn-danger:focus-visible {
    background-color:color-mix(in srgb,var(--ops-danger) 30%,var(--ops-paper)) !important;
}

/* Map canvases get a dark loading surface; MapLibre canvas remains theme-independent. */
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .mission-map,.mission-form-map,.dispatch-map,.dispatch-form-map,.mdt-map
) { background-color:var(--ops-input-bg) !important; }

/* Keep the emergency PANIC control intentionally high-visibility. */
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .mdt-panic-panel,.mdt-panic-panel.is-active,.panic-alert-banner,.panic-alert-banner.is-acknowledged
) {
    color:#171106;
}

/* ===========================================================================
   MEMBER SOCIAL PROFILES
   Social-profile presentation for ordinary REEV OPS user/member pages.
   =========================================================================== */
.member-social-profile {
    overflow:hidden;
    border:1px solid var(--ops-line-dark);
    background:var(--ops-paper);
    color:var(--ops-ink);
    box-shadow:var(--ops-shadow);
    border-radius:var(--ops-panel-radius,0);
}
.member-social-cover {
    position:relative;
    height:clamp(125px,16vw,205px);
    overflow:hidden;
    border-bottom:1px solid var(--ops-line-dark);
    background:
        linear-gradient(118deg,color-mix(in srgb,var(--ops-olive-dark) 86%,#111),color-mix(in srgb,var(--ops-olive) 62%,var(--ops-paper))),
        repeating-linear-gradient(135deg,transparent 0 28px,color-mix(in srgb,#fff 8%,transparent) 28px 30px);
}
.member-social-cover::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,rgba(0,0,0,.22),transparent 68%);
    pointer-events:none;
}
.member-social-cover-mark {
    position:absolute;
    right:1.25rem;
    bottom:.8rem;
    z-index:1;
    color:color-mix(in srgb,#fff 58%,transparent);
    font-size:clamp(1.2rem,3vw,2.4rem);
    font-weight:1000;
    letter-spacing:.16em;
}
.member-social-identity {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:1.15rem;
    align-items:end;
    padding:0 1.3rem 1.15rem;
}
.member-social-avatar-wrap { position:relative; z-index:2; margin-top:-68px; }
.member-social-avatar {
    width:138px;
    height:138px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:5px solid var(--ops-paper);
    outline:1px solid var(--ops-line-dark);
    border-radius:50%;
    background:var(--ops-olive-light);
    color:var(--ops-olive-dark);
    box-shadow:0 .5rem 1.35rem rgba(0,0,0,.24);
    font-size:3.1rem;
    font-weight:1000;
}
.member-social-avatar img { width:100%; height:100%; object-fit:cover; }
.member-social-presence {
    position:absolute;
    right:8px;
    bottom:8px;
    width:20px;
    height:20px;
    border:4px solid var(--ops-paper);
    border-radius:50%;
    background:#7f8581;
}
.member-social-presence.is-online { background:var(--ops-green); }
.member-social-presence.is-offline { background:var(--ops-danger); }
.member-social-heading { min-width:0; padding-top:.85rem; }
.member-social-heading-topline { display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:.35rem; }
.member-social-role-badge,.member-social-status-badge {
    display:inline-flex;
    align-items:center;
    min-height:1.45rem;
    padding:.16rem .46rem;
    border:1px solid var(--ops-line-dark);
    background:color-mix(in srgb,var(--ops-action) 12%,var(--ops-paper));
    color:var(--ops-olive-dark);
    font-size:.53rem;
    font-weight:1000;
    letter-spacing:.085em;
    text-transform:uppercase;
}
.member-social-status-badge.is-online { color:var(--ops-green); border-color:color-mix(in srgb,var(--ops-green) 55%,var(--ops-line)); }
.member-social-status-badge.is-offline { color:var(--ops-ink-soft); }
.member-social-heading h1 {
    margin:0;
    color:var(--ops-ink);
    font-size:clamp(1.7rem,2.8vw,2.6rem);
    line-height:1.04;
    font-weight:1000;
    letter-spacing:-.025em;
}
.member-social-handle { margin-top:.26rem; color:var(--ops-ink-soft); font-size:.74rem; font-weight:850; letter-spacing:.035em; }
.member-social-bio { max-width:58rem; margin:.65rem 0 0; color:var(--ops-ink); font-size:.76rem; line-height:1.55; }
.member-social-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.45rem; padding-top:.8rem; }
.member-social-stats {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    border-top:1px solid var(--ops-line);
    border-bottom:1px solid var(--ops-line);
    background:color-mix(in srgb,var(--ops-header-bg) 56%,var(--ops-paper));
}
.member-social-stats > div { min-width:0; padding:.82rem 1rem; text-align:center; }
.member-social-stats > div + div { border-left:1px solid var(--ops-line); }
.member-social-stats strong { display:block; overflow:hidden; text-overflow:ellipsis; color:var(--ops-ink); font-size:.9rem; font-weight:1000; white-space:nowrap; }
.member-social-stats span { display:block; margin-top:.12rem; color:var(--ops-ink-soft); font-size:.51rem; font-weight:950; letter-spacing:.09em; text-transform:uppercase; }
.member-social-tabs { display:flex; flex-wrap:wrap; gap:.12rem; padding:.35rem .65rem 0; }
.member-social-tabs a {
    position:relative;
    padding:.66rem .8rem .75rem;
    color:var(--ops-ink-soft) !important;
    font-size:.6rem;
    font-weight:1000;
    letter-spacing:.08em;
    text-decoration:none;
}
.member-social-tabs a::after { content:""; position:absolute; left:.6rem; right:.6rem; bottom:0; height:2px; background:transparent; }
.member-social-tabs a:hover,.member-social-tabs a:focus-visible { color:var(--ops-ink) !important; }
.member-social-tabs a:hover::after,.member-social-tabs a:focus-visible::after { background:var(--ops-action); }
.member-social-layout { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:1rem; align-items:start; }
.member-social-column,.member-social-feed { display:grid; gap:1rem; }
.member-social-card,.member-social-post {
    overflow:hidden;
    border:1px solid var(--ops-line-dark);
    background:var(--ops-paper);
    color:var(--ops-ink);
    box-shadow:var(--ops-shadow);
    border-radius:var(--ops-panel-radius,0);
}
.member-social-card > header,.member-social-post > header {
    display:flex;
    align-items:center;
    gap:.55rem;
    min-height:3rem;
    padding:.72rem .88rem;
    border-bottom:1px solid var(--ops-line);
    background:color-mix(in srgb,var(--ops-header-bg) 74%,var(--ops-paper));
    color:var(--ops-ink);
    font-size:.63rem;
    font-weight:1000;
    letter-spacing:.08em;
}
.member-social-card > header i { color:var(--ops-olive-dark); }
.member-social-about-list { display:grid; }
.member-social-about-list > div { display:grid; gap:.16rem; padding:.72rem .88rem; border-bottom:1px solid var(--ops-line); background:var(--ops-paper); }
.member-social-about-list > div:last-child { border-bottom:0; }
.member-social-about-list span { color:var(--ops-ink-soft); font-size:.5rem; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.member-social-about-list strong { color:var(--ops-ink); font-size:.71rem; overflow-wrap:anywhere; }
.member-social-post > header { letter-spacing:normal; }
.member-social-post > header > div:last-child { display:grid; gap:.06rem; min-width:0; }
.member-social-post > header strong { color:var(--ops-ink); font-size:.7rem; }
.member-social-post > header span { color:var(--ops-ink-soft); font-size:.55rem; font-weight:800; }
.member-social-post-avatar,.member-social-post-icon {
    width:36px;
    height:36px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid var(--ops-line-dark);
    border-radius:50%;
    background:var(--ops-olive-light);
    color:var(--ops-olive-dark);
    font-weight:1000;
}
.member-social-post-avatar img { width:100%; height:100%; object-fit:cover; }
.member-social-post-body { padding:1rem; color:var(--ops-ink); font-size:.76rem; line-height:1.58; }
.member-social-post-body p { margin:0; }
.member-social-post-tags { display:flex; flex-wrap:wrap; gap:.38rem; margin-top:.85rem; }
.member-social-post-tags span {
    display:inline-flex;
    padding:.2rem .45rem;
    border:1px solid var(--ops-line-dark);
    background:color-mix(in srgb,var(--ops-action) 10%,var(--ops-paper));
    color:var(--ops-olive-dark);
    font-size:.52rem;
    font-weight:950;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.member-social-signature { white-space:pre-wrap; font-family:var(--bs-font-monospace); }

/* Per-theme profile personality without changing the page geometry. */









@media (max-width:991.98px) {
    .member-social-identity { grid-template-columns:auto minmax(0,1fr); }
    .member-social-actions { grid-column:1 / -1; justify-content:flex-start; padding-top:0; }
    .member-social-layout { grid-template-columns:1fr; }
}
@media (max-width:575.98px) {
    .member-social-cover { height:120px; }
    .member-social-identity { grid-template-columns:1fr; padding:0 .9rem 1rem; }
    .member-social-avatar-wrap { margin-top:-56px; }
    .member-social-avatar { width:112px; height:112px; }
    .member-social-heading { padding-top:0; }
    .member-social-actions { grid-column:auto; }
    .member-social-actions .btn { flex:1 1 auto; }
    .member-social-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .member-social-stats > div:nth-child(3) { border-left:0; border-top:1px solid var(--ops-line); }
    .member-social-stats > div:nth-child(4) { border-top:1px solid var(--ops-line); }
}

/* Final straggler coverage for legacy light-only selectors. */
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .ops-footer,.compose-control:focus,.error-actions
) {
    background-color:var(--ops-paper) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ops-admin-menu .dropdown-item:hover,
html[data-ops-theme]:not([data-ops-theme="default"]) .ops-admin-menu .dropdown-item:focus {
    background-color:var(--ops-hover-bg) !important;
    color:var(--ops-ink) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .admin-user-table thead th {
    background-color:var(--ops-table-head) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line-dark) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .admin-user-table tbody tr:hover td {
    background-color:var(--ops-hover-bg) !important;
    color:var(--ops-ink) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .procedure-type-sop {
    background-color:color-mix(in srgb,var(--ops-green) 13%,var(--ops-paper)) !important;
    color:color-mix(in srgb,var(--ops-green) 72%,var(--ops-ink)) !important;
    border-color:color-mix(in srgb,var(--ops-green) 58%,var(--ops-line)) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .procedure-type-gop {
    background-color:color-mix(in srgb,var(--ops-warning) 12%,var(--ops-paper)) !important;
    color:color-mix(in srgb,var(--ops-warning) 74%,var(--ops-ink)) !important;
    border-color:color-mix(in srgb,var(--ops-warning) 55%,var(--ops-line)) !important;
}


/* ===========================================================================
   PERSONNEL DIRECTORY // INTERNAL ID CARD LAYOUT
   CAC-inspired proportions for REEV OPS internal identification only.
   =========================================================================== */
.directory-id-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(15.5rem,18rem));
    justify-content:start;
    gap:1rem;
    padding:1rem;
    background:var(--ops-sand);
    border-top:1px solid var(--ops-line);
}
.directory-id-card {
    min-width:0;
    min-height:28rem;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid var(--ops-line-dark);
    border-radius:.55rem;
    background:var(--ops-paper);
    color:var(--ops-ink);
    text-decoration:none;
    box-shadow:0 .45rem 1rem rgba(0,0,0,.08);
    transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;
}
.directory-id-card:hover,
.directory-id-card:focus-visible {
    color:var(--ops-ink);
    text-decoration:none;
    transform:translateY(-3px);
    border-color:var(--ops-olive-dark);
    box-shadow:0 .75rem 1.4rem rgba(0,0,0,.14),inset 0 3px 0 var(--ops-olive-dark);
    outline:0;
}
.directory-id-card.is-inactive { opacity:.66; }
.directory-id-topline {
    min-height:2.5rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.5rem;
    padding:.55rem .7rem;
    background:var(--ops-olive-dark);
    color:#fff;
    font-size:.48rem;
    font-weight:1000;
    letter-spacing:.11em;
}
.directory-id-security-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    padding:.65rem .75rem .15rem;
}
.directory-id-chip {
    width:2.35rem;
    height:1.65rem;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:2px;
    padding:.22rem;
    border:1px solid var(--ops-warning);
    border-radius:.28rem;
    background:color-mix(in srgb,var(--ops-warning) 38%,var(--ops-paper));
}
.directory-id-chip i {
    display:block;
    border:1px solid color-mix(in srgb,var(--ops-warning) 68%,var(--ops-ink));
    border-radius:1px;
}
.directory-id-number {
    color:var(--ops-ink-soft);
    font-size:.53rem;
    font-weight:900;
    letter-spacing:.1em;
}
.directory-id-photo {
    width:9rem;
    height:10.8rem;
    margin:.55rem auto .7rem;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid var(--ops-line-dark);
    border-radius:.32rem;
    background:var(--ops-olive-light);
    color:var(--ops-olive-dark);
    font-size:2.25rem;
    font-weight:1000;
    letter-spacing:.06em;
    box-shadow:inset 0 0 0 .25rem color-mix(in srgb,var(--ops-paper) 65%,transparent);
}
.directory-id-photo img { width:100%;height:100%;object-fit:cover; }
.directory-id-identity {
    display:block;
    padding:0 .85rem .75rem;
    text-align:center;
    border-bottom:1px solid var(--ops-line);
}
.directory-id-callsign {
    display:block;
    margin-bottom:.15rem;
    color:var(--ops-olive-dark);
    font-size:.62rem;
    font-weight:1000;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.directory-id-identity strong {
    display:block;
    color:var(--ops-ink);
    font-size:1rem;
    line-height:1.18;
    letter-spacing:.035em;
}
.directory-id-identity small {
    display:block;
    margin-top:.28rem;
    color:var(--ops-ink-soft);
    font-size:.54rem;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.directory-id-fields {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1px;
    margin:.7rem .75rem;
    border:1px solid var(--ops-line);
    background:var(--ops-line);
}
.directory-id-fields > span {
    min-width:0;
    min-height:3.15rem;
    padding:.48rem .52rem;
    background:var(--ops-paper);
}
.directory-id-fields small,
.directory-id-fields b { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.directory-id-fields small {
    color:var(--ops-ink-soft);
    font-size:.45rem;
    font-weight:900;
    letter-spacing:.1em;
}
.directory-id-fields b {
    margin-top:.14rem;
    color:var(--ops-ink);
    font-size:.61rem;
    letter-spacing:.025em;
}
.directory-id-active { color:var(--ops-green) !important; }
.directory-id-inactive { color:var(--ops-danger) !important; }
.directory-id-footer {
    margin-top:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.5rem;
    padding:.55rem .7rem;
    border-top:1px solid var(--ops-line);
    background:color-mix(in srgb,var(--ops-olive-light) 42%,var(--ops-paper));
    color:var(--ops-ink-soft);
    font-size:.43rem;
    font-weight:900;
    letter-spacing:.07em;
}
.directory-id-footer b { color:var(--ops-olive-dark);white-space:nowrap; }

/* Birthday recognition // federal/government treatment. */
.dashboard-birthday-banner {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:1rem;
    padding:1rem 1.15rem;
    border:1px solid var(--gov-line, #c9d3dc);
    border-top:4px solid var(--gov-navy, #205493);
    border-left:1px solid var(--gov-line, #c9d3dc);
    background:#ffffff;
    color:var(--gov-ink, #12212f);
    box-shadow:0 .3rem .75rem rgba(0,0,0,.06);
}
.dashboard-birthday-icon {
    width:3.4rem;
    height:3.4rem;
    display:grid;
    place-items:center;
    border:1px solid #a8c6df;
    background:#eaf3fa;
    color:var(--gov-blue, #005ea8);
    font-size:1.3rem;
}
.dashboard-birthday-copy { min-width:0; }
.dashboard-birthday-kicker {
    display:block;
    margin-bottom:.14rem;
    color:var(--gov-muted, #586b7d);
    font-size:.54rem;
    font-weight:900;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.dashboard-birthday-copy strong {
    display:block;
    color:var(--gov-navy-deep, #112e51);
    font-size:1.05rem;
    font-weight:900;
    letter-spacing:.035em;
}
.dashboard-birthday-copy > span:last-child {
    display:block;
    margin-top:.18rem;
    color:var(--gov-muted, #586b7d);
    font-size:.74rem;
}
.dashboard-birthday-mark {
    padding:.38rem .55rem;
    border:1px solid var(--gov-line-strong, #aab9c6);
    border-left:3px solid var(--gov-red, #b50909);
    background:#f5f7f9;
    color:var(--gov-navy-deep, #112e51);
    font-size:.5rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
html[data-ops-theme="subdued_black"] .dashboard-birthday-banner {
    border-color:#394550;
    border-top-color:#4f7fa9;
    background:#151b21;
    color:#e7edf2;
    box-shadow:0 .35rem .8rem rgba(0,0,0,.24);
}
html[data-ops-theme="subdued_black"] .dashboard-birthday-icon {
    border-color:#3c5c78;
    background:#1c2b37;
    color:#8fb5d7;
}
html[data-ops-theme="subdued_black"] .dashboard-birthday-kicker,
html[data-ops-theme="subdued_black"] .dashboard-birthday-copy > span:last-child {
    color:#9eadb9;
}
html[data-ops-theme="subdued_black"] .dashboard-birthday-copy strong {
    color:#f2f5f8;
}
html[data-ops-theme="subdued_black"] .dashboard-birthday-mark {
    border-color:#394550;
    border-left-color:#8b1f24;
    background:#10161b;
    color:#dce5ed;
}

@media (max-width:767.98px) {
    .directory-id-grid { grid-template-columns:repeat(auto-fill,minmax(14.5rem,1fr));padding:.75rem; }
    .directory-id-card { min-height:26.5rem; }
    .dashboard-birthday-banner { grid-template-columns:auto minmax(0,1fr); }
    .dashboard-birthday-mark { display:none; }
}
@media (max-width:479.98px) {
    .directory-id-grid { grid-template-columns:1fr; }
    .directory-id-card { width:min(100%,18rem);justify-self:center; }
    .dashboard-birthday-banner { padding:.85rem;gap:.75rem; }
    .dashboard-birthday-icon { width:2.8rem;height:2.8rem;font-size:1.1rem; }
}

/* ===========================================================================
   CUSTOM THEME HARD SURFACE SEAL // 2026-09-08
   Final pass after every legacy module rule. Custom operational themes must
   never inherit the original ivory/paper content surfaces. Semantic emergency,
   triage and priority colors are intentionally left alone.
   =========================================================================== */
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .command-panel-body,.card-body,.modal-body,.offcanvas-body,.ops-section,.briefing-block,
    .messages-main,.mail-folders,.mail-list,.mail-item,.mail-item.unread,.mail-reader,.reader-routing,.reader-body,
    .compose-body,.reader-actions,.notification-list,.notification-item,.notification-item.unread,.command-notification-toast,
    .admin-role-doctrine,.admin-active-control,.admin-form-footer,.admin-profile-photo-block,.error-code-block,.error-actions,
    .thread-chain,.thread-message-card,.thread-message-card.thread-message-own,.thread-reply-form,.thread-reply-body,
    .profile-portrait-wrap,.profile-identity-copy,.profile-detail,.profile-card-footer,.profile-settings-footer,
    .department-directory-list,.department-member-row,.quick-action-card,.directory-personnel-card,
    .mission-form-actions,.mission-assignee,.mission-empty-inline,.mission-audit-footer,.mission-map-search,.mission-map-actions,
    .mission-modal .modal-body,.mission-code-locked,.mission-code-locked:focus,
    .dispatch-map-search,.dispatch-map-location-strip,.dispatch-log-entry,
    .mdt-unit-chip,.mdt-status-grid,.mdt-filterbar,.mdt-call-table,.mdt-quick-status-locked,.mdt-map-legend,
    .procedure-stat-grid,.procedure-document-header,.procedure-markdown blockquote,.procedure-markdown code,.procedure-markdown pre,
    .procedure-markdown-help code,.profile-signature-display,.profile-signature-display-body,
    .training-stat-grid,.training-library-row,.training-question-block,.training-answer-option,.training-question-admin,.training-attempt-row,
    .member-social-profile,.member-social-card,.member-social-post,.member-social-about-list > div,
    .ncic-social-profile,.ncic-social-card,.ncic-social-post,.ncic-social-connection,.ncic-social-connection-card,
    .directory-id-card,.directory-id-fields > span
) {
    background:var(--ops-paper) !important;
    background-image:none !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line) !important;
}

/* Headers/footers use the selected theme's darker chrome rather than the base
   REEV OPS beige gradients. */
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .command-panel-header,.command-panel-footer,.card-header,.card-footer,.ops-section-heading,
    .mail-list-header,.mail-reader-header,.reader-footer,.compose-footer,.notification-menu-header,
    .notification-menu-toolbar,.notification-menu-footer,.notification-toast-header,
    .profile-card-footer,.profile-settings-footer,.profile-signature-display-header,
    .mission-modal .modal-header,.mission-modal .modal-footer,.admin-form-footer,
    .directory-id-topline,.directory-id-footer
) {
    background:var(--ops-header-bg) !important;
    background-image:none !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line-dark) !important;
}

/* Hover/selected rows use a dark themed hover surface. */
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .mail-item:hover,.mail-item:focus,.mail-item.selected,
    .department-member-row:hover,.department-member-row.active,
    .directory-personnel-card:hover,.directory-personnel-card:focus-visible,
    .mission-board-row:hover,.mission-assignee:hover,.mission-assignee:focus-visible,
    .training-library-row:hover,.training-library-row:focus-visible,
    .mdt-call-row:hover,.mdt-call-row:focus-visible,.mdt-call-row.is-assigned,.mdt-call-row.is-focused,
    .dispatch-queue-row.assigned-to-me
) {
    background:var(--ops-hover-bg) !important;
    color:var(--ops-ink) !important;
}

/* Inputs/file controls inside custom themes always remain on the darkest input
   surface; this includes browser-generated file/date control chrome. */
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    input:not([type="checkbox"]):not([type="radio"]),textarea,select,.form-control,.form-select,.command-input,.input-group-text
) {
    background-color:var(--ops-input-bg) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line-dark) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) input[type="file"]::file-selector-button {
    background:var(--ops-header-bg) !important;
    color:var(--ops-ink) !important;
    border:0 !important;
    border-right:1px solid var(--ops-line-dark) !important;
}

/* Dispatch is a black/gold console all the way through form bodies and generic
   content surfaces. */


/* eCAD / MDT POI theme integration hotfix // 2026-09-08
   POI controls are application chrome and must inherit the selected operational
   theme. OpenFreeMap tiles and semantic map-marker colors intentionally remain
   independent of the UI palette. */
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .dispatch-poi-control,
    .dispatch-poi-section,
    .dispatch-poi-focus,
    .dispatch-poi-coordinates,
    .mdt-poi-control,
    .mdt-poi-coordinates,
    .dispatch-empty-inline,
    .map-poi-legend
) {
    background:var(--ops-paper) !important;
    background-image:none !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line) !important;
}

html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .dispatch-poi-control,
    .dispatch-poi-section
) {
    border-top-color:var(--ops-line-dark) !important;
}

html[data-ops-theme]:not([data-ops-theme="default"]) .dispatch-poi-form,
html[data-ops-theme]:not([data-ops-theme="default"]) .mdt-poi-form {
    border-top-color:var(--ops-line-dark) !important;
}

html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .dispatch-poi-control small,
    .dispatch-poi-copy small,
    .dispatch-empty-inline,
    .mdt-poi-status
) {
    color:var(--ops-ink-soft) !important;
}

html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .dispatch-poi-copy strong,
    .dispatch-poi-copy span,
    .dispatch-poi-coordinates,
    .mdt-poi-coordinates
) {
    color:var(--ops-ink) !important;
}

html[data-ops-theme]:not([data-ops-theme="default"]) .dispatch-poi-focus:hover,
html[data-ops-theme]:not([data-ops-theme="default"]) .dispatch-poi-focus:focus-visible {
    background:var(--ops-hover-bg) !important;
    border-color:var(--ops-action) !important;
}

html[data-ops-theme]:not([data-ops-theme="default"]) .dispatch-poi-type {
    border-color:var(--ops-action) !important;
    background:color-mix(in srgb,var(--ops-action) 20%,var(--ops-paper)) !important;
    color:var(--ops-action) !important;
}

html[data-ops-theme]:not([data-ops-theme="default"]) .map-poi-legend {
    background:var(--ops-header-bg) !important;
    color:var(--ops-ink-soft) !important;
    border-top-color:var(--ops-line-dark) !important;
}

/* Dispatch is deliberately black/gold. */




/* 2026-09-08 // MDT Unit CAD Log -> authoritative eCAD chronological log */
.mdt-unit-log-form {
    display: grid;
    gap: .65rem;
    padding: .8rem;
    border-bottom: 1px solid var(--ops-line);
    background: var(--ops-paper);
}
.mdt-unit-log-copy {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .75rem;
    min-width: 0;
}
.mdt-unit-log-copy > span,
.mdt-unit-log-state {
    color: var(--ops-ink-soft);
    font-family: var(--bs-font-monospace);
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .065em;
    text-transform: uppercase;
}
.mdt-unit-log-copy > span {
    overflow-wrap: anywhere;
    text-align: right;
}
.mdt-unit-log-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .55rem;
    align-items: stretch;
}
.mdt-unit-log-controls .command-input { min-width: 0; }
.mdt-unit-log-state { min-height: .9rem; }
[data-ops-theme]:not([data-ops-theme="default"]) .mdt-unit-log-form {
    background: var(--ops-paper) !important;
    border-color: var(--ops-line) !important;
}
@media (max-width: 767.98px) {
    .mdt-unit-log-copy { align-items: flex-start; flex-direction: column; gap: .25rem; }
    .mdt-unit-log-copy > span { text-align: left; }
    .mdt-unit-log-controls { grid-template-columns: 1fr; }
}

/* 2026-09-08 // MDT active-assignment-only layout. The field MDT intentionally
   exposes one current assignment and never renders the wider incident queue. */
.mdt-active-assignment-panel { overflow: hidden; }
.mdt-active-call-card {
    display: grid;
    gap: .9rem;
    padding: 1rem;
    background: var(--ops-paper);
    color: var(--ops-ink);
}
.mdt-active-call-topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .8rem;
    border-bottom: 1px solid var(--ops-line);
}
.mdt-active-call-identity { display: grid; gap: .2rem; min-width: 0; }
.mdt-active-cad-number {
    color: var(--ops-olive-dark);
    font-family: var(--bs-font-monospace);
    font-size: 1.05rem;
    font-weight: 1000;
    letter-spacing: .045em;
    overflow-wrap: anywhere;
}
.mdt-active-call-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .4rem;
}
.mdt-active-call-title { display: grid; gap: .2rem; }
.mdt-active-call-title > span {
    color: var(--ops-olive-dark);
    font-size: .58rem;
    font-weight: 1000;
    letter-spacing: .1em;
}
.mdt-active-call-title > h3 {
    margin: 0;
    color: var(--ops-ink);
    font-size: 1rem;
    font-weight: 950;
    line-height: 1.35;
}
.mdt-active-call-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid var(--ops-line);
}
.mdt-active-call-fact {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: .18rem;
    padding: .7rem .75rem;
    border-right: 1px solid var(--ops-line);
    border-bottom: 1px solid var(--ops-line);
    background: var(--ops-input-bg, var(--ops-paper));
}
.mdt-active-call-fact:nth-child(4),
.mdt-active-call-fact:last-child { border-right: 0; }
.mdt-active-call-fact-wide { grid-column: span 2; }
.mdt-active-call-fact > span {
    color: var(--ops-ink-soft);
    font-size: .5rem;
    font-weight: 1000;
    letter-spacing: .09em;
}
.mdt-active-call-fact > strong {
    color: var(--ops-ink);
    font-size: .68rem;
    font-weight: 900;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
.mdt-active-call-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}
.mdt-active-call-actions > span {
    color: var(--ops-ink-soft);
    font-family: var(--bs-font-monospace);
    font-size: .52rem;
    font-weight: 900;
    letter-spacing: .055em;
}
.mdt-no-active-assignment {
    display: grid;
    grid-template-columns: 3.1rem minmax(0, 1fr);
    gap: .85rem;
    align-items: center;
    min-height: 8rem;
    padding: 1rem;
    background: var(--ops-paper);
    color: var(--ops-ink);
}
.mdt-no-active-icon {
    display: grid;
    place-items: center;
    width: 3.1rem;
    height: 3.1rem;
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-input-bg, var(--ops-paper));
    color: var(--ops-olive-dark);
    font-size: 1.3rem;
    font-weight: 1000;
}
.mdt-no-active-assignment > div:last-child { display: grid; gap: .22rem; }
.mdt-no-active-assignment strong { color: var(--ops-ink); font-size: .92rem; font-weight: 1000; letter-spacing: .04em; }
.mdt-no-active-assignment p { margin: 0; color: var(--ops-ink-soft); font-size: .65rem; line-height: 1.5; }
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .mdt-active-call-card,.mdt-no-active-assignment
) {
    background: var(--ops-paper) !important;
    color: var(--ops-ink) !important;
    border-color: var(--ops-line) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .mdt-active-call-fact,.mdt-no-active-icon
) {
    background: var(--ops-input-bg) !important;
    color: var(--ops-ink) !important;
    border-color: var(--ops-line) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .mdt-active-cad-number,
html[data-ops-theme]:not([data-ops-theme="default"]) .mdt-active-call-title > span,
html[data-ops-theme]:not([data-ops-theme="default"]) .mdt-no-active-icon {
    color: var(--ops-action) !important;
}
@media (max-width: 991.98px) {
    .mdt-active-call-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mdt-active-call-fact:nth-child(2n) { border-right: 0; }
    .mdt-active-call-fact-wide { grid-column: 1 / -1; }
}
@media (max-width: 575.98px) {
    .mdt-active-call-topline,
    .mdt-active-call-actions { align-items: stretch; flex-direction: column; }
    .mdt-active-call-badges { justify-content: flex-start; }
    .mdt-active-call-grid { grid-template-columns: 1fr; }
    .mdt-active-call-fact,
    .mdt-active-call-fact:nth-child(2n) { border-right: 0; }
    .mdt-active-call-fact-wide { grid-column: auto; }
    .mdt-active-call-actions .btn { width: 100%; }
}

/* 2026-09-08 // Compact three-column MDT + persisted 10-second promotion hold */
.mdt-compact-main { min-width: 0; }
.mdt-three-column-workspace {
    display: grid;
    grid-template-columns: minmax(18rem, 1fr) minmax(20rem, 1.08fr) minmax(20rem, 26rem);
    gap: .75rem;
    align-items: stretch;
    min-width: 0;
}
.mdt-three-panel {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 34rem;
    height: clamp(34rem, calc(100vh - 13.5rem), 52rem);
    overflow: hidden;
}
.mdt-three-panel > .command-panel-header { flex: 0 0 auto; }
.mdt-three-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    scrollbar-width: thin;
}
.mdt-call-details-panel .command-panel-body { padding: .7rem; }
.mdt-compact-call-details { display: grid; gap: .65rem; min-width: 0; }
.mdt-compact-call-identity {
    display: grid;
    gap: .45rem;
    padding-bottom: .6rem;
    border-bottom: 1px solid var(--ops-line);
}
.mdt-compact-call-identity > div:first-child { display: grid; gap: .15rem; min-width: 0; }
.mdt-compact-call-identity .mdt-active-call-badges { justify-content: flex-start; }
.mdt-call-title-block {
    display: grid;
    gap: .2rem;
    padding: .55rem .6rem;
    border: 1px solid var(--ops-line);
    background: var(--ops-input-bg, var(--ops-paper));
}
.mdt-call-title-block > span,
.mdt-call-intel-block > span {
    color: var(--ops-olive-dark);
    font-size: .5rem;
    font-weight: 1000;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.mdt-call-title-block > strong {
    color: var(--ops-ink);
    font-size: .72rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.mdt-call-fact-list {
    display: grid;
    border: 1px solid var(--ops-line);
    border-bottom: 0;
}
.mdt-call-fact-row {
    display: grid;
    grid-template-columns: 6.3rem minmax(0, 1fr);
    gap: .55rem;
    align-items: start;
    padding: .44rem .5rem;
    border-bottom: 1px solid var(--ops-line);
    background: var(--ops-paper);
}
.mdt-call-fact-row > span {
    color: var(--ops-ink-soft);
    font-size: .48rem;
    font-weight: 1000;
    letter-spacing: .07em;
    line-height: 1.35;
}
.mdt-call-fact-row > strong {
    min-width: 0;
    color: var(--ops-ink);
    font-size: .61rem;
    font-weight: 850;
    line-height: 1.42;
    overflow-wrap: anywhere;
}
.mdt-call-intel-block {
    display: grid;
    gap: .2rem;
    padding: .52rem .58rem;
    border: 1px solid var(--ops-line);
    background: var(--ops-paper);
}
.mdt-call-intel-block p {
    margin: 0;
    color: var(--ops-ink);
    font-size: .62rem;
    line-height: 1.5;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.mdt-selected-log-panel .mdt-unit-log-form { flex: 0 0 auto; padding: .6rem; gap: .45rem; }
.mdt-selected-log-panel .mdt-unit-log-copy { gap: .45rem; }
.mdt-selected-log-panel .mdt-unit-log-controls { grid-template-columns: minmax(0, 1fr) auto; gap: .4rem; }
.mdt-selected-log-panel .mdt-log-scroll { max-height: none; min-height: 0; }
.mdt-selected-log-panel .dispatch-log-entry { padding: .5rem .55rem; }
.mdt-selected-log-panel .dispatch-log-time { width: 5.2rem; font-size: .49rem; }
.mdt-selected-log-panel .dispatch-log-copy span { font-size: .5rem; }
.mdt-selected-log-panel .dispatch-log-copy p { font-size: .62rem; line-height: 1.42; }
.mdt-three-column-workspace .mdt-map-panel { position: static; min-width: 0; }
.mdt-three-column-workspace .mdt-compact-map {
    flex: 0 0 400px;
    width: 100%;
    max-width: none;
    height: 400px;
    min-height: 400px;
    align-self: stretch;
    border-bottom: 1px solid var(--ops-line-dark);
}
.mdt-three-column-workspace .mdt-map-status { flex: 0 0 auto; padding: .45rem .55rem; font-size: .48rem; }
.mdt-three-column-workspace .map-poi-legend { flex: 0 0 auto; padding: .4rem .5rem; }
.mdt-compact-poi-control {
    flex: 0 1 auto;
    max-height: 16rem;
    overflow: auto;
    padding: .55rem;
}
.mdt-no-active-compact { min-height: 100%; align-content: center; }

html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .mdt-call-title-block,
    .mdt-call-fact-row,
    .mdt-call-intel-block,
    .mdt-three-panel .command-panel-body
) {
    background: var(--ops-paper) !important;
    color: var(--ops-ink) !important;
    border-color: var(--ops-line) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) :is(
    .mdt-call-title-block > span,
    .mdt-call-intel-block > span,
    .mdt-active-cad-number
) { color: var(--ops-action) !important; }

.mdt-promotion-overlay {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: grid;
    place-items: center;
    padding: 1.25rem;
    background: rgba(0, 0, 0, .94);
    isolation: isolate;
}
.mdt-promotion-overlay[hidden] { display: none !important; }
.mdt-promotion-overlay-grid {
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .18;
    background-image:
        linear-gradient(var(--ops-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--ops-line) 1px, transparent 1px);
    background-size: 2.2rem 2.2rem;
}
.mdt-promotion-card {
    width: min(42rem, 94vw);
    display: grid;
    justify-items: center;
    gap: .55rem;
    padding: 2rem 2.2rem;
    border: 2px solid var(--ops-action, var(--ops-olive-dark));
    background: var(--ops-paper);
    color: var(--ops-ink);
    box-shadow: 0 0 0 .35rem rgba(0,0,0,.6), 0 1.5rem 5rem rgba(0,0,0,.7);
    text-align: center;
}
.mdt-promotion-label {
    margin-top: .45rem;
    color: var(--ops-ink-soft);
    font-size: .72rem;
    font-weight: 1000;
    letter-spacing: .18em;
}
.mdt-promotion-count {
    color: var(--ops-action, var(--ops-olive-dark));
    font-family: var(--bs-font-monospace);
    font-size: clamp(5rem, 14vw, 9rem);
    font-weight: 1000;
    letter-spacing: -.08em;
    line-height: .88;
    font-variant-numeric: tabular-nums;
}
.mdt-promotion-unit {
    color: var(--ops-action, var(--ops-olive-dark));
    font-size: .72rem;
    font-weight: 1000;
    letter-spacing: .28em;
}
.mdt-promotion-call {
    margin-top: .55rem;
    color: var(--ops-ink);
    font-family: var(--bs-font-monospace);
    font-size: 1rem;
    font-weight: 1000;
    letter-spacing: .06em;
    overflow-wrap: anywhere;
}
.mdt-promotion-nature {
    max-width: 34rem;
    color: var(--ops-ink-soft);
    font-size: .72rem;
    font-weight: 850;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.mdt-promotion-rule {
    margin-top: .55rem;
    padding-top: .65rem;
    width: 100%;
    border-top: 1px solid var(--ops-line);
    color: var(--ops-ink-soft);
    font-family: var(--bs-font-monospace);
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .07em;
    line-height: 1.5;
}
.mdt-promotion-progress {
    width: 100%;
    height: .38rem;
    overflow: hidden;
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-input-bg, rgba(0,0,0,.2));
}
.mdt-promotion-progress > span {
    display: block;
    width: 0;
    height: 100%;
    background: var(--ops-action, var(--ops-olive-dark));
    transition: width .18s linear;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .mdt-promotion-card {
    background: var(--ops-paper) !important;
    color: var(--ops-ink) !important;
    border-color: var(--ops-action) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .mdt-promotion-count,
html[data-ops-theme]:not([data-ops-theme="default"]) .mdt-promotion-unit { color: var(--ops-action) !important; }

@media (max-width: 1399.98px) {
    .mdt-three-column-workspace { grid-template-columns: minmax(17rem, 1fr) minmax(19rem, 1.04fr) minmax(18rem, 24rem); }
    .mdt-call-fact-row { grid-template-columns: 5.6rem minmax(0, 1fr); }
}
@media (max-width: 1199.98px) {
    .mdt-three-column-workspace { grid-template-columns: 1fr 1fr; }
    .mdt-three-panel { height: auto; min-height: 30rem; }
    .mdt-map-panel { grid-column: 1 / -1; }
    .mdt-three-column-workspace .mdt-compact-map { width: 100%; max-width: none; height: 400px; min-height: 400px; flex: 0 0 400px; }
}
@media (max-width: 767.98px) {
    .mdt-three-column-workspace { grid-template-columns: 1fr; }
    .mdt-map-panel { grid-column: auto; }
    .mdt-three-panel { min-height: 0; }
    .mdt-call-fact-row { grid-template-columns: 1fr; gap: .12rem; }
    .mdt-three-column-workspace .mdt-compact-map { width: 100%; max-width: none; height: 400px; min-height: 400px; flex: 0 0 400px; }
    .mdt-promotion-card { padding: 1.4rem 1rem; }
}

/* 2026-09-08 // MDT jurisdiction-filtered emergency resources */
.mdt-nearest-resources {
    margin: .6rem 0;
    border: 1px solid var(--ops-line);
    background: var(--ops-paper);
}
.mdt-nearest-resources-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .5rem;
    padding: .5rem .55rem;
    border-bottom: 1px solid var(--ops-line);
    background: color-mix(in srgb, var(--ops-sand) 82%, transparent);
}
.mdt-nearest-resources-head strong {
    display: block;
    font-size: .62rem;
    letter-spacing: .06em;
    line-height: 1.25;
}
.mdt-nearest-resources-head > span {
    flex: 0 0 auto;
    font-size: .43rem;
    letter-spacing: .055em;
    opacity: .78;
    text-align: right;
}
.mdt-nearest-resources .emergency-resource-grid {
    gap: 0;
}
.mdt-nearest-resources .emergency-resource-item {
    border: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--ops-line) 70%, transparent);
    padding: .5rem .55rem;
    background: transparent;
}
.mdt-nearest-resources .emergency-resource-item:last-child { border-bottom: 0; }
.mdt-nearest-resources .emergency-resource-item span { font-size: .5rem; }
.mdt-nearest-resources .emergency-resource-item strong { font-size: .67rem; line-height: 1.2; }
.mdt-nearest-resources .emergency-resource-item small { display:block; margin-top:.12rem; font-size:.55rem; line-height:1.25; opacity:.78; }
.mdt-nearest-resources .dispatch-empty-inline { padding: .65rem .55rem; font-size: .54rem; }
@media (max-width: 575.98px) {
    .mdt-nearest-resources-head { flex-direction: column; }
    .mdt-nearest-resources-head > span { text-align: left; }
}


/* 2026-09-08 // MDT emergency resources render hardening */
#mdtNearestEmergencyResources {
    margin-top: .75rem;
    margin-bottom: .75rem;
    flex: 0 0 auto;
}
#mdtNearestEmergencyResources .emergency-resource-grid {
    display: grid;
}
html[data-ops-theme]:not([data-ops-theme="default"]) #mdtNearestEmergencyResources {
    background: var(--ops-paper) !important;
    border-color: var(--ops-line) !important;
    color: var(--ops-ink) !important;
}

/* 2026-09-08 // NCIC profile modal workflow */
.ncic-profile-modal .modal-content {
    border: 1px solid var(--ops-line-dark, var(--ops-line));
    background: var(--ops-paper);
    color: var(--ops-ink);
    box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, .28);
}
.ncic-profile-modal .modal-header,
.ncic-profile-modal .modal-footer {
    border-color: var(--ops-line);
    background: color-mix(in srgb, var(--ops-sand) 72%, var(--ops-paper));
}
.ncic-profile-modal .modal-body { background: var(--ops-paper); }
.ncic-profile-modal .ncic-modal-section-title {
    margin-bottom: .75rem;
    padding-bottom: .45rem;
    border-bottom: 1px solid var(--ops-line);
    color: var(--ops-action, var(--ops-olive-dark));
    font-family: var(--bs-font-monospace);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .09em;
}
.ncic-profile-modal textarea.command-input { min-height: 7rem; }
.ncic-profile-modal .modal-footer { gap: .5rem; }
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-profile-modal :is(.modal-content,.modal-body,.modal-header,.modal-footer) {
    color: var(--ops-ink) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-profile-modal .btn-close { filter: invert(1) grayscale(1) brightness(1.8); }


/* NCIC geocoded address entry */
.ncic-address-map {
  width: 100%; min-height: 230px; height: clamp(230px, 29vh, 340px);
  border: 1px solid var(--ops-line); border-radius: .35rem; overflow: hidden;
  background: var(--ops-sand);
}
.ncic-address-results { position: relative; z-index: 1080; margin-top: .2rem; max-height: 15rem; overflow-y: auto; }
.ncic-profile-modal .ncic-address-map { min-height: 250px; }
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-address-map,
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-address-results { border-color: var(--ops-line); background: var(--ops-paper); }

/* 2026-09-08 // Global compact viewport-safe modal system */
.modal {
    --ops-modal-vgap: clamp(.45rem, 1.35vh, .85rem);
}
.modal .modal-dialog {
    margin-top: var(--ops-modal-vgap);
    margin-bottom: var(--ops-modal-vgap);
    max-height: calc(100dvh - (var(--ops-modal-vgap) * 2));
}
.modal .modal-dialog.modal-dialog-centered {
    min-height: calc(100dvh - (var(--ops-modal-vgap) * 2));
}
.modal .modal-content {
    display: flex;
    flex-direction: column;
    max-height: calc(100dvh - (var(--ops-modal-vgap) * 2));
    overflow: hidden;
}
.modal .modal-content > form {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
}
.modal .modal-header,
.modal .modal-footer {
    flex: 0 0 auto;
    padding: .58rem .78rem;
}
.modal .modal-header .modal-title {
    margin: 0;
    line-height: 1.12;
}
.modal .modal-header .command-kicker {
    margin-bottom: .08rem;
    font-size: .56rem;
    line-height: 1.1;
}
.modal .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    padding: .68rem .78rem;
    overflow-x: hidden;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
}
.modal .modal-footer {
    gap: .38rem;
}
.modal .modal-footer .btn,
.modal .modal-header .btn {
    padding-top: .34rem;
    padding-bottom: .34rem;
}
.modal .row.g-3 {
    --bs-gutter-x: .72rem;
    --bs-gutter-y: .56rem;
}
.modal .row.g-2 {
    --bs-gutter-x: .56rem;
    --bs-gutter-y: .44rem;
}
.modal :is(.form-label, .command-label) {
    margin-bottom: .2rem;
}
.modal :is(.form-text, .command-help, .text-muted.small) {
    margin-top: .16rem;
    line-height: 1.25;
}
.modal :is(.form-control, .form-select, .command-input, .command-select) {
    min-height: 2.08rem;
    padding-top: .32rem;
    padding-bottom: .32rem;
}
.modal textarea:is(.form-control, .command-input) {
    min-height: 4.76rem !important;
    max-height: 8rem;
    resize: vertical;
}
.modal .ncic-modal-section-title {
    margin-top: .1rem;
    margin-bottom: .42rem;
    padding-bottom: .28rem;
}
.modal .ncic-address-map {
    min-height: 150px !important;
    height: clamp(150px, 21vh, 215px) !important;
}
.modal .ncic-address-results {
    max-height: min(10rem, 24vh);
}
.modal .ncic-social-empty,
.modal .alert {
    padding: .55rem .65rem;
    margin-bottom: .55rem;
}

/* Keep wide NCIC edit forms useful without letting them dominate the screen. */
.ncic-profile-modal .modal-xl {
    --bs-modal-width: min(980px, calc(100vw - 1.5rem));
}
.ncic-profile-modal .modal-lg {
    --bs-modal-width: min(760px, calc(100vw - 1.5rem));
}

@supports not (height: 100dvh) {
    .modal .modal-dialog {
        max-height: calc(100vh - (var(--ops-modal-vgap) * 2));
    }
    .modal .modal-dialog.modal-dialog-centered {
        min-height: calc(100vh - (var(--ops-modal-vgap) * 2));
    }
    .modal .modal-content {
        max-height: calc(100vh - (var(--ops-modal-vgap) * 2));
    }
}

@media (max-width: 575.98px) {
    .modal {
        --ops-modal-vgap: .3rem;
    }
    .modal .modal-dialog {
        width: auto;
        margin-left: .3rem;
        margin-right: .3rem;
    }
    .modal .modal-header,
    .modal .modal-footer {
        padding: .5rem .62rem;
    }
    .modal .modal-body {
        padding: .58rem .62rem;
    }
    .modal .modal-footer {
        flex-wrap: wrap;
    }
    .modal .modal-footer .btn {
        flex: 1 1 auto;
    }
    .modal .ncic-address-map {
        min-height: 135px !important;
        height: 19vh !important;
    }
}

/* 2026-09-08 // NCIC address autocomplete: anchored, compact, theme-safe suggestions */
.ncic-address-search-wrap {
    position: relative;
}
.ncic-address-search-wrap .ncic-address-results {
    position: absolute;
    z-index: 2200;
    top: calc(100% + .2rem);
    right: 0;
    left: 0;
    margin-top: 0;
    max-height: min(18rem, 42vh);
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-paper);
    box-shadow: var(--ops-shadow);
}
.ncic-address-result strong {
    overflow-wrap: anywhere;
}
.ncic-address-result span {
    overflow-wrap: anywhere;
    line-height: 1.35;
}
.modal .ncic-address-search-wrap .ncic-address-results {
    z-index: 2300;
    max-height: min(14rem, 34vh);
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-address-search-wrap .ncic-address-results,
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-address-search-wrap .mission-address-result {
    background: var(--ops-paper) !important;
    color: var(--ops-ink) !important;
    border-color: var(--ops-line) !important;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-address-search-wrap .mission-address-result:hover,
html[data-ops-theme]:not([data-ops-theme="default"]) .ncic-address-search-wrap .mission-address-result:focus-visible {
    background: color-mix(in srgb, var(--ops-action) 14%, var(--ops-paper)) !important;
}


/* NCIC Person profile: no decorative cover; actions occupy the former header band. */
.ncic-person-profile-no-cover .ncic-social-identity {
    align-items:center;
    padding:1rem 1.25rem 1.15rem;
}
.ncic-person-profile-no-cover .ncic-social-avatar-wrap {
    margin-top:0;
}
.ncic-person-action-deck {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.85rem;
    min-height:76px;
    padding:.75rem 1rem;
    border-bottom:1px solid var(--ops-line-dark);
    background:color-mix(in srgb,var(--ops-olive-dark) 72%,var(--ops-paper));
}
.ncic-person-action-deck-left {
    display:flex;
    flex:0 0 auto;
    justify-content:flex-start;
}
.ncic-person-action-deck-buttons {
    display:flex;
    flex:1 1 auto;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:.4rem;
}
.ncic-person-action-deck-left .btn,
.ncic-person-action-deck-buttons .btn {
    min-height:34px;
    padding:.38rem .62rem;
    font-size:.64rem;
}
@media (max-width:991.98px) {
    .ncic-person-action-deck { align-items:center; flex-wrap:wrap; }
    .ncic-person-action-deck-buttons { flex:1 1 28rem; justify-content:flex-end; }
}
@media (max-width:575.98px) {
    .ncic-person-profile-no-cover .ncic-social-identity { grid-template-columns:auto minmax(0,1fr); padding:.85rem; }
    .ncic-person-action-deck { align-items:stretch; padding:.65rem; }
    .ncic-person-action-deck-left { width:100%; }
    .ncic-person-action-deck-left .btn { width:100%; }
    .ncic-person-action-deck-buttons { flex:1 1 100%; justify-content:flex-end; width:100%; }
    .ncic-person-action-deck-buttons .btn { flex:1 1 calc(50% - .4rem); }
}


/* NCIC Person vehicle association modal */
.ncic-vehicle-association-tabs {
    border-bottom:1px solid var(--ops-border, var(--ops-line-dark));
}
.ncic-vehicle-association-tabs .command-btn-outline.active {
    background:var(--ops-action, var(--ops-olive-dark));
    border-color:var(--ops-action, var(--ops-olive-dark));
    color:var(--ops-white);
}
#ncicPersonVehicleModal .tab-pane > form > .modal-footer {
    position:sticky;
    bottom:0;
    z-index:3;
    background:var(--ops-paper);
    border-top:1px solid var(--ops-border, var(--ops-line-dark));
}

/* -------------------------------------------------------------------------
   VAULT // SHARED DOCUMENT MANAGEMENT
   ------------------------------------------------------------------------- */
.vault-panel { overflow:hidden; }
.vault-header { gap:1rem; }
.vault-stat-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.65rem;
}
.vault-stat-grid > div {
    min-width:0;
    padding:.65rem .75rem;
    border:1px solid var(--ops-border,var(--ops-line-dark));
    background:color-mix(in srgb,var(--ops-paper) 88%,var(--ops-action) 12%);
}
.vault-stat-grid span {
    display:block;
    margin-bottom:.18rem;
    font-size:.61rem;
    font-weight:800;
    letter-spacing:.12em;
    color:var(--ops-muted);
}
.vault-stat-grid strong { font-size:.93rem; color:var(--ops-ink); }
.vault-filter-bar {
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(155px,.28fr) minmax(135px,.22fr) auto auto;
    gap:.5rem;
    align-items:center;
}
.vault-table-wrap {
    border:1px solid var(--ops-border,var(--ops-line-dark));
    max-height:62vh;
    overflow:auto;
}
.vault-table { min-width:980px; }
.vault-table thead th {
    position:sticky;
    top:0;
    z-index:2;
    font-size:.61rem;
    letter-spacing:.09em;
    white-space:nowrap;
}
.vault-file-cell { display:flex; align-items:center; gap:.65rem; min-width:230px; }
.vault-file-icon {
    width:34px;
    height:40px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border:1px solid var(--ops-border,var(--ops-line-dark));
    background:var(--ops-action);
    color:var(--ops-white);
    font-size:1rem;
}
.vault-file-cell strong {
    display:block;
    max-width:360px;
    overflow-wrap:anywhere;
    color:var(--ops-ink);
}
.vault-file-cell span,
.vault-description,
.vault-date {
    display:block;
    margin-top:.15rem;
    font-size:.69rem;
    color:var(--ops-muted);
}
.vault-category-badge,
.vault-owner-mark {
    display:inline-block;
    padding:.18rem .34rem;
    border:1px solid var(--ops-border,var(--ops-line-dark));
    font-size:.57rem;
    font-weight:800;
    letter-spacing:.08em;
    color:var(--ops-action-contrast,var(--ops-ink));
    background:color-mix(in srgb,var(--ops-action) 20%,var(--ops-paper) 80%);
}
.vault-owner-mark { display:block; width:max-content; margin-top:.25rem; }
.vault-description { max-width:360px; }
.vault-empty-state > i { display:block; margin-bottom:.65rem; font-size:2rem; color:var(--ops-action); }

/* Vault must remain fully theme-owned; no default ivory/light surfaces leak in. */
body[data-theme]:not([data-theme="default"]) .vault-stat-grid > div,
body[data-theme]:not([data-theme="default"]) .vault-table-wrap,
body[data-theme]:not([data-theme="default"]) .vault-table,
body[data-theme]:not([data-theme="default"]) .vault-table tbody,
body[data-theme]:not([data-theme="default"]) .vault-table tr,
body[data-theme]:not([data-theme="default"]) .vault-empty-state {
    background:var(--ops-paper) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-border,var(--ops-line-dark)) !important;
}
body[data-theme]:not([data-theme="default"]) .vault-table thead th {
    background:var(--ops-sand) !important;
    color:var(--ops-ink) !important;
}

@media (max-width:991.98px) {
    .vault-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .vault-filter-bar { grid-template-columns:1fr 1fr; }
    .vault-filter-bar #vaultSearch { grid-column:1/-1; }
}
@media (max-width:575.98px) {
    .vault-header { align-items:flex-start; flex-direction:column; }
    .vault-header .btn { width:100%; }
    .vault-stat-grid { grid-template-columns:1fr 1fr; }
    .vault-filter-bar { grid-template-columns:1fr; }
    .vault-filter-bar #vaultSearch { grid-column:auto; }
}

/* ===========================================================================
   USER ACCOUNT PROFILE / SETTINGS REDESIGN
   Compact personnel identity dashboard with theme-safe account controls.
   =========================================================================== */
.account-profile-hero,
.account-profile-panel,
.account-settings-hero,
.account-settings-nav,
.account-settings-panel {
    border:1px solid var(--ops-line-dark);
    background:var(--ops-paper);
    color:var(--ops-ink);
    box-shadow:var(--ops-shadow);
    border-radius:var(--ops-panel-radius,0);
}

.account-profile-hero {
    overflow:hidden;
    position:relative;
}
.account-profile-hero::before,
.account-settings-hero::before {
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:5px;
    background:var(--ops-action);
}
.account-profile-hero-grid {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:1.15rem;
    align-items:center;
    padding:1.15rem 1.25rem 1rem 1.5rem;
    background:
        linear-gradient(115deg,color-mix(in srgb,var(--ops-action) 9%,transparent),transparent 48%),
        var(--ops-paper);
}
.account-profile-photo-wrap {
    position:relative;
    width:112px;
    height:112px;
    flex:0 0 auto;
}
.account-profile-photo {
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:2px solid var(--ops-line-dark);
    background:color-mix(in srgb,var(--ops-action) 14%,var(--ops-paper));
    color:var(--ops-olive-dark);
    font-size:2.75rem;
    font-weight:1000;
    clip-path:polygon(8% 0,92% 0,100% 8%,100% 92%,92% 100%,8% 100%,0 92%,0 8%);
}
.account-profile-photo img { width:100%; height:100%; object-fit:cover; }
.account-profile-presence {
    position:absolute;
    right:-3px;
    bottom:8px;
    width:19px;
    height:19px;
    border:4px solid var(--ops-paper);
    border-radius:50%;
    background:var(--ops-muted,#777);
}
.account-profile-presence.is-online { background:var(--ops-green); }
.account-profile-presence.is-offline { background:var(--ops-danger); }
.account-profile-identity { min-width:0; }
.account-profile-eyebrow { display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:.45rem; }
.account-profile-badge {
    display:inline-flex;
    align-items:center;
    gap:.34rem;
    min-height:1.55rem;
    padding:.17rem .48rem;
    border:1px solid var(--ops-line-dark);
    background:color-mix(in srgb,var(--ops-action) 10%,var(--ops-paper));
    color:var(--ops-olive-dark);
    font-size:.51rem;
    font-weight:1000;
    letter-spacing:.085em;
    text-transform:uppercase;
}
.account-profile-status.is-online { color:var(--ops-green); border-color:color-mix(in srgb,var(--ops-green) 55%,var(--ops-line-dark)); }
.account-profile-status.is-offline { color:var(--ops-ink-soft); }
.account-profile-identity h1 {
    margin:0;
    color:var(--ops-ink);
    font-size:clamp(1.65rem,2.5vw,2.5rem);
    font-weight:1000;
    letter-spacing:-.025em;
    line-height:1.03;
}
.account-profile-callsign { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem .75rem; margin-top:.38rem; }
.account-profile-callsign strong { color:var(--ops-olive-dark); font-size:.8rem; letter-spacing:.08em; }
.account-profile-callsign span { color:var(--ops-ink-soft); font-size:.7rem; font-weight:850; }
.account-profile-summary { margin:.58rem 0 0; color:var(--ops-ink-soft); font-size:.71rem; line-height:1.5; }
.account-profile-actions { display:flex; flex-direction:column; align-items:stretch; gap:.45rem; min-width:175px; }
.account-profile-actions .btn { white-space:nowrap; }
.account-profile-statbar {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    border-top:1px solid var(--ops-line);
    background:color-mix(in srgb,var(--ops-header-bg) 66%,var(--ops-paper));
}
.account-profile-stat { min-width:0; padding:.7rem .8rem; }
.account-profile-stat + .account-profile-stat { border-left:1px solid var(--ops-line); }
.account-profile-stat span { display:block; color:var(--ops-ink-soft); font-size:.48rem; font-weight:1000; letter-spacing:.095em; text-transform:uppercase; }
.account-profile-stat strong { display:block; margin-top:.12rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ops-ink); font-size:.72rem; font-weight:1000; }

.account-profile-layout {
    display:grid;
    grid-template-columns:minmax(250px,.82fr) minmax(360px,1.3fr) minmax(250px,.88fr);
    gap:1rem;
    align-items:start;
}
.account-profile-panel { overflow:hidden; min-width:0; }
.account-profile-panel-header,
.account-settings-panel-header {
    min-height:2.75rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.8rem;
    padding:.65rem .8rem;
    border-bottom:1px solid var(--ops-line);
    background:color-mix(in srgb,var(--ops-header-bg) 76%,var(--ops-paper));
}
.account-profile-panel-header > div,
.account-settings-panel-header > div { display:flex; align-items:center; gap:.5rem; color:var(--ops-ink); font-size:.59rem; font-weight:1000; letter-spacing:.08em; }
.account-profile-panel-header i,
.account-settings-panel-header i { color:var(--ops-olive-dark); }
.account-profile-panel-code,
.account-settings-panel-header > span {
    color:var(--ops-ink-soft);
    font-size:.47rem;
    font-weight:1000;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.account-profile-facts { display:grid; }
.account-profile-facts > div {
    display:grid;
    gap:.14rem;
    padding:.68rem .8rem;
    border-bottom:1px solid var(--ops-line);
    background:var(--ops-paper);
}
.account-profile-facts > div:last-child { border-bottom:0; }
.account-profile-facts span,
.account-assignment-grid span,
.account-assignment-label {
    color:var(--ops-ink-soft);
    font-size:.47rem;
    font-weight:1000;
    letter-spacing:.085em;
    text-transform:uppercase;
}
.account-profile-facts strong,
.account-assignment-grid strong { color:var(--ops-ink); font-size:.69rem; font-weight:900; overflow-wrap:anywhere; }
.account-assignment-main { padding:.9rem; }
.account-assignment-rank {
    padding:.9rem 1rem;
    border:1px solid var(--ops-line-dark);
    background:color-mix(in srgb,var(--ops-action) 10%,var(--ops-paper));
}
.account-assignment-rank strong { display:block; margin-top:.2rem; color:var(--ops-olive-dark); font-size:clamp(1.2rem,2vw,1.7rem); font-weight:1000; letter-spacing:.035em; }
.account-assignment-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; margin-top:.65rem; }
.account-assignment-grid > div { min-width:0; padding:.68rem .72rem; border:1px solid var(--ops-line); background:color-mix(in srgb,var(--ops-header-bg) 38%,var(--ops-paper)); }
.account-assignment-grid strong { display:block; margin-top:.14rem; }
.account-profile-panel-action { padding:.7rem .8rem; border-top:1px solid var(--ops-line); background:color-mix(in srgb,var(--ops-header-bg) 48%,var(--ops-paper)); }
.account-profile-signature { min-height:7.5rem; padding:.9rem; white-space:pre-wrap; color:var(--ops-ink); font-family:var(--bs-font-monospace); font-size:.69rem; line-height:1.55; }
.account-profile-empty { padding:1rem; color:var(--ops-ink-soft); font-size:.68rem; }
.account-profile-comms { grid-column:2 / -1; }

/* Account settings */
.account-settings-hero {
    position:relative;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:1rem;
    align-items:center;
    padding:.9rem 1rem .9rem 1.35rem;
    overflow:hidden;
    background:
        linear-gradient(115deg,color-mix(in srgb,var(--ops-action) 8%,transparent),transparent 52%),
        var(--ops-paper);
}
.account-settings-hero-photo {
    width:72px;
    height:72px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:2px solid var(--ops-line-dark);
    border-radius:50%;
    background:color-mix(in srgb,var(--ops-action) 14%,var(--ops-paper));
    color:var(--ops-olive-dark);
    font-size:1.7rem;
    font-weight:1000;
}
.account-settings-hero-photo img { width:100%; height:100%; object-fit:cover; }
.account-settings-kicker { color:var(--ops-ink-soft); font-size:.48rem; font-weight:1000; letter-spacing:.1em; }
.account-settings-hero-copy h1 { margin:.13rem 0 .3rem; color:var(--ops-ink); font-size:clamp(1.3rem,2vw,1.85rem); font-weight:1000; }
.account-settings-hero-meta { display:flex; flex-wrap:wrap; gap:.35rem .9rem; color:var(--ops-ink-soft); font-size:.61rem; font-weight:850; }
.account-settings-hero-meta i { color:var(--ops-olive-dark); margin-right:.18rem; }
.account-settings-hero-actions { display:flex; align-items:center; justify-content:flex-end; gap:.5rem; flex-wrap:wrap; }
.account-settings-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:hidden; }
.account-settings-nav a {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    min-height:3.2rem;
    padding:.6rem .75rem;
    color:var(--ops-ink-soft) !important;
    font-size:.55rem;
    font-weight:1000;
    letter-spacing:.075em;
    text-decoration:none;
}
.account-settings-nav a + a { border-left:1px solid var(--ops-line); }
.account-settings-nav a i { color:var(--ops-olive-dark); }
.account-settings-nav a:hover,
.account-settings-nav a:focus-visible { background:color-mix(in srgb,var(--ops-action) 10%,var(--ops-paper)); color:var(--ops-ink) !important; }
.account-settings-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr); gap:1rem; align-items:start; }
.account-settings-panel { min-width:0; overflow:hidden; }
.account-settings-panel-wide { grid-row:span 2; }
.account-settings-panel-full { grid-column:1 / -1; }
.account-settings-panel-body { padding:1rem; background:var(--ops-paper); }
.account-settings-panel-footer {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.65rem;
    flex-wrap:wrap;
    padding:.65rem .8rem;
    border-top:1px solid var(--ops-line);
    background:color-mix(in srgb,var(--ops-header-bg) 58%,var(--ops-paper));
    color:var(--ops-ink-soft);
    font-size:.53rem;
    font-weight:850;
    letter-spacing:.04em;
}
.account-settings-identity-grid { display:grid; grid-template-columns:180px minmax(0,1fr); gap:1rem; align-items:start; }
.account-settings-photo-block { min-width:0; }
.account-settings-photo-preview {
    width:150px;
    height:180px;
    margin:.35rem 0 .7rem;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid var(--ops-line-dark);
    background:color-mix(in srgb,var(--ops-action) 10%,var(--ops-paper));
    color:var(--ops-olive-dark);
    font-size:3rem;
    font-weight:1000;
    clip-path:polygon(7% 0,93% 0,100% 6%,100% 94%,93% 100%,7% 100%,0 94%,0 6%);
}
.account-settings-photo-preview img { width:100%; height:100%; object-fit:cover; }
.account-settings-signature { min-height:9rem; max-height:15rem; resize:vertical; }








@media (max-width:1199.98px) {
    .account-profile-layout { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .account-profile-account { grid-column:1; }
    .account-profile-comms { grid-column:2; }
    .account-settings-layout { grid-template-columns:1fr; }
    .account-settings-panel-wide,
    .account-settings-panel-full { grid-column:auto; grid-row:auto; }
}
@media (max-width:767.98px) {
    .account-profile-hero-grid { grid-template-columns:auto minmax(0,1fr); }
    .account-profile-actions { grid-column:1 / -1; flex-direction:row; min-width:0; }
    .account-profile-actions .btn { flex:1 1 auto; }
    .account-profile-statbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .account-profile-stat:nth-child(3) { border-left:0; border-top:1px solid var(--ops-line); }
    .account-profile-stat:nth-child(4) { border-top:1px solid var(--ops-line); }
    .account-profile-layout { grid-template-columns:1fr; }
    .account-profile-account,
    .account-profile-comms { grid-column:auto; }
    .account-settings-hero { grid-template-columns:auto minmax(0,1fr); }
    .account-settings-hero-actions { grid-column:1 / -1; }
    .account-settings-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .account-settings-nav a:nth-child(3) { grid-column:1 / -1; border-left:0; border-top:1px solid var(--ops-line); }
    .account-settings-identity-grid { grid-template-columns:1fr; }
    .account-settings-photo-preview { width:130px; height:156px; }
}
@media (max-width:499.98px) {
    .account-profile-hero-grid { grid-template-columns:1fr; }
    .account-profile-photo-wrap { width:96px; height:96px; }
    .account-profile-photo { font-size:2.25rem; }
    .account-profile-actions { flex-direction:column; }
    .account-assignment-grid { grid-template-columns:1fr; }
    .account-settings-hero { grid-template-columns:1fr; }
    .account-settings-hero-photo { width:64px; height:64px; }
    .account-settings-nav { grid-template-columns:1fr; }
    .account-settings-nav a + a { border-left:0; border-top:1px solid var(--ops-line); }
}


/* MCI TRIAGE SELECT — SEMANTIC / THEME-INDEPENDENT
   These rules are intentionally global and do not reference data-ops-theme.
   triage-select.js also applies the selected state as inline !important styles,
   ensuring future themes cannot accidentally recolor clinical triage categories. */
select.triage-select {
    font-weight:900 !important;
    transition:background-color .12s ease,color .12s ease,border-color .12s ease;
}

html body select.triage-select option[value="Green / Minimal"] {
    background-color:var(--triage-green-bg) !important;
    color:var(--triage-dark-text) !important;
}
html body select.triage-select option[value="Yellow / Delayed"] {
    background-color:var(--triage-yellow-bg) !important;
    color:var(--triage-dark-text) !important;
}
html body select.triage-select option[value="Orange / Urgent"] {
    background-color:var(--triage-orange-bg) !important;
    color:var(--triage-dark-text) !important;
}
html body select.triage-select option[value="Red / Immediate"] {
    background-color:var(--triage-red-bg) !important;
    color:var(--triage-dark-text) !important;
}
html body select.triage-select option[value="Black / Deceased"] {
    background-color:var(--triage-black-bg) !important;
    color:var(--triage-light-text) !important;
}

/* Unassigned intentionally inherits the active theme, including themes added later. */
html body select.triage-select option[value="Unassigned / Pending Triage"] {
    background-color:var(--ops-input-bg,var(--ops-paper)) !important;
    color:var(--ops-ink) !important;
}

/* CSS fallback for browsers supporting :has(). Runtime JS is authoritative. */
html body select.triage-select:has(option[value="Green / Minimal"]:checked) {
    background-color:var(--triage-green-bg) !important;
    color:var(--triage-dark-text) !important;
    border-color:var(--triage-dark-border) !important;
}
html body select.triage-select:has(option[value="Yellow / Delayed"]:checked) {
    background-color:var(--triage-yellow-bg) !important;
    color:var(--triage-dark-text) !important;
    border-color:var(--triage-dark-border) !important;
}
html body select.triage-select:has(option[value="Orange / Urgent"]:checked) {
    background-color:var(--triage-orange-bg) !important;
    color:var(--triage-dark-text) !important;
    border-color:var(--triage-dark-border) !important;
}
html body select.triage-select:has(option[value="Red / Immediate"]:checked) {
    background-color:var(--triage-red-bg) !important;
    color:var(--triage-dark-text) !important;
    border-color:var(--triage-dark-border) !important;
}
html body select.triage-select:has(option[value="Black / Deceased"]:checked) {
    background-color:var(--triage-black-bg) !important;
    color:var(--triage-light-text) !important;
    border-color:var(--triage-light-border) !important;
}
html body select.triage-select:has(option[value="Unassigned / Pending Triage"]:checked) {
    background-color:var(--ops-input-bg,var(--ops-paper)) !important;
    color:var(--ops-ink) !important;
    border-color:var(--ops-line-dark,var(--ops-line)) !important;
}

/* Theme-independent Patient Accountability chips. Runtime JS also protects these
   with inline !important styles so dynamically loaded and future-theme content
   keeps the clinical triage palette. */
html body .triage-chip.triage-green { background-color:var(--triage-green-bg) !important; color:var(--triage-dark-text) !important; border-color:var(--triage-dark-border) !important; }
html body .triage-chip.triage-yellow { background-color:var(--triage-yellow-bg) !important; color:var(--triage-dark-text) !important; border-color:var(--triage-dark-border) !important; }
html body .triage-chip.triage-orange { background-color:var(--triage-orange-bg) !important; color:var(--triage-dark-text) !important; border-color:var(--triage-dark-border) !important; }
html body .triage-chip.triage-red { background-color:var(--triage-red-bg) !important; color:var(--triage-dark-text) !important; border-color:var(--triage-dark-border) !important; }
html body .triage-chip.triage-black { background-color:var(--triage-black-bg) !important; color:var(--triage-light-text) !important; border-color:var(--triage-light-border) !important; }
html body .triage-chip.triage-unassigned { background-color:var(--ops-paper) !important; color:var(--ops-ink) !important; border-color:var(--ops-line) !important; }

/* REQUIRED FORM FIELDS — GLOBAL / THEME-INDEPENDENT
   Required fields are a semantic UI state, not a theme decoration. These rules
   intentionally remain outside data-ops-theme selectors so Default, all current
   custom themes, and future themes inherit the same visual contract. */
:root {
    --ops-required-bg:#fff3b0;
    --ops-required-text:#17130a;
    --ops-required-placeholder:#625a35;
    --ops-required-border:#c58a00;
    --ops-required-asterisk:#e21b1b;
}

html body label.ops-required-label::after {
    content:" *";
    color:var(--ops-required-asterisk) !important;
    font-weight:1000 !important;
    font-size:1.05em;
    line-height:1;
    text-shadow:none !important;
}

html body :is(input,select,textarea).ops-required-field:not(.triage-select) {
    background-color:var(--ops-required-bg) !important;
    color:var(--ops-required-text) !important;
    border-color:var(--ops-required-border) !important;
    color-scheme:light !important;
    -webkit-text-fill-color:var(--ops-required-text) !important;
}

html body :is(input,select,textarea).ops-required-field:not(.triage-select)::placeholder {
    color:var(--ops-required-placeholder) !important;
    opacity:1 !important;
}

html body :is(input,select,textarea).ops-required-field:not(.triage-select):focus {
    background-color:var(--ops-required-bg) !important;
    color:var(--ops-required-text) !important;
    border-color:var(--ops-required-asterisk) !important;
    box-shadow:0 0 0 .16rem rgba(226,27,27,.18) !important;
}

html body select.ops-required-field:not(.triage-select) option {
    background:#fff9d6;
    color:var(--ops-required-text);
}

html body input[type="file"].ops-required-field:not(.triage-select)::file-selector-button {
    background:#eadc91 !important;
    color:var(--ops-required-text) !important;
    border-color:var(--ops-required-border) !important;
}

/* The triage field remains clinically color-coded; required status is still
   communicated by the universal red asterisk on its label. */
html body select.triage-select.ops-required-field {
    font-weight:900 !important;
}


/* 2026-09-08 // Emergency resources: 10 Police + 10 Fire + 10 Hospital */
.emergency-resource-groups { display:grid; gap:.8rem; }
.emergency-resource-group { min-width:0; border:1px solid color-mix(in srgb, var(--ops-line) 80%, transparent); background:color-mix(in srgb, var(--ops-paper) 94%, transparent); }
.emergency-resource-group-head { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.48rem .65rem; border-bottom:1px solid var(--ops-line); background:color-mix(in srgb, var(--ops-sand) 82%, transparent); font-size:.62rem; letter-spacing:.07em; }
.emergency-resource-group-head span { opacity:.74; white-space:nowrap; }
.emergency-resource-group .emergency-resource-grid { padding:.55rem; }
.mdt-nearest-resources .emergency-resource-groups { gap:.45rem; padding:.45rem; }
.mdt-nearest-resources .emergency-resource-group { border-color:color-mix(in srgb, var(--ops-line) 70%, transparent); background:transparent; }
.mdt-nearest-resources .emergency-resource-group-head { padding:.38rem .5rem; font-size:.5rem; background:color-mix(in srgb, var(--ops-sand) 72%, transparent); }
.mdt-nearest-resources .emergency-resource-group .emergency-resource-grid { padding:0; }
html[data-ops-theme]:not([data-ops-theme="default"]) .emergency-resource-group,
html[data-ops-theme]:not([data-ops-theme="default"]) .emergency-resource-group-head {
    color:var(--ops-ink) !important;
    border-color:var(--ops-line) !important;
}


/* Emergency resource map targets // semantic across all themes */
.emergency-resource-map-target {
    display: block;
    width: 100%;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}
.emergency-resource-map-target:hover,
.emergency-resource-map-target:focus-visible {
    outline: 2px solid var(--ops-accent, var(--ops-line));
    outline-offset: -2px;
    filter: brightness(1.06);
}
.emergency-resource-map-target:focus-visible {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--ops-accent, #2f80ed) 35%, transparent);
}


/* ================================================================
   INCIDENT LOCATION PULSE + MDT CONTROL ALIGNMENT
   Semantic operational behavior. These rules intentionally sit after all
   theme layers so current and future themes cannot suppress the active-call
   location pulse or regroup the PANIC / quick-status controls.
   ================================================================ */
.ops-map-pin.ops-map-pin-pulse {
    isolation: isolate;
    z-index: 1;
}
.ops-map-pin.ops-map-pin-pulse::before,
.ops-map-pin.ops-map-pin-pulse::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 22px;
    height: 22px;
    border: 3px solid var(--ops-pin-color, #9b1c1c);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transform-origin: center;
    pointer-events: none;
    z-index: -1;
    animation: ops-incident-pin-pulse 1.65s ease-out infinite;
}
.ops-map-pin.ops-map-pin-pulse::after {
    animation-delay: .82s;
}
@keyframes ops-incident-pin-pulse {
    0% { opacity: .9; transform: translate(-50%, -50%) scale(.72); }
    70%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(2.15); }
}
@media (prefers-reduced-motion: reduce) {
    .ops-map-pin.ops-map-pin-pulse::before,
    .ops-map-pin.ops-map-pin-pulse::after {
        animation: none;
        opacity: .6;
        transform: translate(-50%, -50%) scale(1.45);
    }
    .ops-map-pin.ops-map-pin-pulse::after { display: none; }
}

.mdt-top-control-grid {
    display: flex !important;
    align-items: stretch;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
}
#mdtPanicCommandControl {
    flex: 0 0 clamp(9rem, 14vw, 12rem);
    min-width: 0;
}
.mdt-patient-accountability-button {
    flex: 0 0 clamp(12rem, 18vw, 16rem);
    min-width: 12rem;
    display:flex;
    align-items:center;
    justify-content:center;
}
#mdtPanicCommandControl > form { height: 100%; }
.mdt-top-quick-status {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(7rem, 1fr));
    gap: .5rem;
    flex: 1 1 auto;
    width: min(100%, 44rem);
    max-width: 44rem;
    margin-left: auto;
}
.mdt-top-quick-status > form { min-width: 0; height: 100%; }
.mdt-top-quick-status > .mdt-top-control-button,
.mdt-top-quick-status > form > .mdt-top-control-button { height: 100%; }

@media (max-width: 767.98px) {
    .mdt-top-control-grid {
        gap: .5rem;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        padding-bottom: .15rem;
    }
    #mdtPanicCommandControl { flex-basis: 7.2rem; }
    .mdt-patient-accountability-button { flex:0 0 13rem; min-width:13rem; }
    .mdt-top-quick-status {
        flex: 0 0 27rem;
        min-width: 27rem;
        grid-template-columns: repeat(4, minmax(6.25rem, 1fr));
    }
}

/* The legacy commandbar once had a label column. That label was intentionally
   removed, so the remaining control row must span the entire commandbar. */
.mdt-field-commandbar {
    display: block !important;
    width: 100%;
}

/* --------------------------------------------------------------------------
   FULL-VIEWPORT SPLASH // REV 1.04
   Geometry is deliberately theme-agnostic. All appearance derives from the
   shared operational theme tokens, so existing, custom and future themes can
   change palette without needing splash-specific layout overrides.
   -------------------------------------------------------------------------- */
.splash-shell {
    --splash-accent: var(--ops-action, var(--ops-olive-dark));
    --splash-accent-soft: var(--ops-olive-light, var(--ops-line));
    --splash-bg: var(--ops-sand, #f4f6f8);
    --splash-panel: var(--ops-paper, #ffffff);
    --splash-line: var(--ops-line, #c9d2dc);
    --splash-line-strong: var(--ops-line-dark, #7c8da0);
    --splash-text: var(--ops-ink, #1b1f23);
    --splash-muted: var(--ops-ink-soft, #4f5b66);
    position: fixed;
    inset: 0;
    width: 100vw;
    width: 100dvw;
    height: 100vh;
    height: 100dvh;
    min-height: 100vh;
    min-height: 100dvh;
    padding: 0;
    overflow: hidden;
    background: var(--splash-bg);
    color: var(--splash-text);
    isolation: isolate;
}

.splash-shell::before {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(color-mix(in srgb, var(--splash-accent) 7%, transparent) 1px, transparent 1px),
        linear-gradient(90deg, color-mix(in srgb, var(--splash-accent) 7%, transparent) 1px, transparent 1px),
        radial-gradient(circle at 50% 48%, color-mix(in srgb, var(--splash-accent) 10%, transparent), transparent 42%);
    background-size: 32px 32px, 32px 32px, 100% 100%;
    opacity: 1;
}

.splash-shell::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(0deg, color-mix(in srgb, var(--splash-accent) 34%, transparent) 0 1px, transparent 1px calc(100% - 1px), color-mix(in srgb, var(--splash-accent) 34%, transparent) calc(100% - 1px));
    opacity: .58;
}

.splash-shell .command-splash {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    padding: 0;
    border: 0;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    animation: splash-in 500ms ease-out both;
}

.splash-shell .command-splash::before,
.splash-shell .command-splash::after {
    display: none;
}

.splash-topbar,
.splash-footer {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: color-mix(in srgb, var(--splash-panel) 94%, transparent);
    border-color: var(--splash-line-strong);
    backdrop-filter: blur(8px);
}

.splash-topbar {
    min-height: 4.76rem;
    padding: .8rem clamp(1rem, 2.8vw, 2.5rem);
    border-bottom: 1px solid var(--splash-line-strong);
}

.splash-system-id {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .9rem;
}

.splash-system-mark {
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 2.75rem;
    display: grid;
    place-items: center;
    border: 1px solid var(--splash-accent);
    background: color-mix(in srgb, var(--splash-accent) 10%, var(--splash-panel));
    color: var(--splash-accent);
    font-weight: 950;
    font-size: 1.2rem;
    clip-path: polygon(12% 0, 88% 0, 100% 12%, 100% 88%, 88% 100%, 12% 100%, 0 88%, 0 12%);
}

.splash-system-id > div {
    min-width: 0;
    display: grid;
    gap: .1rem;
}

.splash-kicker,
.splash-classification,
.splash-footer,
.splash-eyebrow,
.splash-subtitle,
.splash-status-label,
.splash-loader-meta {
    font-size: clamp(.58rem, .68vw, .72rem);
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.splash-kicker {
    color: var(--splash-muted);
}

.splash-system-id strong {
    overflow: hidden;
    color: var(--splash-text);
    font-size: clamp(.72rem, .9vw, .9rem);
    letter-spacing: .08em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.splash-classification {
    padding: .55rem .75rem;
    border: 1px solid var(--splash-line-strong);
    color: var(--splash-muted);
    white-space: nowrap;
}

.splash-stage {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
}

.splash-core {
    width: min(100%, 76rem);
    min-height: 0;
    margin: auto;
    padding: clamp(1.25rem, 4vh, 3.5rem) clamp(1rem, 5vw, 5rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.splash-emblem {
    position: relative;
    width: clamp(7rem, 12vw, 10rem);
    aspect-ratio: 1;
    margin-bottom: clamp(1rem, 2.5vh, 2rem);
    display: grid;
    place-items: center;
}

.splash-emblem-ring {
    position: absolute;
    inset: 0;
    border: 1px solid color-mix(in srgb, var(--splash-accent) 48%, transparent);
    border-radius: 50%;
    box-shadow:
        inset 0 0 0 .55rem color-mix(in srgb, var(--splash-accent) 5%, transparent),
        0 0 0 1.25rem color-mix(in srgb, var(--splash-accent) 3%, transparent);
}

.splash-emblem-ring::before,
.splash-emblem-ring::after {
    content: "";
    position: absolute;
    background: var(--splash-accent);
    opacity: .72;
}

.splash-emblem-ring::before {
    width: 1px;
    height: 124%;
    left: 50%;
    top: -12%;
}

.splash-emblem-ring::after {
    width: 124%;
    height: 1px;
    top: 50%;
    left: -12%;
}

.splash-emblem-box {
    position: relative;
    z-index: 1;
    width: 58%;
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    border: 2px solid var(--splash-accent);
    background: var(--splash-panel);
    color: var(--splash-accent);
    font-size: clamp(2.1rem, 4.2vw, 3.8rem);
    font-weight: 950;
    box-shadow: inset 0 0 0 .45rem var(--splash-accent-soft);
    clip-path: polygon(13% 0, 87% 0, 100% 13%, 100% 87%, 87% 100%, 13% 100%, 0 87%, 0 13%);
}

.splash-eyebrow {
    margin: 0 0 .4rem;
    color: var(--splash-muted);
}

.splash-title {
    margin: 0;
    color: var(--splash-accent);
    font-size: clamp(3.2rem, 9vw, 8rem);
    font-weight: 950;
    letter-spacing: .055em;
    line-height: .9;
    text-shadow: 0 0 1.8rem color-mix(in srgb, var(--splash-accent) 12%, transparent);
}

.splash-subtitle {
    margin: clamp(.75rem, 2vh, 1.4rem) 0 0;
    color: var(--splash-muted);
}

.splash-subtitle span {
    color: var(--splash-accent);
    margin-inline: .4em;
}

.splash-status-grid {
    width: min(100%, 48rem);
    margin-top: clamp(1.4rem, 4vh, 3.25rem);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid var(--splash-line-strong);
    background: color-mix(in srgb, var(--splash-panel) 82%, transparent);
}

.splash-status-grid > div {
    min-width: 0;
    padding: clamp(.7rem, 1.5vw, 1rem);
    display: grid;
    gap: .25rem;
}

.splash-status-grid > div + div {
    border-left: 1px solid var(--splash-line);
}

.splash-status-label {
    color: var(--splash-muted);
}

.splash-status-grid strong {
    color: var(--splash-text);
    font-size: clamp(.68rem, .9vw, .88rem);
    letter-spacing: .08em;
}

.splash-loader-wrap {
    width: min(100%, 48rem);
    margin-top: clamp(1rem, 2.5vh, 1.75rem);
}

.splash-loader-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .55rem;
    color: var(--splash-muted);
    text-align: left;
}

#splashPercent {
    flex: 0 0 auto;
    color: var(--splash-accent);
    font-variant-numeric: tabular-nums;
}

.splash-shell .splash-progress {
    height: .48rem;
    overflow: hidden;
    border: 1px solid var(--splash-line-strong);
    border-radius: 0;
    background: color-mix(in srgb, var(--splash-accent-soft) 70%, transparent);
}

.splash-shell .splash-progress .progress-bar {
    position: relative;
    background: var(--splash-accent);
    box-shadow: 0 0 .9rem color-mix(in srgb, var(--splash-accent) 45%, transparent);
    transition: none;
}

.splash-shell .splash-progress .progress-bar::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent 0 70%, color-mix(in srgb, var(--ops-white, #fff) 38%, transparent));
}

.splash-footer {
    min-height: 2.85rem;
    padding: .55rem clamp(1rem, 2.8vw, 2.5rem);
    border-top: 1px solid var(--splash-line-strong);
    color: var(--splash-muted);
}

.splash-footer-center {
    color: var(--splash-accent);
}

@media (max-width: 767.98px) {
    .splash-topbar {
        min-height: 4.25rem;
    }
    .splash-classification {
        display: none;
    }
    .splash-core {
        padding-inline: .8rem;
    }
    .splash-footer {
        justify-content: center;
        text-align: center;
    }
    .splash-footer > span:not(.splash-footer-center) {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .splash-system-id strong {
        font-size: .68rem;
    }
    .splash-status-grid {
        grid-template-columns: 1fr;
    }
    .splash-status-grid > div {
        grid-template-columns: 1fr auto;
        align-items: center;
        gap: .75rem;
        padding-block: .55rem;
    }
    .splash-status-grid > div + div {
        border-left: 0;
        border-top: 1px solid var(--splash-line);
    }
    .splash-loader-meta span:first-child {
        max-width: 14rem;
    }
}

@media (max-height: 620px) {
    .splash-topbar {
        min-height: 3.65rem;
        padding-block: .45rem;
    }
    .splash-system-mark {
        width: 2.25rem;
        height: 2.25rem;
        flex-basis: 2.25rem;
    }
    .splash-core {
        padding-block: .6rem;
    }
    .splash-emblem {
        width: 5rem;
        margin-bottom: .65rem;
    }
    .splash-title {
        font-size: clamp(2.7rem, 8vw, 5rem);
    }
    .splash-status-grid {
        margin-top: .85rem;
    }
    .splash-loader-wrap {
        margin-top: .7rem;
    }
    .splash-footer {
        min-height: 2.2rem;
        padding-block: .35rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .splash-shell .command-splash {
        animation: none;
    }
}

/* ================================================================
   CIMS // Citywide Incident Management operational worksheet
   REV 1.05
   ================================================================ */
.cims-doctrine-note {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    border: 1px solid var(--ops-line, #9ea7a0);
    border-left: 4px solid var(--ops-action, #1f5d8f);
    background: color-mix(in srgb, var(--ops-paper, #fff) 92%, var(--ops-action, #1f5d8f) 8%);
    color: var(--ops-ink, #18221d);
    padding: .9rem 1rem;
}
.cims-doctrine-note > i { margin-top: .15rem; color: var(--ops-action, #1f5d8f); }
.cims-doctrine-note strong,
.cims-doctrine-note span { display: block; }
.cims-doctrine-note strong { font: 800 .72rem/1.2 var(--ops-font-mono, ui-monospace, monospace); letter-spacing: .08em; }
.cims-doctrine-note span { margin-top: .25rem; font-size: .84rem; line-height: 1.45; }

.cims-section-index {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 1px;
    border: 1px solid var(--ops-line, #9ea7a0);
    background: var(--ops-line, #9ea7a0);
}
.cims-section-index a {
    display: flex;
    align-items: center;
    gap: .6rem;
    min-height: 48px;
    padding: .6rem .75rem;
    background: var(--ops-paper, #fff);
    color: var(--ops-ink, #18221d);
    text-decoration: none;
    font: 800 .68rem/1.25 var(--ops-font-mono, ui-monospace, monospace);
    letter-spacing: .04em;
    transition: background-color .15s ease, color .15s ease;
}
.cims-section-index a:hover,
.cims-section-index a:focus-visible {
    background: color-mix(in srgb, var(--ops-paper, #fff) 82%, var(--ops-action, #1f5d8f) 18%);
    color: var(--ops-ink, #18221d);
}
.cims-section-index a span {
    display: grid;
    place-items: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border: 1px solid var(--ops-line, #9ea7a0);
    color: var(--ops-action, #1f5d8f);
}

.cims-form-section { scroll-margin-top: 5rem; }
.cims-form-section .command-panel-header { align-items: center; }
.cims-textarea { min-height: 6.5rem; resize: vertical; }
.cims-command-check {
    min-height: 46px;
    padding: .75rem .85rem .75rem 2.6rem;
    border: 1px solid var(--ops-line, #9ea7a0);
    background: color-mix(in srgb, var(--ops-paper, #fff) 96%, var(--ops-action, #1f5d8f) 4%);
}
.cims-command-check .form-check-input { margin-top: .15rem; }
.cims-command-check .command-label { margin: 0; }
.cims-form-actions { position: sticky; bottom: 0; z-index: 20; background: var(--ops-paper, #fff); border-top: 2px solid var(--ops-action, #1f5d8f); padding: .85rem 1rem; }

.cims-summary-grid,
.cims-record-banner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid var(--ops-line, #9ea7a0);
    background: var(--ops-line, #9ea7a0);
    gap: 1px;
}
.cims-summary-cell,
.cims-record-banner > div {
    background: var(--ops-paper, #fff);
    padding: .8rem 1rem;
    min-width: 0;
}
.cims-summary-cell span,
.cims-record-banner span {
    display: block;
    color: var(--ops-muted, #5f6b64);
    font: 800 .64rem/1.25 var(--ops-font-mono, ui-monospace, monospace);
    letter-spacing: .08em;
}
.cims-summary-cell strong {
    display: block;
    margin-top: .25rem;
    color: var(--ops-action, #1f5d8f);
    font-size: 1.35rem;
}
.cims-record-banner strong {
    display: block;
    margin-top: .3rem;
    overflow-wrap: anywhere;
    font-size: .86rem;
    line-height: 1.35;
}
.cims-record-table td small { color: var(--ops-muted, #5f6b64); }
.cims-status {
    display: inline-block;
    border: 1px solid var(--ops-line, #9ea7a0);
    padding: .3rem .45rem;
    font: 800 .66rem/1 var(--ops-font-mono, ui-monospace, monospace);
    letter-spacing: .05em;
    white-space: nowrap;
}
.cims-status-active { border-color: var(--ops-action, #1f5d8f); color: var(--ops-action, #1f5d8f); }
.cims-status-recovery { border-color: var(--ops-warning, #9a6a00); color: var(--ops-warning, #9a6a00); }
.cims-status-closed { opacity: .7; }
.cims-empty-state {
    display: grid;
    justify-items: center;
    gap: .5rem;
    padding: 3.5rem 1rem;
    text-align: center;
    color: var(--ops-muted, #5f6b64);
}
.cims-empty-state i { color: var(--ops-action, #1f5d8f); font-size: 2rem; }
.cims-empty-state strong { color: var(--ops-ink, #18221d); letter-spacing: .08em; }
.cims-empty-state span { max-width: 680px; font-size: .88rem; }

.cims-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    background: var(--ops-line, #9ea7a0);
    gap: 1px;
}
.cims-detail-field {
    min-width: 0;
    background: var(--ops-paper, #fff);
    padding: .85rem 1rem;
}
.cims-detail-field.is-wide { grid-column: 1 / -1; }
.cims-detail-field > span {
    display: block;
    margin-bottom: .3rem;
    color: var(--ops-muted, #5f6b64);
    font: 800 .64rem/1.25 var(--ops-font-mono, ui-monospace, monospace);
    letter-spacing: .06em;
    text-transform: uppercase;
}
.cims-detail-field > div {
    color: var(--ops-ink, #18221d);
    font-size: .86rem;
    line-height: 1.48;
    overflow-wrap: anywhere;
}
.cims-prewrap { white-space: pre-wrap; }

@media (max-width: 767.98px) {
    .cims-summary-grid,
    .cims-record-banner,
    .cims-detail-grid { grid-template-columns: 1fr; }
    .cims-detail-field.is-wide { grid-column: auto; }
    .cims-section-index { grid-template-columns: 1fr 1fr; }
    .cims-section-index a { min-height: 44px; font-size: .62rem; }
    .cims-form-actions { position: static; }
}

@media (max-width: 479.98px) {
    .cims-section-index { grid-template-columns: 1fr; }
}

@media print {
    .cims-no-print,
    .cims-detail-page ~ .ops-footer,
    .cims-detail-page .ops-footer,
    .cims-detail-page .cims-no-print,
    .ops-navbar,
    .ops-classification-bar { display: none !important; }
    .cims-detail-page { padding: 0 !important; }
    .cims-detail-section { break-inside: avoid; box-shadow: none !important; }
    .cims-detail-field,
    .cims-record-banner > div { background: #fff !important; color: #000 !important; }
}

/* ================================================================
   NIMS // National Incident Management System operational worksheet
   REV 1.06
   ================================================================ */
.nims-doctrine-note {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    border: 1px solid var(--ops-line, #9ea7a0);
    border-left: 4px solid var(--ops-action, #1f5d8f);
    background: color-mix(in srgb, var(--ops-paper, #fff) 92%, var(--ops-action, #1f5d8f) 8%);
    color: var(--ops-ink, #18221d);
    padding: .9rem 1rem;
}
.nims-doctrine-note > i { margin-top: .15rem; color: var(--ops-action, #1f5d8f); }
.nims-doctrine-note strong,
.nims-doctrine-note span { display: block; }
.nims-doctrine-note strong { font: 800 .72rem/1.2 var(--ops-font-mono, ui-monospace, monospace); letter-spacing: .08em; }
.nims-doctrine-note span { margin-top: .25rem; font-size: .84rem; line-height: 1.45; }

.nims-section-index {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 1px;
    border: 1px solid var(--ops-line, #9ea7a0);
    background: var(--ops-line, #9ea7a0);
}
.nims-section-index a {
    display: flex;
    align-items: center;
    gap: .6rem;
    min-height: 48px;
    padding: .6rem .75rem;
    background: var(--ops-paper, #fff);
    color: var(--ops-ink, #18221d);
    text-decoration: none;
    font: 800 .68rem/1.25 var(--ops-font-mono, ui-monospace, monospace);
    letter-spacing: .04em;
    transition: background-color .15s ease, color .15s ease;
}
.nims-section-index a:hover,
.nims-section-index a:focus-visible {
    background: color-mix(in srgb, var(--ops-paper, #fff) 82%, var(--ops-action, #1f5d8f) 18%);
    color: var(--ops-ink, #18221d);
}
.nims-section-index a span {
    display: grid;
    place-items: center;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border: 1px solid var(--ops-line, #9ea7a0);
    color: var(--ops-action, #1f5d8f);
}

.nims-form-section { scroll-margin-top: 5rem; }
.nims-form-section .command-panel-header { align-items: center; }
.nims-textarea { min-height: 6.5rem; resize: vertical; }
.nims-command-check {
    min-height: 46px;
    padding: .75rem .85rem .75rem 2.6rem;
    border: 1px solid var(--ops-line, #9ea7a0);
    background: color-mix(in srgb, var(--ops-paper, #fff) 96%, var(--ops-action, #1f5d8f) 4%);
}
.nims-command-check .form-check-input { margin-top: .15rem; }
.nims-command-check .command-label { margin: 0; }
.nims-form-actions { position: sticky; bottom: 0; z-index: 20; background: var(--ops-paper, #fff); border-top: 2px solid var(--ops-action, #1f5d8f); padding: .85rem 1rem; }

.nims-summary-grid,
.nims-record-banner {
    display: grid;
    border: 1px solid var(--ops-line, #9ea7a0);
    background: var(--ops-line, #9ea7a0);
    gap: 1px;
}
.nims-summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nims-record-banner { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.nims-summary-cell,
.nims-record-banner > div {
    background: var(--ops-paper, #fff);
    padding: .8rem 1rem;
    min-width: 0;
}
.nims-summary-cell span,
.nims-record-banner span {
    display: block;
    color: var(--ops-muted, #5f6b64);
    font: 800 .64rem/1.25 var(--ops-font-mono, ui-monospace, monospace);
    letter-spacing: .08em;
}
.nims-summary-cell strong {
    display: block;
    margin-top: .25rem;
    color: var(--ops-action, #1f5d8f);
    font-size: 1.35rem;
}
.nims-record-banner strong {
    display: block;
    margin-top: .3rem;
    overflow-wrap: anywhere;
    font-size: .86rem;
    line-height: 1.35;
}
.nims-record-table td small { color: var(--ops-muted, #5f6b64); }
.nims-status {
    display: inline-block;
    border: 1px solid var(--ops-line, #9ea7a0);
    padding: .3rem .45rem;
    font: 800 .66rem/1 var(--ops-font-mono, ui-monospace, monospace);
    letter-spacing: .05em;
    white-space: nowrap;
}
.nims-status-active { border-color: var(--ops-action, #1f5d8f); color: var(--ops-action, #1f5d8f); }
.nims-status-recovery { border-color: var(--ops-warning, #9a6a00); color: var(--ops-warning, #9a6a00); }
.nims-status-closed { opacity: .7; }
.nims-empty-state {
    display: grid;
    justify-items: center;
    gap: .5rem;
    padding: 3.5rem 1rem;
    text-align: center;
    color: var(--ops-muted, #5f6b64);
}
.nims-empty-state i { color: var(--ops-action, #1f5d8f); font-size: 2rem; }
.nims-empty-state strong { color: var(--ops-ink, #18221d); letter-spacing: .08em; }
.nims-empty-state span { max-width: 680px; font-size: .88rem; }

.nims-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    background: var(--ops-line, #9ea7a0);
    gap: 1px;
}
.nims-detail-field {
    min-width: 0;
    background: var(--ops-paper, #fff);
    padding: .85rem 1rem;
}
.nims-detail-field.is-wide { grid-column: 1 / -1; }
.nims-detail-field > span {
    display: block;
    margin-bottom: .3rem;
    color: var(--ops-muted, #5f6b64);
    font: 800 .64rem/1.25 var(--ops-font-mono, ui-monospace, monospace);
    letter-spacing: .06em;
    text-transform: uppercase;
}
.nims-detail-field > div {
    color: var(--ops-ink, #18221d);
    font-size: .86rem;
    line-height: 1.48;
    overflow-wrap: anywhere;
}
.nims-prewrap { white-space: pre-wrap; }

@media (max-width: 991.98px) {
    .nims-record-banner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .nims-summary-grid,
    .nims-record-banner,
    .nims-detail-grid { grid-template-columns: 1fr; }
    .nims-detail-field.is-wide { grid-column: auto; }
    .nims-section-index { grid-template-columns: 1fr 1fr; }
    .nims-section-index a { min-height: 44px; font-size: .62rem; }
    .nims-form-actions { position: static; }
}

@media (max-width: 479.98px) {
    .nims-section-index { grid-template-columns: 1fr; }
}

@media print {
    .nims-no-print,
    .nims-detail-page ~ .ops-footer,
    .nims-detail-page .ops-footer,
    .nims-detail-page .nims-no-print,
    .ops-navbar,
    .ops-classification-bar { display: none !important; }
    .nims-detail-page { padding: 0 !important; }
    .nims-detail-section { break-inside: avoid; box-shadow: none !important; }
    .nims-detail-field,
    .nims-record-banner > div { background: #fff !important; color: #000 !important; }
}

/* ================================================================
   GLOBAL COMPACT FORM DENSITY // REV 1.10
   Applies to every application form regardless of active theme.
   Keep this block after module/theme rules so existing and future forms
   inherit the same compact operational density by default.
   ================================================================ */
:root {
    --ops-form-control-min-height: 2.12rem;
    --ops-form-control-padding-y: .28rem;
    --ops-form-control-padding-x: .48rem;
    --ops-form-control-font-size: .75rem;
    --ops-form-label-font-size: .59rem;
    --ops-form-help-font-size: .59rem;
    --ops-form-textarea-min-height: 4.2rem;
    --ops-form-multiselect-min-height: 7rem;
    --ops-form-action-min-height: 2.08rem;
}

/* Labels, field help, and validation feedback. */
html body form :is(.form-label, .command-label) {
    margin-bottom: .18rem;
    font-size: var(--ops-form-label-font-size);
    line-height: 1.15;
    letter-spacing: .09em;
}
html body form :is(.form-text, .command-help, .admin-field-note, .mission-address-status) {
    margin-top: .12rem;
    font-size: var(--ops-form-help-font-size);
    line-height: 1.25;
}
html body form :is(.admin-form-error, .invalid-feedback, .valid-feedback) {
    margin-top: .12rem;
    font-size: .59rem;
    line-height: 1.2;
}

/* Standard text/date/file/select controls.  Theme color rules remain intact. */
html body form :is(
    .form-control,
    .form-select,
    .command-input,
    .command-select,
    .input-group-text,
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]),
    select
) {
    min-height: var(--ops-form-control-min-height) !important;
    padding-top: var(--ops-form-control-padding-y) !important;
    padding-bottom: var(--ops-form-control-padding-y) !important;
    padding-left: var(--ops-form-control-padding-x);
    padding-right: var(--ops-form-control-padding-x);
    font-size: var(--ops-form-control-font-size);
    line-height: 1.2;
}
html body form .form-select,
html body form select {
    padding-right: 1.75rem;
    background-position: right .48rem center;
    background-size: 12px 9px;
}
html body form input[type="file"] {
    padding-top: .18rem !important;
    padding-bottom: .18rem !important;
}
html body form input[type="file"]::file-selector-button {
    margin-top: -.18rem;
    margin-bottom: -.18rem;
    margin-left: calc(var(--ops-form-control-padding-x) * -1);
    padding: .34rem .55rem;
    font-size: .62rem;
    line-height: 1.15;
}

/* Text areas remain resizable but start substantially shorter. */
html body form textarea,
html body form textarea.form-control,
html body form textarea.command-input,
html body form :is(.mission-textarea, .mission-textarea-sm, .cims-textarea, .nims-textarea, .account-settings-signature) {
    min-height: var(--ops-form-textarea-min-height) !important;
    padding: .38rem .48rem !important;
    line-height: 1.3;
    resize: vertical;
}
html body form textarea[rows="1"] { min-height: var(--ops-form-control-min-height) !important; }
html body form textarea[rows="2"] { min-height: 3.15rem !important; }

/* Deliberately tall multi-select assignment controls are compacted too. */
html body form select[multiple],
html body form :is(.mission-assignee-select, .dispatch-assignee-select, .training-assignee-select) {
    min-height: var(--ops-form-multiselect-min-height) !important;
    max-height: 9rem;
    padding-right: .35rem;
    background-image: none;
}

/* Checkbox/radio blocks. */
html body form .form-check {
    min-height: 0;
    margin-bottom: .28rem;
    padding-left: 1.35rem;
}
html body form .form-check-input {
    width: .9rem;
    height: .9rem;
    margin-top: .12rem;
    margin-left: 0;
    float: none;
}
/* REV5.26 | Platform-wide checkbox/radio alignment
   Bootstrap's negative checkbox offset belongs only to a real .form-check
   wrapper.  Custom flex/grid checkbox rows must stay in normal document flow. */
html body form .form-check > .form-check-input {
    margin-left: -1.35rem;
    float: left;
}
html body form :is(
    .multi-check-option,
    .ops-check-item,
    .training-answer-option
) > :is(.form-check-input, input[type="checkbox"], input[type="radio"]) {
    margin-left: 0 !important;
    padding: 0 !important;
    float: none !important;
    flex: 0 0 auto;
}
html body form .form-check-label {
    font-size: .66rem;
    line-height: 1.2;
}
html body form :is(.cims-command-check, .nims-command-check) {
    min-height: 0 !important;
    padding: .42rem .5rem .42rem 1.8rem !important;
}
html body form :is(.cims-command-check, .nims-command-check) .form-check-input {
    margin-left: -1.25rem;
}

/* Bootstrap grid/utilities are tightened only when they live inside a form. */
html body form .row.g-4 { --bs-gutter-x: .7rem; --bs-gutter-y: .62rem; }
html body form .row.g-3 { --bs-gutter-x: .58rem; --bs-gutter-y: .46rem; }
html body form .row.g-2 { --bs-gutter-x: .48rem; --bs-gutter-y: .36rem; }
html body form .row.g-1 { --bs-gutter-x: .34rem; --bs-gutter-y: .26rem; }
html body form .gap-4 { gap: .7rem !important; }
html body form .gap-3 { gap: .55rem !important; }
html body form .gap-2 { gap: .4rem !important; }
html body form .mb-4 { margin-bottom: .75rem !important; }
html body form .mb-3 { margin-bottom: .55rem !important; }
html body form .mb-2 { margin-bottom: .38rem !important; }
html body form .mt-4 { margin-top: .75rem !important; }
html body form .mt-3 { margin-top: .55rem !important; }
html body form .mt-2 { margin-top: .38rem !important; }

/* Form-contained operational panels use denser headers/bodies without changing
   panel geometry elsewhere in the application. */
html body form .command-panel-header {
    gap: .55rem;
    padding: .55rem .72rem;
}
html body form .command-panel-header .command-kicker {
    font-size: .54rem;
}
html body form .command-panel-header :is(.h4, .h5, .h6, .command-heading) {
    font-size: .88rem;
    line-height: 1.15;
}
html body form .command-panel-body.p-3,
html body form .command-panel-body.p-4,
html body form.p-3,
html body form.p-4 {
    padding: .65rem !important;
}
@media (min-width: 768px) {
    html body form .command-panel-body.p-md-3,
    html body form .command-panel-body.p-md-4 {
        padding: .68rem !important;
    }
}
@media (min-width: 992px) {
    html body form.p-lg-3,
    html body form.p-lg-4 {
        padding: .7rem !important;
    }
}

/* Custom form containers and sticky action bars. */
html body form :is(.account-settings-panel-body, .compose-body, .admin-form-body) {
    padding: .65rem !important;
}
html body form :is(.mission-form-actions, .cims-form-actions, .nims-form-actions, .admin-form-footer, .account-settings-panel-footer, .compose-footer) {
    gap: .4rem;
    padding: .5rem .65rem !important;
}

/* Buttons are compact only in form workflows; global navigation/actions keep
   their established sizing. */
html body form .btn:not(.btn-close),
html body form :is(input[type="submit"], button[type="submit"], button[type="reset"]) {
    min-height: var(--ops-form-action-min-height) !important;
    padding: .32rem .55rem !important;
    font-size: .58rem !important;
    line-height: 1.1;
}
html body form .input-group > .btn {
    min-height: var(--ops-form-control-min-height) !important;
}

/* Keep modal forms aligned with the same density contract. */
html body .modal form :is(.form-control, .form-select, .command-input, .command-select) {
    min-height: var(--ops-form-control-min-height) !important;
}
html body .modal form textarea:is(.form-control, .command-input) {
    min-height: var(--ops-form-textarea-min-height) !important;
    max-height: 8rem;
}

/* REV1.11 — Messages: full-height New Message composer body */
html body form.compose-panel .compose-fields {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
}

html body form.compose-panel .compose-field-row {
    flex: 0 0 auto;
}

html body form.compose-panel .compose-body-wrap {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
}

html body form.compose-panel textarea.compose-body {
    width: 100%;
    height: 100%;
    min-height: 100% !important;
    flex: 1 1 auto;
    resize: none;
}

@media (max-width: 767.98px) {
    html body form.compose-panel .compose-body-wrap {
        min-height: 20rem;
    }
}

/* REV1.12 // eCAD + MDT authenticated live unit GPS telemetry */
.ecad-unit-map {
    height: clamp(18rem, 34vh, 28rem);
    width: 100%;
    background: var(--ops-paper, #dbe2e8);
    border-bottom: 1px solid var(--ops-line, #bcc7d1);
}
.ecad-gps-status,
.mdt-gps-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .48rem .65rem;
    background: var(--ops-paper, #eef2f5);
    border-bottom: 1px solid var(--ops-line, #c9d2dc);
    color: var(--ops-ink-soft, #5f6c78);
    font-size: .52rem;
    font-weight: 900;
    letter-spacing: .065em;
    line-height: 1.35;
    text-transform: uppercase;
}
.ecad-gps-status { display: block; }
.mdt-gps-strip strong {
    color: var(--ops-ink, #202a34);
    white-space: nowrap;
}
.ecad-unit-map .maplibregl-ctrl-attrib { font-size: .58rem; }
@media (max-width: 767.98px) {
    .ecad-unit-map { height: 20rem; }
    .mdt-gps-strip { flex-wrap: wrap; }
}

/* REV1.13 // Live member GPS red/blue flashing pulse beacon.
   This is a semantic operational marker, intentionally theme-independent so
   Default, custom, and future themes cannot suppress the live GPS indication. */
.ops-map-pin.ops-map-pin-beacon {
    isolation: isolate;
    z-index: 2;
    background: #c9152f;
    animation: ops-unit-gps-beacon-core 1s steps(1, end) infinite;
}
.ops-map-pin.ops-map-pin-beacon::before,
.ops-map-pin.ops-map-pin-beacon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 22px;
    height: 22px;
    border: 3px solid #c9152f;
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(.72);
    transform-origin: center;
    pointer-events: none;
    z-index: -1;
    animation: ops-unit-gps-beacon-ring 1.6s ease-out infinite;
}
.ops-map-pin.ops-map-pin-beacon::after {
    animation-delay: .8s;
}
.ops-map-pin.ops-map-pin-beacon > i {
    box-shadow: 0 0 0 1px rgba(0,0,0,.18);
}
@keyframes ops-unit-gps-beacon-core {
    0%, 49.999% {
        background: #c9152f;
        box-shadow: 0 0 0 2px rgba(201,21,47,.25), 0 0 12px rgba(201,21,47,.78), 0 1px 4px rgba(0,0,0,.4);
    }
    50%, 100% {
        background: #1558c9;
        box-shadow: 0 0 0 2px rgba(21,88,201,.25), 0 0 12px rgba(21,88,201,.78), 0 1px 4px rgba(0,0,0,.4);
    }
}
@keyframes ops-unit-gps-beacon-ring {
    0% {
        opacity: .95;
        border-color: #c9152f;
        box-shadow: 0 0 8px rgba(201,21,47,.45);
        transform: translate(-50%, -50%) scale(.72);
    }
    48% {
        border-color: #c9152f;
    }
    50% {
        border-color: #1558c9;
        box-shadow: 0 0 8px rgba(21,88,201,.45);
    }
    72%, 100% {
        opacity: 0;
        border-color: #1558c9;
        transform: translate(-50%, -50%) scale(2.35);
    }
}
@media (prefers-reduced-motion: reduce) {
    .ops-map-pin.ops-map-pin-beacon {
        animation: none;
        background: linear-gradient(135deg, #c9152f 0 50%, #1558c9 50% 100%);
        box-shadow: 0 0 0 2px rgba(255,255,255,.24), 0 1px 4px rgba(0,0,0,.4);
    }
    .ops-map-pin.ops-map-pin-beacon::before,
    .ops-map-pin.ops-map-pin-beacon::after {
        animation: none;
        border-color: #c9152f #1558c9 #1558c9 #c9152f;
        opacity: .6;
        transform: translate(-50%, -50%) scale(1.45);
    }
    .ops-map-pin.ops-map-pin-beacon::after { display: none; }
}


/* REV1.27 // PANIC GPS emergency beacon.
   Only the member who initiated an active PANIC receives this rapid red-only
   signal. All other live member pins continue using the normal red/blue beacon.
   Clearing PANIC removes .ops-map-pin-panic on the next real-time feed refresh. */
.ops-map-pin.ops-map-pin-beacon.ops-map-pin-panic {
    background: #e0001b;
    animation: ops-unit-gps-panic-core .34s ease-in-out infinite alternate;
    box-shadow: 0 0 0 2px rgba(224,0,27,.38), 0 0 16px rgba(224,0,27,.95), 0 1px 4px rgba(0,0,0,.45);
}
.ops-map-pin.ops-map-pin-beacon.ops-map-pin-panic::before,
.ops-map-pin.ops-map-pin-beacon.ops-map-pin-panic::after {
    border-color: #e0001b;
    box-shadow: 0 0 10px rgba(224,0,27,.65);
    animation: ops-unit-gps-panic-ring .72s ease-out infinite;
}
.ops-map-pin.ops-map-pin-beacon.ops-map-pin-panic::after {
    animation-delay: .24s;
}
@keyframes ops-unit-gps-panic-core {
    0% {
        background: #a90014;
        transform: scale(.9);
        box-shadow: 0 0 0 1px rgba(224,0,27,.25), 0 0 7px rgba(224,0,27,.72), 0 1px 4px rgba(0,0,0,.45);
    }
    100% {
        background: #ff1733;
        transform: scale(1.16);
        box-shadow: 0 0 0 4px rgba(224,0,27,.38), 0 0 22px rgba(255,23,51,1), 0 1px 4px rgba(0,0,0,.45);
    }
}
@keyframes ops-unit-gps-panic-ring {
    0% {
        opacity: 1;
        border-color: #ff1733;
        transform: translate(-50%, -50%) scale(.62);
    }
    100% {
        opacity: 0;
        border-color: #e0001b;
        transform: translate(-50%, -50%) scale(2.7);
    }
}
@media (prefers-reduced-motion: reduce) {
    .ops-map-pin.ops-map-pin-beacon.ops-map-pin-panic {
        animation: none;
        background: #e0001b;
        transform: none;
        box-shadow: 0 0 0 4px rgba(224,0,27,.35), 0 0 16px rgba(224,0,27,.85), 0 1px 4px rgba(0,0,0,.45);
    }
    .ops-map-pin.ops-map-pin-beacon.ops-map-pin-panic::before,
    .ops-map-pin.ops-map-pin-beacon.ops-map-pin-panic::after {
        animation: none;
        border-color: #e0001b;
        opacity: .75;
        transform: translate(-50%, -50%) scale(1.55);
    }
    .ops-map-pin.ops-map-pin-beacon.ops-map-pin-panic::after { display: none; }
}


/* REV3.01 // Incident Operations layout + availability/version consistency */
.incident-ops-page .command-panel-body:not(.p-0) {
    padding: .85rem 1rem;
}
@media (min-width: 768px) {
    .incident-ops-page .command-panel-body:not(.p-0) {
        padding: 1rem 1.1rem;
    }
}
.incident-ops-page form > .row:first-of-type {
    margin-top: 0;
}
.incident-ops-page form > .btn:last-child,
.incident-ops-page form > button:last-child {
    margin-bottom: 0;
}

.splash-version {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.7rem;
    margin: .35rem auto .2rem;
    padding: .22rem .62rem;
    border: 1px solid var(--ops-line-dark, #7c8da0);
    background: color-mix(in srgb, var(--ops-paper, #f7f9fb) 82%, transparent);
    color: var(--ops-ink-soft, #5f6c78);
    font-size: .58rem;
    font-weight: 1000;
    letter-spacing: .14em;
    line-height: 1;
    text-transform: uppercase;
}

/* Directory cards now carry account state plus live operational availability. */
.directory-id-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.directory-id-fields > span:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

/* ========================================================================== */
/* REV4 // OPERATIONAL EXPANSION                                               */
/* ========================================================================== */
.incident-ops-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--ops-line,#b8c3cd);padding:0 0 .85rem}
.incident-ops-page .command-panel-body.incident-ops-form-body{padding:1rem 1.1rem!important}
.incident-ops-page .incident-ops-form-body label{display:block;margin-bottom:.2rem;font-size:.7rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:var(--ops-muted,#5f6c78)}
.incident-ops-page .ops-large-textarea{min-height:9rem!important}
.ops-timeline{display:grid;gap:.75rem}.ops-timeline-event{display:grid;grid-template-columns:minmax(130px,180px) 1fr;gap:1rem;border-left:3px solid var(--ops-action,#526439);padding:.65rem .8rem;background:color-mix(in srgb,var(--ops-paper,#fff) 94%,var(--ops-action,#526439) 6%)}.ops-timeline-event time{font-size:.72rem;font-weight:800}.ops-timeline-event small{display:block;font-size:.68rem;letter-spacing:.07em;text-transform:uppercase}.ops-timeline-event p{margin:.35rem 0 0;white-space:pre-wrap}
.ops-weather-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.55rem}.ops-weather-period,.ops-alert-card,.ops-degraded-entry{border:1px solid var(--ops-line,#b8c3cd);padding:.7rem;background:var(--ops-paper,#fff)}.ops-weather-period strong,.ops-weather-period span,.ops-weather-period small{display:block}.ops-weather-period span{font-size:1.25rem;font-weight:800}.ops-alert-card{border-left:4px solid #9b1c1c;margin-bottom:.5rem}.ops-alert-card>span{float:right;font-size:.7rem;font-weight:800;text-transform:uppercase}.ops-alert-card p{margin:.35rem 0 0}.ops-status-note{border:1px dashed var(--ops-line,#b8c3cd);padding:.65rem;font-size:.75rem;font-weight:800;letter-spacing:.06em}
.ops-checklist-stack{display:grid;gap:.45rem}.ops-check-item{display:flex!important;gap:.65rem;align-items:flex-start;border:1px solid var(--ops-line,#b8c3cd);padding:.65rem!important;background:var(--ops-paper,#fff);font-size:.86rem!important;letter-spacing:0!important;text-transform:none!important}.ops-check-item .form-check-input{margin-top:.12rem}
.ops-cop-map{height:min(72vh,760px);min-height:480px;border:1px solid var(--ops-line,#b8c3cd)}.cop-layer-bar{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}.cop-div-icon span{display:block;width:20px;height:20px;border:3px solid #fff;border-radius:50%;background:var(--cop-color);box-shadow:0 0 0 2px var(--cop-color),0 2px 8px rgba(0,0,0,.35)}
.mobile-mdt-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.mobile-mdt-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.55rem}.mobile-mdt-actions .btn{min-height:3.2rem;display:flex;align-items:center;justify-content:center;gap:.45rem}.mobile-mdt-call h2{font-size:1.25rem;margin:.3rem 0}.mobile-mdt-priority{font-weight:900;letter-spacing:.08em}.mobile-mdt-location{font-size:1rem;font-weight:800}.mobile-mdt-meta{display:flex;flex-wrap:wrap;gap:.5rem}.mobile-mdt-meta span{border:1px solid var(--ops-line,#b8c3cd);padding:.3rem .5rem;font-size:.72rem;font-weight:800}.mobile-mdt-hazard{margin-top:.65rem;padding:.55rem;border:2px solid #b42318;background:rgba(180,35,24,.1);font-weight:900}.mobile-mdt-no-call{min-height:180px;display:grid;place-content:center;text-align:center}.mobile-mdt-no-call strong{font-size:1.15rem}.mobile-mdt-no-call span{display:block;margin-top:.35rem}
html[data-network-state="offline"] .ops-navbar::after{content:"OFFLINE / DEGRADED";position:fixed;right:.5rem;bottom:.5rem;z-index:2000;background:#9b1c1c;color:#fff;padding:.35rem .55rem;font-size:.68rem;font-weight:900;letter-spacing:.08em}
@media(max-width:767.98px){.incident-ops-hero{align-items:flex-start;flex-direction:column}.ops-timeline-event{grid-template-columns:1fr}.ops-cop-map{min-height:58vh}.incident-ops-page .command-panel-body.incident-ops-form-body{padding:.75rem!important}.ops-mobile-mdt .ops-navbar{position:sticky;top:0;z-index:1050}.mobile-mdt-actions{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.mobile-mdt-actions{grid-template-columns:1fr}.ops-cop-map{min-height:62vh}}


/* =====================================================================
   REV4.04 // DASHBOARD, SPLASH, AND LOGIN REDESIGN
   ===================================================================== */
.auth-shell-redesign {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--ops-action) 14%, transparent), transparent 30%),
        radial-gradient(circle at bottom right, color-mix(in srgb, var(--ops-olive-dark) 18%, transparent), transparent 32%),
        linear-gradient(135deg, color-mix(in srgb, var(--ops-paper) 94%, transparent), color-mix(in srgb, var(--ops-sand) 88%, transparent));
}
.auth-shell-redesign::after {
    content:"";
    position:absolute;
    inset:1rem;
    border:1px solid color-mix(in srgb, var(--ops-line-dark) 40%, transparent);
    pointer-events:none;
}
.auth-layout-container { position: relative; z-index: 1; }
.auth-brief-panel {
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:1.5rem;
    min-height:100%;
    padding:clamp(1.5rem, 2.2vw, 2.5rem);
    border-radius:1.6rem;
    border:1px solid color-mix(in srgb, var(--ops-line-dark) 38%, transparent);
    background:linear-gradient(180deg, color-mix(in srgb, var(--ops-paper) 96%, transparent), color-mix(in srgb, var(--ops-sand) 92%, transparent));
    box-shadow:0 1.8rem 3rem rgba(0,0,0,.10);
}
.auth-brief-topline,
.auth-brief-footer {
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
    justify-content:space-between;
    align-items:center;
}
.auth-brief-chip {
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.45rem .8rem;
    border-radius:999px;
    border:1px solid color-mix(in srgb, var(--ops-line-dark) 35%, transparent);
    background:color-mix(in srgb, var(--ops-paper) 74%, transparent);
    font-size:.74rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--ops-ink-soft);
}
.auth-brief-brand {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:1rem;
    align-items:center;
}
.auth-brief-brandmark {
    width:4.6rem;
    height:4.6rem;
    font-size:2rem;
}
.auth-brief-title {
    font-size:clamp(2rem, 3vw, 2.8rem);
    font-weight:900;
    letter-spacing:.04em;
    color:var(--ops-ink);
}
.auth-brief-subtitle,
.auth-brief-card p {
    margin:0;
    color:var(--ops-ink-soft);
    line-height:1.65;
}
.auth-brief-grid {
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:1rem;
}
.auth-brief-card {
    display:flex;
    flex-direction:column;
    gap:.6rem;
    padding:1rem 1rem 1.05rem;
    border-radius:1.2rem;
    border:1px solid color-mix(in srgb, var(--ops-line-dark) 30%, transparent);
    background:color-mix(in srgb, var(--ops-paper) 82%, transparent);
    box-shadow:inset 0 0 0 1px color-mix(in srgb, white 35%, transparent);
}
.auth-brief-card-kicker,
.auth-brief-footer-label {
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:var(--ops-action);
}
.auth-brief-card strong,
.auth-brief-footer strong {
    font-size:1rem;
    letter-spacing:.04em;
}
.auth-panel-redesign {
    overflow:hidden;
    border-radius:1.6rem;
    box-shadow:0 2rem 3rem rgba(0,0,0,.14);
}
.auth-panel-header-redesign {
    align-items:flex-start;
    gap:1rem;
    padding:1.25rem 1.35rem;
}
.auth-classification-redesign {
    padding:.8rem 1.35rem;
    border-top:1px solid var(--ops-line);
    border-bottom:1px solid var(--ops-line);
    background:color-mix(in srgb, var(--ops-panel) 88%, transparent);
}
.auth-panel-body-redesign {
    display:flex;
    flex-direction:column;
    gap:1rem;
}
.auth-form-stack {
    display:flex;
    flex-direction:column;
    gap:1rem;
}
.auth-form-stack .command-input {
    min-height:3.35rem;
    border-radius:1rem;
}
.auth-submit-wrap {
    display:flex;
    flex-direction:column;
    gap:.75rem;
    margin-top:.25rem;
}
.auth-submit-btn {
    width:100%;
    min-height:3.35rem;
    border-radius:1rem;
    font-size:1rem;
    font-weight:800;
    letter-spacing:.08em;
}
.auth-submit-meta {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:.75rem;
    font-size:.78rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--ops-ink-soft);
}
.auth-panel-footer-redesign {
    justify-content:space-between;
    gap:1rem;
}

.splash-shell-redesign {
    padding:clamp(.75rem, 1.8vw, 1.4rem);
}
.splash-shell-redesign .command-splash {
    min-height:calc(100vh - 2 * clamp(.75rem, 1.8vw, 1.4rem));
    border-radius:1.75rem;
    overflow:hidden;
}
.splash-topbar-right {
    display:flex;
    align-items:center;
    gap:.8rem;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.splash-version-badge {
    padding:.55rem .9rem;
    border-radius:999px;
    border:1px solid var(--splash-line-strong);
    background:color-mix(in srgb, var(--splash-panel) 88%, transparent);
    color:var(--splash-accent);
    font-size:.75rem;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.splash-stage-redesign {
    display:grid;
    grid-template-columns:minmax(17rem, 1.05fr) minmax(21rem, 1.35fr) minmax(15rem, .95fr);
    gap:1.35rem;
    align-items:stretch;
}
.splash-sidepanel {
    display:flex;
    flex-direction:column;
    gap:1rem;
    padding:1.25rem;
    border:1px solid color-mix(in srgb, var(--splash-line-strong) 82%, transparent);
    background:color-mix(in srgb, var(--splash-panel) 78%, transparent);
    backdrop-filter: blur(10px);
}
.splash-sidepanel-kicker {
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--splash-accent);
}
.splash-sidepanel h2 {
    margin:0;
    font-size:1.35rem;
    letter-spacing:.04em;
}
.splash-feature-list {
    display:grid;
    gap:.9rem;
    padding:0;
    margin:0;
    list-style:none;
}
.splash-feature-list li {
    display:flex;
    align-items:flex-start;
    gap:.75rem;
    color:var(--splash-muted);
    line-height:1.55;
}
.splash-feature-list i,
.splash-boot-list strong,
.splash-boot-list span {
    color:var(--splash-text);
}
.splash-feature-list i { margin-top:.2rem; color:var(--splash-accent); }
.splash-core-redesign {
    justify-content:center;
    gap:1.3rem;
    padding:1.5rem clamp(1.25rem, 2vw, 2rem);
    border-left:1px solid color-mix(in srgb, var(--splash-line) 88%, transparent);
    border-right:1px solid color-mix(in srgb, var(--splash-line) 88%, transparent);
}
.splash-status-grid-redesign,
.splash-loader-wrap-redesign {
    width:min(100%, 42rem);
}
.splash-boot-list {
    display:grid;
    gap:.75rem;
}
.splash-boot-list > div {
    display:flex;
    flex-direction:column;
    gap:.2rem;
    padding:.85rem .95rem;
    border-radius:1rem;
    border:1px solid color-mix(in srgb, var(--splash-line) 85%, transparent);
    background:color-mix(in srgb, var(--splash-panel) 84%, transparent);
}
.splash-boot-list span {
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--splash-muted);
}
.splash-boot-list strong {
    font-size:1rem;
    letter-spacing:.05em;
    color:var(--splash-accent);
}

.dashboard-command-center {
    display:flex;
    flex-direction:column;
    gap:1.35rem;
}
.dashboard-hero-panel {
    display:grid;
    grid-template-columns:minmax(0, 1.55fr) minmax(18rem, .95fr);
    gap:1.25rem;
    padding:clamp(1.1rem, 1.8vw, 1.75rem);
    border-radius:1.45rem;
    border:1px solid color-mix(in srgb, var(--ops-line-dark) 34%, transparent);
    background:
        radial-gradient(circle at top right, color-mix(in srgb, var(--ops-action) 13%, transparent), transparent 30%),
        linear-gradient(135deg, color-mix(in srgb, var(--ops-paper) 98%, transparent), color-mix(in srgb, var(--ops-sand) 94%, transparent));
    box-shadow:0 1.2rem 2.5rem rgba(0,0,0,.08);
}
.dashboard-hero-main {
    display:flex;
    flex-direction:column;
    gap:1rem;
}
.dashboard-hero-kickers,
.dashboard-hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:.7rem;
    align-items:center;
}
.dashboard-hero-chip {
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.45rem .8rem;
    border-radius:999px;
    border:1px solid color-mix(in srgb, var(--ops-line-dark) 35%, transparent);
    background:color-mix(in srgb, var(--ops-paper) 84%, transparent);
    color:var(--ops-ink-soft);
    font-size:.73rem;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.dashboard-hero-eyebrow {
    margin:0;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--ops-action);
}
.dashboard-hero-title {
    margin:0;
    font-size:clamp(2rem, 3vw, 2.8rem);
    font-weight:900;
    letter-spacing:.03em;
    color:var(--ops-ink);
}
.dashboard-hero-copy {
    margin:0;
    max-width:60ch;
    color:var(--ops-ink-soft);
    line-height:1.65;
}
.dashboard-hero-actions .btn {
    min-height:2.85rem;
    border-radius:999px;
    padding-inline:1rem;
    font-weight:800;
    letter-spacing:.06em;
}
.dashboard-hero-side {
    display:grid;
    gap:.8rem;
}
.dashboard-hero-stat,
.dashboard-overview-card {
    padding:1rem 1.05rem;
    border-radius:1.15rem;
    border:1px solid color-mix(in srgb, var(--ops-line-dark) 28%, transparent);
    background:color-mix(in srgb, var(--ops-paper) 88%, transparent);
}
.dashboard-hero-stat-label,
.dashboard-overview-kicker {
    display:block;
    margin-bottom:.4rem;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:var(--ops-action);
}
.dashboard-hero-stat strong,
.dashboard-overview-card strong {
    display:block;
    font-size:1.85rem;
    line-height:1.1;
    letter-spacing:.03em;
    color:var(--ops-ink);
}
.dashboard-hero-stat small,
.dashboard-overview-card small {
    display:block;
    margin-top:.35rem;
    color:var(--ops-ink-soft);
    line-height:1.45;
}
.dashboard-overview-grid {
    display:grid;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:.95rem;
}
.dashboard-chain-panel,
.dashboard-action-group {
    border-radius:1.4rem;
    overflow:hidden;
    box-shadow:0 1rem 2.2rem rgba(0,0,0,.07);
}
.dashboard-chain-panel {
    padding:0;
}
.dashboard-chain-grid {
    padding:1rem;
    gap:.9rem;
}
.dashboard-chain-grid .hierarchy-item {
    border-radius:1rem;
    background:color-mix(in srgb, var(--ops-paper) 88%, transparent);
    border:1px solid color-mix(in srgb, var(--ops-line-dark) 30%, transparent);
    border-left-width:4px;
    padding:1rem 1rem 1.05rem;
    box-shadow:none;
}
.dashboard-action-group {
    background:linear-gradient(180deg, color-mix(in srgb, var(--ops-paper) 100%, transparent), color-mix(in srgb, var(--ops-sand) 96%, transparent));
    border:1px solid color-mix(in srgb, var(--ops-line-dark) 30%, transparent);
}
.dashboard-action-group-heading {
    padding:1rem 1.15rem;
    background:linear-gradient(180deg, color-mix(in srgb, var(--ops-panel) 100%, transparent), color-mix(in srgb, var(--ops-paper) 92%, transparent));
}
.dashboard-action-grid {
    gap:1rem;
    padding:1rem 1.1rem 1.15rem;
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.dashboard-action-card {
    min-height:9rem;
    padding:1rem 1rem 1.05rem;
    border-radius:1.2rem;
    background:linear-gradient(180deg, color-mix(in srgb, var(--ops-paper) 100%, transparent), color-mix(in srgb, var(--ops-sand) 94%, transparent));
    border:1px solid color-mix(in srgb, var(--ops-line-dark) 28%, transparent);
    box-shadow:0 .85rem 1.5rem rgba(0,0,0,.05);
}
.dashboard-action-card:hover,
.dashboard-action-card:focus-visible {
    transform:translateY(-3px);
    box-shadow:0 1.1rem 2rem rgba(0,0,0,.08);
}
.dashboard-action-icon {
    width:3rem;
    height:3rem;
    border-radius:1rem;
    background:linear-gradient(145deg, color-mix(in srgb, var(--ops-action) 16%, transparent), color-mix(in srgb, var(--ops-paper) 94%, transparent));
    border:1px solid color-mix(in srgb, var(--ops-line-dark) 20%, transparent);
    color:var(--ops-action);
}
.dashboard-action-copy strong {
    font-size:1rem;
    letter-spacing:.04em;
}
.dashboard-action-copy small {
    margin-top:.25rem;
    line-height:1.45;
}
.dashboard-action-meta {
    margin-top:auto;
    padding-top:.85rem;
    border-top:1px dashed color-mix(in srgb, var(--ops-line-dark) 26%, transparent);
}

@media (max-width: 1399.98px) {
    .auth-brief-grid { grid-template-columns:1fr; }
    .dashboard-overview-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 1199.98px) {
    .splash-stage-redesign,
    .dashboard-hero-panel { grid-template-columns:1fr; }
    .splash-core-redesign {
        border-left:0;
        border-right:0;
        border-top:1px solid color-mix(in srgb, var(--splash-line) 88%, transparent);
        border-bottom:1px solid color-mix(in srgb, var(--splash-line) 88%, transparent);
    }
    .dashboard-action-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 991.98px) {
    .auth-shell-redesign::after { inset:.65rem; }
    .auth-brief-brand { grid-template-columns:1fr; }
    .auth-brief-brandmark { width:4rem; height:4rem; }
    .splash-shell-redesign .command-splash { min-height:auto; }
}
@media (max-width: 767.98px) {
    .auth-brief-panel,
    .dashboard-hero-panel,
    .dashboard-action-group,
    .dashboard-chain-panel { border-radius:1.1rem; }
    .auth-brief-topline,
    .auth-brief-footer,
    .dashboard-hero-actions,
    .dashboard-hero-kickers { flex-direction:column; align-items:flex-start; }
    .dashboard-overview-grid,
    .dashboard-action-grid { grid-template-columns:1fr; }
    .dashboard-chain-grid { grid-template-columns:1fr; }
    .auth-brief-title,
    .dashboard-hero-title,
    .splash-title { letter-spacing:.02em; }
}
html[data-ops-theme]:not([data-ops-theme="default"]) .auth-shell-redesign {
    background:
        radial-gradient(circle at top left, color-mix(in srgb, var(--ops-action) 16%, transparent), transparent 32%),
        radial-gradient(circle at bottom right, color-mix(in srgb, var(--ops-olive-dark) 20%, transparent), transparent 34%),
        linear-gradient(135deg, color-mix(in srgb, var(--ops-panel) 92%, transparent), color-mix(in srgb, var(--ops-bg) 96%, transparent));
}
html[data-ops-theme]:not([data-ops-theme="default"]) .auth-brief-panel,
html[data-ops-theme]:not([data-ops-theme="default"]) .dashboard-hero-panel,
html[data-ops-theme]:not([data-ops-theme="default"]) .dashboard-action-group,
html[data-ops-theme]:not([data-ops-theme="default"]) .dashboard-action-card,
html[data-ops-theme]:not([data-ops-theme="default"]) .dashboard-chain-grid .hierarchy-item,
html[data-ops-theme]:not([data-ops-theme="default"]) .dashboard-hero-stat,
html[data-ops-theme]:not([data-ops-theme="default"]) .dashboard-overview-card {
    background:linear-gradient(180deg, color-mix(in srgb, var(--ops-panel) 94%, transparent), color-mix(in srgb, var(--ops-bg) 100%, transparent));
}
html[data-ops-theme]:not([data-ops-theme="default"]) .auth-brief-card,
html[data-ops-theme]:not([data-ops-theme="default"]) .auth-classification-redesign,
html[data-ops-theme]:not([data-ops-theme="default"]) .dashboard-action-group-heading {
    background:color-mix(in srgb, var(--ops-panel) 88%, transparent);
}


/* =====================================================================
   REV4.05 // FEDERAL / GOVERNMENT VISUAL DIRECTION
   Applies to redesigned Dashboard, Splash, and Login surfaces.
   Alternate operational themes retain their own palette through existing
   shared theme tokens while inheriting the cleaner government layout.
   ===================================================================== */
:root,
html[data-ops-theme="default"] {
    --gov-navy:#12345a;
    --gov-navy-deep:#071f3c;
    --gov-blue:#005ea8;
    --gov-blue-soft:#d9e8f6;
    --gov-red:#b50909;
    --gov-gold:#d6a756;
    --gov-bg:#f4f6f8;
    --gov-panel:#ffffff;
    --gov-panel-alt:#eef2f5;
    --gov-line:#c9d2dc;
    --gov-line-strong:#7c8da0;
    --gov-ink:#1b1f23;
    --gov-muted:#4f5b66;
}

html[data-ops-theme="default"] .auth-shell-redesign {
    background:
        linear-gradient(180deg, var(--gov-navy-deep) 0, var(--gov-navy-deep) 4.1rem, transparent 4.1rem),
        linear-gradient(180deg, #e8edf2 0, var(--gov-bg) 34%, #edf1f4 100%);
}
html[data-ops-theme="default"] .auth-shell-redesign::after { display:none; }
html[data-ops-theme="default"] .auth-brief-panel,
html[data-ops-theme="default"] .auth-panel-redesign {
    border-radius:.3rem;
    border:1px solid var(--gov-line);
    background:var(--gov-panel);
    box-shadow:0 .45rem 1.1rem rgba(0,0,0,.08);
}
html[data-ops-theme="default"] .auth-brief-panel {
    border-top:5px solid var(--gov-navy);
}
html[data-ops-theme="default"] .auth-panel-redesign {
    border-top:5px solid var(--gov-blue);
}
html[data-ops-theme="default"] .auth-brief-chip {
    border-radius:.15rem;
    border-color:var(--gov-line);
    background:#f7f9fb;
    color:var(--gov-muted);
}
html[data-ops-theme="default"] .auth-brief-title,
html[data-ops-theme="default"] .dashboard-hero-title {
    font-family:Georgia, "Times New Roman", serif;
    color:var(--gov-navy-deep);
    letter-spacing:0;
}
html[data-ops-theme="default"] .auth-brief-title { font-weight:700; }
html[data-ops-theme="default"] .auth-brief-subtitle,
html[data-ops-theme="default"] .auth-brief-card p,
html[data-ops-theme="default"] .dashboard-hero-copy,
html[data-ops-theme="default"] .dashboard-hero-stat small,
html[data-ops-theme="default"] .dashboard-overview-card small { color:var(--gov-muted); }
html[data-ops-theme="default"] .auth-brief-card {
    border-radius:.2rem;
    border:1px solid var(--gov-line);
    background:#f8fafb;
    box-shadow:none;
    border-left:4px solid var(--gov-blue);
}
html[data-ops-theme="default"] .auth-brief-card-kicker,
html[data-ops-theme="default"] .auth-brief-footer-label,
html[data-ops-theme="default"] .dashboard-hero-stat-label,
html[data-ops-theme="default"] .dashboard-overview-kicker,
html[data-ops-theme="default"] .dashboard-hero-eyebrow { color:var(--gov-navy); }
html[data-ops-theme="default"] .auth-classification-redesign {
    background:var(--gov-navy-deep);
    color:#fff;
    border-color:var(--gov-navy-deep);
}
html[data-ops-theme="default"] .auth-classification-redesign * { color:#fff; }
html[data-ops-theme="default"] .auth-panel-header-redesign {
    background:#fff;
    border-bottom:1px solid var(--gov-line);
}
html[data-ops-theme="default"] .auth-form-stack .command-input {
    border-radius:.2rem;
    border-color:var(--gov-line-strong);
    background:#fff;
}
html[data-ops-theme="default"] .auth-form-stack .command-input:focus {
    border-color:var(--gov-blue);
    box-shadow:0 0 0 .16rem rgba(0,94,168,.18);
}
html[data-ops-theme="default"] .auth-submit-btn {
    border-radius:.2rem;
    background:var(--gov-blue);
    border-color:var(--gov-blue);
    color:#fff;
}
html[data-ops-theme="default"] .auth-submit-btn:hover { background:#1a4480; border-color:#1a4480; }
html[data-ops-theme="default"] .auth-panel-footer-redesign,
html[data-ops-theme="default"] .auth-brief-footer {
    border-top:1px solid var(--gov-line);
    padding-top:1rem;
}

html[data-ops-theme="default"] .splash-shell-redesign {
    --splash-accent:var(--gov-blue);
    --splash-accent-soft:var(--gov-blue-soft);
    --splash-bg:var(--gov-bg);
    --splash-panel:var(--gov-panel);
    --splash-line:var(--gov-line);
    --splash-line-strong:var(--gov-line-strong);
    --splash-text:var(--gov-ink);
    --splash-muted:var(--gov-muted);
    background:var(--gov-bg);
}
html[data-ops-theme="default"] .splash-shell-redesign .command-splash {
    border-radius:.25rem;
    border:1px solid var(--gov-line-strong);
    box-shadow:0 .7rem 1.6rem rgba(0,0,0,.08);
}
html[data-ops-theme="default"] .splash-topbar-redesign {
    background:var(--gov-navy-deep);
    border-bottom:4px solid var(--gov-red);
}
html[data-ops-theme="default"] .splash-topbar-redesign .splash-system-id strong,
html[data-ops-theme="default"] .splash-topbar-redesign .splash-kicker { color:#fff; }
html[data-ops-theme="default"] .splash-topbar-redesign .splash-system-mark {
    border-color:#fff;
    color:#fff;
    background:transparent;
}
html[data-ops-theme="default"] .splash-classification,
html[data-ops-theme="default"] .splash-version-badge {
    border-radius:.15rem;
    border-color:rgba(255,255,255,.55);
    background:rgba(255,255,255,.08);
    color:#fff;
}
html[data-ops-theme="default"] .splash-sidepanel,
html[data-ops-theme="default"] .splash-boot-list > div,
html[data-ops-theme="default"] .splash-status-grid-redesign {
    border-radius:.15rem;
    border-color:var(--gov-line);
    background:#f7f9fb;
    backdrop-filter:none;
}
html[data-ops-theme="default"] .splash-core-redesign {
    background:#fff;
    border-color:var(--gov-line);
}
html[data-ops-theme="default"] .splash-title {
    font-family:Georgia, "Times New Roman", serif;
    font-weight:700;
    letter-spacing:.02em;
    color:var(--gov-navy-deep);
    text-shadow:none;
}
html[data-ops-theme="default"] .splash-emblem-box {
    border-color:var(--gov-navy);
    color:var(--gov-navy);
    background:#fff;
    box-shadow:inset 0 0 0 .35rem #e8eef4;
}
html[data-ops-theme="default"] .splash-emblem-ring { border-color:var(--gov-line-strong); box-shadow:none; }
html[data-ops-theme="default"] .splash-footer-redesign {
    background:#e7ecf1;
    border-top:1px solid var(--gov-line-strong);
    color:var(--gov-navy-deep);
}
html[data-ops-theme="default"] .splash-footer-center { color:var(--gov-red); }
html[data-ops-theme="default"] .splash-shell .splash-progress {
    border-color:var(--gov-line-strong);
    background:#dce3e9;
}
html[data-ops-theme="default"] .splash-shell .splash-progress .progress-bar { background:var(--gov-blue); box-shadow:none; }

html[data-ops-theme="default"] .dashboard-command-center {
    background:var(--gov-bg);
}
html[data-ops-theme="default"] .dashboard-hero-panel {
    border-radius:.25rem;
    border:1px solid var(--gov-line);
    border-top:5px solid var(--gov-navy);
    background:#fff;
    box-shadow:0 .35rem .9rem rgba(0,0,0,.06);
}
html[data-ops-theme="default"] .dashboard-hero-chip {
    border-radius:.15rem;
    border-color:var(--gov-line);
    background:#f6f8fa;
    color:var(--gov-muted);
}
html[data-ops-theme="default"] .dashboard-hero-actions .btn {
    border-radius:.2rem;
}
html[data-ops-theme="default"] .dashboard-hero-stat,
html[data-ops-theme="default"] .dashboard-overview-card {
    border-radius:.2rem;
    border-color:var(--gov-line);
    background:#f8fafb;
}
html[data-ops-theme="default"] .dashboard-hero-stat {
    border-left:4px solid var(--gov-blue);
}
html[data-ops-theme="default"] .dashboard-overview-card {
    border-top:3px solid var(--gov-navy);
}
html[data-ops-theme="default"] .dashboard-hero-stat strong,
html[data-ops-theme="default"] .dashboard-overview-card strong { color:var(--gov-navy-deep); }
html[data-ops-theme="default"] .dashboard-chain-panel,
html[data-ops-theme="default"] .dashboard-action-group {
    border-radius:.25rem;
    border-color:var(--gov-line);
    background:#fff;
    box-shadow:0 .25rem .65rem rgba(0,0,0,.05);
}
html[data-ops-theme="default"] .dashboard-action-group-heading,
html[data-ops-theme="default"] .ops-section-heading {
    background:var(--gov-navy-deep);
    color:#fff;
    border-color:var(--gov-navy-deep);
}
html[data-ops-theme="default"] .dashboard-action-group-heading .command-kicker,
html[data-ops-theme="default"] .dashboard-action-group-heading .command-heading,
html[data-ops-theme="default"] .dashboard-action-group-heading .command-stamp,
html[data-ops-theme="default"] .ops-section-heading span { color:#fff; }
html[data-ops-theme="default"] .dashboard-chain-grid { background:#f4f6f8; }
html[data-ops-theme="default"] .dashboard-chain-grid .hierarchy-item {
    border-radius:.15rem;
    border-color:var(--gov-line);
    background:#fff;
}
html[data-ops-theme="default"] .dashboard-action-grid { background:#f7f9fb; }
html[data-ops-theme="default"] .dashboard-action-card {
    border-radius:.2rem;
    border-color:var(--gov-line);
    background:#fff;
    box-shadow:none;
}
html[data-ops-theme="default"] .dashboard-action-card:hover,
html[data-ops-theme="default"] .dashboard-action-card:focus-visible {
    transform:none;
    border-color:var(--gov-blue);
    box-shadow:0 0 0 2px rgba(0,94,168,.12);
}
html[data-ops-theme="default"] .dashboard-action-icon {
    border-radius:.2rem;
    color:var(--gov-blue);
    background:var(--gov-blue-soft);
    border-color:#aacdec;
}
html[data-ops-theme="default"] .dashboard-action-copy strong { color:var(--gov-navy-deep); }
html[data-ops-theme="default"] .dashboard-action-meta { border-color:var(--gov-line); color:var(--gov-muted); }
html[data-ops-theme="default"] .dashboard-action-meta.is-alert { color:var(--gov-red); }

/* Keep alternate operational/custom themes visually consistent while using
   their own palette. The government layout remains square, formal, and flat. */
html[data-ops-theme]:not([data-ops-theme="default"]) .auth-brief-panel,
html[data-ops-theme]:not([data-ops-theme="default"]) .auth-panel-redesign,
html[data-ops-theme]:not([data-ops-theme="default"]) .dashboard-hero-panel,
html[data-ops-theme]:not([data-ops-theme="default"]) .dashboard-chain-panel,
html[data-ops-theme]:not([data-ops-theme="default"]) .dashboard-action-group,
html[data-ops-theme]:not([data-ops-theme="default"]) .dashboard-action-card,
html[data-ops-theme]:not([data-ops-theme="default"]) .dashboard-overview-card,
html[data-ops-theme]:not([data-ops-theme="default"]) .dashboard-hero-stat,
html[data-ops-theme]:not([data-ops-theme="default"]) .splash-shell-redesign .command-splash,
html[data-ops-theme]:not([data-ops-theme="default"]) .splash-sidepanel,
html[data-ops-theme]:not([data-ops-theme="default"]) .splash-boot-list > div {
    border-radius:.2rem;
    box-shadow:none;
}


/* =====================================================================
   REV4.06 // APP-WIDE FEDERAL / GOVERNMENT REDESIGN
   Extends the REV4.05 federal direction across the entire application.
   Default theme receives the full institutional color treatment; alternate
   themes inherit the same cleaner geometry and component structure.
   ===================================================================== */

/* Shared structure across all themes */
body.ops-app-body {
    min-height: 100vh;
}

.command-panel,
.ops-section,
.readiness-card,
.dashboard-chain-panel,
.dashboard-action-group,
.table-responsive,
.card,
.modal-content,
.dropdown-menu,
.list-group-item,
.accordion-item,
.offcanvas,
.toast {
    border-radius: .25rem;
}

.command-panel,
.ops-section,
.readiness-card,
.card,
.modal-content,
.dropdown-menu,
.list-group-item,
.accordion-item,
.offcanvas,
.toast,
.table-responsive {
    box-shadow: 0 .3rem .75rem rgba(0,0,0,.05);
}

.btn:not(.btn-close),
.command-btn,
.command-btn-outline,
.form-control,
.form-select,
.input-group-text,
.badge,
.pagination .page-link,
.nav-tabs .nav-link,
.nav-pills .nav-link,
.dropdown-item,
.list-group-item,
.alert,
.breadcrumb,
.accordion-button,
.modal-content,
.card,
.table-responsive,
.toast,
.offcanvas {
    border-radius: .2rem;
}

.form-control,
.form-select,
textarea.form-control,
.command-input {
    min-height: 2.7rem;
}
textarea.form-control,
textarea.command-input { min-height: 7rem; }

.nav-tabs,
.nav-pills,
.table,
.card,
.modal-header,
.modal-footer,
.offcanvas-header,
.offcanvas-footer,
.list-group,
.accordion,
.dropdown-menu,
.pagination,
.input-group,
.breadcrumb {
    --bs-border-radius: .2rem;
    --bs-card-border-radius: .25rem;
    --bs-modal-border-radius: .25rem;
}

/* Federal palette and surfaces for default theme */
html[data-ops-theme="default"] body.ops-app-body {
    background: var(--gov-bg);
    color: var(--gov-ink);
}
html[data-ops-theme="default"] a {
    color: var(--gov-blue);
}
html[data-ops-theme="default"] a:hover,
html[data-ops-theme="default"] a:focus {
    color: #1a4480;
}
html[data-ops-theme="default"] .ops-topbar,
html[data-ops-theme="default"] .ops-navbar,
html[data-ops-theme="default"] .ops-footer {
    background: #ffffff;
}
html[data-ops-theme="default"] .ops-navbar-federal {
    min-height: 4.9rem;
    border-bottom: 1px solid var(--gov-line-strong);
    box-shadow: 0 .25rem .7rem rgba(0,0,0,.05);
}
html[data-ops-theme="default"] .ops-navbar .navbar-brand,
html[data-ops-theme="default"] .ops-brand,
html[data-ops-theme="default"] .command-kicker {
    color: var(--gov-navy-deep);
}
html[data-ops-theme="default"] .ops-brand {
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: .08em;
}
html[data-ops-theme="default"] .command-kicker {
    font-size: .63rem;
    font-weight: 900;
    letter-spacing: .16em;
}
html[data-ops-theme="default"] .brand-mark {
    border: 2px solid var(--gov-navy);
    color: var(--gov-navy);
    background: #fff;
    box-shadow: inset 0 0 0 .16rem #edf2f7;
}
html[data-ops-theme="default"] .ops-nav-links .nav-link {
    color: var(--gov-muted);
}
html[data-ops-theme="default"] .ops-nav-links .nav-link:hover,
html[data-ops-theme="default"] .ops-nav-links .nav-link:focus {
    color: var(--gov-navy);
    background: #f5f8fb;
}
html[data-ops-theme="default"] .ops-nav-links .nav-link.active {
    color: var(--gov-navy-deep);
    background: #eef4f9;
    border-right-color: var(--gov-line);
    border-left-color: var(--gov-line);
}
html[data-ops-theme="default"] .ops-nav-links .nav-link.active::after {
    background: var(--gov-red);
}
html[data-ops-theme="default"] .ops-nav-icon,
html[data-ops-theme="default"] .ops-navbar-action-icon {
    color: var(--gov-blue);
}
html[data-ops-theme="default"] .ops-account-toggle,
html[data-ops-theme="default"] .ops-signout-btn,
html[data-ops-theme="default"] .ops-admin-toggle {
    border-color: var(--gov-line-strong);
    color: var(--gov-navy-deep);
    background: #fff;
}
html[data-ops-theme="default"] .ops-account-toggle:hover,
html[data-ops-theme="default"] .ops-account-toggle:focus,
html[data-ops-theme="default"] .ops-signout-btn:hover,
html[data-ops-theme="default"] .ops-signout-btn:focus,
html[data-ops-theme="default"] .ops-admin-toggle:hover,
html[data-ops-theme="default"] .ops-admin-toggle:focus {
    border-color: var(--gov-blue);
    background: var(--gov-blue);
    color: #fff;
}
html[data-ops-theme="default"] .ops-user-chip {
    border-left-color: var(--gov-red);
}
html[data-ops-theme="default"] .zulu-clock {
    border-left-color: var(--gov-blue);
    background: #f3f6f9;
}
html[data-ops-theme="default"] .zulu-label,
html[data-ops-theme="default"] .ops-user-role,
html[data-ops-theme="default"] .section-code,
html[data-ops-theme="default"] .text-muted,
html[data-ops-theme="default"] .form-text,
html[data-ops-theme="default"] small,
html[data-ops-theme="default"] .small {
    color: var(--gov-muted) !important;
}

html[data-ops-theme="default"] .command-panel,
html[data-ops-theme="default"] .ops-section,
html[data-ops-theme="default"] .readiness-card,
html[data-ops-theme="default"] .card,
html[data-ops-theme="default"] .table-responsive,
html[data-ops-theme="default"] .modal-content,
html[data-ops-theme="default"] .dropdown-menu,
html[data-ops-theme="default"] .list-group-item,
html[data-ops-theme="default"] .accordion-item,
html[data-ops-theme="default"] .offcanvas,
html[data-ops-theme="default"] .toast {
    border: 1px solid var(--gov-line);
    background: #fff;
}
html[data-ops-theme="default"] .command-panel::before,
html[data-ops-theme="default"] .command-panel::after {
    display: none;
}
html[data-ops-theme="default"] .command-panel-header,
html[data-ops-theme="default"] .card-header,
html[data-ops-theme="default"] .modal-header,
html[data-ops-theme="default"] .offcanvas-header,
html[data-ops-theme="default"] .ops-section-heading {
    background: var(--gov-navy-deep);
    color: #fff;
    border-bottom: 1px solid var(--gov-navy-deep);
}
html[data-ops-theme="default"] .command-panel-body,
html[data-ops-theme="default"] .card-body,
html[data-ops-theme="default"] .modal-body,
html[data-ops-theme="default"] .offcanvas-body,
html[data-ops-theme="default"] .briefing-block {
    background: #fff;
}
html[data-ops-theme="default"] .command-panel-footer,
html[data-ops-theme="default"] .card-footer,
html[data-ops-theme="default"] .modal-footer,
html[data-ops-theme="default"] .offcanvas-footer {
    background: #eef2f5;
    border-top: 1px solid var(--gov-line);
    color: var(--gov-muted);
}
html[data-ops-theme="default"] .ops-section-heading,
html[data-ops-theme="default"] .card-header,
html[data-ops-theme="default"] .modal-header,
html[data-ops-theme="default"] .offcanvas-header,
html[data-ops-theme="default"] .accordion-button,
html[data-ops-theme="default"] .table thead th {
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}
html[data-ops-theme="default"] .ops-section-heading span,
html[data-ops-theme="default"] .command-panel-header .command-kicker,
html[data-ops-theme="default"] .command-panel-header .command-heading,
html[data-ops-theme="default"] .command-panel-header .command-stamp,
html[data-ops-theme="default"] .card-header,
html[data-ops-theme="default"] .modal-header,
html[data-ops-theme="default"] .offcanvas-header {
    color: #fff;
}
html[data-ops-theme="default"] .command-stamp {
    border-color: rgba(255,255,255,.65);
    color: #fff;
    transform: none;
    background: transparent;
}

html[data-ops-theme="default"] .command-label,
html[data-ops-theme="default"] .form-label,
html[data-ops-theme="default"] label {
    color: var(--gov-navy);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
html[data-ops-theme="default"] .form-control,
html[data-ops-theme="default"] .form-select,
html[data-ops-theme="default"] .input-group-text,
html[data-ops-theme="default"] .command-input {
    border: 1px solid var(--gov-line-strong);
    background: #fff;
    color: var(--gov-ink);
    box-shadow: none;
}
html[data-ops-theme="default"] .form-control:focus,
html[data-ops-theme="default"] .form-select:focus,
html[data-ops-theme="default"] .command-input:focus {
    border-color: var(--gov-blue);
    box-shadow: 0 0 0 .16rem rgba(0,94,168,.16);
}
html[data-ops-theme="default"] .input-group-text {
    background: #eef3f7;
    color: var(--gov-muted);
}
html[data-ops-theme="default"] .form-check-input {
    border-color: var(--gov-line-strong);
}
html[data-ops-theme="default"] .form-check-input:checked {
    background-color: var(--gov-blue);
    border-color: var(--gov-blue);
}

html[data-ops-theme="default"] .command-btn,
html[data-ops-theme="default"] .btn-primary {
    border-color: var(--gov-blue);
    background: var(--gov-blue);
    color: #fff;
}
html[data-ops-theme="default"] .command-btn:hover,
html[data-ops-theme="default"] .command-btn:focus,
html[data-ops-theme="default"] .btn-primary:hover,
html[data-ops-theme="default"] .btn-primary:focus {
    border-color: #1a4480;
    background: #1a4480;
    color: #fff;
}
html[data-ops-theme="default"] .command-btn-outline,
html[data-ops-theme="default"] .btn-outline-primary,
html[data-ops-theme="default"] .btn-secondary {
    border-color: var(--gov-line-strong);
    background: #fff;
    color: var(--gov-navy-deep);
}
html[data-ops-theme="default"] .command-btn-outline:hover,
html[data-ops-theme="default"] .command-btn-outline:focus,
html[data-ops-theme="default"] .btn-outline-primary:hover,
html[data-ops-theme="default"] .btn-outline-primary:focus,
html[data-ops-theme="default"] .btn-secondary:hover,
html[data-ops-theme="default"] .btn-secondary:focus {
    border-color: var(--gov-blue);
    background: #e9f2fa;
    color: var(--gov-navy-deep);
}
html[data-ops-theme="default"] .command-btn-danger,
html[data-ops-theme="default"] .btn-danger {
    border-color: var(--gov-red);
    background: var(--gov-red);
    color: #fff;
}
html[data-ops-theme="default"] .command-btn-danger:hover,
html[data-ops-theme="default"] .command-btn-danger:focus,
html[data-ops-theme="default"] .btn-danger:hover,
html[data-ops-theme="default"] .btn-danger:focus {
    border-color: #7f1416;
    background: #7f1416;
}

html[data-ops-theme="default"] .alert {
    border: 1px solid var(--gov-line);
    border-left: 4px solid var(--gov-blue);
    background: #f8fbfe;
    color: var(--gov-ink);
}
html[data-ops-theme="default"] .alert-danger,
html[data-ops-theme="default"] .alert-warning {
    border-left-color: var(--gov-red);
}
html[data-ops-theme="default"] .badge,
html[data-ops-theme="default"] .text-bg-secondary {
    background: #eef3f7 !important;
    color: var(--gov-navy-deep) !important;
    border: 1px solid var(--gov-line);
}

html[data-ops-theme="default"] .table {
    --bs-table-bg: #fff;
    --bs-table-striped-bg: #f7f9fb;
    --bs-table-hover-bg: #eef4f9;
    margin-bottom: 0;
}
html[data-ops-theme="default"] .table thead th {
    background: #edf2f7;
    color: var(--gov-navy-deep);
    border-bottom: 2px solid var(--gov-line-strong);
    border-top: 0;
    white-space: nowrap;
}
html[data-ops-theme="default"] .table td,
html[data-ops-theme="default"] .table th {
    border-color: var(--gov-line);
    vertical-align: middle;
}
html[data-ops-theme="default"] .table-responsive {
    background: #fff;
}

html[data-ops-theme="default"] .nav-tabs {
    border-bottom-color: var(--gov-line-strong);
}
html[data-ops-theme="default"] .nav-tabs .nav-link,
html[data-ops-theme="default"] .nav-pills .nav-link {
    color: var(--gov-muted);
    border: 1px solid transparent;
    background: transparent;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
html[data-ops-theme="default"] .nav-tabs .nav-link.active,
html[data-ops-theme="default"] .nav-pills .nav-link.active,
html[data-ops-theme="default"] .nav-tabs .nav-link:hover,
html[data-ops-theme="default"] .nav-tabs .nav-link:focus,
html[data-ops-theme="default"] .nav-pills .nav-link:hover,
html[data-ops-theme="default"] .nav-pills .nav-link:focus {
    border-color: var(--gov-line);
    background: #eef4f9;
    color: var(--gov-navy-deep);
}
html[data-ops-theme="default"] .accordion-button {
    background: #eef2f6;
    color: var(--gov-navy-deep);
}
html[data-ops-theme="default"] .accordion-button:not(.collapsed) {
    background: #e7eef5;
    color: var(--gov-navy-deep);
    box-shadow: none;
}
html[data-ops-theme="default"] .dropdown-menu {
    padding: .35rem;
}
html[data-ops-theme="default"] .dropdown-item {
    padding: .6rem .75rem;
    color: var(--gov-ink);
}
html[data-ops-theme="default"] .dropdown-item:hover,
html[data-ops-theme="default"] .dropdown-item:focus,
html[data-ops-theme="default"] .dropdown-item.active {
    background: #eef4f9;
    color: var(--gov-navy-deep);
}
html[data-ops-theme="default"] .dropdown-divider {
    border-color: var(--gov-line);
}
html[data-ops-theme="default"] .list-group-item {
    border-color: var(--gov-line);
}
html[data-ops-theme="default"] .list-group-item.active {
    background: var(--gov-navy-deep);
    border-color: var(--gov-navy-deep);
}
html[data-ops-theme="default"] .pagination .page-link {
    border-color: var(--gov-line);
    color: var(--gov-navy-deep);
    background: #fff;
}
html[data-ops-theme="default"] .pagination .page-item.active .page-link,
html[data-ops-theme="default"] .pagination .page-link:hover,
html[data-ops-theme="default"] .pagination .page-link:focus {
    background: #eef4f9;
    border-color: var(--gov-blue);
    color: var(--gov-navy-deep);
}
html[data-ops-theme="default"] .breadcrumb {
    background: #eef2f5;
    border: 1px solid var(--gov-line);
    padding: .55rem .75rem;
}
html[data-ops-theme="default"] .text-danger,
html[data-ops-theme="default"] .status-danger,
html[data-ops-theme="default"] .panic-indicator { color: var(--gov-red) !important; }

html[data-ops-theme="default"] .ops-footer {
    border-top: 1px solid var(--gov-line-strong);
    background: #f1f4f7;
    color: var(--gov-muted);
}


/* =====================================================================
   REV4.07 // FEDERAL NAVIGATION + SECURE LOGIN + THEME CONSOLIDATION
   Supported runtime themes: Federal / Government and Federal Subdued Black.
   ===================================================================== */

/* Two-tier federal application header */
.federal-site-header {
    position: relative;
    z-index: 1040;
}
.federal-official-bar {
    padding: .42rem 0;
    background: #071f3c;
    border-bottom: 3px solid #b50909;
    color: #fff;
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .105em;
    text-transform: uppercase;
}
.federal-official-status {
    color: #dce8f4;
}
.federal-official-bar .status-dot {
    background: #7cc28a;
    box-shadow: none;
}
.ops-navbar-federal {
    min-height: 5.15rem;
    background: #fff;
    border-bottom: 1px solid #9dacba;
    box-shadow: 0 .25rem .7rem rgba(7,31,60,.08);
}
.federal-navbar-brand {
    display: flex;
    align-items: center;
    gap: .8rem;
    min-width: 16rem;
}
.federal-navbar-mark {
    width: 3rem;
    height: 3rem;
    border: 2px solid #12345a;
    color: #12345a;
    background: #fff;
    box-shadow: inset 0 0 0 .18rem #edf2f7;
    clip-path: none;
}
.federal-navbar-mark::before,
.federal-navbar-mark::after { display: none; }
.federal-navbar-brandcopy {
    display: flex;
    flex-direction: column;
    line-height: 1.08;
}
.federal-navbar-agency {
    color: #071f3c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .025em;
}
.federal-navbar-program {
    margin-top: .2rem;
    color: #536273;
    font-size: .61rem;
    font-weight: 900;
    letter-spacing: .17em;
    text-transform: uppercase;
}
.federal-primary-nav {
    align-self: stretch;
}
.federal-primary-nav .nav-item {
    display: flex;
}
.federal-primary-nav .nav-link {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 5.1rem;
    padding: 0 1.1rem;
    color: #445465;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .095em;
    text-transform: uppercase;
}
.federal-primary-nav .nav-link::after {
    content: "";
    position: absolute;
    right: 1rem;
    bottom: 0;
    left: 1rem;
    height: 4px;
    background: transparent;
}
.federal-primary-nav .nav-link:hover,
.federal-primary-nav .nav-link:focus {
    color: #071f3c;
    background: #f1f5f8;
}
.federal-primary-nav .nav-link.active {
    color: #071f3c;
    background: #eef4f9;
}
.federal-primary-nav .nav-link.active::after {
    background: #b50909;
}
.federal-navbar-utilities {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .65rem;
}
.federal-personnel-block {
    min-width: 11.5rem;
    flex-direction: column;
    padding: .2rem .75rem .2rem .85rem;
    border-left: 3px solid #b50909;
    line-height: 1.05;
}
.federal-personnel-label {
    color: #667687;
    font-size: .52rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.federal-personnel-block strong {
    max-width: 13rem;
    overflow: hidden;
    color: #071f3c;
    font-size: .78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.federal-personnel-block small {
    margin-top: .22rem;
    color: #596979 !important;
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .065em;
    text-transform: uppercase;
}
.federal-clock {
    min-width: 7.6rem;
    padding: .42rem .55rem;
    border: 1px solid #c6d0da;
    border-left: 3px solid #005ea8;
    background: #f4f7fa;
}
.federal-account-menu {
    min-width: 18rem;
    border-top: 4px solid #12345a !important;
}
.federal-signout-btn {
    width: 2.55rem;
    min-width: 2.55rem;
    min-height: 2.55rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #9aa8b6;
    background: #fff;
    color: #071f3c;
    font-size: .88rem;
}
.federal-signout-btn:hover,
.federal-signout-btn:focus {
    border-color: #b50909;
    background: #b50909;
    color: #fff;
}

/* Centered federal secure-access gateway */
.federal-login-shell {
    display: flex;
    flex-direction: column;
    background: #eef2f5;
    color: #1b1f23;
}
.federal-login-official-bar {
    padding: .5rem 0;
    background: #071f3c;
    border-bottom: 4px solid #b50909;
    color: #fff;
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .105em;
    text-transform: uppercase;
}
.federal-login-stage {
    display: grid;
    flex: 1 1 auto;
    place-items: center;
    padding: clamp(1.5rem, 5vw, 4rem) 1rem;
    background:
        linear-gradient(rgba(18,52,90,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(18,52,90,.035) 1px, transparent 1px),
        #eef2f5;
    background-size: 36px 36px;
}
.federal-login-card {
    width: min(100%, 34rem);
    border: 1px solid #aeb9c4;
    border-top: 6px solid #12345a;
    background: #fff;
    box-shadow: 0 1.25rem 2.8rem rgba(7,31,60,.14);
}
.federal-login-masthead {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.15rem 1.35rem;
    border-bottom: 1px solid #c9d2dc;
}
.federal-login-mark {
    width: 3.7rem;
    height: 3.7rem;
    border: 2px solid #12345a;
    color: #12345a;
    background: #fff;
    font-size: 1.35rem;
    box-shadow: inset 0 0 0 .25rem #edf2f7;
    clip-path: none;
}
.federal-login-mark::before,
.federal-login-mark::after { display: none; }
.federal-login-agency,
.federal-login-program {
    display: block;
}
.federal-login-agency {
    color: #071f3c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
    font-weight: 700;
}
.federal-login-program {
    margin-top: .2rem;
    color: #556575;
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .17em;
    text-transform: uppercase;
}
.federal-login-titleblock {
    padding: 1.35rem 1.35rem .8rem;
}
.federal-login-eyebrow {
    color: #005ea8;
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.federal-login-titleblock h1 {
    margin: .35rem 0 .45rem;
    color: #071f3c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.75rem, 4vw, 2.25rem);
    font-weight: 700;
}
.federal-login-titleblock p {
    margin: 0;
    color: #536273;
    line-height: 1.6;
}
.federal-login-notice {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .75rem;
    margin: .35rem 1.35rem 1rem;
    padding: .8rem .9rem;
    border: 1px solid #c6d0da;
    border-left: 4px solid #005ea8;
    background: #f5f8fb;
    color: #273646;
}
.federal-login-notice i {
    margin-top: .12rem;
    color: #005ea8;
}
.federal-login-notice strong,
.federal-login-notice span { display: block; }
.federal-login-notice strong { margin-bottom: .15rem; }
.federal-login-notice span { color: #5b6977; font-size: .82rem; line-height: 1.45; }
.federal-login-card > .alert {
    margin: 0 1.35rem 1rem;
}
.federal-login-form {
    display: grid;
    gap: 1rem;
    padding: .35rem 1.35rem 1.35rem;
}
.federal-login-form .command-input {
    min-height: 3.1rem;
}
.federal-login-submit {
    min-height: 3.1rem;
    margin-top: .15rem;
}
.federal-login-statusline {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid #c9d2dc;
    border-bottom: 1px solid #c9d2dc;
    background: #f2f5f8;
}
.federal-login-statusline span {
    padding: .7rem .5rem;
    color: #536273;
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .085em;
    text-align: center;
    text-transform: uppercase;
}
.federal-login-statusline span + span { border-left: 1px solid #c9d2dc; }
.federal-login-footer {
    padding: .72rem 1rem;
    color: #6a7886;
    font-size: .58rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-align: center;
    text-transform: uppercase;
}

/* Updated theme previews */
.ops-theme-preview[data-theme="default"] {
    --preview-bg:#eef2f5;
    --preview-panel:#ffffff;
    --preview-line:#c9d2dc;
    --preview-accent:#12345a;
    --preview-text:#071f3c;
    border-radius:.2rem;
}
.ops-theme-preview[data-theme="federal-subdued-black"] {
    --preview-bg:#090b0d;
    --preview-panel:#11151a;
    --preview-line:#303a45;
    --preview-accent:#6f93b8;
    --preview-text:#d7dde4;
    border-radius:.2rem;
}
.federal-theme-preview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Federal / Government — Subdued Black */
html[data-ops-theme="federal-subdued-black"] {
    color-scheme: dark;
    --ops-ink:#d8dde3;
    --ops-ink-soft:#929da8;
    --ops-olive:#6f93b8;
    --ops-olive-dark:#9eb8d0;
    --ops-olive-light:#1c2833;
    --ops-khaki:#707983;
    --ops-sand:#090b0d;
    --ops-paper:#11151a;
    --ops-line:#29323b;
    --ops-line-dark:#47535f;
    --ops-green:#6b9f79;
    --ops-warning:#b39a61;
    --ops-danger:#c45d62;
    --ops-action:#6f93b8;
    --ops-action-hover:#89a8c5;
    --ops-action-text:#090b0d;
    --ops-action-contrast:#d8dde3;
    --ops-navbar-bg:#0b0e12;
    --ops-header-bg:#151b21;
    --ops-input-bg:#0c1014;
    --ops-table-head:#171d23;
    --ops-table-alt:#10151a;
    --ops-hover-bg:#1b232b;
    --ops-panel-radius:2px;
    --ops-control-radius:2px;
    --ops-theme-shadow:0 .4rem 1rem rgba(0,0,0,.25);
}
html[data-ops-theme="federal-subdued-black"] body.ops-app-body {
    background: #090b0d !important;
    background-image:
        linear-gradient(rgba(111,147,184,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(111,147,184,.025) 1px, transparent 1px) !important;
    color: #d8dde3;
}
html[data-ops-theme="federal-subdued-black"] .federal-official-bar,
html[data-ops-theme="federal-subdued-black"] .federal-login-official-bar {
    background: #050607;
    border-bottom-color: #672f33;
}
html[data-ops-theme="federal-subdued-black"] .ops-navbar-federal {
    background: #0d1115 !important;
    border-bottom-color: #394550;
    box-shadow: 0 .25rem .75rem rgba(0,0,0,.32);
}
html[data-ops-theme="federal-subdued-black"] .federal-navbar-mark,
html[data-ops-theme="federal-subdued-black"] .federal-login-mark {
    border-color: #839fb9;
    background: #0f1419;
    color: #a9bfd4;
    box-shadow: inset 0 0 0 .18rem #17212a;
}
html[data-ops-theme="federal-subdued-black"] .federal-navbar-agency,
html[data-ops-theme="federal-subdued-black"] .federal-personnel-block strong,
html[data-ops-theme="federal-subdued-black"] .federal-login-agency,
html[data-ops-theme="federal-subdued-black"] .federal-login-titleblock h1 {
    color: #e1e6eb;
}
html[data-ops-theme="federal-subdued-black"] .federal-navbar-program,
html[data-ops-theme="federal-subdued-black"] .federal-personnel-label,
html[data-ops-theme="federal-subdued-black"] .federal-personnel-block small,
html[data-ops-theme="federal-subdued-black"] .federal-login-program {
    color: #8996a2 !important;
}
html[data-ops-theme="federal-subdued-black"] .federal-primary-nav .nav-link {
    color: #9ca7b1;
}
html[data-ops-theme="federal-subdued-black"] .federal-primary-nav .nav-link:hover,
html[data-ops-theme="federal-subdued-black"] .federal-primary-nav .nav-link:focus,
html[data-ops-theme="federal-subdued-black"] .federal-primary-nav .nav-link.active {
    color: #e0e6eb;
    background: #171e25;
}
html[data-ops-theme="federal-subdued-black"] .federal-primary-nav .nav-link.active::after {
    background: #8b4347;
}
html[data-ops-theme="federal-subdued-black"] .federal-personnel-block {
    border-left-color: #8b4347;
}
html[data-ops-theme="federal-subdued-black"] .federal-clock,
html[data-ops-theme="federal-subdued-black"] .ops-account-toggle,
html[data-ops-theme="federal-subdued-black"] .federal-signout-btn {
    border-color: #394550;
    background: #11171d;
    color: #d8dde3;
}
html[data-ops-theme="federal-subdued-black"] .federal-clock { border-left-color: #6f93b8; }
html[data-ops-theme="federal-subdued-black"] .ops-account-toggle:hover,
html[data-ops-theme="federal-subdued-black"] .ops-account-toggle:focus {
    border-color: #6f93b8;
    background: #1b2935;
    color: #e3e8ed;
}
html[data-ops-theme="federal-subdued-black"] .federal-signout-btn:hover,
html[data-ops-theme="federal-subdued-black"] .federal-signout-btn:focus {
    border-color: #8b4347;
    background: #672f33;
    color: #fff;
}
html[data-ops-theme="federal-subdued-black"] .federal-account-menu {
    border-top-color: #6f93b8 !important;
}

html[data-ops-theme="federal-subdued-black"] .command-panel,
html[data-ops-theme="federal-subdued-black"] .ops-section,
html[data-ops-theme="federal-subdued-black"] .card,
html[data-ops-theme="federal-subdued-black"] .table-responsive,
html[data-ops-theme="federal-subdued-black"] .modal-content,
html[data-ops-theme="federal-subdued-black"] .dropdown-menu,
html[data-ops-theme="federal-subdued-black"] .list-group-item,
html[data-ops-theme="federal-subdued-black"] .accordion-item,
html[data-ops-theme="federal-subdued-black"] .offcanvas,
html[data-ops-theme="federal-subdued-black"] .toast,
html[data-ops-theme="federal-subdued-black"] .dashboard-hero-panel,
html[data-ops-theme="federal-subdued-black"] .dashboard-action-group,
html[data-ops-theme="federal-subdued-black"] .dashboard-action-card,
html[data-ops-theme="federal-subdued-black"] .dashboard-chain-grid .hierarchy-item,
html[data-ops-theme="federal-subdued-black"] .dashboard-hero-stat,
html[data-ops-theme="federal-subdued-black"] .dashboard-overview-card {
    background: #11151a !important;
    border-color: #303a45 !important;
    color: #d8dde3 !important;
    box-shadow: none;
}
html[data-ops-theme="federal-subdued-black"] .command-panel-header,
html[data-ops-theme="federal-subdued-black"] .card-header,
html[data-ops-theme="federal-subdued-black"] .modal-header,
html[data-ops-theme="federal-subdued-black"] .offcanvas-header,
html[data-ops-theme="federal-subdued-black"] .ops-section-heading,
html[data-ops-theme="federal-subdued-black"] .dashboard-action-group-heading {
    background: #151b21 !important;
    border-color: #394550 !important;
    color: #dce2e7 !important;
}
html[data-ops-theme="federal-subdued-black"] .command-panel-body,
html[data-ops-theme="federal-subdued-black"] .card-body,
html[data-ops-theme="federal-subdued-black"] .modal-body,
html[data-ops-theme="federal-subdued-black"] .offcanvas-body {
    background: #11151a !important;
}
html[data-ops-theme="federal-subdued-black"] .command-panel-footer,
html[data-ops-theme="federal-subdued-black"] .card-footer,
html[data-ops-theme="federal-subdued-black"] .modal-footer {
    background: #0e1216 !important;
    border-color: #303a45 !important;
    color: #8f9aa4 !important;
}
html[data-ops-theme="federal-subdued-black"] .form-control,
html[data-ops-theme="federal-subdued-black"] .form-select,
html[data-ops-theme="federal-subdued-black"] .command-input,
html[data-ops-theme="federal-subdued-black"] .input-group-text {
    border-color: #47535f !important;
    background: #0c1014 !important;
    color: #d8dde3 !important;
}
html[data-ops-theme="federal-subdued-black"] .form-control:focus,
html[data-ops-theme="federal-subdued-black"] .form-select:focus,
html[data-ops-theme="federal-subdued-black"] .command-input:focus {
    border-color: #6f93b8 !important;
    box-shadow: 0 0 0 .15rem rgba(111,147,184,.16) !important;
}
html[data-ops-theme="federal-subdued-black"] .table {
    --bs-table-bg:#11151a;
    --bs-table-striped-bg:#0e1318;
    --bs-table-hover-bg:#182028;
    color:#d8dde3;
}
html[data-ops-theme="federal-subdued-black"] .table thead th {
    background: #171d23 !important;
    border-color: #47535f !important;
    color: #bfcbd5 !important;
}
html[data-ops-theme="federal-subdued-black"] .table td,
html[data-ops-theme="federal-subdued-black"] .table th {
    border-color: #303a45 !important;
}
html[data-ops-theme="federal-subdued-black"] .dropdown-item,
html[data-ops-theme="federal-subdued-black"] .nav-link,
html[data-ops-theme="federal-subdued-black"] .list-group-item {
    color: #cbd2d9;
}
html[data-ops-theme="federal-subdued-black"] .dropdown-item:hover,
html[data-ops-theme="federal-subdued-black"] .dropdown-item:focus,
html[data-ops-theme="federal-subdued-black"] .dropdown-item.active,
html[data-ops-theme="federal-subdued-black"] .nav-tabs .nav-link.active,
html[data-ops-theme="federal-subdued-black"] .nav-pills .nav-link.active {
    background: #1b242d !important;
    color: #e4e8ec !important;
}
html[data-ops-theme="federal-subdued-black"] .command-btn {
    border-color: #6f93b8 !important;
    background: #6f93b8 !important;
    color: #090b0d !important;
}
html[data-ops-theme="federal-subdued-black"] .command-btn:hover,
html[data-ops-theme="federal-subdued-black"] .command-btn:focus {
    border-color: #89a8c5 !important;
    background: #89a8c5 !important;
}
html[data-ops-theme="federal-subdued-black"] .command-btn-outline {
    border-color: #47535f !important;
    background: #10151a !important;
    color: #d0d7de !important;
}
html[data-ops-theme="federal-subdued-black"] .command-btn-outline:hover,
html[data-ops-theme="federal-subdued-black"] .command-btn-outline:focus {
    border-color: #6f93b8 !important;
    background: #1a2834 !important;
    color: #e2e8ed !important;
}
html[data-ops-theme="federal-subdued-black"] .command-btn-danger,
html[data-ops-theme="federal-subdued-black"] .btn-danger {
    border-color: #8b4347 !important;
    background: #672f33 !important;
    color: #fff !important;
}
html[data-ops-theme="federal-subdued-black"] .alert {
    border-color: #303a45 !important;
    border-left-color: #6f93b8 !important;
    background: #11171d !important;
    color: #d0d7de !important;
}
html[data-ops-theme="federal-subdued-black"] .alert-danger,
html[data-ops-theme="federal-subdued-black"] .alert-warning {
    border-left-color: #8b4347 !important;
}
html[data-ops-theme="federal-subdued-black"] .ops-footer {
    background: #0b0e12 !important;
    border-color: #303a45 !important;
    color: #8995a0 !important;
}

/* Login intentionally remains federal light before authentication because an
   account-specific theme is not known until the user signs in. */

@media (max-width: 1199.98px) {
    .federal-navbar-utilities {
        align-items: stretch;
        flex-direction: column;
        padding: .75rem 0 1rem;
    }
    .federal-primary-nav .nav-link {
        min-height: 3rem;
        padding: .65rem .25rem;
    }
    .federal-primary-nav .nav-link::after {
        right: auto;
        bottom: .25rem;
        left: 0;
        width: 4rem;
    }
    .federal-clock,
    .federal-navbar-utilities .btn,
    .federal-navbar-utilities form {
        width: 100%;
    }
    .federal-clock { text-align: left; }
}
@media (max-width: 575.98px) {
    .federal-login-statusline { grid-template-columns: 1fr; }
    .federal-login-statusline span + span {
        border-top: 1px solid #c9d2dc;
        border-left: 0;
    }
    .federal-login-card { border-right: 0; border-left: 0; }
    .federal-theme-preview-grid { grid-template-columns: 1fr; }
}

/* =====================================================================
   REV4.08 // FEDERAL PALETTE CLEANUP + CENTERED SPLASH + LOGIN REFINEMENT
   ===================================================================== */

/* Centered federal command-center splash. No left/right visual rails. */
.splash-federal-centered {
    min-height: 100dvh;
    display: grid;
    place-items: center;
    padding: clamp(1rem, 3vw, 2.5rem);
    background: #eef2f5;
    color: #1b1f23;
}
.splash-federal-centered::before,
.splash-federal-centered::after {
    display: none !important;
}
.splash-command-card {
    width: min(100%, 48rem);
    overflow: hidden;
    border: 1px solid #9dacba;
    border-top: 6px solid #12345a;
    background: #ffffff;
    box-shadow: 0 1.5rem 3.5rem rgba(7,31,60,.14);
}
.splash-command-masthead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.35rem;
    background: #071f3c;
    color: #ffffff;
}
.splash-command-brand {
    display: flex;
    align-items: center;
    gap: .85rem;
}
.splash-command-seal {
    width: 3.15rem;
    height: 3.15rem;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border: 2px solid #ffffff;
    background: rgba(255,255,255,.06);
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
    font-weight: 700;
}
.splash-command-agency,
.splash-command-brand strong {
    display: block;
}
.splash-command-agency {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: .02em;
}
.splash-command-brand strong {
    margin-top: .18rem;
    color: #dce8f4;
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.splash-command-version {
    padding: .45rem .7rem;
    border: 1px solid rgba(255,255,255,.55);
    background: rgba(255,255,255,.08);
    color: #ffffff;
    font-size: .65rem;
    font-weight: 900;
    letter-spacing: .13em;
    white-space: nowrap;
}
.splash-command-classification {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .65rem 1.35rem;
    border-top: 4px solid #b50909;
    border-bottom: 1px solid #c9d2dc;
    background: #f4f7fa;
    color: #445465;
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.splash-command-classification i { color: #12345a; }
.splash-command-body {
    padding: clamp(1.5rem, 4vw, 2.5rem);
    text-align: center;
}
.splash-command-kicker {
    margin: 0 0 .55rem;
    color: #005ea8;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.splash-command-body h1 {
    margin: 0;
    color: #071f3c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 6vw, 3.15rem);
    font-weight: 700;
    letter-spacing: .01em;
}
.splash-command-copy {
    max-width: 42rem;
    margin: .8rem auto 1.5rem;
    color: #536273;
    font-size: .92rem;
    line-height: 1.6;
}
.splash-command-status {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    margin: 0 auto 1.4rem;
    border: 1px solid #c9d2dc;
    background: #f7f9fb;
    text-align: left;
}
.splash-command-status > div {
    padding: .9rem 1rem;
}
.splash-command-status > div + div {
    border-left: 1px solid #c9d2dc;
}
.splash-command-status span:first-child {
    display: block;
    margin-bottom: .3rem;
    color: #667687;
    font-size: .57rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.splash-command-status strong {
    color: #071f3c;
    font-size: .76rem;
    letter-spacing: .045em;
}
.splash-command-progress-wrap {
    max-width: 42rem;
    margin: 0 auto;
}
.splash-command-progress-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .5rem;
    color: #536273;
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.splash-command-progress-meta #splashPercent { color: #005ea8; }
.splash-federal-centered .splash-progress {
    height: .55rem;
    border: 1px solid #9dacba;
    background: #dfe6ec;
}
.splash-federal-centered .splash-progress .progress-bar {
    background: #005ea8;
    box-shadow: none;
}
.splash-command-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .7rem 1.35rem;
    border-top: 1px solid #c9d2dc;
    background: #eef2f5;
    color: #667687;
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

/* Login keeps the existing centered-card layout; presentation is refined. */
.federal-login-shell {
    background: #e9eef3;
}
.federal-login-official-bar {
    min-height: 2.65rem;
    display: flex;
    align-items: center;
    background: #071f3c;
    border-bottom: 4px solid #b50909;
}
.federal-login-stage {
    padding: clamp(1.25rem, 4vw, 3rem) 1rem;
    background: #e9eef3;
    background-image: none;
}
.federal-login-card {
    width: min(100%, 32rem);
    border: 1px solid #9dacba;
    border-top: 6px solid #12345a;
    background: #ffffff;
    box-shadow: 0 1.2rem 2.6rem rgba(7,31,60,.12);
}
.federal-login-masthead {
    padding: 1.1rem 1.25rem;
    background: #f7f9fb;
    border-bottom: 1px solid #c9d2dc;
}
.federal-login-mark {
    width: 3.4rem;
    height: 3.4rem;
    border-color: #12345a;
    background: #ffffff;
    color: #12345a;
    box-shadow: inset 0 0 0 .2rem #d9e8f6;
}
.federal-login-agency {
    font-size: 1.22rem;
}
.federal-login-program {
    color: #536273;
}
.federal-login-titleblock {
    padding: 1.4rem 1.35rem .8rem;
}
.federal-login-titleblock h1 {
    margin-top: .25rem;
    font-size: clamp(1.65rem, 4vw, 2rem);
}
.federal-login-titleblock p {
    max-width: 28rem;
    color: #536273;
}
.federal-login-notice {
    margin: .25rem 1.35rem 1rem;
    padding: .75rem .85rem;
    border: 1px solid #c9d2dc;
    border-left: 4px solid #b50909;
    background: #f7f9fb;
}
.federal-login-notice i { color: #b50909; }
.federal-login-form {
    gap: .9rem;
    padding: .3rem 1.35rem 1.35rem;
}
.federal-login-form .command-label {
    margin-bottom: .35rem;
    color: #12345a;
    font-size: .68rem;
    letter-spacing: .1em;
}
.federal-login-form .command-input {
    min-height: 3rem;
    border: 1px solid #7c8da0;
    background: #ffffff;
    color: #1b1f23;
}
.federal-login-form .command-input:focus {
    border-color: #005ea8;
    box-shadow: 0 0 0 .16rem rgba(0,94,168,.16);
}
.federal-login-submit {
    min-height: 3rem;
    border-color: #005ea8 !important;
    background: #005ea8 !important;
    color: #ffffff !important;
}
.federal-login-submit:hover,
.federal-login-submit:focus {
    border-color: #1a4480 !important;
    background: #1a4480 !important;
}
.federal-login-statusline {
    background: #eef2f5;
}
.federal-login-footer {
    background: #f7f9fb;
    border-top: 1px solid #c9d2dc;
}

/* Notification control: federal palette only. */
.notification-bell-btn {
    border: 1px solid #9dacba !important;
    background: #ffffff !important;
    color: #12345a !important;
    box-shadow: none !important;
}
.notification-bell-btn:hover,
.notification-bell-btn:focus,
.notification-bell-btn[aria-expanded="true"] {
    border-color: #005ea8 !important;
    background: #eef4f9 !important;
    color: #005ea8 !important;
}
.notification-badge {
    border-color: #ffffff !important;
    background: #b50909 !important;
    color: #ffffff !important;
}
.notification-menu {
    border-color: #9dacba !important;
    background: #ffffff !important;
    box-shadow: 0 .8rem 1.8rem rgba(7,31,60,.14) !important;
}
.notification-menu-header {
    background: #071f3c !important;
    border-color: #071f3c !important;
}
.notification-menu-header .command-kicker,
.notification-menu-header strong,
.notification-menu-header .notification-live-state {
    color: #ffffff !important;
}
.notification-menu-toolbar {
    background: #eef2f5 !important;
    border-color: #c9d2dc !important;
    color: #536273 !important;
}
.notification-text-btn {
    color: #005ea8 !important;
}
.notification-list,
.notification-item,
.command-notification-toast {
    background: #ffffff !important;
}
.notification-item {
    border-color: #c9d2dc !important;
}
.notification-item::before {
    background: #7c8da0 !important;
}
.notification-item.severity-success::before,
.command-notification-toast.severity-success { border-left-color: #287c50 !important; }
.notification-item.severity-success::before { background: #287c50 !important; }
.notification-item.severity-warning::before,
.command-notification-toast.severity-warning { border-left-color: #a66f00 !important; }
.notification-item.severity-warning::before { background: #a66f00 !important; }
.notification-item.severity-critical::before,
.command-notification-toast.severity-critical { border-left-color: #b50909 !important; }
.notification-item.severity-critical::before { background: #b50909 !important; }
.notification-item.unread {
    background: #eef4f9 !important;
}
.notification-item.unread .notification-title::after { color: #b50909 !important; }
.notification-open:hover .notification-title,
.notification-open:focus .notification-title,
.notification-empty > span {
    color: #005ea8 !important;
}
.notification-ack-btn {
    border-color: #9dacba !important;
    background: #ffffff !important;
    color: #12345a !important;
}
.notification-ack-btn:hover,
.notification-ack-btn:focus {
    border-color: #005ea8 !important;
    background: #005ea8 !important;
    color: #ffffff !important;
}
.notification-menu-footer,
.notification-toast-header {
    background: #eef2f5 !important;
    border-color: #c9d2dc !important;
    color: #536273 !important;
}
.notification-toast-status { background: #005ea8 !important; }

/* Subdued Black notification treatment. */
html[data-ops-theme="federal-subdued-black"] .notification-bell-btn {
    border-color: #47535f !important;
    background: #11171d !important;
    color: #a9bfd4 !important;
}
html[data-ops-theme="federal-subdued-black"] .notification-bell-btn:hover,
html[data-ops-theme="federal-subdued-black"] .notification-bell-btn:focus,
html[data-ops-theme="federal-subdued-black"] .notification-bell-btn[aria-expanded="true"] {
    border-color: #6f93b8 !important;
    background: #1b2935 !important;
    color: #dce7f0 !important;
}
html[data-ops-theme="federal-subdued-black"] .notification-badge {
    border-color: #0d1115 !important;
    background: #8b4347 !important;
}
html[data-ops-theme="federal-subdued-black"] .notification-menu,
html[data-ops-theme="federal-subdued-black"] .notification-list,
html[data-ops-theme="federal-subdued-black"] .notification-item,
html[data-ops-theme="federal-subdued-black"] .command-notification-toast {
    background: #11151a !important;
    border-color: #303a45 !important;
}
html[data-ops-theme="federal-subdued-black"] .notification-menu-header {
    background: #0b0e12 !important;
    border-color: #394550 !important;
}
html[data-ops-theme="federal-subdued-black"] .notification-menu-toolbar,
html[data-ops-theme="federal-subdued-black"] .notification-menu-footer,
html[data-ops-theme="federal-subdued-black"] .notification-toast-header {
    background: #0e1216 !important;
    border-color: #303a45 !important;
    color: #929da8 !important;
}
html[data-ops-theme="federal-subdued-black"] .notification-item.unread {
    background: #182028 !important;
}
html[data-ops-theme="federal-subdued-black"] .notification-title { color: #d8dde3 !important; }
html[data-ops-theme="federal-subdued-black"] .notification-body,
html[data-ops-theme="federal-subdued-black"] .notification-module,
html[data-ops-theme="federal-subdued-black"] .notification-time { color: #929da8 !important; }
html[data-ops-theme="federal-subdued-black"] .notification-text-btn,
html[data-ops-theme="federal-subdued-black"] .notification-open:hover .notification-title,
html[data-ops-theme="federal-subdued-black"] .notification-open:focus .notification-title,
html[data-ops-theme="federal-subdued-black"] .notification-empty > span { color: #9eb8d0 !important; }
html[data-ops-theme="federal-subdued-black"] .notification-ack-btn {
    border-color: #47535f !important;
    background: #11171d !important;
    color: #d8dde3 !important;
}
html[data-ops-theme="federal-subdued-black"] .notification-ack-btn:hover,
html[data-ops-theme="federal-subdued-black"] .notification-ack-btn:focus {
    border-color: #6f93b8 !important;
    background: #1b2935 !important;
}

@media (max-width: 767.98px) {
    .splash-command-masthead,
    .splash-command-classification,
    .splash-command-footer {
        align-items: flex-start;
        flex-direction: column;
    }
    .splash-command-status {
        grid-template-columns: 1fr;
    }
    .splash-command-status > div + div {
        border-top: 1px solid #c9d2dc;
        border-left: 0;
    }
    .splash-command-progress-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: .25rem;
    }
}


/* ===========================================================================
   REV4.09 // PERSONNEL DIRECTORY CAC CARD REDESIGN
   Converts the directory cards into landscape CAC-style credentials using the
   federal/government palette.
   =========================================================================== */
.directory-id-grid {
    grid-template-columns:repeat(auto-fill,minmax(28rem,1fr));
    gap:1rem;
    padding:1rem;
    background:#eef2f6;
    border-top:1px solid var(--gov-line, #c9d3dc);
}
.directory-id-card.directory-cac-card {
    min-width:0;
    min-height:17.75rem;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid var(--gov-line-strong, #aab9c6);
    border-radius:.4rem;
    background:#fff;
    color:var(--gov-ink, #12212f);
    text-decoration:none;
    box-shadow:0 .35rem .9rem rgba(0,0,0,.08);
    transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.directory-id-card.directory-cac-card:hover,
.directory-id-card.directory-cac-card:focus-visible {
    color:var(--gov-ink, #12212f);
    text-decoration:none;
    transform:translateY(-2px);
    border-color:var(--gov-blue, #005ea8);
    box-shadow:0 .7rem 1.4rem rgba(0,0,0,.12);
    outline:0;
}
.directory-id-card.directory-cac-card.is-inactive { opacity:.78; }
.directory-cac-header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    padding:.75rem .95rem;
    background:linear-gradient(180deg, var(--gov-navy-deep, #112e51), #16345e);
    color:#fff;
    border-bottom:.18rem solid var(--gov-red, #b50909);
}
.directory-cac-agency,
.directory-cac-agency small,
.directory-cac-agency strong {
    display:block;
}
.directory-cac-agency small,
.directory-cac-type,
.directory-cac-program,
.directory-cac-field-grid small,
.directory-cac-footer-row,
.directory-cac-role {
    text-transform:uppercase;
    letter-spacing:.1em;
}
.directory-cac-agency small {
    font-size:.56rem;
    font-weight:900;
    opacity:.9;
}
.directory-cac-agency strong {
    margin-top:.15rem;
    font-size:.82rem;
    font-weight:900;
    letter-spacing:.12em;
}
.directory-cac-type {
    align-self:center;
    padding:.28rem .5rem;
    border:1px solid rgba(255,255,255,.55);
    background:rgba(255,255,255,.08);
    font-size:.52rem;
    font-weight:900;
    white-space:nowrap;
}
.directory-cac-body {
    display:grid;
    grid-template-columns:8.1rem minmax(0,1fr);
    gap:1rem;
    padding:.95rem;
    align-items:start;
    flex:1;
}
.directory-cac-photo-column {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.85rem;
}
.directory-cac-photo {
    width:7.15rem;
    height:8.75rem;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid var(--gov-line-strong, #aab9c6);
    background:linear-gradient(180deg, #f4f7fa, #e7edf3);
    color:var(--gov-navy, #205493);
    font-size:2rem;
    font-weight:1000;
    letter-spacing:.05em;
}
.directory-cac-photo img { width:100%; height:100%; object-fit:cover; }
.directory-cac-chip {
    width:2.8rem;
    height:2rem;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:2px;
    padding:.22rem;
    border:1px solid #af954d;
    border-radius:.2rem;
    background:linear-gradient(145deg, #ecd9a0, #d7b96d);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}
.directory-cac-chip i {
    display:block;
    border:1px solid rgba(122,86,11,.55);
    background:rgba(255,255,255,.14);
}
.directory-cac-details {
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:.55rem;
}
.directory-cac-program {
    display:inline-flex;
    align-self:flex-start;
    padding:.24rem .45rem;
    border:1px solid var(--gov-line, #c9d3dc);
    background:#eef3f7;
    color:var(--gov-blue, #005ea8);
    font-size:.54rem;
    font-weight:900;
}
.directory-cac-name {
    display:block;
    color:var(--gov-navy-deep, #112e51);
    font-size:1.2rem;
    font-weight:900;
    line-height:1.2;
    letter-spacing:.02em;
}
.directory-cac-role {
    display:block;
    color:var(--gov-muted, #586b7d);
    font-size:.58rem;
    font-weight:900;
}
.directory-cac-field-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1px;
    border:1px solid var(--gov-line, #c9d3dc);
    background:var(--gov-line, #c9d3dc);
}
.directory-cac-field-grid > span {
    min-width:0;
    min-height:3rem;
    padding:.5rem .6rem;
    background:#fff;
}
.directory-cac-field-grid small,
.directory-cac-field-grid b {
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.directory-cac-field-grid small {
    color:var(--gov-muted, #586b7d);
    font-size:.49rem;
    font-weight:900;
}
.directory-cac-field-grid b {
    margin-top:.18rem;
    color:var(--gov-ink, #12212f);
    font-size:.72rem;
    font-weight:800;
}
.directory-cac-status-row {
    display:flex;
    flex-wrap:wrap;
    gap:.45rem;
    margin-top:.2rem;
}
.directory-cac-badge {
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    min-height:1.8rem;
    padding:.28rem .58rem;
    border:1px solid var(--gov-line-strong, #aab9c6);
    background:#f3f6f8;
    color:var(--gov-navy-deep, #112e51);
    font-size:.56rem;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.directory-cac-badge-neutral { background:#eef3f7; }
.directory-cac-badge-available {
    border-color:#1f7a40;
    background:#edf8f0;
    color:#14532d !important;
}
.directory-cac-badge-danger {
    border-color:var(--gov-red, #b50909);
    background:#fbefef;
    color:#8d1115 !important;
}
.directory-cac-footer {
    display:flex;
    flex-direction:column;
    gap:.5rem;
    padding:.75rem .95rem .85rem;
    border-top:1px solid var(--gov-line, #c9d3dc);
    background:#f7f9fb;
}
.directory-cac-barcode {
    display:block;
    width:100%;
    height:2.55rem;
    border:1px solid var(--gov-line-strong, #aab9c6);
    background:#fff;
    object-fit:fill;
}
.directory-cac-footer-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    color:var(--gov-muted, #586b7d);
    font-size:.49rem;
    font-weight:900;
}
.directory-cac-footer-row b {
    color:var(--gov-blue, #005ea8);
    white-space:nowrap;
}
html[data-ops-theme="subdued_black"] .directory-id-grid {
    background:#0f1317;
    border-top-color:#303a45;
}
html[data-ops-theme="subdued_black"] .directory-id-card.directory-cac-card {
    background:#161c22;
    color:#dde5ec;
    border-color:#3a4652;
}
html[data-ops-theme="subdued_black"] .directory-cac-header {
    background:linear-gradient(180deg, #0c1116, #161e26);
    border-bottom-color:#8b1f24;
}
html[data-ops-theme="subdued_black"] .directory-cac-program,
html[data-ops-theme="subdued_black"] .directory-cac-badge-neutral {
    background:#202932;
    border-color:#394550;
    color:#90b4d8;
}
html[data-ops-theme="subdued_black"] .directory-cac-name {
    color:#f2f5f8;
}
html[data-ops-theme="subdued_black"] .directory-cac-role,
html[data-ops-theme="subdued_black"] .directory-cac-field-grid small,
html[data-ops-theme="subdued_black"] .directory-cac-footer-row {
    color:#9fadb9;
}
html[data-ops-theme="subdued_black"] .directory-cac-photo,
html[data-ops-theme="subdued_black"] .directory-cac-field-grid > span,
html[data-ops-theme="subdued_black"] .directory-cac-footer {
    background:#10161b;
    color:#dde5ec;
    border-color:#394550;
}
html[data-ops-theme="subdued_black"] .directory-cac-field-grid,
html[data-ops-theme="subdued_black"] .directory-cac-footer,
html[data-ops-theme="subdued_black"] .directory-cac-footer .directory-cac-barcode {
    border-color:#394550;
}
html[data-ops-theme="subdued_black"] .directory-cac-field-grid b {
    color:#f2f5f8;
}
html[data-ops-theme="subdued_black"] .directory-cac-barcode {
    background:#fff;
}
@media (max-width:991.98px) {
    .directory-id-grid { grid-template-columns:1fr; }
}
@media (max-width:767.98px) {
    .directory-id-card.directory-cac-card { min-height:unset; }
    .directory-cac-body { grid-template-columns:1fr; }
    .directory-cac-photo-column { align-items:flex-start; }
    .directory-cac-photo { width:7rem; height:8.6rem; }
    .directory-cac-field-grid { grid-template-columns:1fr; }
    .directory-cac-footer-row { flex-direction:column; align-items:flex-start; }
}


/* ===========================================================================
   REV4.14 // SEPTEMBER 11 REMEMBRANCE BANNER
   Annual dashboard tribute shown only on September 11 in New York time.
   =========================================================================== */
.dashboard-remembrance-banner {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:1.15rem;
    padding:1.15rem 1.25rem;
    border:1px solid var(--gov-line-strong, #aab9c6);
    border-top:4px solid var(--gov-navy-deep, #112e51);
    border-bottom:3px solid var(--gov-red, #b50909);
    background:linear-gradient(100deg, #ffffff 0%, #f4f7fa 66%, #eef3f7 100%);
    color:var(--gov-ink, #12212f);
    box-shadow:0 .45rem 1rem rgba(0,0,0,.07);
}
.dashboard-remembrance-date {
    width:4.1rem;
    min-width:4.1rem;
    height:4.6rem;
    display:grid;
    grid-template-rows:1fr 1.2fr;
    place-items:center;
    overflow:hidden;
    border:1px solid var(--gov-line-strong, #aab9c6);
    background:var(--gov-navy-deep, #112e51);
    color:#fff;
    line-height:1;
}
.dashboard-remembrance-date span {
    width:100%;
    padding:.48rem 0 .38rem;
    border-bottom:1px solid rgba(255,255,255,.32);
    color:#dce9f5;
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.16em;
    text-align:center;
}
.dashboard-remembrance-date b {
    font-size:1.55rem;
    font-weight:1000;
    letter-spacing:.08em;
}
.dashboard-remembrance-copy { min-width:0; }
.dashboard-remembrance-kicker {
    display:block;
    margin-bottom:.24rem;
    color:var(--gov-navy, #205493);
    font-size:.58rem;
    font-weight:1000;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.dashboard-remembrance-copy strong {
    display:block;
    color:var(--gov-navy-deep, #112e51);
    font-size:1.08rem;
    font-weight:1000;
    letter-spacing:.055em;
}
.dashboard-remembrance-copy > span:last-child {
    display:block;
    max-width:86ch;
    margin-top:.32rem;
    color:var(--gov-muted, #586b7d);
    font-size:.78rem;
    line-height:1.55;
}
.dashboard-remembrance-mark {
    padding:.55rem .72rem;
    border:1px solid var(--gov-line-strong, #aab9c6);
    border-left:3px solid var(--gov-red, #b50909);
    background:#fff;
    color:var(--gov-navy-deep, #112e51);
    font-size:.6rem;
    font-weight:1000;
    letter-spacing:.14em;
    white-space:nowrap;
}
html[data-ops-theme="subdued_black"] .dashboard-remembrance-banner {
    border-color:#3a4652;
    border-top-color:#71869a;
    border-bottom-color:#8b1f24;
    background:linear-gradient(100deg, #11161b 0%, #151c23 70%, #101419 100%);
    color:#e8edf2;
    box-shadow:0 .5rem 1rem rgba(0,0,0,.28);
}
html[data-ops-theme="subdued_black"] .dashboard-remembrance-date {
    border-color:#4a5865;
    background:#0a0f14;
    color:#f2f5f8;
}
html[data-ops-theme="subdued_black"] .dashboard-remembrance-date span {
    color:#b8c6d2;
}
html[data-ops-theme="subdued_black"] .dashboard-remembrance-kicker {
    color:#8fb4d8;
}
html[data-ops-theme="subdued_black"] .dashboard-remembrance-copy strong {
    color:#f3f6f9;
}
html[data-ops-theme="subdued_black"] .dashboard-remembrance-copy > span:last-child {
    color:#b4c0cb;
}
html[data-ops-theme="subdued_black"] .dashboard-remembrance-mark {
    border-color:#3a4652;
    border-left-color:#8b1f24;
    background:#0d1217;
    color:#e8edf2;
}
@media (max-width:767.98px) {
    .dashboard-remembrance-banner {
        grid-template-columns:auto minmax(0,1fr);
        padding:1rem;
    }
    .dashboard-remembrance-mark { display:none; }
}
@media (max-width:479.98px) {
    .dashboard-remembrance-banner {
        grid-template-columns:1fr;
        gap:.85rem;
    }
    .dashboard-remembrance-date {
        width:3.6rem;
        min-width:3.6rem;
        height:4rem;
    }
}


/* =========================================================
   REV4.15 // PLATFORM CONFIGURATION + MEMORIAL SPLASH OVERRIDE
   ========================================================= */
.platform-config-note {
    display:grid;
    gap:.5rem;
    padding:.85rem 1rem;
    border:1px solid var(--ops-line);
    border-radius:.9rem;
    background:color-mix(in srgb, var(--ops-paper) 92%, white);
    color:var(--ops-ink-soft);
    font-size:.75rem;
    font-weight:700;
}
.memorial-splash-screen {
    position:relative;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    background:
        linear-gradient(180deg, rgba(6,10,16,.28) 0%, rgba(4,8,14,.64) 48%, rgba(2,4,8,.88) 100%),
        var(--memorial-bg) center center / cover no-repeat;
    color:#f5f7fa;
    overflow:hidden;
}
.memorial-splash-overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(6,10,14,.2) 0%, rgba(6,10,14,.08) 30%, rgba(6,10,14,.55) 68%, rgba(6,10,14,.88) 100%);
}
.memorial-splash-content,
.memorial-splash-loader {
    position:relative;
    z-index:1;
}
.memorial-splash-content {
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:1.2rem;
    padding:clamp(1rem, 2vw, 1.75rem);
    min-height:calc(100vh - 110px);
}
.memorial-splash-topline {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    flex-wrap:wrap;
    padding-bottom:.85rem;
    border-bottom:1px solid rgba(255,255,255,.22);
    font-size:.73rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#dfe6ed;
}
.memorial-splash-copy {
    max-width:min(820px, 100%);
    margin:0 0 6.25rem 0;
    padding:1.15rem 1.25rem 1.35rem;
    border:1px solid rgba(255,255,255,.18);
    border-radius:1.2rem;
    background:linear-gradient(180deg, rgba(10,14,20,.26) 0%, rgba(10,14,20,.62) 100%);
    box-shadow:0 28px 50px rgba(0,0,0,.24);
    backdrop-filter:blur(6px);
}
.memorial-splash-kicker {
    margin:0 0 .45rem;
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#bfd0e6;
}
.memorial-splash-copy h1 {
    margin:0 0 .8rem;
    font-size:clamp(1.85rem, 4.2vw, 4rem);
    line-height:1.04;
    font-weight:1000;
    letter-spacing:.01em;
    color:#fff;
    text-transform:uppercase;
}
.memorial-splash-copy p:last-child {
    margin:0;
    max-width:70ch;
    color:#eef3f8;
    font-size:clamp(.95rem, 1.4vw, 1.15rem);
    line-height:1.7;
}
.memorial-splash-loader {
    padding:.6rem .95rem 1rem;
    border-top:1px solid rgba(255,255,255,.18);
    background:linear-gradient(180deg, rgba(4,8,12,.28) 0%, rgba(4,8,12,.76) 100%);
    backdrop-filter:blur(10px);
}
.memorial-splash-loader-meta {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:.45rem;
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:#dce6f1;
}
.memorial-splash-progress {
    height:.7rem;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.08);
}
.memorial-splash-progress .progress-bar {
    background:linear-gradient(90deg, #6d0f1f 0%, #ffffff 50%, #0f2f62 100%);
    box-shadow:0 0 1rem rgba(255,255,255,.2);
}
html[data-ops-theme="federal-subdued-black"] .platform-config-note {
    background:color-mix(in srgb, #11161b 88%, #fff);
    border-color:#394550;
    color:#d1d9e3;
}
@media (max-width: 767.98px) {
    .memorial-splash-content {
        min-height:calc(100vh - 120px);
        padding:1rem;
    }
    .memorial-splash-copy {
        margin-bottom:5.2rem;
        padding:1rem;
    }
    .memorial-splash-topline,
    .memorial-splash-loader-meta {
        font-size:.62rem;
        letter-spacing:.09em;
    }
}


/* =========================================================
   REV4.16 // MEMORIAL COVER + APP-RENDERED LOADER
   The cover image contains no loading UI; progress is rendered by the app.
   ========================================================= */
.memorial-splash-screen.memorial-splash-cover-only {
    min-height:100vh;
    height:100vh;
    background:var(--memorial-bg) center center / cover no-repeat;
}
.memorial-splash-cover-only .memorial-splash-overlay {
    background:
        linear-gradient(180deg, rgba(3,6,10,.28) 0%, rgba(3,6,10,.04) 24%, rgba(3,6,10,.03) 62%, rgba(3,6,10,.72) 88%, rgba(3,6,10,.94) 100%);
}
.memorial-splash-systembar {
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:.85rem 1rem;
    border-bottom:1px solid rgba(255,255,255,.2);
    background:linear-gradient(180deg, rgba(2,5,9,.82) 0%, rgba(2,5,9,.45) 100%);
    color:#fff;
    backdrop-filter:blur(8px);
}
.memorial-splash-systembrand {
    display:flex;
    align-items:center;
    gap:.7rem;
}
.memorial-splash-systemmark {
    width:2.45rem;
    height:2.45rem;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.75);
    font-size:1.15rem;
    font-weight:1000;
    color:#fff;
    background:rgba(0,0,0,.22);
}
.memorial-splash-systembrand strong,
.memorial-splash-systembrand small { display:block; }
.memorial-splash-systembrand strong {
    font-size:.82rem;
    letter-spacing:.13em;
}
.memorial-splash-systembrand small {
    margin-top:.1rem;
    font-size:.56rem;
    letter-spacing:.16em;
    color:#d7e0e8;
}
.memorial-splash-systemmeta {
    display:flex;
    align-items:center;
    gap:1rem;
    font-size:.6rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#dce5ed;
}
.memorial-splash-systemmeta strong { color:#fff; }
.memorial-splash-cover-only .memorial-splash-loader {
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:3;
    padding:.72rem 1rem .8rem;
    border-top:1px solid rgba(255,255,255,.22);
    background:linear-gradient(180deg, rgba(1,3,6,.7) 0%, rgba(1,3,6,.96) 100%);
    backdrop-filter:blur(10px);
}
.memorial-splash-cover-only .memorial-splash-loader-meta {
    margin-bottom:.45rem;
}
.memorial-splash-cover-only .memorial-splash-progress {
    height:.72rem;
    border:1px solid rgba(255,255,255,.35);
    border-radius:0;
    background:rgba(255,255,255,.09);
    overflow:hidden;
}
.memorial-splash-cover-only .memorial-splash-progress .progress-bar {
    background:linear-gradient(90deg, #8a1724 0%, #f4f6f8 49%, #1a4f8f 100%);
    box-shadow:0 0 .8rem rgba(255,255,255,.22);
}
.memorial-splash-loader-footer {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-top:.42rem;
    font-size:.56rem;
    font-weight:850;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#bac5cf;
}
@media (max-width:767.98px) {
    .memorial-splash-systembar { align-items:flex-start; }
    .memorial-splash-systemmeta { flex-direction:column; align-items:flex-end; gap:.2rem; text-align:right; }
    .memorial-splash-loader-footer { flex-direction:column; align-items:flex-start; gap:.2rem; }
}


/* =========================================================
   REV4.17 // PLATFORM CONFIGURATION SPACING + MEMORIAL TEXT OVERLAY
   ========================================================= */
.platform-config-page {
    display:flex;
    flex-direction:column;
    gap:1rem;
}
.platform-config-alerts {
    display:grid;
    gap:.6rem;
}
.platform-config-hero {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    padding:1.1rem 1.2rem;
    border:1px solid var(--ops-line);
    border-left:4px solid var(--gov-blue, #005ea8);
    background:var(--ops-paper);
    box-shadow:0 .35rem .8rem rgba(0,0,0,.04);
}
.platform-config-hero h1 {
    margin:.12rem 0 .35rem;
    font-size:clamp(1.35rem,2.2vw,1.8rem);
    font-weight:1000;
    color:var(--ops-ink);
}
.platform-config-hero p {
    margin:0;
    max-width:70ch;
    color:var(--ops-ink-soft);
    line-height:1.5;
}
.platform-config-version {
    min-width:11rem;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:.15rem;
    padding:.65rem .8rem;
    border:1px solid var(--ops-line);
    background:color-mix(in srgb,var(--ops-paper) 88%,var(--ops-panel));
}
.platform-config-version span {
    font-size:.52rem;
    font-weight:900;
    letter-spacing:.12em;
    color:var(--ops-ink-soft);
}
.platform-config-version strong {
    font-size:.8rem;
    letter-spacing:.08em;
    color:var(--ops-ink);
}
.platform-config-layout {
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(20rem,.75fr);
    gap:1rem;
    align-items:start;
}
.platform-config-control-panel,
.platform-config-status-panel {
    margin:0;
    overflow:hidden;
}
.platform-config-panel-header {
    padding:1rem 1.15rem !important;
    min-height:4.35rem;
}
.platform-config-panel-header .command-kicker {
    margin-bottom:.16rem;
}
.platform-config-form {
    margin:0;
}
.platform-config-panel-body {
    display:grid;
    gap:1rem;
    padding:1.15rem !important;
    background:var(--ops-paper);
}
.platform-config-intro {
    display:grid;
    grid-template-columns:3rem minmax(0,1fr);
    gap:.85rem;
    align-items:start;
    padding:.9rem;
    border:1px solid var(--ops-line);
    background:color-mix(in srgb,var(--ops-paper) 94%,var(--ops-panel));
}
.platform-config-icon {
    width:3rem;
    height:3rem;
    display:grid;
    place-items:center;
    border:1px solid color-mix(in srgb,var(--gov-blue,#005ea8) 35%,var(--ops-line));
    background:color-mix(in srgb,var(--gov-blue,#005ea8) 8%,var(--ops-paper));
    color:var(--gov-blue,#005ea8);
    font-size:1.1rem;
}
.platform-config-intro strong {
    display:block;
    margin-bottom:.25rem;
    color:var(--ops-ink);
    font-size:.9rem;
}
.platform-config-intro p {
    margin:0;
    color:var(--ops-ink-soft);
    line-height:1.55;
    font-size:.76rem;
}
.platform-config-toggle-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:.9rem 1rem;
    border:1px solid var(--ops-line);
    background:var(--ops-paper);
}
.platform-config-field-label {
    display:block;
    margin-bottom:.18rem;
    font-size:.5rem;
    font-weight:900;
    letter-spacing:.11em;
    color:var(--ops-ink-soft);
}
.platform-config-toggle-row > div:first-child > strong {
    font-size:.78rem;
    letter-spacing:.08em;
    color:var(--ops-ink);
}
.platform-config-switch {
    display:flex;
    align-items:center;
    gap:.5rem;
}
.platform-config-switch .form-check-input {
    width:2.7rem;
    height:1.35rem;
    margin:0;
}
.platform-config-switch .form-check-label {
    margin:0;
    color:var(--ops-ink);
    font-size:.74rem;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:none;
}
.platform-config-spec-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.75rem;
}
.platform-config-spec-grid article {
    min-width:0;
    padding:.85rem .9rem;
    border:1px solid var(--ops-line);
    background:color-mix(in srgb,var(--ops-paper) 97%,var(--ops-panel));
}
.platform-config-spec-grid article > span,
.platform-config-status-row > span {
    display:block;
    margin-bottom:.22rem;
    font-size:.48rem;
    font-weight:900;
    letter-spacing:.1em;
    color:var(--ops-ink-soft);
}
.platform-config-spec-grid article strong {
    display:block;
    color:var(--ops-ink);
    font-size:.76rem;
    line-height:1.35;
}
.platform-config-spec-grid article small {
    display:block;
    margin-top:.28rem;
    color:var(--ops-ink-soft) !important;
    font-size:.67rem;
    line-height:1.45;
}
.platform-config-panel-footer {
    padding:.8rem 1.15rem !important;
    min-height:3.9rem;
}
.platform-config-panel-footer .btn {
    min-width:13rem;
}
.platform-config-status-body {
    display:grid;
    padding:.65rem 1.05rem !important;
    background:var(--ops-paper);
}
.platform-config-status-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    min-height:3rem;
    padding:.65rem 0;
    border-bottom:1px solid var(--ops-line);
}
.platform-config-status-row:last-child {
    border-bottom:0;
}
.platform-config-status-row > span {
    margin:0;
}
.platform-config-status-row strong {
    max-width:62%;
    color:var(--ops-ink);
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.04em;
    text-align:right;
    overflow-wrap:anywhere;
}
.platform-config-status-on { color:#17723c !important; }
.platform-config-status-off { color:var(--ops-ink-soft) !important; }
.platform-config-status-footer {
    padding:.72rem 1.05rem !important;
}

/* Tribute copy is rendered by the app as a translucent overlay. */
.memorial-splash-tribute {
    position:absolute;
    top:50%;
    right:clamp(1rem,4vw,4rem);
    z-index:3;
    width:min(38rem,44vw);
    transform:translateY(-50%);
    padding:clamp(1rem,2vw,1.55rem);
    border:1px solid rgba(255,255,255,.22);
    background:rgba(3,7,12,.84);
    box-shadow:0 1.5rem 3rem rgba(0,0,0,.26);
    backdrop-filter:blur(14px) saturate(.75);
    color:#fff;
    text-align:center;
}
.memorial-splash-tribute-date {
    display:block;
    margin-bottom:.55rem;
    color:#d7e0e8;
    font-size:.66rem;
    font-weight:900;
    letter-spacing:.22em;
}
.memorial-splash-tribute h1 {
    margin:0;
    color:#fff;
    font-size:clamp(1.35rem,2.65vw,2.55rem);
    line-height:1.18;
    font-weight:900;
    letter-spacing:.08em;
}
.memorial-splash-tribute-rule {
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:.7rem;
    align-items:center;
    margin:.85rem auto;
    width:min(22rem,85%);
    color:#dce5ed;
}
.memorial-splash-tribute-rule span {
    height:1px;
    background:rgba(255,255,255,.45);
}
.memorial-splash-tribute-rule i {
    font-size:.6rem;
}
.memorial-splash-tribute p {
    margin:0 auto;
    max-width:55ch;
    color:#e6edf3;
    font-size:clamp(.78rem,1.05vw,.95rem);
    line-height:1.6;
}
.memorial-splash-tribute small {
    display:block;
    margin-top:.8rem;
    color:#b9c5d0 !important;
    font-size:.53rem;
    font-weight:900;
    letter-spacing:.1em;
    line-height:1.55;
}

html[data-ops-theme="federal-subdued-black"] .platform-config-hero,
html[data-ops-theme="federal-subdued-black"] .platform-config-panel-body,
html[data-ops-theme="federal-subdued-black"] .platform-config-toggle-row,
html[data-ops-theme="federal-subdued-black"] .platform-config-status-body {
    background:#11161b;
    border-color:#394550;
}
html[data-ops-theme="federal-subdued-black"] .platform-config-version,
html[data-ops-theme="federal-subdued-black"] .platform-config-intro,
html[data-ops-theme="federal-subdued-black"] .platform-config-spec-grid article {
    background:#171e25;
    border-color:#394550;
}
html[data-ops-theme="federal-subdued-black"] .platform-config-status-row {
    border-color:#303a45;
}

@media (max-width:1199.98px) {
    .platform-config-layout { grid-template-columns:1fr; }
    .platform-config-status-row strong { max-width:70%; }
}
@media (max-width:767.98px) {
    .platform-config-hero {
        flex-direction:column;
        padding:.9rem;
    }
    .platform-config-version {
        width:100%;
        min-width:0;
        align-items:flex-start;
    }
    .platform-config-panel-header,
    .platform-config-panel-body,
    .platform-config-panel-footer,
    .platform-config-status-body,
    .platform-config-status-footer {
        padding:.85rem !important;
    }
    .platform-config-toggle-row {
        flex-direction:column;
        align-items:flex-start;
        padding:.8rem;
    }
    .platform-config-spec-grid { grid-template-columns:1fr; }
    .platform-config-panel-footer {
        flex-direction:column;
        align-items:stretch !important;
    }
    .platform-config-panel-footer .btn { width:100%; min-width:0; }
    .platform-config-status-row {
        align-items:flex-start;
        flex-direction:column;
        gap:.2rem;
    }
    .platform-config-status-row strong {
        max-width:100%;
        text-align:left;
    }
    .memorial-splash-tribute {
        top:47%;
        left:1rem;
        right:1rem;
        width:auto;
        transform:translateY(-50%);
        padding:1rem;
    }
    .memorial-splash-tribute small { display:none; }
}
@media (max-width:479.98px) {
    .platform-config-page { gap:.75rem; }
    .platform-config-intro { grid-template-columns:1fr; }
    .platform-config-icon { width:2.6rem; height:2.6rem; }
    .memorial-splash-tribute {
        top:45%;
        padding:.85rem;
    }
    .memorial-splash-tribute p { font-size:.72rem; }
}

/* =========================================================
   REV4.18 // CLEAN MEMORIAL ARTWORK + TRANSLUCENT TRIBUTE OVERLAY
   ========================================================= */
.memorial-splash-tribute {
    background:rgba(3,7,12,.72);
}


/* =========================================================
   REV4.22 // SPLASH VERSION + PARTIAL DEPLOYMENT HARDENING
   ========================================================= */
.memorial-splash-systemmeta {
    justify-content:center;
}


/* REV4.25 shared HERE + Photon address autocomplete */
.ops-address-autocomplete{position:relative}.ops-address-results{position:absolute;z-index:1080;left:0;right:0;top:100%;max-height:18rem;overflow-y:auto;background:var(--bs-body-bg,#fff);border:1px solid rgba(7,31,60,.3);box-shadow:0 .65rem 1.5rem rgba(0,0,0,.18)}.ops-address-result{display:block;width:100%;border:0;border-bottom:1px solid rgba(7,31,60,.12);background:transparent;text-align:left;padding:.65rem .8rem;color:inherit}.ops-address-result:hover,.ops-address-result:focus{background:rgba(20,84,142,.1);outline:0}.ops-address-result strong,.ops-address-result span{display:block}.ops-address-result span{font-size:.76rem;opacity:.72;margin-top:.12rem}.ops-address-status{font-size:.68rem;letter-spacing:.055em;opacity:.72;margin-top:.3rem}.ops-address-results[hidden]{display:none!important}



/* =====================================================================
   REV4.33 // COLOR-CODED MODULE ICON SYSTEM
   Module navigation and page rendering share one module-specific visual identity.
   ===================================================================== */
.dashboard-action-icon.dashboard-action-icon-image {
    width: 3.4rem;
    height: 3.4rem;
    padding: 0;
    border: 0;
    border-radius: .95rem;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
}
.dashboard-action-icon-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}
html[data-ops-theme="default"] .dashboard-action-icon.dashboard-action-icon-image {
    border: 0;
    background: transparent;
}
@media (max-width: 575.98px) {
    .dashboard-action-icon.dashboard-action-icon-image { width: 3rem; height: 3rem; }
}

/* =====================================================================
   REV4.33 // CATEGORIZED MODULE NAVIGATION
   ===================================================================== */
.ops-modules-dropdown { position: static; }
.ops-modules-toggle {
    border: 0;
    background: transparent;
}
.ops-modules-toggle.dropdown-toggle::before { display: none; }
.ops-modules-toggle.dropdown-toggle::after { margin-left: .45rem; }
.ops-modules-menu {
    right: 1rem !important;
    left: 1rem !important;
    width: auto;
    max-height: min(76vh, 50rem);
    margin-top: 0;
    padding: 0;
    overflow: auto;
    border: 1px solid #aeb9c4;
    border-top: 4px solid #12345a;
    border-radius: 0 0 .8rem .8rem;
    background: var(--bs-body-bg, #fff);
    box-shadow: 0 1rem 2.5rem rgba(7,31,60,.2);
}
.ops-modules-menu-header {
    position: sticky;
    z-index: 2;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .8rem 1rem;
    border-bottom: 1px solid var(--bs-border-color, #d6dde4);
    background: color-mix(in srgb, var(--bs-body-bg, #fff) 96%, #12345a 4%);
}
.ops-modules-menu-header > div { display: flex; flex-direction: column; }
.ops-modules-menu-header strong {
    color: var(--bs-emphasis-color, #071f3c);
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.ops-modules-menu-kicker,
.ops-modules-menu-hint {
    color: var(--bs-secondary-color, #5b6877);
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.ops-modules-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
    padding: .9rem;
}
.ops-module-category {
    min-width: 0;
    padding: .7rem;
    border: 1px solid var(--bs-border-color, #d6dde4);
    border-radius: .65rem;
    background: color-mix(in srgb, var(--bs-body-bg, #fff) 97%, #12345a 3%);
}
.ops-module-category h2 {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 0 0 .55rem;
    padding: 0 .25rem .55rem;
    border-bottom: 2px solid #12345a;
    color: var(--bs-emphasis-color, #071f3c);
    font-size: .63rem;
    font-weight: 950;
    letter-spacing: .095em;
    text-transform: uppercase;
}
.ops-module-category h2 i { color: #005ea8; }
.ops-module-category-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .35rem;
}
.ops-module-menu-item {
    display: grid;
    grid-template-columns: 2.45rem minmax(0, 1fr);
    gap: .55rem;
    align-items: center;
    min-width: 0;
    padding: .45rem;
    border: 1px solid transparent;
    border-radius: .5rem;
    color: var(--bs-body-color, #1b1f23);
    text-decoration: none;
    transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}
.ops-module-menu-item:hover,
.ops-module-menu-item:focus-visible {
    border-color: #9bb5ce;
    background: color-mix(in srgb, var(--bs-body-bg, #fff) 88%, #005ea8 12%);
    color: var(--bs-emphasis-color, #071f3c);
    transform: translateY(-1px);
}
.ops-module-menu-item.active {
    border-color: #7ea6c9;
    background: color-mix(in srgb, var(--bs-body-bg, #fff) 86%, #005ea8 14%);
}
.ops-module-menu-icon {
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    overflow: hidden;
    border-radius: .55rem;
    box-shadow: 0 .14rem .38rem rgba(7,31,60,.18);
}
.ops-module-menu-icon img { width: 100%; height: 100%; object-fit: cover; }
.ops-module-menu-copy { min-width: 0; display: flex; flex-direction: column; line-height: 1.15; }
.ops-module-menu-copy strong {
    overflow: hidden;
    color: inherit;
    font-size: .68rem;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ops-module-menu-copy small {
    margin-top: .18rem;
    overflow: hidden;
    color: var(--bs-secondary-color, #647383);
    font-size: .52rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.dashboard-module-nav-note {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin: .4rem 0 0;
    padding: .55rem .7rem;
    border-left: 3px solid #005ea8;
    background: color-mix(in srgb, var(--bs-body-bg, #fff) 93%, #005ea8 7%);
    color: var(--bs-secondary-color, #536273);
    font-size: .72rem;
}
.dashboard-module-nav-note strong { color: var(--bs-emphasis-color, #071f3c); }
html[data-ops-theme="federal-subdued-black"] .ops-modules-menu {
    border-color: #3a4652;
    border-top-color: #6f93b8;
    background: #11171d;
}
html[data-ops-theme="federal-subdued-black"] .ops-modules-menu-header,
html[data-ops-theme="federal-subdued-black"] .ops-module-category {
    border-color: #303a45;
    background: #151c23;
}
html[data-ops-theme="federal-subdued-black"] .ops-module-category h2 { border-color: #6f93b8; color: #dce5ec; }
html[data-ops-theme="federal-subdued-black"] .ops-module-menu-item { color: #d0d7de; }
html[data-ops-theme="federal-subdued-black"] .ops-module-menu-item:hover,
html[data-ops-theme="federal-subdued-black"] .ops-module-menu-item:focus-visible,
html[data-ops-theme="federal-subdued-black"] .ops-module-menu-item.active {
    border-color: #536f8a;
    background: #1d2a36;
    color: #fff;
}
html[data-ops-theme="federal-subdued-black"] .ops-module-menu-copy small,
html[data-ops-theme="federal-subdued-black"] .ops-modules-menu-kicker,
html[data-ops-theme="federal-subdued-black"] .ops-modules-menu-hint { color: #9caab7; }
html[data-ops-theme="federal-subdued-black"] .dashboard-module-nav-note {
    border-left-color: #6f93b8;
    background: #151c23;
    color: #aeb9c4;
}
html[data-ops-theme="federal-subdued-black"] .dashboard-module-nav-note strong { color: #e6edf3; }
@media (max-width: 1599.98px) {
    .ops-modules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1199.98px) {
    .ops-modules-dropdown { position: relative; display: block !important; }
    .ops-modules-toggle { width: 100%; justify-content: flex-start; }
    .ops-modules-menu {
        position: static !important;
        width: 100%;
        max-height: 62vh;
        margin: 0 0 .7rem;
        transform: none !important;
        border-radius: .5rem;
    }
    .ops-modules-grid { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
    .ops-modules-menu-header { align-items: flex-start; flex-direction: column; }
    .ops-module-category-list { grid-template-columns: 1fr; }
    .ops-modules-grid { padding: .55rem; }
    .ops-module-category { padding: .55rem; }
}
.ops-modules-menu[data-bs-popper] {
    top: 100% !important;
    right: 1rem !important;
    left: 1rem !important;
    transform: none !important;
}
@media (max-width: 1199.98px) {
    .ops-modules-menu[data-bs-popper] {
        position: static !important;
        inset: auto !important;
        transform: none !important;
    }
}


/* REV4.33 // MDT shared-unit/POI workspace + no live-update zoom */
.mdt-three-column-workspace { min-height: clamp(34rem, calc(100dvh - 13.5rem), 56rem); }
.mdt-call-details-panel { height: 100%; align-self: stretch; }
.mdt-call-details-panel > .command-panel-body { flex: 1 1 auto; min-height: 0; }
.mdt-selected-log-panel { height: 100%; }
.mdt-assigned-units-panel { flex: 0 0 auto; border-top: 1px solid var(--ops-line); background: var(--ops-paper); max-height: 14rem; overflow: auto; }
.mdt-assigned-units-head { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.48rem .58rem; border-bottom:1px solid var(--ops-line); font-size:.52rem; font-weight:1000; letter-spacing:.08em; }
.mdt-assigned-unit-list { display:grid; }
.mdt-assigned-unit-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.65rem; align-items:center; padding:.48rem .58rem; border-bottom:1px solid var(--ops-line); }
.mdt-assigned-unit-row:last-child { border-bottom:0; }
.mdt-assigned-unit-row.is-self { box-shadow: inset 3px 0 0 var(--ops-action); }
.mdt-assigned-unit-row > div { display:grid; gap:.08rem; min-width:0; }
.mdt-assigned-unit-row > div:last-child { justify-items:end; text-align:right; }
.mdt-assigned-unit-row strong { font-size:.64rem; overflow-wrap:anywhere; }
.mdt-assigned-unit-row span { font-size:.49rem; color:var(--ops-ink-soft); overflow-wrap:anywhere; }
.mdt-patient-accountability-button { white-space:nowrap; }
@media (max-width: 991.98px) {
  .mdt-three-column-workspace { min-height:0; }
  .mdt-call-details-panel { min-height:34rem; }
}
@media (hover:none), (pointer:coarse) {
  input, select, textarea, .form-control, .form-select, .command-input { font-size:16px !important; }
}

/* REV4.33 // fill the MDT incident/caller column to the full workspace height. */
@media (min-width: 992px) {
  .mdt-three-column-workspace > .mdt-three-panel { height: 100%; max-height: none; }
  .mdt-call-details-panel { min-height: 100%; }
}

/* REV4.37 // NWS live radar operational map */
.ops-weather-radar-map{height:min(62vh,42rem);min-height:28rem;width:100%;background:#dce6ef;}
.reev-map-layer-control{font-size:.72rem;text-transform:uppercase;letter-spacing:.035em;}

/* =====================================================================
   REV4.37 // WEATHER / HAZARD INTELLIGENCE THREE-COLUMN COMMAND VIEW
   ===================================================================== */
.ops-weather-intel-layout{
    display:grid;
    grid-template-columns:minmax(18rem,.85fr) minmax(20rem,1fr) minmax(34rem,1.65fr);
    gap:1rem;
    align-items:stretch;
}
.ops-weather-intel-layout>.command-panel{
    min-width:0;
    margin:0;
    display:flex;
    flex-direction:column;
    min-height:calc(100vh - 12.5rem);
}
.ops-weather-scroll-body{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
}
.ops-weather-grid.ops-weather-grid-column{
    grid-template-columns:1fr;
}
.ops-weather-radar-panel .ops-weather-radar-map{
    flex:1 1 auto;
    min-height:34rem;
    height:auto;
}
.ops-manual-hazard-list{
    display:grid;
    gap:.7rem;
}
.ops-manual-hazard-card{
    border:1px solid var(--ops-line,#b8c3cd);
    background:var(--ops-paper,#fff);
    padding:.8rem;
}
.ops-manual-hazard-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:.65rem;
    padding-bottom:.55rem;
    margin-bottom:.55rem;
    border-bottom:1px solid var(--ops-line,#d3dbe2);
}
.ops-manual-hazard-card-head>strong{
    font-size:.9rem;
    line-height:1.25;
}
.ops-hazard-severity{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    border:1px solid currentColor;
    padding:.16rem .4rem;
    font-size:.64rem;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.ops-hazard-severity-advisory{color:#4f6475}.ops-hazard-severity-watch{color:#8a6500}.ops-hazard-severity-warning{color:#a34c00}.ops-hazard-severity-emergency{color:#a1191f}
.ops-manual-hazard-meta{
    display:grid;
    gap:.5rem;
}
.ops-manual-hazard-meta>div{
    display:grid;
    grid-template-columns:4.25rem 1fr;
    gap:.45rem;
}
.ops-manual-hazard-meta dt{
    font-size:.62rem;
    font-weight:900;
    letter-spacing:.08em;
    color:var(--ops-muted,#647585);
}
.ops-manual-hazard-meta dd{
    margin:0;
    font-size:.78rem;
    overflow-wrap:anywhere;
}
.ops-manual-hazard-details{
    padding-top:.45rem;
    border-top:1px dashed var(--ops-line,#d3dbe2);
}
.command-modal-content{
    border-radius:.25rem;
    border:1px solid var(--ops-line,#9eacb8);
}
.command-modal-content .modal-header.command-panel-header{
    border-bottom:1px solid var(--ops-line,#9eacb8);
}
@media (max-width:1399.98px){
    .ops-weather-intel-layout{grid-template-columns:minmax(17rem,1fr) minmax(18rem,1fr) minmax(28rem,1.45fr)}
}
@media (max-width:1199.98px){
    .ops-weather-intel-layout{grid-template-columns:1fr 1fr}
    .ops-weather-radar-panel{grid-column:1/-1}
    .ops-weather-intel-layout>.command-panel{min-height:auto}
    .ops-weather-radar-panel .ops-weather-radar-map{height:min(62vh,42rem);min-height:28rem}
}
@media (max-width:767.98px){
    .ops-weather-intel-layout{grid-template-columns:1fr}
    .ops-weather-radar-panel{grid-column:auto}
    .ops-weather-intel-layout>.command-panel{min-height:auto}
    .ops-weather-radar-panel .ops-weather-radar-map{height:28rem;min-height:24rem}
    .ops-manual-hazard-meta>div{grid-template-columns:1fr}
}

/* =====================================================================
   REV4.38 // USER-SCOPED REAL-TIME NWS OBSERVATION + LIVE INTEL REFRESH
   ===================================================================== */
.ops-weather-current-temp{display:block;}
.ops-current-temp-card{
    display:grid;
    gap:.28rem;
    padding:1rem;
    border:1px solid var(--ops-line,#b8c3cd);
    background:var(--ops-paper,#fff);
}
.ops-current-temp-card>span{
    font-size:.62rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--ops-muted,#647585);
}
.ops-current-temp-card>strong{
    font-size:2rem;
    line-height:1;
    letter-spacing:-.03em;
}
.ops-current-temp-card>small{
    font-size:.67rem;
    line-height:1.35;
    color:var(--ops-ink-soft,#4f6475);
}
.ops-current-temp-waiting>strong{font-size:1rem;letter-spacing:.04em;}
.ops-alert-card small{display:block;margin-top:.35rem;font-size:.62rem;font-weight:800;letter-spacing:.045em;}

/* ========================================================================== */
/* REV4.44 // MOBILE MDT TOUCH-FIRST REDESIGN                                 */
/* REV4.48 // MOBILE MDT SHARED THEME OWNERSHIP                               */
/* ========================================================================== */
.mobile-mdt-v2 {
    /* Mobile MDT deliberately aliases the same account-level theme tokens as
       the rest of CMD CENTER. Do not introduce a private light/dark palette. */
    --mmdt-bg: var(--ops-sand, #f4f6f8);
    --mmdt-panel: var(--ops-paper, #ffffff);
    --mmdt-panel-2: color-mix(in srgb, var(--ops-paper, #ffffff) 92%, var(--ops-olive-light, #d9e8f6) 8%);
    --mmdt-line: var(--ops-line, #c9d2dc);
    --mmdt-text: var(--ops-ink, #1b1f23);
    --mmdt-muted: var(--ops-ink-soft, #4f5b66);
    --mmdt-accent: var(--ops-olive, #005ea8);
    --mmdt-accent-contrast: var(--ops-action-text, #ffffff);
    --mmdt-success: var(--ops-green, #287c50);
    --mmdt-warning: var(--ops-warning, #a66f00);
    --mmdt-danger: var(--ops-danger, #b50909);
    --mmdt-shadow: var(--ops-theme-shadow, var(--ops-shadow, 0 .65rem 1.6rem rgba(7,31,60,.08)));
    --mmdt-panel-radius: var(--ops-panel-radius, .2rem);
    --mmdt-control-radius: var(--ops-control-radius, .2rem);
    background-color: var(--mmdt-bg);
    background-image:
        linear-gradient(color-mix(in srgb,var(--mmdt-accent) 4%,transparent) 1px,transparent 1px),
        linear-gradient(90deg,color-mix(in srgb,var(--mmdt-accent) 4%,transparent) 1px,transparent 1px);
    background-size:28px 28px;
    color: var(--mmdt-text);
}
.mobile-mdt-v2 .ops-navbar { border-bottom-color: var(--mmdt-line); }
.mobile-mdt-screen {
    width: min(100%, 860px);
    margin: 0 auto;
    padding: .75rem .72rem calc(6.25rem + env(safe-area-inset-bottom));
}
.mobile-mdt-commandbar {
    position: sticky;
    top: 0;
    z-index: 1040;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin: -.75rem -.72rem .65rem;
    padding: .72rem max(.72rem, env(safe-area-inset-right)) .72rem max(.72rem, env(safe-area-inset-left));
    border-bottom: 1px solid var(--mmdt-line);
    background: color-mix(in srgb, var(--mmdt-bg) 94%, transparent);
    backdrop-filter: blur(14px);
}
.mobile-mdt-commandbar-copy { min-width: 0; }
.mobile-mdt-eyebrow,
.mobile-mdt-section-heading span,
.mobile-mdt-unit-cell span,
.mobile-mdt-call-kicker,
.mobile-mdt-location-card span,
.mobile-mdt-hazard-v2 span,
.mobile-mdt-summary-card > span,
.mobile-mdt-ready-kicker,
.mobile-mdt-cache-panel span {
    display: block;
    color: var(--mmdt-muted);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .13em;
    line-height: 1.2;
    text-transform: uppercase;
}
.mobile-mdt-title-row { display:flex; align-items:center; gap:.6rem; min-width:0; }
.mobile-mdt-title-row h1 {
    margin: .08rem 0 0;
    font-size: clamp(1.15rem, 5vw, 1.55rem);
    font-weight: 1000;
    letter-spacing: .045em;
    line-height: 1;
    white-space: nowrap;
}
.mobile-mdt-net {
    display:inline-flex;
    align-items:center;
    gap:.32rem;
    min-height:1.7rem;
    padding:.28rem .48rem;
    border:1px solid var(--mmdt-line);
    border-radius:var(--mmdt-control-radius);
    font-size:.58rem;
    font-weight:1000;
    letter-spacing:.07em;
    white-space:nowrap;
}
.mobile-mdt-net.is-online { color:var(--mmdt-success); border-color:color-mix(in srgb,var(--mmdt-success) 55%,var(--mmdt-line)); background:color-mix(in srgb,var(--mmdt-success) 12%,var(--mmdt-panel)); }
.mobile-mdt-net.is-offline { color:var(--mmdt-danger); border-color:color-mix(in srgb,var(--mmdt-danger) 55%,var(--mmdt-line)); background:color-mix(in srgb,var(--mmdt-danger) 12%,var(--mmdt-panel)); }
.mobile-mdt-refresh {
    flex:0 0 3rem;
    width:3rem;
    height:3rem;
    border:1px solid var(--mmdt-line);
    border-radius:var(--mmdt-control-radius);
    background:var(--mmdt-panel);
    color:var(--mmdt-text);
    font-size:1rem;
}
.mobile-mdt-refresh.is-refreshing i { animation: mobileMdtSpin .7s linear infinite; }
@keyframes mobileMdtSpin { to { transform:rotate(360deg); } }
.mobile-mdt-unit-strip {
    display:grid;
    grid-template-columns:1.35fr 1fr .8fr;
    gap:1px;
    overflow:hidden;
    margin-bottom:.65rem;
    border:1px solid var(--mmdt-line);
    border-radius:var(--mmdt-control-radius);
    background:var(--mmdt-line);
}
.mobile-mdt-unit-cell { min-width:0; padding:.55rem .62rem; background:var(--mmdt-panel); }
.mobile-mdt-unit-cell strong {
    display:block;
    overflow:hidden;
    margin-top:.14rem;
    color:var(--mmdt-text);
    font-size:.83rem;
    font-weight:1000;
    letter-spacing:.035em;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.mobile-mdt-assignment-shell,
.mobile-mdt-status-panel,
.mobile-mdt-tools-panel,
.mobile-mdt-cache-panel {
    margin-bottom:.65rem;
    border:1px solid var(--mmdt-line);
    border-radius:var(--mmdt-panel-radius);
    background:var(--mmdt-panel);
    box-shadow:var(--mmdt-shadow);
}
.mobile-mdt-assignment { min-height:16rem; }
.mobile-mdt-loading,
.mobile-mdt-offline-empty {
    min-height:16rem;
    display:grid;
    place-content:center;
    gap:.65rem;
    padding:1.25rem;
    text-align:center;
    color:var(--mmdt-muted);
}
.mobile-mdt-loading .spinner-border { margin:auto; }
.mobile-mdt-offline-empty i { color:var(--mmdt-danger); font-size:1.7rem; }
.mobile-mdt-offline-empty strong { color:var(--mmdt-text); }
.mobile-mdt-offline-empty span { font-size:.78rem; }
.mobile-mdt-call-v2 { overflow:hidden; border-radius:var(--mmdt-panel-radius); }
.mobile-mdt-call-banner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.6rem;
    min-height:2.55rem;
    padding:.42rem .62rem;
    background:color-mix(in srgb,var(--ops-line-dark,#7c8da0) 62%,#071f3c);
    color:#fff;
}
.mobile-mdt-call-v2.is-p1 .mobile-mdt-call-banner { background:color-mix(in srgb,var(--mmdt-danger) 82%,#3b0808); }
.mobile-mdt-call-v2.is-p2 .mobile-mdt-call-banner { background:color-mix(in srgb,var(--mmdt-warning) 82%,#3d2a00); }
.mobile-mdt-call-v2.is-p3 .mobile-mdt-call-banner { background:var(--mmdt-accent); color:var(--mmdt-accent-contrast); }
.mobile-mdt-priority-v2,
.mobile-mdt-call-number { font-size:.75rem; font-weight:1000; letter-spacing:.08em; }
.mobile-mdt-call-number { text-align:right; }
.mobile-mdt-call-main { padding:.8rem .78rem .68rem; }
.mobile-mdt-call-main h2 {
    margin:.18rem 0 .62rem;
    color:var(--mmdt-text);
    font-size:clamp(1.25rem, 6vw, 1.7rem);
    font-weight:1000;
    line-height:1.08;
}
.mobile-mdt-call-statuses { display:grid; grid-template-columns:1fr 1fr; gap:.45rem; }
.mobile-mdt-call-statuses span {
    min-width:0;
    padding:.48rem .55rem;
    border:1px solid var(--mmdt-line);
    border-radius:var(--mmdt-control-radius);
    background:var(--mmdt-panel-2);
}
.mobile-mdt-call-statuses small { display:block; color:var(--mmdt-muted); font-size:.56rem; font-weight:900; letter-spacing:.1em; }
.mobile-mdt-call-statuses strong { display:block; margin-top:.08rem; font-size:.84rem; font-weight:1000; }
.mobile-mdt-location-card,
.mobile-mdt-hazard-v2 {
    display:grid;
    grid-template-columns:2.2rem 1fr;
    gap:.55rem;
    align-items:start;
    margin:0 .72rem .58rem;
    padding:.65rem;
    border:1px solid var(--mmdt-line);
    border-radius:var(--mmdt-control-radius);
    background:var(--mmdt-panel-2);
}
.mobile-mdt-location-card i,
.mobile-mdt-hazard-v2 i { margin-top:.1rem; text-align:center; font-size:1.05rem; color:var(--mmdt-accent); }
.mobile-mdt-location-card strong,
.mobile-mdt-hazard-v2 strong { display:block; margin-top:.18rem; color:var(--mmdt-text); font-size:.83rem; line-height:1.3; }
.mobile-mdt-hazard-v2 { border-color:color-mix(in srgb,var(--mmdt-danger) 52%,var(--mmdt-line)); background:color-mix(in srgb,var(--mmdt-danger) 12%,var(--mmdt-panel)); }
.mobile-mdt-hazard-v2 i,
.mobile-mdt-hazard-v2 span { color:var(--mmdt-danger); }
.mobile-mdt-summary-card { margin:0 .72rem .62rem; padding:.65rem .1rem .18rem; border-top:1px solid var(--mmdt-line); }
.mobile-mdt-summary-card p { margin:.3rem 0 0; color:var(--mmdt-text); font-size:.83rem; line-height:1.45; white-space:pre-wrap; }
.mobile-mdt-open-call {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    min-height:3.2rem;
    margin:.7rem;
    border:1px solid color-mix(in srgb,var(--mmdt-success) 58%,var(--mmdt-line));
    border-radius:var(--mmdt-control-radius);
    background:color-mix(in srgb,var(--mmdt-success) 13%,var(--mmdt-panel));
    color:var(--mmdt-success) !important;
    font-size:.76rem;
    font-weight:1000;
    letter-spacing:.07em;
    text-decoration:none;
}
.mobile-mdt-no-call-v2 { min-height:16rem; display:grid; place-items:center; align-content:center; padding:1.35rem; text-align:center; }
.mobile-mdt-ready-icon { display:grid; place-items:center; width:4rem; height:4rem; margin-bottom:.55rem; border:1px solid color-mix(in srgb,var(--mmdt-success) 50%,var(--mmdt-line)); border-radius:50%; background:color-mix(in srgb,var(--mmdt-success) 12%,var(--mmdt-panel)); color:var(--mmdt-success); font-size:1.45rem; }
.mobile-mdt-no-call-v2 h2 { margin:.2rem 0 .35rem; font-size:1.28rem; font-weight:1000; }
.mobile-mdt-no-call-v2 p { max-width:29rem; margin:0; color:var(--mmdt-muted); font-size:.82rem; }
.mobile-mdt-ready-status { display:flex; align-items:center; gap:.5rem; margin-top:.9rem; padding:.42rem .62rem; border:1px solid var(--mmdt-line); border-radius:var(--mmdt-control-radius); background:var(--mmdt-panel-2); font-size:.68rem; }
.mobile-mdt-ready-status span { color:var(--mmdt-muted); }
.mobile-mdt-ready-status strong { color:var(--mmdt-success); }
.mobile-mdt-status-panel,
.mobile-mdt-tools-panel { padding:.68rem; }
.mobile-mdt-section-heading { display:flex; justify-content:space-between; gap:.75rem; align-items:flex-end; margin-bottom:.55rem; }
.mobile-mdt-section-heading strong { display:block; margin-top:.12rem; color:var(--mmdt-text); font-size:.82rem; font-weight:1000; }
.mobile-mdt-status-message { max-width:48%; color:var(--mmdt-success)!important; text-align:right; letter-spacing:.055em!important; }
.mobile-mdt-status-grid { display:grid; grid-template-columns:1fr 1fr; gap:.48rem; }
.mobile-mdt-status-button {
    min-height:4.25rem;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.34rem;
    border:1px solid var(--mmdt-line);
    border-radius:var(--mmdt-control-radius);
    background:var(--mmdt-panel-2);
    color:var(--mmdt-text);
    font-size:.72rem;
    font-weight:1000;
    letter-spacing:.055em;
    touch-action:manipulation;
}
.mobile-mdt-status-button i { font-size:1.08rem; color:var(--mmdt-muted); }
.mobile-mdt-status-button.is-current { border-color:color-mix(in srgb,var(--mmdt-success) 70%,var(--mmdt-line)); background:color-mix(in srgb,var(--mmdt-success) 14%,var(--mmdt-panel)); color:var(--mmdt-success); opacity:1; }
.mobile-mdt-status-button.is-current i { color:var(--mmdt-success); }
.mobile-mdt-status-button.is-clear:not(:disabled) { border-color:color-mix(in srgb,var(--mmdt-danger) 38%,var(--mmdt-line)); }
.mobile-mdt-status-button:disabled { opacity:.48; }
.mobile-mdt-tools-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.48rem; }
.mobile-mdt-tool {
    min-height:4.25rem;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.34rem;
    padding:.5rem;
    border:1px solid var(--mmdt-line);
    border-radius:var(--mmdt-control-radius);
    background:var(--mmdt-panel-2);
    color:var(--mmdt-text) !important;
    font-size:.68rem;
    font-weight:1000;
    letter-spacing:.045em;
    text-align:center;
    text-decoration:none;
}
.mobile-mdt-tool i { color:var(--mmdt-muted); font-size:1.12rem; }
.mobile-mdt-tool.is-primary { border-color:color-mix(in srgb,var(--mmdt-accent) 62%,var(--mmdt-line)); background:color-mix(in srgb,var(--mmdt-accent) 12%,var(--mmdt-panel)); color:var(--mmdt-accent) !important; }
.mobile-mdt-tool.is-primary i { color:var(--mmdt-accent); }
.mobile-mdt-cache-panel { display:grid; grid-template-columns:2rem 1fr; gap:.6rem; align-items:start; padding:.65rem .72rem; color:var(--mmdt-muted); }
.mobile-mdt-cache-panel > i { margin-top:.1rem; text-align:center; color:var(--mmdt-accent); }
.mobile-mdt-cache-panel p { margin-top:.16rem!important; font-size:.71rem; line-height:1.35; }
@media (max-width: 540px) {
    .mobile-mdt-screen { padding-left:.55rem; padding-right:.55rem; }
    .mobile-mdt-commandbar { margin-left:-.55rem; margin-right:-.55rem; padding-left:.65rem; padding-right:.65rem; }
    .mobile-mdt-unit-strip { grid-template-columns:1.3fr 1fr; }
    .mobile-mdt-sync-cell { grid-column:1 / -1; }
    .mobile-mdt-tools-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 360px) {
    .mobile-mdt-title-row { align-items:flex-start; flex-direction:column; gap:.3rem; }
    .mobile-mdt-refresh { flex-basis:2.75rem; width:2.75rem; height:2.75rem; }
    .mobile-mdt-status-grid { grid-template-columns:1fr; }
}

/* ========================================================================== */
/* REV4.49 // MOBILE MDT CAD LOG + CALLSIGN-ONLY UNIT IDENTITY               */
/* ========================================================================== */
.mobile-mdt-log-panel {
    margin-bottom:.65rem;
    padding:.68rem;
    border:1px solid var(--mmdt-line);
    border-radius:var(--mmdt-panel-radius);
    background:var(--mmdt-panel);
    box-shadow:var(--mmdt-shadow);
}
.mobile-mdt-log-count {
    color:var(--mmdt-muted)!important;
    font-size:.6rem!important;
    font-weight:1000!important;
    letter-spacing:.07em!important;
    white-space:nowrap;
}
.mobile-mdt-log-form {
    display:grid;
    gap:.48rem;
    margin-bottom:.55rem;
    padding:.55rem;
    border:1px solid var(--mmdt-line);
    border-radius:var(--mmdt-control-radius);
    background:var(--mmdt-panel-2);
}
.mobile-mdt-log-form textarea {
    min-height:4.5rem;
    resize:vertical;
}
.mobile-mdt-log-actions {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.55rem;
}
.mobile-mdt-log-actions > span {
    color:var(--mmdt-muted);
    font-size:.59rem;
    font-weight:900;
    letter-spacing:.055em;
    line-height:1.25;
    text-transform:uppercase;
}
.mobile-mdt-log-actions .btn {
    min-height:2.65rem;
    flex:0 0 auto;
    font-size:.7rem;
    font-weight:1000;
    letter-spacing:.06em;
}
.mobile-mdt-log-list {
    max-height:22rem;
    overflow:auto;
    overscroll-behavior:contain;
    border:1px solid var(--mmdt-line);
    border-radius:var(--mmdt-control-radius);
    background:var(--mmdt-panel-2);
}
.mobile-mdt-log-entry {
    padding:.62rem .65rem;
    border-bottom:1px solid var(--mmdt-line);
}
.mobile-mdt-log-entry:last-child { border-bottom:0; }
.mobile-mdt-log-meta {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:.25rem .55rem;
    margin-bottom:.3rem;
}
.mobile-mdt-log-meta span,
.mobile-mdt-log-meta strong {
    font-size:.58rem;
    font-weight:1000;
    letter-spacing:.06em;
    line-height:1.25;
    text-transform:uppercase;
}
.mobile-mdt-log-meta span { color:var(--mmdt-muted); }
.mobile-mdt-log-meta strong { color:var(--mmdt-accent); text-align:right; }
.mobile-mdt-log-entry p {
    margin:0;
    color:var(--mmdt-text);
    font-size:.78rem;
    line-height:1.4;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}
.mobile-mdt-log-empty {
    padding:1rem .7rem;
    color:var(--mmdt-muted);
    font-size:.67rem;
    font-weight:900;
    letter-spacing:.06em;
    text-align:center;
}
@media (max-width:540px) {
    .mobile-mdt-log-actions { align-items:stretch; flex-direction:column; }
    .mobile-mdt-log-actions .btn { width:100%; }
    .mobile-mdt-log-meta { align-items:flex-start; flex-direction:column; }
    .mobile-mdt-log-meta strong { text-align:left; }
}

/* ========================================================================== */
/* REV4.57 // MDT + eCAD HERE/PHOTON ADDRESS-SEARCH SHARED PIN DROP          */
/* ========================================================================== */
.mdt-address-pin-search {
    position: relative;
    z-index: 650;
    flex: 0 0 auto;
    border-bottom: 1px solid var(--ops-line-dark);
    background: var(--ops-paper-soft, #f4f6f8);
}
.mdt-address-pin-search .ops-address-autocomplete { position: relative; }
.mdt-address-pin-search .ops-address-results { z-index: 1800; }
.mdt-address-pin-status {
    margin-top: .35rem;
    color: var(--ops-ink-soft);
    font-size: .54rem;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
}
html[data-ops-theme]:not([data-ops-theme="default"]) .mdt-address-pin-search {
    background: var(--ops-paper) !important;
    border-color: var(--ops-line) !important;
}

/* REV4.58 // linked Mission shortcut on MDT + eCAD */
.mdt-linked-mission-control {
    flex: 0 0 clamp(11rem, 17vw, 15rem);
    min-width: 11rem;
}
.mdt-linked-mission-control > .btn,
.mdt-linked-mission-control > .dropdown,
.mdt-linked-mission-control > .dropdown > .btn {
    width: 100%;
    height: 100%;
}
@media (max-width: 767.98px) {
    .mdt-linked-mission-control { flex: 0 0 12.5rem; min-width: 12.5rem; }
}

/* ========================================================================== */
/* REV4.59 // unified CAD log + live Patient Accountability triage counts     */
/* ========================================================================== */
.patient-triage-count-strip {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:.4rem;
}
.patient-triage-count {
    min-width:0;
    display:grid;
    grid-template-columns:1fr auto;
    gap:.08rem .4rem;
    align-items:center;
    padding:.45rem .52rem;
    border:2px solid var(--ops-line-dark);
    font-weight:1000;
    text-transform:uppercase;
}
.patient-triage-count span { font-size:.57rem; letter-spacing:.075em; }
.patient-triage-count strong { grid-row:1 / span 2; grid-column:2; font-size:1.25rem; line-height:1; }
.patient-triage-count small { font-size:.48rem; font-weight:1000; letter-spacing:.055em; opacity:.86; }
.mdt-patient-triage-panel {
    padding:.48rem;
    border:1px solid var(--ops-line-dark);
    background:var(--ops-paper);
}
.mdt-patient-triage-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.5rem;
    margin-bottom:.4rem;
    color:var(--ops-ink-soft);
    font-size:.52rem;
    font-weight:1000;
    letter-spacing:.07em;
}
.mdt-patient-triage-heading strong { color:var(--ops-ink); }
.mobile-mdt-triage-panel {
    margin-bottom:.65rem;
    padding:.68rem;
    border:1px solid var(--mmdt-line);
    border-radius:var(--mmdt-panel-radius);
    background:var(--mmdt-panel);
    box-shadow:var(--mmdt-shadow);
}
.mobile-mdt-triage-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.42rem;
}
.mobile-mdt-triage-count {
    min-width:0;
    display:grid;
    grid-template-columns:1fr auto;
    gap:.06rem .3rem;
    align-items:center;
    padding:.5rem;
    border:2px solid currentColor;
    border-radius:var(--mmdt-control-radius);
    text-transform:uppercase;
}
.mobile-mdt-triage-count span { font-size:.56rem; font-weight:1000; letter-spacing:.06em; }
.mobile-mdt-triage-count strong { grid-row:1 / span 2; grid-column:2; font-size:1.2rem; font-weight:1000; line-height:1; }
.mobile-mdt-triage-count small { font-size:.46rem; font-weight:1000; letter-spacing:.04em; opacity:.85; }
@media (max-width:991.98px) {
    .patient-triage-count-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:575.98px) {
    .patient-triage-count-strip,
    .mobile-mdt-triage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .mdt-patient-triage-heading { align-items:flex-start; flex-direction:column; }
}


/* REV4.60 // compact MDT map column with full-width map viewport */
@media (min-width: 1200px) {
    .mdt-three-column-workspace > .mdt-map-panel {
        width: 100%;
        max-width: 26rem;
        justify-self: stretch;
    }
}
.mdt-three-column-workspace .mdt-compact-map {
    width: 100%;
    max-width: none;
}

/* ========================================================================== */
/* REV4.62 // APP-WIDE COMPACT ROW + COLUMN DENSITY                           */
/* Tightens structural spacing globally while preserving touch/button sizing. */
/* ========================================================================== */
:root {
    --ops-compact-gutter-x: .5rem;
    --ops-compact-gutter-y: .38rem;
    --ops-compact-cell-y: .3rem;
    --ops-compact-cell-x: .42rem;
    --ops-compact-panel-y: .5rem;
    --ops-compact-panel-x: .62rem;
}

/* Compact Bootstrap containers, rows, columns, and explicit gutter utilities. */
body .container,
body .container-fluid,
body .container-sm,
body .container-md,
body .container-lg,
body .container-xl,
body .container-xxl {
    --bs-gutter-x: 1rem;
}
body .row {
    --bs-gutter-x: var(--ops-compact-gutter-x);
    --bs-gutter-y: var(--ops-compact-gutter-y);
}
body .row.g-0 { --bs-gutter-x: 0; --bs-gutter-y: 0; }
body .row.g-1 { --bs-gutter-x: .25rem; --bs-gutter-y: .22rem; }
body .row.g-2 { --bs-gutter-x: .4rem; --bs-gutter-y: .32rem; }
body .row.g-3 { --bs-gutter-x: .55rem; --bs-gutter-y: .44rem; }
body .row.g-4 { --bs-gutter-x: .7rem; --bs-gutter-y: .58rem; }
body .row.g-5 { --bs-gutter-x: .9rem; --bs-gutter-y: .72rem; }
body .row.gx-0 { --bs-gutter-x: 0; }
body .row.gx-1 { --bs-gutter-x: .25rem; }
body .row.gx-2 { --bs-gutter-x: .4rem; }
body .row.gx-3 { --bs-gutter-x: .55rem; }
body .row.gx-4 { --bs-gutter-x: .7rem; }
body .row.gx-5 { --bs-gutter-x: .9rem; }
body .row.gy-0 { --bs-gutter-y: 0; }
body .row.gy-1 { --bs-gutter-y: .22rem; }
body .row.gy-2 { --bs-gutter-y: .32rem; }
body .row.gy-3 { --bs-gutter-y: .44rem; }
body .row.gy-4 { --bs-gutter-y: .58rem; }
body .row.gy-5 { --bs-gutter-y: .72rem; }

/* Tables become dense operational data grids everywhere in the application. */
body .table > :not(caption) > * > * {
    padding: var(--ops-compact-cell-y) var(--ops-compact-cell-x);
    line-height: 1.2;
    vertical-align: middle;
}
body .admin-user-table thead th,
body .admin-user-table tbody td,
body .quick-actions-table > :not(caption) > * > *,
body .mdt-call-table thead th,
body .mdt-call-table tbody td {
    padding: var(--ops-compact-cell-y) var(--ops-compact-cell-x);
}

/* Shared panel/card/list chrome uses the same compact density contract. */
body :is(.command-panel-header, .card-header, .ops-section-heading) {
    gap: .45rem;
    padding: var(--ops-compact-panel-y) var(--ops-compact-panel-x);
}
body :is(.command-panel-footer, .card-footer) {
    gap: .45rem;
    padding: .4rem .58rem;
}
body .card-body { padding: .6rem; }
body .modal-body { padding: .65rem; }
body :is(.list-group-item, .dropdown-item, .accordion-button) {
    padding-top: .38rem;
    padding-bottom: .38rem;
}
body .list-group-item { padding-left: .55rem; padding-right: .55rem; }
body .dropdown-item { padding-left: .6rem; padding-right: .6rem; }
body .accordion-button { padding-left: .62rem; padding-right: .62rem; }
body .alert { padding: .48rem .62rem; margin-bottom: .5rem; }

/* Dense operational rows that are not Bootstrap .row components. */
body .dispatch-queue-row {
    gap: .55rem;
    padding: .55rem .65rem .55rem .82rem;
}
body .dispatch-queue-priority,
body .dispatch-queue-main,
body .dispatch-queue-actions { gap: .25rem; }
body .dispatch-queue-meta { gap: .38rem; }
body .dispatch-unit-row {
    gap: .5rem;
    padding: .48rem .58rem;
}
body .dispatch-status-cell,
body .dispatch-map-location-strip > div,
body .dispatch-fact-grid > div,
body .dispatch-timestamp-grid > div {
    padding: .48rem .58rem;
}
body .dispatch-detail-section,
body .dispatch-intel-grid > div { padding: .58rem; }
body .dispatch-empty-inline { padding: .55rem; }
body .dispatch-log-entry {
    gap: .48rem;
    padding-top: .4rem;
    padding-bottom: .4rem;
}
body .dispatch-caller-grid { gap: .38rem .55rem; }

/* MDT / Mobile MDT row density. Maps and touch controls keep their dimensions. */
body .mdt-status-cell { padding: .42rem .48rem; }
body .mdt-assigned-units-head,
body .mdt-assigned-unit-row { padding: .36rem .44rem; }
body .mdt-map-legend { gap: .4rem; padding: .38rem .48rem; }
body .mdt-three-column-workspace .mdt-map-status { padding: .34rem .44rem; }
body .mdt-three-column-workspace .map-poi-legend { padding: .32rem .42rem; }
body .patient-triage-count-strip { gap: .28rem; }
body .patient-triage-count { padding: .32rem .4rem; gap: .05rem .28rem; }
body .mdt-patient-triage-panel { padding: .36rem; }
body .mobile-mdt-triage-panel { margin-bottom: .45rem; padding: .48rem; }
body .mobile-mdt-triage-grid { gap: .28rem; }
body .mobile-mdt-triage-count { padding: .36rem .4rem; gap: .04rem .24rem; }

/* Preserve a compact stacked row on phones instead of reverting to large pads. */
@media (max-width: 767.98px) {
    body .dispatch-queue-row { padding: .55rem .58rem .55rem .78rem; }
    body .dispatch-queue-main,
    body .dispatch-queue-meta,
    body .dispatch-queue-actions { margin-top: .42rem; }
}

/* REV4.66 // MDT clickable pin list + current-incident live GPS routing */
.mdt-destination-control {
    display: grid;
    gap: .28rem;
    padding: .42rem;
    border-bottom: 1px solid var(--ops-line);
    background: #f4f7f9;
}
.mdt-destination-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .32rem;
}
.mdt-destination-actions .btn { min-width: 0; }
.mdt-route-status {
    color: var(--ops-ink-soft);
    font-size: .48rem;
    font-weight: 900;
    letter-spacing: .045em;
    line-height: 1.35;
    text-transform: uppercase;
}
.mdt-pin-list {
    display: grid;
    max-height: 10rem;
    overflow-y: auto;
    border-bottom: 1px solid var(--ops-line);
    background: #fff;
}
.mdt-pin-list-item {
    display: grid;
    grid-template-columns: minmax(5.8rem, auto) minmax(0, 1fr);
    gap: .08rem .4rem;
    align-items: center;
    width: 100%;
    padding: .34rem .44rem;
    border: 0;
    border-bottom: 1px solid var(--ops-line);
    background: transparent;
    color: var(--ops-ink);
    text-align: left;
}
.mdt-pin-list-item:last-child { border-bottom: 0; }
.mdt-pin-list-item:hover,
.mdt-pin-list-item:focus-visible { background: #eaf1f6; outline: 0; }
.mdt-pin-list-item span {
    grid-row: 1 / span 2;
    color: var(--ops-olive-dark);
    font-size: .46rem;
    font-weight: 1000;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.mdt-pin-list-item strong {
    min-width: 0;
    overflow: hidden;
    color: var(--ops-ink);
    font-size: .56rem;
    font-weight: 1000;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mdt-pin-list-item small {
    min-width: 0;
    overflow: hidden;
    color: var(--ops-ink-soft);
    font-size: .46rem;
    font-weight: 800;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mdt-pin-list-empty {
    padding: .42rem .48rem;
    color: var(--ops-ink-soft);
    font-size: .5rem;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
}
@media (max-width: 575.98px) {
    .mdt-pin-list-item { grid-template-columns: 1fr; }
    .mdt-pin-list-item span { grid-row: auto; }
}


/* REV4.67 // real-time weather cards + wider MDT map control bar */
.ops-weather-live-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .38rem;
}
.ops-weather-live-card {
    display: grid;
    gap: .18rem;
    min-width: 0;
    padding: .52rem .58rem;
    border: 1px solid var(--ops-line, #b8c3cd);
    border-left: 4px solid var(--ops-action, #005ea8);
    background: var(--ops-paper, #fff);
}
.ops-weather-live-card > span {
    color: var(--ops-muted, #647585);
    font-size: .5rem;
    font-weight: 1000;
    letter-spacing: .075em;
}
.ops-weather-live-card > strong {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: .88rem;
    font-weight: 1000;
    line-height: 1.1;
}
.ops-weather-live-card > small {
    color: var(--ops-ink-soft, #4f6475);
    font-size: .48rem;
    font-weight: 800;
    line-height: 1.3;
}
.ops-weather-live-card[data-aqi-level="good"] { border-left-color: #2e7d32; }
.ops-weather-live-card[data-aqi-level="moderate"] { border-left-color: #b28a00; }
.ops-weather-live-card[data-aqi-level="sensitive"] { border-left-color: #c96a00; }
.ops-weather-live-card[data-aqi-level="unhealthy"] { border-left-color: #b42318; }
.ops-weather-live-card[data-aqi-level="very-unhealthy"] { border-left-color: #7b1fa2; }
.ops-weather-live-card[data-aqi-level="hazardous"] { border-left-color: #6a1b35; }
@media (max-width: 575.98px) {
    .ops-weather-live-card-grid { grid-template-columns: 1fr; }
}

/* ========================================================================== */
/* REV4.68 // CAD LOG // LIVE ten-entry scroll density                        */
/* All CAD LOG // LIVE surfaces show up to 10 rendered entries before their   */
/* chronology becomes an internal scroll region. Live partial updates keep     */
/* the page itself fixed while the shared controller recalculates row height.  */
/* ========================================================================== */
[data-cad-log-scroll] { min-height: 0; }
[data-cad-log-scroll] > .dispatch-log-scroll,
#mdtSelectedCallLog[data-cad-log-scroll],
#mobileMdtLogList[data-cad-log-scroll] {
    min-height: 0 !important;
    scrollbar-width: thin;
}
.cad-log-ten-scroll {
    overscroll-behavior: contain;
    scroll-behavior: smooth;
}

/* REV4.69: all multi-value form controls render as checkbox groups. */
.multi-check-group {
    border: 1px solid rgba(125, 145, 165, 0.42);
    background: rgba(3, 12, 22, 0.38);
    padding: .35rem;
    display: grid;
    gap: .2rem;
    max-height: 16rem;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.multi-check-group-tall { max-height: 22rem; }
.multi-check-group-medium { max-height: 12rem; }

.multi-check-option {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 0;
    padding: .32rem .42rem;
    min-height: 2rem;
    border: 1px solid transparent;
    cursor: pointer;
    line-height: 1.2;
}

.multi-check-option:hover,
.multi-check-option:focus-within {
    border-color: rgba(140, 180, 210, 0.48);
    background: rgba(86, 128, 161, 0.12);
}

.multi-check-option:has(.multi-check-input:checked) {
    border-color: rgba(140, 180, 210, 0.72);
    background: rgba(86, 128, 161, 0.2);
}

.multi-check-input {
    flex: 0 0 auto;
    margin: 0;
}

.multi-check-label {
    min-width: 0;
    overflow-wrap: anywhere;
}

.multi-check-empty {
    padding: .55rem .45rem;
    color: var(--bs-secondary-color, #a8b3bf);
    font-size: .78rem;
    letter-spacing: .04em;
}


/* REV4.70: eCAD secondary operational panels collapse by default. */
.command-panel-collapse-toggle {
    width: 100%;
    border: 0;
    color: inherit;
    text-align: left;
    font: inherit;
    cursor: pointer;
}
.command-panel-collapse-toggle:focus-visible {
    outline: 3px solid rgba(0, 94, 162, .28);
    outline-offset: -3px;
}
.command-panel-collapse-toggle .command-collapse-chevron {
    flex: 0 0 auto;
    transition: transform .18s ease;
}
.command-panel-collapse-toggle[aria-expanded="true"] .command-collapse-chevron {
    transform: rotate(180deg);
}
@media (prefers-reduced-motion: reduce) {
    .command-panel-collapse-toggle .command-collapse-chevron { transition: none; }
}

/* REV4.76 // Browser PTT radio base */
.radio-console { overflow: hidden; }
.radio-console-header { gap: .6rem; }
.radio-console-stamps { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; justify-content: flex-end; }
.radio-state-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 5.75rem; padding: .3rem .55rem; border: 1px solid #7b8794; background: #edf1f5; color: #1b1f23; font-size: .72rem; font-weight: 900; letter-spacing: .08em; }
.radio-state-badge.is-tx { background: #b42318; border-color: #7f1d1d; color: #fff; }
.radio-state-badge.is-rx { background: #1558c9; border-color: #0b3f97; color: #fff; }
.radio-state-badge.is-priority { background: #ffbf47; border-color: #9a6700; color: #241a00; }
.radio-state-badge.is-error { background: #6b1d1d; border-color: #4a1010; color: #fff; }
.radio-selector-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: .5rem; }
.radio-ptt-button { width: 100%; min-height: 5.4rem; margin-top: .55rem; border: 2px solid #5b6570; background: #e6ebef; color: #071f3c; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .1rem; font-weight: 900; letter-spacing: .06em; touch-action: none; user-select: none; -webkit-user-select: none; }
.radio-ptt-button i { font-size: 1.25rem; }
.radio-ptt-button small { font-size: .66rem; letter-spacing: .08em; }
.radio-ptt-button:not(:disabled):active, .radio-ptt-button.is-pressed { transform: translateY(1px); border-color: #8f1d1d; background: #ffd8d4; color: #7f1d1d; }
.radio-ptt-button.is-transmitting { background: #b42318; border-color: #7f1d1d; color: #fff; }
.radio-ptt-button:disabled { opacity: .55; cursor: not-allowed; }
.radio-console-status { margin-top: .45rem; padding: .38rem .5rem; background: #071f3c; color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .04em; }
.radio-console-channel { margin-top: .28rem; font-size: .7rem; font-weight: 800; color: #4a5560; letter-spacing: .04em; }
.radio-admin-talkgroup { border: 1px solid #c7d0d9; background: #f6f8fa; padding: .6rem; }
.radio-admin-channels { border-top: 1px solid #c7d0d9; padding-top: .5rem; }
.radio-admin-channel { padding: .45rem 0; border-bottom: 1px solid #dbe1e7; }
.radio-admin-channel:last-child { border-bottom: 0; }
@media (max-width: 575.98px) { .radio-selector-grid { grid-template-columns: 1fr; } }


/* REV4.90 // eCAD compact three-column workspace: RADIO | CALL DETAILS | MAP */
@media (min-width: 1200px) {
    .ecad-three-column-workspace > .ecad-radio-column { flex: 0 0 12.5%; max-width: 12.5%; }
    .ecad-three-column-workspace > .ecad-call-details-column { flex: 0 0 37.5%; max-width: 37.5%; }
    .ecad-three-column-workspace > .ecad-map-column { flex: 0 0 50%; max-width: 50%; }
    .ecad-radio-card .radio-selector-grid { grid-template-columns: 1fr; }
    .ecad-radio-card .command-panel-header { padding: .45rem .5rem; align-items: flex-start; }
    .ecad-radio-card .command-heading { font-size: .95rem; }
    .ecad-radio-card .radio-console-stamps { justify-content: flex-start; gap: .2rem; }
    .ecad-radio-card .command-stamp { padding: .18rem .3rem; font-size: .58rem; letter-spacing: .035em; }
    .ecad-radio-card .radio-state-badge { min-width: 3.9rem; padding: .22rem .3rem; font-size: .6rem; }
    .ecad-radio-card .radio-console-body { padding: .45rem !important; }
    .ecad-radio-card .command-label { margin-bottom: .12rem; font-size: .62rem; }
    .ecad-radio-card .form-select { min-height: 2rem; padding-top: .25rem; padding-bottom: .25rem; padding-left: .4rem; font-size: .72rem; }
    .ecad-radio-card .radio-ptt-button { min-height: 3.6rem; margin-top: .35rem; }
    .ecad-radio-card .radio-ptt-button i { font-size: 1rem; }
    .ecad-radio-card .radio-console-status { margin-top: .35rem; padding: .3rem .35rem; font-size: .6rem; line-height: 1.2; }
    .ecad-radio-card .radio-console-channel { margin-top: .2rem; font-size: .58rem; line-height: 1.15; overflow-wrap: anywhere; }
}


/* REV4.92 | MDT status-row radio controls */
.mdt-top-radio-zone {
    flex: 0 0 clamp(23.5rem, 28.5vw, 30.5rem);
    min-width: 23.5rem;
    margin-left: clamp(.9rem, 1.4vw, 1.5rem);
    padding-left: clamp(.9rem, 1.4vw, 1.5rem);
    border-left: 2px solid var(--ops-line-dark);
    display: flex;
    align-items: stretch;
}
.mdt-inline-radio-panel {
    width: 100%;
    margin: 0;
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-paper);
}
.mdt-inline-radio-layout {
    display: grid;
    grid-template-columns: minmax(13rem, 1.7fr) minmax(7.4rem, .82fr);
    grid-template-areas:
        "selectors ptt"
        "state state";
    gap: .32rem .5rem;
    align-items: end;
    padding: .4rem;
}
.mdt-inline-radio-selectors { grid-area: selectors; gap: .35rem; }
.mdt-inline-radio-selectors .command-label { margin-bottom: .08rem; font-size: .58rem; }
.mdt-inline-radio-selectors .form-select { min-height: 2rem; padding-top: .2rem; padding-bottom: .2rem; font-size: .68rem; }
.mdt-inline-radio-ptt {
    grid-area: ptt;
    min-height: 3.75rem;
    height: 100%;
    margin: 0;
    padding: .3rem .45rem;
    white-space: nowrap;
}
.mdt-inline-radio-ptt i { font-size: 1rem; }
.mdt-inline-radio-state {
    grid-area: state;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "badge status" "badge channel";
    gap: .12rem .35rem;
    align-items: center;
}
.mdt-inline-radio-state .radio-state-badge { grid-area: badge; min-width: 4.2rem; padding: .2rem .3rem; font-size: .58rem; }
.mdt-inline-radio-state .radio-console-status { grid-area: status; margin: 0; padding: .2rem .3rem; font-size: .55rem; line-height: 1.15; }
.mdt-inline-radio-state .radio-console-channel { grid-area: channel; margin: 0; font-size: .54rem; line-height: 1.15; overflow-wrap: anywhere; }
@media (max-width: 1199.98px) {
    .mdt-top-control-grid { flex-wrap: wrap; justify-content: flex-start; }
    .mdt-top-quick-status { margin-left: 0; }
    .mdt-top-radio-zone {
        flex: 1 1 100%;
        min-width: 0;
        margin-left: 0;
        margin-top: .7rem;
        padding-left: 0;
        padding-top: .7rem;
        border-left: 0;
        border-top: 2px solid var(--ops-line-dark);
    }
}
@media (max-width: 575.98px) {
    .mdt-inline-radio-layout { grid-template-columns: minmax(0,1fr) 7.4rem; }
    .mdt-inline-radio-selectors { grid-template-columns: 1fr 1fr; }
}


/* REV4.92 | Radio Management talkgroup columns */
.radio-admin-talkgroup-grid > [class*="col-"] { min-width: 0; }
.radio-admin-talkgroup { border-radius: .25rem; box-shadow: 0 1px 0 rgba(7,31,60,.04); }
.radio-admin-channel-heading { font-size: .72rem; font-weight: 800; letter-spacing: .08em; color: #41576e; margin-bottom: .35rem; }
.radio-admin-channel { margin: 0; padding: .65rem 0; }

/* REV5.12 | Platform-wide icon-only form action buttons */
.form-icon-button {
    width: 2.55rem !important;
    min-width: 2.55rem !important;
    max-width: 2.55rem !important;
    height: 2.4rem !important;
    flex: 0 0 2.55rem !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-size: 0 !important;
    line-height: 1;
    vertical-align: middle;
}
.form-icon-button .form-icon-render { font-size: .9rem !important; line-height: 1; margin: 0 !important; }
.form-icon-button > :not(.form-icon-render):not(.visually-hidden) { font-size: 0 !important; margin: 0 !important; }
.form-icon-button.btn-sm { width: 2.15rem !important; min-width: 2.15rem !important; max-width: 2.15rem !important; height: 2.05rem !important; flex-basis: 2.15rem !important; }
.form-icon-button.btn-lg { width: 3rem !important; min-width: 3rem !important; max-width: 3rem !important; height: 2.85rem !important; flex-basis: 3rem !important; }


/* REV4.97 | Radio Management icon-only actions */
.radio-admin-icon-btn {
    width: 2.7rem;
    min-width: 2.7rem;
    min-height: 2.7rem;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.radio-admin-icon-btn > i {
    margin: 0 !important;
}

/* REV4.97 | Navbar-free Mobile Radio */
.mobile-radio-app {
    min-height: 100dvh;
    display: grid;
    place-items: center;
    padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    background: var(--command-page-bg, #eef2f6);
}
.mobile-radio-console {
    width: min(100%, 680px);
}
.mobile-radio-console .radio-console {
    margin: 0 !important;
    box-shadow: 0 18px 48px rgba(7, 31, 60, .16);
}
.mobile-radio-console .radio-selector-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mobile-radio-console .radio-ptt-button {
    min-height: clamp(132px, 30vh, 220px);
    touch-action: none;
}
@media (max-width: 575.98px) {
    .mobile-radio-app { place-items: stretch; padding: max(.6rem, env(safe-area-inset-top)) max(.6rem, env(safe-area-inset-right)) max(.6rem, env(safe-area-inset-bottom)) max(.6rem, env(safe-area-inset-left)); }
    .mobile-radio-console { width: 100%; align-self: center; }
    .mobile-radio-console .radio-selector-grid { grid-template-columns: 1fr; }
    .mobile-radio-console .radio-ptt-button { min-height: 160px; }
}

/* REV5.00 | Radio Management checkbox controls */
.radio-management-page {
    --radio-admin-navy: #071f3c;
    --radio-admin-blue: #1558c9;
    --radio-admin-line: #c7d2de;
    --radio-admin-line-soft: #dce4eb;
    --radio-admin-paper: #ffffff;
    --radio-admin-soft: #f5f8fb;
    --radio-admin-muted: #5b6875;
    --radio-admin-success: #18794e;
    --radio-admin-danger: #a61b1b;
    background: #edf2f6;
}
.radio-management-main { max-width: 1800px; margin-inline: auto; }
.radio-management-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 1.2rem;
    border: 1px solid var(--radio-admin-line);
    border-top: 4px solid var(--radio-admin-navy);
    background: var(--radio-admin-paper);
    box-shadow: 0 2px 8px rgba(7, 31, 60, .05);
}
.radio-management-hero-copy { min-width: 0; }
.radio-management-eyebrow,
.radio-section-kicker {
    display: block;
    margin-bottom: .25rem;
    color: #516171;
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .12em;
    line-height: 1.2;
}
.radio-management-hero-icon {
    width: 3.2rem;
    height: 3.2rem;
    flex: 0 0 3.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #b9c7d4;
    background: #eef4f9;
    color: var(--radio-admin-navy);
    font-size: 1.2rem;
}
.radio-management-title {
    margin: 0;
    color: var(--radio-admin-navy);
    font-size: clamp(1.35rem, 2vw, 2rem);
    font-weight: 900;
    letter-spacing: .01em;
    text-transform: uppercase;
}
.radio-management-subtitle {
    max-width: 900px;
    margin-top: .2rem;
    color: var(--radio-admin-muted);
    font-size: .88rem;
}
.radio-management-hero-actions { flex: 0 0 auto; }

.radio-management-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}
.radio-management-metric {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .8rem .9rem;
    border: 1px solid var(--radio-admin-line);
    background: var(--radio-admin-paper);
}
.radio-management-metric-icon {
    width: 2.45rem;
    height: 2.45rem;
    flex: 0 0 2.45rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eaf1f8;
    color: var(--radio-admin-navy);
    border: 1px solid #cad6e2;
}
.radio-management-metric-copy { min-width: 0; display: flex; flex-direction: column; line-height: 1.05; }
.radio-management-metric-copy strong { color: var(--radio-admin-navy); font-size: 1.35rem; font-weight: 900; }
.radio-management-metric-copy small { margin-top: .2rem; color: #607080; font-size: .61rem; font-weight: 900; letter-spacing: .08em; }

.radio-management-create-grid {
    display: grid;
    grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
    gap: .75rem;
}
.radio-create-card,
.radio-directory-panel {
    border: 1px solid var(--radio-admin-line);
    background: var(--radio-admin-paper);
    box-shadow: 0 2px 8px rgba(7, 31, 60, .04);
}
.radio-create-card-header,
.radio-directory-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .75rem .9rem;
    border-bottom: 1px solid var(--radio-admin-line);
    background: #f7f9fb;
}
.radio-create-card-header h2,
.radio-directory-panel-header h2 {
    margin: 0;
    color: var(--radio-admin-navy);
    font-size: .95rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.radio-create-card-symbol {
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #c4d0dc;
    background: #edf3f8;
    color: #294b70;
}
.radio-create-card-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 8rem auto auto;
    gap: .65rem;
    align-items: end;
    padding: .85rem .9rem;
}
.radio-create-card-body .radio-field-wide { grid-column: 1 / -1; }
.radio-create-channel-form {
    grid-template-columns: minmax(150px, 1.1fr) minmax(150px, 1fr) 7rem minmax(170px, 1.4fr) 5.8rem auto auto auto;
}
.radio-field { min-width: 0; }
.radio-field-toggle {
    min-height: 2.4rem;
    display: flex;
    align-items: center;
    white-space: nowrap;
}
.radio-create-action,
.radio-row-actions { display: flex; justify-content: flex-end; align-items: end; }
.radio-management-page .command-input,
.radio-management-page .form-select.command-input {
    min-height: 2.4rem;
    border-color: #b8c5d1;
    background-color: #fff;
}
.radio-management-page .command-input:focus,
.radio-management-page .form-select.command-input:focus {
    border-color: #477aa8;
    box-shadow: 0 0 0 .16rem rgba(21, 88, 201, .12);
}
.radio-management-page .radio-admin-checkbox {
    min-height: 2.15rem;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding-left: 0;
}
.radio-management-page .radio-admin-checkbox .form-check-input {
    float: none;
    width: 1.05rem;
    height: 1.05rem;
    margin: 0;
    border-radius: .12rem;
    border: 1px solid #8495a5;
    cursor: pointer;
}
.radio-management-page .radio-admin-checkbox .form-check-label {
    margin: 0;
    color: #415365;
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .07em;
    cursor: pointer;
}

.radio-directory-panel-header { padding: .85rem 1rem; }
.radio-directory-panel-header p { margin: .18rem 0 0; color: var(--radio-admin-muted); font-size: .78rem; }
.radio-directory-summary { display: flex; gap: .45rem; flex-wrap: wrap; justify-content: flex-end; }
.radio-directory-summary span {
    display: inline-flex;
    align-items: baseline;
    gap: .3rem;
    padding: .34rem .48rem;
    border: 1px solid #c8d4df;
    background: #fff;
    color: #526170;
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .06em;
}
.radio-directory-summary strong { color: var(--radio-admin-navy); font-size: .82rem; }
.radio-directory-body { padding: .8rem; }
.radio-directory-list { display: grid; gap: .8rem; }
.radio-directory-card {
    overflow: hidden;
    border: 1px solid #bbc9d6;
    background: #fff;
    box-shadow: 0 1px 3px rgba(7, 31, 60, .04);
}
.radio-directory-card.is-inactive { border-color: #d4d9de; }
.radio-directory-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .7rem .85rem;
    border-bottom: 1px solid var(--radio-admin-line-soft);
    background: linear-gradient(180deg, #f7fafc 0%, #f1f5f8 100%);
}
.radio-directory-card.is-inactive .radio-directory-card-header { background: #f5f5f5; }
.radio-directory-card-identity { min-width: 0; display: flex; align-items: center; gap: .65rem; }
.radio-directory-card-icon {
    width: 2.35rem;
    height: 2.35rem;
    flex: 0 0 2.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--radio-admin-navy);
    color: #fff;
}
.radio-directory-card.is-inactive .radio-directory-card-icon { background: #69747f; }
.radio-directory-card-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.radio-directory-card-title-row h3 {
    margin: 0;
    color: var(--radio-admin-navy);
    font-size: .98rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.radio-directory-card-identity p {
    margin: .12rem 0 0;
    color: #687582;
    font-size: .74rem;
    line-height: 1.25;
}
.radio-config-status {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .2rem .38rem;
    border: 1px solid #c4ccd3;
    background: #fff;
    color: #68727c;
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .08em;
}
.radio-config-status.is-active { border-color: #9bc9b4; color: #12633e; background: #f0faf5; }
.radio-config-status-dot { width: .42rem; height: .42rem; border-radius: 50%; background: #8a949e; }
.radio-config-status.is-active .radio-config-status-dot { background: #198754; box-shadow: 0 0 0 2px rgba(25, 135, 84, .12); }
.radio-directory-card-stats { flex: 0 0 auto; display: flex; gap: .4rem; }
.radio-directory-card-stats > span {
    min-width: 4.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: .35rem .5rem;
    border: 1px solid #cbd6e0;
    background: #fff;
    line-height: 1.05;
}
.radio-directory-card-stats strong { color: var(--radio-admin-navy); font-size: .92rem; font-weight: 900; }
.radio-directory-card-stats small { margin-top: .16rem; color: #6b7885; font-size: .52rem; font-weight: 900; letter-spacing: .07em; }
.radio-directory-card-body { padding: .75rem .85rem .85rem; }
.radio-group-settings-block { padding-bottom: .75rem; border-bottom: 1px solid var(--radio-admin-line-soft); }
.radio-block-label {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-bottom: .5rem;
    color: #3e5164;
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .09em;
}
.radio-group-settings-actions { display: flex; align-items: end; gap: .45rem; }
.radio-group-settings-form {
    min-width: 0;
    flex: 1 1 auto;
    display: grid;
    grid-template-columns: minmax(150px, 1.2fr) minmax(220px, 2.2fr) 5.6rem auto auto;
    gap: .55rem;
    align-items: end;
}
.radio-delete-form { flex: 0 0 auto; }
.radio-channel-directory { padding-top: .7rem; }
.radio-channel-directory-header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.radio-channel-directory-header > span { color: #6c7884; font-size: .58rem; font-weight: 900; letter-spacing: .07em; }
.radio-channel-table { border: 1px solid #d2dbe3; }
.radio-channel-table-head,
.radio-channel-row {
    display: grid;
    grid-template-columns: minmax(135px, 1.2fr) minmax(80px, .55fr) minmax(180px, 2fr) 5rem 7.3rem 7rem 5.8rem;
    gap: .5rem;
    align-items: center;
}
.radio-channel-table-head {
    padding: .38rem .55rem;
    border-bottom: 1px solid #cbd6df;
    background: #edf2f6;
    color: #536373;
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .075em;
}
.radio-channel-row {
    margin: 0;
    padding: .48rem .55rem;
    border-bottom: 1px solid #e0e6eb;
    background: #fff;
}
.radio-channel-row:last-child { border-bottom: 0; }
.radio-channel-row.is-inactive { background: #fafafa; }
.radio-channel-row.is-inactive .command-input { background-color: #f8f8f8; color: #747d86; }
.radio-channel-cell { min-width: 0; }
.radio-channel-cell .command-input { width: 100%; min-height: 2.15rem; padding-top: .28rem; padding-bottom: .28rem; font-size: .75rem; }
.radio-channel-status-cell { display: flex; align-items: center; }
.radio-channel-actions { display: flex; justify-content: flex-end; gap: .3rem; }
.radio-channel-actions .radio-admin-icon-btn { min-width: 2.15rem; width: 2.15rem; min-height: 2.15rem; height: 2.15rem; }
.radio-directory-empty {
    min-height: 4.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    border: 1px dashed #c6d1db;
    background: #f9fbfc;
    color: #73808d;
    font-size: .65rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-align: center;
}
.radio-directory-empty i { color: #8d9aa7; font-size: 1rem; }
.radio-directory-empty-main { min-height: 9rem; }

@media (max-width: 1199.98px) {
    .radio-management-create-grid { grid-template-columns: 1fr; }
    .radio-create-channel-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .radio-create-channel-form .radio-field-description { grid-column: span 2; }
    .radio-create-channel-form .radio-create-action { justify-content: flex-end; }
    .radio-group-settings-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .radio-group-order-field { max-width: 8rem; }
    .radio-row-actions { justify-content: flex-end; }
    .radio-channel-table-head { display: none; }
    .radio-channel-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .55rem .7rem;
        padding: .7rem;
    }
    .radio-channel-cell { display: grid; gap: .2rem; }
    .radio-channel-cell::before {
        content: attr(data-label);
        color: #637282;
        font-size: .54rem;
        font-weight: 900;
        letter-spacing: .075em;
    }
    .radio-channel-actions { justify-content: flex-start; align-self: end; }
}
@media (max-width: 767.98px) {
    .radio-management-hero { align-items: flex-start; }
    .radio-management-hero-icon { display: none; }
    .radio-management-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .radio-create-card-body,
    .radio-create-channel-form { grid-template-columns: 1fr; }
    .radio-create-card-body .radio-field-wide,
    .radio-create-channel-form .radio-field-description { grid-column: auto; }
    .radio-directory-panel-header,
    .radio-directory-card-header { align-items: flex-start; flex-direction: column; }
    .radio-directory-summary { justify-content: flex-start; }
    .radio-directory-card-stats { width: 100%; }
    .radio-directory-card-stats > span { flex: 1 1 0; }
    .radio-group-settings-actions { align-items: stretch; flex-direction: column; }
    .radio-group-settings-form { grid-template-columns: 1fr; }
    .radio-group-order-field { max-width: none; }
    .radio-delete-form { align-self: flex-end; }
    .radio-channel-row { grid-template-columns: 1fr; }
    .radio-channel-actions { flex-direction: row; }
}
@media (max-width: 479.98px) {
    .radio-management-main { padding-left: .6rem !important; padding-right: .6rem !important; }
    .radio-management-metrics { grid-template-columns: 1fr 1fr; gap: .45rem; }
    .radio-management-metric { gap: .5rem; padding: .65rem; }
    .radio-management-metric-icon { display: none; }
    .radio-directory-body { padding: .55rem; }
    .radio-directory-card-body { padding: .65rem; }
    .radio-directory-card-identity { align-items: flex-start; }
    .radio-directory-card-icon { width: 2rem; height: 2rem; flex-basis: 2rem; }
}

/* REV5.01 | Radio encryption mode */
.radio-encryption-control {
    margin-top: .45rem;
    padding: .38rem .5rem;
    border: 1px solid #c7d0d9;
    background: #f6f8fa;
}
.radio-encryption-control .form-check {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-height: 1.35rem;
}
.radio-encryption-control .form-check-input {
    width: 2.15rem;
    height: 1.15rem;
    margin: 0;
    border-radius: 999px;
    cursor: pointer;
}
/* REV5.14 | Live radio encryption toggles */
.radio-encryption-control .form-switch { padding-left: 0; }
.radio-encryption-control .form-switch .form-check-input {
    flex: 0 0 auto;
    background-position: left center;
    transition: background-position .14s ease-in-out, background-color .14s ease-in-out, border-color .14s ease-in-out;
}
.radio-encryption-control .form-switch .form-check-input:checked {
    background-position: right center;
}
.radio-encryption-control .form-check-label {
    margin: 0;
    color: #24384c;
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .08em;
    cursor: pointer;
}
.radio-encryption-control.is-enabled {
    border-color: #a46a00;
    background: #fff4d6;
}
.radio-encryption-control.is-enabled .form-check-label { color: #6a4400; }
.mdt-inline-radio-selectors .radio-encryption-control {
    grid-column: 1 / -1;
    margin-top: 0;
    padding: .22rem .35rem;
}
.mobile-radio-console .radio-encryption-control { padding: .55rem .65rem; }


/* REV5.04 | Command-defined encrypted channels */
.radio-encryption-control.is-required,
.radio-board-encryption-control.is-required {
    border-color: #7c5700 !important;
    background: #ffefbd !important;
}
.radio-encryption-control.is-required .form-check-label::after,
.radio-board-encryption-control.is-required .form-check-label::after {
    content: " · CHANNEL REQUIRED";
    font-size: .58rem;
    letter-spacing: .055em;
}


/* REV5.08 | Messages icon-only reply/trash actions */
.messages-icon-btn {
    width: 2.35rem;
    min-width: 2.35rem;
    height: 2.35rem;
    min-height: 2.35rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.35rem;
    line-height: 1;
}
.messages-icon-btn > i {
    margin: 0;
    font-size: .9rem;
}
@media (max-width: 575.98px) {
    .reader-actions .btn.messages-icon-btn {
        width: 2.35rem;
    }
}

/* REV5.11 | eCAD two-column operational header: RADIO | LIVE UNIT GPS */
.ecad-radio-gps-row > .ecad-radio-gps-column {
    display: flex;
    min-width: 0;
}
.ecad-radio-gps-row .ecad-board-radio-panel,
.ecad-radio-gps-row .ecad-gps-panel {
    width: 100%;
    margin-bottom: 0 !important;
}
.ecad-radio-gps-row .ecad-board-radio-panel {
    align-self: stretch;
}
@media (min-width: 992px) {
    .ecad-radio-gps-row .ecad-unit-map {
        height: clamp(18rem, 32vh, 25rem);
    }
}


/* REV5.13 | eCAD 911 icon-only controls */
.dispatch-linked-mission-row { display:flex; align-items:center; gap:.65rem; padding:.65rem .75rem; border:1px solid var(--ops-line); background:var(--ops-paper); }
.dispatch-poi-focus { grid-template-columns:auto minmax(0,1fr) auto; }
.dispatch-poi-focus-action { align-self:center; }
.emergency-resource-item { display:flex; align-items:center; justify-content:space-between; gap:.65rem; }
.emergency-resource-copy { min-width:0; flex:1 1 auto; }
.emergency-resource-copy small { display:block; margin-top:.15rem; }
.dispatch-collapsible-panel > .command-panel-header .command-panel-collapse-toggle { width:2.55rem !important; border:1px solid var(--ops-line); text-align:center; }
.dispatch-collapsible-panel > .command-panel-header .command-panel-collapse-toggle[aria-expanded="true"] .command-collapse-chevron { transform:rotate(180deg); }
.dispatch-queue-actions .form-icon-button { justify-self:end; }
@media (max-width:767.98px){.dispatch-linked-mission-row{align-items:flex-start}.dispatch-poi-focus{grid-template-columns:auto minmax(0,1fr)}.dispatch-poi-focus-action{grid-column:2;justify-self:end}.emergency-resource-item{align-items:flex-start}}


/* REV5.21 | MapLibre maps intentionally render without visible attribution controls. */
.maplibregl-ctrl-attrib,
.maplibregl-ctrl-attrib-button { display: none !important; }

/* REV5.17 // MapLibre GL JS + OpenFreeMap shared map chrome */
.maplibregl-map { font: inherit; }
.maplibregl-popup-content {
    background: var(--ops-paper, #fff);
    color: var(--ops-ink, #17202a);
    border: 1px solid var(--ops-line, #c9d2dc);
    border-radius: .2rem;
    box-shadow: 0 .25rem .8rem rgba(7,31,60,.18);
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.45;
}
.maplibregl-popup-tip { border-top-color: var(--ops-paper, #fff) !important; }
.maplibregl-popup-close-button { color: var(--ops-ink, #17202a); font-size: 1rem; padding: .15rem .35rem; }
.reev-map-tooltip .maplibregl-popup-content { padding: .35rem .5rem; font-size: .65rem; font-weight: 900; }
.reev-map-default-marker { width: 1.1rem; height: 1.1rem; display: grid; place-items: center; cursor: pointer; }
.reev-map-default-dot { width: .8rem; height: .8rem; border-radius: 50%; background: var(--ops-action, #005ea8); border: 2px solid #fff; box-shadow: 0 0 0 1px rgba(7,31,60,.45); }
.reev-map-layer-control details { position: relative; }
.reev-map-layer-control summary { list-style: none; width: 30px; height: 30px; display: grid; place-items: center; cursor: pointer; color: var(--ops-ink, #17202a); }
.reev-map-layer-control summary::-webkit-details-marker { display: none; }
.reev-map-layer-list { position: absolute; right: 0; top: 100%; width: 18rem; max-width: min(80vw,18rem); padding: .55rem; background: var(--ops-paper, #fff); border: 1px solid var(--ops-line, #c9d2dc); box-shadow: 0 .3rem .8rem rgba(7,31,60,.2); }
.reev-map-layer-list label { display: block; margin: .2rem 0; font-size: .64rem; font-weight: 850; color: var(--ops-ink, #17202a); }
html[data-ops-theme]:not([data-ops-theme="default"]) .maplibregl-ctrl-group,
html[data-ops-theme]:not([data-ops-theme="default"]) .maplibregl-ctrl-attrib,
html[data-ops-theme]:not([data-ops-theme="default"]) .reev-map-layer-list { background: var(--ops-paper) !important; color: var(--ops-ink) !important; }
html[data-ops-theme]:not([data-ops-theme="default"]) .maplibregl-ctrl-group button { color: var(--ops-ink) !important; filter: invert(.9); }

/* REV5.21 | eCAD 911 2-column radio + 10-column live GPS workspace */
@media (min-width: 992px) {
    .ecad-radio-gps-row .ecad-board-radio-panel .radio-selector-grid { grid-template-columns: 1fr; }
    .ecad-radio-gps-row .ecad-board-radio-panel .command-panel-header { padding: .5rem .55rem; align-items: flex-start; }
    .ecad-radio-gps-row .ecad-board-radio-panel .command-kicker { font-size: .56rem; }
    .ecad-radio-gps-row .ecad-board-radio-panel .command-heading { font-size: .9rem; }
    .ecad-radio-gps-row .ecad-board-radio-panel .radio-console-stamps { justify-content: flex-start; }
    .ecad-radio-gps-row .ecad-board-radio-panel .radio-state-badge { min-width: 0; width: 100%; padding: .22rem .3rem; font-size: .58rem; }
    .ecad-radio-gps-row .ecad-board-radio-panel .command-label { font-size: .6rem; }
    .ecad-radio-gps-row .ecad-board-radio-panel .form-select { min-height: 2rem; padding: .25rem 1.7rem .25rem .35rem; font-size: .68rem; }
    .ecad-radio-gps-row .ecad-board-radio-panel .radio-encryption-control { padding: .4rem .15rem 0; }
    .ecad-radio-gps-row .ecad-board-radio-panel .radio-encryption-control .form-check-label { font-size: .58rem; }
    .ecad-radio-gps-row .ecad-board-radio-panel .radio-ptt-button { min-height: 4.2rem; margin-top: .4rem; }
    .ecad-radio-gps-row .ecad-board-radio-panel .radio-console-status { padding: .3rem .35rem; font-size: .58rem; line-height: 1.2; overflow-wrap: anywhere; }
    .ecad-radio-gps-row .ecad-board-radio-panel .radio-console-channel { font-size: .56rem; line-height: 1.15; overflow-wrap: anywhere; }
}

/* REV5.22 | eCAD Assigned Personnel / Units checkbox alignment */
html body form .dispatch-assignee-checkboxes.multi-check-group {
    padding: 0;
    gap: 0;
    max-height: 18rem;
    border: 1px solid var(--ops-line-dark);
    background: var(--ops-paper);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

html body form .dispatch-assignee-checkboxes .multi-check-option {
    display: flex;
    align-items: center;
    gap: .58rem;
    min-height: 2.35rem;
    margin: 0;
    padding: .48rem .58rem;
    border: 0;
    border-bottom: 1px solid var(--ops-line);
    background: var(--ops-paper);
    color: var(--ops-ink);
    line-height: 1.25;
}

html body form .dispatch-assignee-checkboxes .multi-check-option:last-child {
    border-bottom: 0;
}

html body form .dispatch-assignee-checkboxes .multi-check-option:hover,
html body form .dispatch-assignee-checkboxes .multi-check-option:focus-within {
    background: var(--ops-sand);
    box-shadow: inset 3px 0 0 var(--ops-line-dark);
}

html body form .dispatch-assignee-checkboxes .multi-check-option:has(.multi-check-input:checked) {
    background: var(--ops-olive-light);
    box-shadow: inset 3px 0 0 var(--ops-olive);
}

html body form .dispatch-assignee-checkboxes .multi-check-input {
    position: static !important;
    flex: 0 0 1rem;
    width: 1rem !important;
    height: 1rem !important;
    margin: 0 !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
    border: 1px solid var(--ops-line-dark);
    border-radius: .12rem;
    box-shadow: none;
}

html body form .dispatch-assignee-checkboxes .multi-check-label {
    display: block;
    min-width: 0;
    color: var(--ops-ink);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .025em;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

html body form .dispatch-assignee-checkboxes .multi-check-input:checked + .multi-check-label {
    color: var(--ops-olive-dark);
}

html body form .dispatch-assignee-checkboxes .multi-check-empty {
    padding: .7rem .65rem;
    background: var(--ops-sand);
    color: var(--ops-ink-soft);
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .055em;
}

/* REV5.25 | Platform Administrator dashboard/navigation simplification */
.platform-admin-dashboard-grid {
    padding:0;
    background:transparent;
    align-content:start;
}
.platform-admin-dashboard-grid .dashboard-action-card {
    min-height:8.5rem;
}
.platform-admin-dashboard-grid .dashboard-action-icon {
    width:3rem;
    height:3rem;
    font-size:1.1rem;
}

/* REV5.30 | Sign-in GPS bootstrap status */
.federal-login-gpsline { margin-top:.65rem; padding:.45rem .55rem; border:1px solid var(--ops-line); background:var(--ops-soft,#f4f6f8); color:var(--ops-muted,#536273); font-size:.65rem; font-weight:850; letter-spacing:.045em; text-transform:uppercase; }
