/* CR0247 Empire Mark OPS visual rebuild. Source-native CSS only. */
body[data-theme="empire"].ops-page-v2,
body[data-theme="empire"].car555-ops-page {
    --panel: var(--surface);
    --text: var(--ink);
    --muted: var(--ink-mute);
    --gold: var(--accent);
    --ok: var(--good);
    --bad: var(--secondary);
    background:
        radial-gradient(circle at 12% 0%, rgba(212, 150, 53, 0.18), transparent 30rem),
        radial-gradient(circle at 88% 12%, rgba(10, 37, 64, 0.10), transparent 28rem),
        var(--paper-grain),
        var(--bg);
    color: var(--ink);
    font-family: var(--font-body);
}

.ops-page-v2 h1,
.ops-page-v2 h2,
.ops-page-v2 h3,
.ops-page-v2 .serif {
    font-family: var(--font-display);
    letter-spacing: -0.018em;
    color: var(--ink);
    font-variation-settings: "opsz" 144, "SOFT" 50, "wght" 650;
}

.ops-page-v2 .topbar,
.ops-page-v2 .header {
    background: linear-gradient(135deg, rgba(3, 19, 42, 0.98), rgba(10, 37, 64, 0.94));
    border-bottom: 1px solid rgba(212, 150, 53, 0.42);
    box-shadow: 0 18px 40px -28px rgba(3, 19, 42, 0.65);
}

.ops-page-v2 .logo,
.ops-page-v2 .header h1 {
    color: var(--primary-fg);
    text-transform: none;
    letter-spacing: -0.012em;
}

.ops-page-v2 .logo::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-right: 10px;
    vertical-align: -9px;
    border-radius: 999px;
    background: url("assets/brand/web/jersey-empire-icon-mark.png") center / contain no-repeat;
    box-shadow: 0 0 0 2px rgba(212, 150, 53, 0.45);
}

.ops-page-v2 .hero,
.ops-page-v2 .card,
.ops-page-v2 .ticket-card,
.ops-page-v2 .submission-card,
.ops-page-v2 .auth-card,
.ops-page-v2 .modal-card,
.ops-page-v2 .session-card,
.ops-page-v2 .metric,
.ops-page-v2 .status-pill,
.ops-page-v2 .row,
.ops-page-v2 .flow-row,
.ops-page-v2 .runtime-row {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-sm);
    color: var(--ink);
}

.ops-page-v2 .hero {
    position: relative;
    overflow: hidden;
    padding: clamp(22px, 4vw, 34px);
}

.ops-page-v2 .hero::after {
    content: "";
    position: absolute;
    inset: auto -8% -35% auto;
    width: min(420px, 58vw);
    aspect-ratio: 1;
    background: url("assets/brand/map-motif.svg") center / contain no-repeat;
    opacity: 0.10;
    pointer-events: none;
}

.ops-page-v2 .hero h1 {
    color: var(--ink);
    text-transform: none;
    font-size: clamp(2rem, 5vw, 3.4rem);
    line-height: 1.02;
}

.ops-page-v2 .hero p,
.ops-page-v2 .card p,
.ops-page-v2 .muted,
.ops-page-v2 .session-line,
.ops-page-v2 .meta,
.ops-page-v2 .metric .meta,
.ops-page-v2 .metric .label,
.ops-page-v2 .flow-meta,
.ops-page-v2 .runtime-detail,
.ops-page-v2 small {
    color: var(--ink-mute) !important;
}

.ops-page-v2 .badge,
.ops-page-v2 .pill,
.ops-page-v2 .status-badge,
.ops-page-v2 .status-chip {
    border-radius: var(--r-pill);
    border: 1px solid var(--line);
    background: var(--surface-3);
    color: var(--ink-mute);
    font-weight: 700;
    letter-spacing: 0.04em;
}

.ops-page-v2 .pill.ok,
.ops-page-v2 .status-ok,
.ops-page-v2 .status-chip.published {
    background: var(--good-tint);
    border-color: var(--good);
    color: var(--good) !important;
}

.ops-page-v2 .pill.bad,
.ops-page-v2 .status-bad,
.ops-page-v2 .status-chip.draft {
    background: var(--bad-tint);
    border-color: var(--bad);
    color: var(--bad) !important;
}

.ops-page-v2 .btn,
.ops-page-v2 .mini-btn,
.ops-page-v2 button,
.ops-page-v2 input,
.ops-page-v2 select,
.ops-page-v2 textarea {
    border-radius: 12px;
    border: 1px solid var(--line);
    font-family: var(--font-body);
}

.ops-page-v2 .btn,
.ops-page-v2 .mini-btn,
.ops-page-v2 button {
    background: var(--primary);
    color: var(--primary-fg);
    font-weight: 700;
    box-shadow: var(--shadow-sm);
    transition: transform 0.16s var(--ease), box-shadow 0.16s var(--ease), background 0.16s var(--ease);
}

.ops-page-v2 .btn:hover,
.ops-page-v2 .mini-btn:hover,
.ops-page-v2 button:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

.ops-page-v2 .btn-gold,
.ops-page-v2 .btn.gold,
.ops-page-v2 .btn-money {
    background: var(--accent);
    border-color: var(--accent-deep);
    color: var(--accent-fg);
}

.ops-page-v2 .btn-ghost,
.ops-page-v2 .mini-btn,
.ops-page-v2 .btn.btn-ghost {
    background: rgba(255, 251, 241, 0.10);
    color: var(--ink);
}

.ops-page-v2 .topbar .btn-ghost,
.ops-page-v2 .header .btn,
.ops-page-v2 .header .btn-ghost {
    border-color: rgba(251, 243, 222, 0.28);
    color: var(--primary-fg);
}

.ops-page-v2 input,
.ops-page-v2 select,
.ops-page-v2 textarea {
    background: var(--surface);
    color: var(--ink);
    padding: 10px 12px;
}

.ops-page-v2 input:focus,
.ops-page-v2 select:focus,
.ops-page-v2 textarea:focus {
    outline: 0;
    border-color: var(--primary);
    box-shadow: 0 0 0 4px var(--primary-tint);
}

.ops-page-v2 .tabs {
    background: var(--surface-3);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-sm);
}

.ops-page-v2 .tab {
    color: var(--ink-mute);
    border-radius: 10px;
}

.ops-page-v2 .tab.active {
    background: var(--surface);
    color: var(--primary);
    box-shadow: var(--shadow-sm);
}

.ops-page-v2 .metric .value,
.ops-page-v2 .metric .v {
    color: var(--ink);
    font-family: var(--font-display);
}

.ops-page-v2 .card h2,
.ops-page-v2 .card h3,
.ops-page-v2 .ticket-no,
.ops-page-v2 .issue {
    color: var(--primary) !important;
}

.ops-page-v2 .notes,
.ops-page-v2 #ops-log,
.ops-page-v2 #debug-log,
.ops-page-v2 #debug-info,
.ops-page-v2 .flow-preview {
    background: var(--surface-2);
    border: 1px solid var(--line);
    color: var(--ink-mute);
    border-radius: var(--r-md);
}

.ops-page-v2 .ticket-card { border-left-width: 6px; border-left-color: var(--line-strong); }
.ops-page-v2 .ticket-card.OPEN { border-left-color: var(--bad); }
.ops-page-v2 .ticket-card.INVESTIGATING { border-left-color: var(--warn); }
.ops-page-v2 .ticket-card.RESOLVED { border-left-color: var(--good); }

.ops-page-v2 .write-banner.closed,
.ops-page-v2 .notice.bad {
    background: var(--bad-tint);
    border-color: var(--bad);
    color: var(--bad);
}

.ops-page-v2 .write-banner.open,
.ops-page-v2 .notice.ok {
    background: var(--good-tint);
    border-color: var(--good);
    color: var(--good);
}

body[data-theme="empire"].live-map-shell { background: var(--bg); }
.live-map-shell #map { filter: saturate(0.88) sepia(0.08); }
.live-map-shell .rank-toggle,
.live-map-shell .leaderboard-panel,
.live-map-shell .sidebar,
.live-map-shell .sidebar-toggle {
    border-color: var(--accent);
    box-shadow: var(--shadow-lg);
}
.live-map-shell .rank-toggle { background: var(--primary); color: var(--primary-fg); }
.live-map-shell .leaderboard-panel,
.live-map-shell .sidebar {
    background: rgba(255, 251, 241, 0.96);
    color: var(--ink);
    backdrop-filter: blur(18px);
}
.live-map-shell .sidebar .header { background: linear-gradient(135deg, rgba(3, 19, 42, 0.98), rgba(10, 37, 64, 0.94)); }
.live-map-shell .sidebar .header h1,
.live-map-shell .leader-table th { color: var(--primary-fg); }
.live-map-shell .header-stats { color: var(--primary-fg); }
.live-map-shell .feed-container { background: var(--surface-2); }
.live-map-shell .tx-card {
    background: var(--surface);
    color: var(--ink);
    border: 1px solid var(--line);
    border-left: 4px solid var(--info);
    box-shadow: var(--shadow-sm);
}
.live-map-shell .tx-positive { border-left-color: var(--good); }
.live-map-shell .tx-negative { border-left-color: var(--bad); }
.live-map-shell .tx-neutral { border-left-color: var(--info); }
.live-map-shell .tx-team { color: var(--accent-deep); }
.live-map-shell .leader-table td { border-bottom-color: var(--line-soft); color: var(--ink); }
.live-map-shell .leaderboard-panel h2 { color: var(--primary) !important; }

@media (max-width: 760px) {
    .ops-page-v2 .top-links,
    .ops-page-v2 .links,
    .ops-page-v2 .session-actions,
    .ops-page-v2 .actions { width: 100%; }

    .ops-page-v2 .btn,
    .ops-page-v2 .mini-btn,
    .ops-page-v2 button { justify-content: center; }

    .ops-page-v2 .tabs {
        margin: 14px 10px;
        overflow-x: auto;
    }

    .ops-page-v2 .tab {
        min-width: 132px;
        flex: 0 0 auto;
    }
}

/* CR0247 ops parity layer. This supplies the prototype's ceremonial console
   layout while preserving every existing form id, tab id, endpoint, and banker
   heartbeat. */

.ops-page-v2 main,
.ops-page-v2 #main-content {
    width: min(1240px, calc(100% - 36px));
    margin-inline: auto;
}

.ops-page-v2 #main-content {
    padding: 28px 0 72px;
}

.ops-page-v2 .topbar-inner,
.ops-page-v2 .header {
    width: min(1240px, calc(100% - 28px));
    margin-inline: auto;
}

.ops-page-v2 .header {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: end;
    margin: 24px auto 18px;
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(212, 150, 53, 0.34);
    border-radius: 30px;
    background:
        radial-gradient(circle at 90% 12%, rgba(212, 150, 53, 0.26), transparent 18rem),
        linear-gradient(135deg, rgba(3, 19, 42, 0.98), rgba(10, 37, 64, 0.94));
    box-shadow: var(--shadow-lg);
}

.ops-page-v2 .header::before {
    content: "";
    position: absolute;
    inset: auto -90px -135px auto;
    width: min(420px, 70vw);
    aspect-ratio: 1;
    background: url("assets/brand/map-motif.svg") center / contain no-repeat;
    opacity: 0.14;
    pointer-events: none;
}

.ops-page-v2 .header > * {
    position: relative;
}

.ops-page-v2 .header h1 {
    margin: 0;
    color: var(--primary-fg) !important;
    font-size: clamp(32px, 4.8vw, 58px);
    line-height: 1.02;
}

.ops-page-v2 .header h1::before {
    content: "Live ops";
    display: block;
    margin-bottom: 10px;
    color: var(--accent);
    font: 800 11px/1 var(--font-body);
    letter-spacing: 0.24em;
    text-transform: uppercase;
}

.ops-page-v2 .empire-eyebrow {
    margin: 0 0 10px;
    color: var(--accent-deep);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.ops-page-v2 .header small {
    color: rgba(251, 243, 222, 0.64) !important;
}

.ops-page-v2 .tabs {
    width: min(1240px, calc(100% - 36px));
    margin: 0 auto 18px;
    padding: 5px;
    border-radius: 15px;
}

.ops-page-v2 .tab {
    min-height: 42px;
    align-items: center;
    justify-content: center;
}

.ops-page-v2 .grid,
.ops-page-v2 .telemetry-grid,
.ops-page-v2 .metrics {
    gap: 16px;
}

.ops-page-v2 .metric,
.ops-page-v2 .status-pill {
    position: relative;
    overflow: hidden;
}

.ops-page-v2 .metric::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, var(--primary), var(--accent), var(--secondary));
}

.ops-page-v2 .metric .label,
.ops-page-v2 .metric .k,
.ops-page-v2 .card > h2:first-child,
.ops-page-v2 .card > h3:first-child {
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.ops-page-v2 .metric .label,
.ops-page-v2 .metric .k {
    color: var(--ink-soft) !important;
    font-size: 11px;
    font-weight: 800;
}

.ops-page-v2 .metric .value,
.ops-page-v2 .metric .v {
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1;
}

.ops-page-v2 .card {
    overflow: hidden;
}

.ops-page-v2 .card > h2:first-child,
.ops-page-v2 .card > h3:first-child {
    margin-top: 0;
    color: var(--primary) !important;
    font-size: 13px;
    font-family: var(--font-body);
}

.ops-page-v2 .view.active {
    display: block;
}

.ops-page-v2 table {
    border-collapse: collapse;
    width: 100%;
}

.ops-page-v2 th {
    color: var(--ink-soft);
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.ops-page-v2 td,
.ops-page-v2 th {
    border-bottom: 1px solid var(--line-soft);
}

.ops-page-v2 #login-screen {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
    background:
        radial-gradient(circle at 25% 12%, rgba(212, 150, 53, 0.22), transparent 24rem),
        linear-gradient(145deg, var(--primary-deep), var(--primary));
}

.ops-page-v2 #login-screen h1 {
    color: var(--primary-fg) !important;
    text-align: center;
    font-size: clamp(34px, 6vw, 62px);
}

.ops-page-v2 #login-screen .auth-card {
    width: min(100%, 420px);
    margin: 0 auto;
    padding: 28px;
}

.ops-page-v2 .finance-console-shell .hero {
    display: grid;
    gap: 16px;
    margin-top: 24px;
}

.ops-page-v2 .finance-summary-strip,
.ops-page-v2 .ops-kpi-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    margin: 18px 0;
}

.ops-page-v2 .ops-kpi {
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.ops-page-v2 .ops-kpi span {
    display: block;
    color: var(--ink-soft);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.ops-page-v2 .ops-kpi strong {
    display: block;
    margin-top: 8px;
    color: var(--primary);
    font: 700 30px/1 var(--font-display);
}

.ops-page-v2 .admin-ticket-shell {
    width: min(1180px, calc(100% - 36px));
    margin: 28px auto 72px;
}

.ops-page-v2 .admin-ticket-hero {
    margin-bottom: 18px;
    padding: clamp(24px, 4vw, 38px);
    border: 1px solid var(--line);
    border-radius: 30px;
    background:
        radial-gradient(circle at 86% 12%, rgba(212, 150, 53, 0.22), transparent 18rem),
        var(--surface);
    box-shadow: var(--shadow-lg);
}

.ops-page-v2 .admin-ticket-grid {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.4fr);
    gap: 18px;
}

.ops-page-v2 .ticket-detail-empty {
    min-height: 360px;
    display: grid;
    place-items: center;
    padding: 24px;
    border: 1px dashed var(--line-strong);
    border-radius: 22px;
    color: var(--ink-mute);
    background: var(--surface-2);
    text-align: center;
}

.live-map-shell .live-hud {
    position: fixed;
    top: 18px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 650;
    width: min(820px, calc(100% - 24px));
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    padding: 8px;
    border: 1px solid rgba(212, 150, 53, 0.38);
    border-radius: 999px;
    background: rgba(7, 24, 45, 0.86);
    box-shadow: 0 18px 46px rgba(3, 19, 42, 0.28);
    backdrop-filter: blur(16px);
}

.live-map-shell .live-hud-card {
    min-height: 42px;
    display: grid;
    place-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255, 251, 241, 0.96);
    color: var(--primary);
    font-size: 12px;
    font-weight: 850;
    text-align: center;
}

/* CR0247 visual correction pass. The first rebuild still allowed some legacy
   ops utility treatment to bleed through, especially on finance and live. */
.ops-page-v2 .metric::before {
    background: linear-gradient(90deg, var(--accent), rgba(212, 150, 53, 0.18)) !important;
}

.ops-page-v2 .card,
.ops-page-v2 .session-card,
.ops-page-v2 .metric,
.ops-page-v2 .status-pill,
.ops-page-v2 .notice {
    border-top: 1px solid rgba(10, 37, 64, 0.14) !important;
    border-color: rgba(10, 37, 64, 0.14) !important;
    box-shadow: 0 18px 34px rgba(10, 37, 64, 0.08) !important;
}

body.ops-page-v2:not(.public-page):not(:has(#map)) .card,
body.ops-page-v2:not(.public-page):not(:has(#map)) .stat-card,
body.ops-page-v2:not(.public-page):not(:has(#map)) .metric,
body.ops-page-v2:not(.public-page):not(:has(#map)) .ticket-card,
body.ops-page-v2:not(.public-page):not(:has(#map)) .modal-card {
    border-top: 1px solid rgba(10, 37, 64, 0.14) !important;
}

.ops-page-v2 .card::before,
.ops-page-v2 .stat-card::before,
.ops-page-v2 .team-card::before,
.ops-page-v2 .workspace-card::before,
.ops-page-v2 .modal-card::before {
    display: none !important;
}

.ops-page-v2 .card > h2:first-child,
.ops-page-v2 .card > h3:first-child {
    margin-bottom: 14px !important;
    color: var(--ink-soft) !important;
    font-size: 12px !important;
    letter-spacing: 0.12em;
}

.finance-console-shell .grid {
    align-items: start;
    gap: 18px !important;
}

.finance-console-shell .grid > .card {
    padding: clamp(18px, 2.6vw, 26px) !important;
    border-radius: 24px !important;
    background:
        linear-gradient(180deg, rgba(255, 251, 241, 0.98), rgba(252, 246, 232, 0.96)) !important;
}

.finance-console-shell .grid > .card.span-2 {
    background:
        radial-gradient(circle at 88% 4%, rgba(212, 150, 53, 0.18), transparent 18rem),
        linear-gradient(135deg, rgba(255, 251, 241, 0.98), rgba(248, 239, 215, 0.94)) !important;
}

.finance-console-shell .card > h2:first-child {
    color: var(--primary) !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.finance-console-shell .actions,
.finance-console-shell .form-grid {
    gap: 10px !important;
}

.finance-console-shell .actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.finance-console-shell .form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.finance-console-shell input,
.finance-console-shell select,
.finance-console-shell textarea {
    min-height: 44px;
    background: rgba(255, 251, 241, 0.94) !important;
}

.finance-console-shell textarea {
    width: 100%;
    min-height: 82px;
    margin-top: 10px;
}

.finance-console-shell .metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px !important;
    margin-top: 14px;
}

.finance-console-shell .metrics .metric {
    min-height: 108px;
    padding: 18px !important;
    border-radius: 20px !important;
    background: rgba(255, 251, 241, 0.92) !important;
}

.finance-console-shell .metrics .metric .v {
    color: var(--primary) !important;
}

body[data-theme="empire"].live-map-shell {
    background:
        radial-gradient(circle at 50% 0%, rgba(212, 150, 53, 0.14), transparent 26rem),
        var(--bg) !important;
}

.live-map-shell .sidebar {
    left: 0 !important;
    right: auto !important;
    width: min(400px, 88vw) !important;
    border-left: 0 !important;
    border-right: 1px solid rgba(212, 150, 53, 0.40) !important;
    background: rgba(7, 24, 45, 0.96) !important;
    color: var(--primary-fg) !important;
}

.live-map-shell .sidebar.collapsed {
    transform: translateX(-100%) !important;
}

.live-map-shell .sidebar-toggle {
    left: auto !important;
    right: -42px !important;
    border-left: 0 !important;
    border-right: 2px solid var(--accent) !important;
    border-radius: 0 10px 10px 0 !important;
}

.live-map-shell .sidebar .header {
    width: 100% !important;
    margin: 0 !important;
    display: block !important;
    padding: 24px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(212, 150, 53, 0.30) !important;
    border-radius: 0 !important;
    background:
        radial-gradient(circle at 12% 12%, rgba(212, 150, 53, 0.16), transparent 14rem),
        linear-gradient(145deg, rgba(3, 19, 42, 0.98), rgba(10, 37, 64, 0.96)) !important;
    box-shadow: none !important;
}

.live-map-shell .sidebar .header::before,
.live-map-shell .sidebar .header::after,
.live-map-shell .sidebar .header h1::before {
    content: none !important;
    display: none !important;
}

.live-map-shell .sidebar .header h1 {
    margin: 0 0 14px !important;
    color: var(--primary-fg) !important;
    font-size: clamp(30px, 4vw, 44px) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.03em !important;
    text-transform: none !important;
}

.live-map-shell .pulse-live {
    margin-right: 10px !important;
    vertical-align: 0.06em;
}

.live-map-shell .header-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    color: rgba(251, 243, 222, 0.72) !important;
}

.live-map-shell .header-stats div {
    padding: 8px 6px;
    border: 1px solid rgba(251, 243, 222, 0.14);
    border-radius: 999px;
    background: rgba(255, 251, 241, 0.08);
    text-align: center;
    font-size: 11px;
}

.live-map-shell .header-stats span {
    color: var(--primary-fg) !important;
}

.live-map-shell .live-safety-card {
    margin-top: 12px;
    padding: 12px !important;
    border: 1px solid rgba(251, 243, 222, 0.14) !important;
    border-radius: 16px !important;
    background: rgba(255, 251, 241, 0.08) !important;
    color: rgba(251, 243, 222, 0.82) !important;
}

.live-map-shell .feed-container {
    background: rgba(3, 19, 42, 0.88) !important;
}

.live-map-shell .tx-card {
    background: rgba(255, 251, 241, 0.95) !important;
}

@media (max-width: 980px) {
    .ops-page-v2 .header,
    .ops-page-v2 .admin-ticket-grid {
        grid-template-columns: 1fr;
    }

    .live-map-shell .live-hud {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border-radius: 24px;
    }
}

/* CR0247 banker-palette correction. The operator-selected reference is the
   banker/login navy, warm cream, muted slate, and restrained gold treatment. */
body[data-theme="empire"].ops-page-v2,
body[data-theme="empire"].car555-ops-page {
    --banker-night: #06162A;
    --banker-navy: #0A2540;
    --banker-cream: #F8F1DF;
    --banker-card: #FFFBF1;
    --banker-line: #E2D5B4;
    --banker-line-strong: #C9B888;
    --banker-muted: #44516A;
    --banker-gold: #D49635;
    --banker-green: #4A6F4E;
    --banker-red: #A8412F;
    background:
        radial-gradient(circle at 14% 0%, rgba(212, 150, 53, 0.24), transparent 22rem),
        linear-gradient(180deg, var(--banker-night) 0, var(--banker-navy) 320px, var(--banker-cream) 320px, var(--banker-cream) 100%) !important;
    color: var(--ink) !important;
}

.ops-page-v2 .topbar,
.ops-page-v2 .header,
.ops-page-v2 .hero {
    border-color: rgba(212, 150, 53, 0.38) !important;
    background:
        radial-gradient(circle at 88% 10%, rgba(212, 150, 53, 0.24), transparent 18rem),
        linear-gradient(135deg, #06162A, #0A2540) !important;
    color: #FBF3DE !important;
    box-shadow: 0 22px 52px rgba(3, 19, 42, 0.24) !important;
}

.ops-page-v2 .topbar .logo,
.ops-page-v2 .topbar a,
.ops-page-v2 .header h1,
.ops-page-v2 .header h2,
.ops-page-v2 .header p,
.ops-page-v2 .hero h1,
.ops-page-v2 .hero h2,
.ops-page-v2 .hero p,
.ops-page-v2 .hero .muted,
.ops-page-v2 .hero .session-line,
.ops-page-v2 .hero .flow-meta {
    color: #FBF3DE !important;
}

.ops-page-v2 .empire-eyebrow,
.ops-page-v2 .header h1::before,
.ops-page-v2 .hero .empire-eyebrow {
    color: #D49635 !important;
}

.ops-page-v2 .card,
.ops-page-v2 .ticket-card,
.ops-page-v2 .submission-card,
.ops-page-v2 .auth-card,
.ops-page-v2 .modal-card,
.ops-page-v2 .session-card,
.ops-page-v2 .metric,
.ops-page-v2 .status-pill,
.ops-page-v2 .notice,
.ops-page-v2 .row,
.ops-page-v2 .flow-row,
.ops-page-v2 .runtime-row,
.ops-page-v2 .ops-kpi,
.ops-page-v2 .finance-summary-strip > *,
.ops-page-v2 .finance-console-shell .grid > .card,
.ops-page-v2 .finance-console-shell .metrics .metric {
    background: #FFFBF1 !important;
    border-color: rgba(226, 213, 180, 0.96) !important;
    color: #0B1828 !important;
    box-shadow: 0 14px 30px rgba(10, 37, 64, 0.09) !important;
}

.ops-page-v2 .card[style*="border-top"],
.ops-page-v2 .card[style*="#f59e0b"],
.ops-page-v2 .card[style*="#10b981"],
.ops-page-v2 .card[style*="#8b5cf6"] {
    border-top: 1px solid rgba(226, 213, 180, 0.96) !important;
}

.ops-page-v2 .note-box,
.ops-page-v2 .flow-preview,
.ops-page-v2 .runtime-detail,
.ops-page-v2 .details-box,
.ops-page-v2 .tabs,
.ops-page-v2 .team-row,
.ops-page-v2 .leader-table,
.ops-page-v2 .write-banner,
.ops-page-v2 input,
.ops-page-v2 select,
.ops-page-v2 textarea {
    background: #F8F1DF !important;
    border-color: #E2D5B4 !important;
    color: #0B1828 !important;
}

.ops-page-v2 .tab.active,
.ops-page-v2 .status-chip,
.ops-page-v2 .pill,
.ops-page-v2 .badge {
    background: #FFFBF1 !important;
    border-color: #E2D5B4 !important;
    color: #0A2540 !important;
}

.ops-page-v2 .tab,
.ops-page-v2 .muted,
.ops-page-v2 .flow-meta,
.ops-page-v2 .runtime-detail,
.ops-page-v2 .session-line,
.ops-page-v2 small {
    color: #44516A !important;
}

.ops-page-v2 .card > h2:first-child,
.ops-page-v2 .card > h3:first-child,
.ops-page-v2 .metric .value,
.ops-page-v2 .metric .v,
.ops-page-v2 .ops-kpi strong,
.ops-page-v2 .finance-console-shell .metrics .metric .v {
    color: #0A2540 !important;
}

.ops-page-v2 .btn,
.ops-page-v2 .mini-btn,
.ops-page-v2 button,
.ops-page-v2 .btn[style*="#3b82f6"],
.ops-page-v2 .btn[style*="#8b5cf6"],
.ops-page-v2 button[style*="#3b82f6"],
.ops-page-v2 button[style*="#8b5cf6"] {
    background: #0A2540 !important;
    border-color: rgba(212, 150, 53, 0.36) !important;
    color: #FBF3DE !important;
}

.ops-page-v2 .btn-money,
.ops-page-v2 .btn-gold,
.ops-page-v2 .btn.gold,
.ops-page-v2 .btn[style*="#f59e0b"],
.ops-page-v2 button[style*="#f59e0b"] {
    background: #D49635 !important;
    border-color: #A06E1F !important;
    color: #0A2540 !important;
}

.ops-page-v2 .btn-jail,
.ops-page-v2 .btn[style*="#ef4444"],
.ops-page-v2 button[style*="#ef4444"] {
    background: #A8412F !important;
    border-color: #A8412F !important;
    color: #FFFBF1 !important;
}

.ops-page-v2 .btn-unjail,
.ops-page-v2 .btn[style*="#22c55e"],
.ops-page-v2 .btn[style*="#10b981"],
.ops-page-v2 .btn[style*="#0f766e"],
.ops-page-v2 button[style*="#22c55e"],
.ops-page-v2 button[style*="#10b981"],
.ops-page-v2 button[style*="#0f766e"] {
    background: #4A6F4E !important;
    border-color: #4A6F4E !important;
    color: #FFFBF1 !important;
}

.ops-page-v2 .btn-ghost,
.ops-page-v2 .mini-btn.btn-ghost,
.ops-page-v2 button.btn-ghost {
    background: rgba(255, 251, 241, 0.12) !important;
    border-color: rgba(226, 213, 180, 0.78) !important;
    color: #0A2540 !important;
}

.ops-page-v2 .topbar .btn,
.ops-page-v2 .topbar .btn-ghost,
.ops-page-v2 .header .btn,
.ops-page-v2 .header .btn-ghost,
.ops-page-v2 .hero .btn,
.ops-page-v2 .hero .mini-btn,
.ops-page-v2 .hero button {
    background: rgba(255, 251, 241, 0.12) !important;
    border-color: rgba(251, 243, 222, 0.28) !important;
    color: #FBF3DE !important;
}

.ops-page-v2 .topbar .btn-gold,
.ops-page-v2 .hero .btn-gold,
.ops-page-v2 .header .btn-gold,
.ops-page-v2 .topbar .btn.gold,
.ops-page-v2 .hero .btn.gold {
    background: #D49635 !important;
    color: #0A2540 !important;
}

.ops-page-v2 #login-screen {
    background:
        radial-gradient(circle at 28% 14%, rgba(212, 150, 53, 0.24), transparent 24rem),
        linear-gradient(145deg, #06162A, #0A2540) !important;
}

.ops-page-v2 #login-screen h1 {
    color: #FBF3DE !important;
    text-shadow: 0 2px 18px rgba(3, 19, 42, 0.38);
}

.ops-page-v2 #login-screen .auth-card {
    background: #FFFBF1 !important;
    border: 1px solid rgba(212, 150, 53, 0.36) !important;
    box-shadow: 0 24px 58px rgba(3, 19, 42, 0.34) !important;
}

.ops-page-v2 #debug-log,
.ops-page-v2 #ops-log {
    background: #06162A !important;
    border-color: rgba(212, 150, 53, 0.26) !important;
    color: #D8E4D5 !important;
}

body[data-theme="empire"].ops-page-v2.live-map-shell {
    background: #0A2540 !important;
    color: #0B1828 !important;
}

body.ops-page-v2.live-map-shell #map {
    top: 0 !important;
    height: 100vh !important;
}

body.ops-page-v2.live-map-shell .sidebar {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(400px, 88vw) !important;
    height: 100vh !important;
    min-height: 100vh !important;
    border-right: 0 !important;
    border-left: 1px solid rgba(212, 150, 53, 0.42) !important;
    background: rgba(7, 24, 45, 0.97) !important;
    box-shadow: -18px 0 48px rgba(3, 19, 42, 0.32) !important;
    transform: translateX(0) !important;
}

body.ops-page-v2.live-map-shell .sidebar.collapsed {
    transform: translateX(100%) !important;
}

body.ops-page-v2.live-map-shell .sidebar-toggle {
    left: -42px !important;
    right: auto !important;
    border-right: 0 !important;
    border-left: 2px solid #D49635 !important;
    border-radius: 10px 0 0 10px !important;
    background: #0A2540 !important;
    color: #D49635 !important;
}

body.ops-page-v2.live-map-shell .sidebar .header {
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.ops-page-v2.live-map-shell .feed-container {
    background: #06162A !important;
}

body.ops-page-v2.live-map-shell .tx-card,
body.ops-page-v2.live-map-shell .leaderboard-panel {
    background: #FFFBF1 !important;
    border-color: #E2D5B4 !important;
    color: #0B1828 !important;
}

body.ops-page-v2.live-map-shell .live-hud {
    left: calc((100vw - min(400px, 88vw)) / 2) !important;
    width: min(760px, calc(100vw - min(400px, 88vw) - 32px)) !important;
    transform: translateX(-50%) !important;
}

@media (max-width: 760px) {
    body.ops-page-v2.live-map-shell .live-hud {
        left: 50% !important;
        width: calc(100% - 24px) !important;
    }
}

/* CR0247 dark-blue correction. Operator rejected the cream-heavy pass; this
   makes the banker-login blue the dominant surface and keeps cream as text only. */
body[data-theme="empire"].ops-page-v2,
body[data-theme="empire"].car555-ops-page {
    --empire-dark-page: #07182D;
    --empire-dark-panel: #0A2540;
    --empire-dark-panel-2: #102944;
    --empire-dark-panel-3: #143554;
    --empire-dark-text: #FBF3DE;
    --empire-dark-muted: #B9C7D8;
    --empire-dark-line: rgba(212, 150, 53, 0.34);
    background:
        radial-gradient(circle at 10% -8%, rgba(212, 150, 53, 0.22), transparent 24rem),
        radial-gradient(circle at 88% 10%, rgba(32, 90, 132, 0.30), transparent 30rem),
        linear-gradient(145deg, #06162A 0%, #0A2540 54%, #07182D 100%) !important;
    color: var(--empire-dark-text) !important;
}

.ops-page-v2 main,
.ops-page-v2 #main-content,
.ops-page-v2 .topbar-inner,
.ops-page-v2 .header,
.ops-page-v2 .tabs,
.ops-page-v2 .view {
    width: min(1540px, calc(100% - 32px)) !important;
    margin-inline: auto !important;
}

.ops-page-v2 #main-content {
    padding: clamp(16px, 2.5vw, 34px) 0 76px !important;
}

.ops-page-v2 .topbar {
    background: rgba(6, 22, 42, 0.96) !important;
    border-bottom-color: var(--empire-dark-line) !important;
}

.ops-page-v2 .header,
.ops-page-v2 .hero {
    background:
        radial-gradient(circle at 92% 0%, rgba(212, 150, 53, 0.24), transparent 20rem),
        linear-gradient(135deg, #06162A, #0A2540 58%, #0D304E) !important;
    border-color: var(--empire-dark-line) !important;
    color: var(--empire-dark-text) !important;
}

.ops-page-v2 .card,
.ops-page-v2 .ticket-card,
.ops-page-v2 .submission-card,
.ops-page-v2 .modal-card,
.ops-page-v2 .session-card,
.ops-page-v2 .metric,
.ops-page-v2 .status-pill,
.ops-page-v2 .notice,
.ops-page-v2 .row,
.ops-page-v2 .flow-row,
.ops-page-v2 .runtime-row,
.ops-page-v2 .ops-kpi,
.ops-page-v2 .finance-summary-strip > *,
.ops-page-v2 .finance-console-shell .grid > .card,
.ops-page-v2 .finance-console-shell .metrics .metric {
    background:
        linear-gradient(145deg, rgba(16, 41, 68, 0.96), rgba(7, 24, 45, 0.96)) !important;
    border-color: var(--empire-dark-line) !important;
    color: var(--empire-dark-text) !important;
    box-shadow: 0 20px 48px rgba(2, 9, 20, 0.28) !important;
}

.ops-page-v2 .card[style*="border-top"],
.ops-page-v2 .card[style*="#f59e0b"],
.ops-page-v2 .card[style*="#10b981"],
.ops-page-v2 .card[style*="#8b5cf6"] {
    border-top: 3px solid #D49635 !important;
}

.ops-page-v2 .header,
.ops-page-v2 .hero,
.ops-page-v2 .card,
.ops-page-v2 .ticket-card,
.ops-page-v2 .submission-card,
.ops-page-v2 .modal-card,
.ops-page-v2 .session-card,
.ops-page-v2 .metric,
.ops-page-v2 .ops-kpi,
.ops-page-v2 .finance-summary-strip > *,
.ops-page-v2 .finance-console-shell .grid > .card,
.ops-page-v2 .finance-console-shell .metrics .metric {
    border-top: 3px solid #D49635 !important;
}

.ops-page-v2 .grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 390px), 1fr)) !important;
    gap: clamp(14px, 2vw, 24px) !important;
}

.ops-page-v2 .card,
.ops-page-v2 .ticket-card,
.ops-page-v2 .submission-card {
    padding: clamp(18px, 2.4vw, 30px) !important;
}

.ops-page-v2 .card h1,
.ops-page-v2 .card h2,
.ops-page-v2 .card h3,
.ops-page-v2 .card > h2:first-child,
.ops-page-v2 .card > h3:first-child,
.ops-page-v2 .metric .value,
.ops-page-v2 .metric .v,
.ops-page-v2 .ops-kpi strong,
.ops-page-v2 .finance-console-shell .metrics .metric .v,
.ops-page-v2 .ticket-no,
.ops-page-v2 .issue {
    color: var(--empire-dark-text) !important;
}

.ops-page-v2 .empire-eyebrow,
.ops-page-v2 .metric .label,
.ops-page-v2 .metric .k,
.ops-page-v2 .ops-kpi span,
.ops-page-v2 .card > h2:first-child,
.ops-page-v2 .card > h3:first-child {
    color: #D49635 !important;
}

.ops-page-v2 p,
.ops-page-v2 .muted,
.ops-page-v2 .flow-meta,
.ops-page-v2 .runtime-detail,
.ops-page-v2 .session-line,
.ops-page-v2 small,
.ops-page-v2 .card p,
.ops-page-v2 .team-row small {
    color: var(--empire-dark-muted) !important;
}

.ops-page-v2 .note-box,
.ops-page-v2 .flow-preview,
.ops-page-v2 .details-box,
.ops-page-v2 .tabs,
.ops-page-v2 .team-row,
.ops-page-v2 .leader-table,
.ops-page-v2 .write-banner,
.ops-page-v2 input,
.ops-page-v2 select,
.ops-page-v2 textarea {
    background: rgba(6, 22, 42, 0.64) !important;
    border-color: rgba(226, 213, 180, 0.22) !important;
    color: var(--empire-dark-text) !important;
}

.ops-page-v2 input::placeholder,
.ops-page-v2 textarea::placeholder {
    color: rgba(185, 199, 216, 0.72) !important;
}

.ops-page-v2 .tab {
    color: var(--empire-dark-muted) !important;
}

.ops-page-v2 .tab.active,
.ops-page-v2 .status-chip,
.ops-page-v2 .pill,
.ops-page-v2 .badge {
    background: #D49635 !important;
    border-color: #D49635 !important;
    color: #06162A !important;
}

.ops-page-v2 .btn,
.ops-page-v2 .mini-btn,
.ops-page-v2 button,
.ops-page-v2 .btn-ghost,
.ops-page-v2 .mini-btn.btn-ghost,
.ops-page-v2 button.btn-ghost {
    background: rgba(6, 22, 42, 0.82) !important;
    border-color: rgba(212, 150, 53, 0.34) !important;
    color: var(--empire-dark-text) !important;
}

.ops-page-v2 .btn-money,
.ops-page-v2 .btn-gold,
.ops-page-v2 .btn.gold,
.ops-page-v2 .btn[style*="#f59e0b"],
.ops-page-v2 button[style*="#f59e0b"] {
    background: #D49635 !important;
    border-color: #D49635 !important;
    color: #06162A !important;
}

.ops-page-v2 #login-screen {
    background:
        radial-gradient(circle at 26% 12%, rgba(212, 150, 53, 0.24), transparent 24rem),
        linear-gradient(145deg, #06162A, #0A2540) !important;
}

.ops-page-v2 #login-screen .auth-card {
    background: rgba(16, 41, 68, 0.94) !important;
    border-color: rgba(226, 213, 180, 0.26) !important;
}

.ops-page-v2 #login-screen input {
    background: rgba(255, 251, 241, 0.10) !important;
}

.ops-page-v2 #login-screen #banker-login-btn {
    background: #06162A !important;
    color: var(--empire-dark-text) !important;
}

.ops-page-v2 table,
.ops-page-v2 tr,
.ops-page-v2 td,
.ops-page-v2 th {
    color: var(--empire-dark-text) !important;
    border-color: rgba(226, 213, 180, 0.16) !important;
}

body.ops-page-v2.live-map-shell .tx-card,
body.ops-page-v2.live-map-shell .leaderboard-panel {
    background: rgba(16, 41, 68, 0.96) !important;
    border-color: var(--empire-dark-line) !important;
    color: var(--empire-dark-text) !important;
}

@media (max-width: 860px) {
    .ops-page-v2 main,
    .ops-page-v2 #main-content,
    .ops-page-v2 .topbar-inner,
    .ops-page-v2 .header,
    .ops-page-v2 .tabs {
        width: min(100% - 20px, 1540px) !important;
    }

    .ops-page-v2 .header {
        grid-template-columns: 1fr !important;
        margin-top: 14px !important;
        border-radius: 22px !important;
    }

    .ops-page-v2 .header > div,
    .ops-page-v2 .links,
    .ops-page-v2 .top-links,
    .ops-page-v2 .session-actions,
    .ops-page-v2 .actions {
        display: flex !important;
        width: 100% !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .ops-page-v2 .btn,
    .ops-page-v2 .mini-btn,
    .ops-page-v2 button {
        min-height: 42px !important;
        flex: 1 1 140px;
    }
}

@media (max-width: 560px) {
    .ops-page-v2 .card,
    .ops-page-v2 .ticket-card,
    .ops-page-v2 .submission-card,
    .ops-page-v2 .modal-card {
        border-radius: 18px !important;
        padding: 16px !important;
    }

    .ops-page-v2 .header h1 {
        font-size: clamp(30px, 11vw, 44px) !important;
    }

    .ops-page-v2 .tabs {
        margin-inline: auto !important;
    }
}

/* CR0247 blue-surface base layer. The operator lock at the end enforces the
   final subtle banker-card border; gold remains an accent/fill only. */
body[data-theme="empire"].ops-page-v2,
body[data-theme="empire"].car555-ops-page {
    --empire-card-blue: #0A2540;
    --empire-card-blue-deep: #07182D;
    --empire-live-gold-border: #D49635;
    --empire-live-border-soft: rgba(212, 150, 53, 0.38);
}

.ops-page-v2 .header,
.ops-page-v2 .hero,
.ops-page-v2 .card,
.ops-page-v2 .ticket-card,
.ops-page-v2 .submission-card,
.ops-page-v2 .modal-card,
.ops-page-v2 .session-card,
.ops-page-v2 .metric,
.ops-page-v2 .status-pill,
.ops-page-v2 .notice,
.ops-page-v2 .row,
.ops-page-v2 .flow-row,
.ops-page-v2 .runtime-row,
.ops-page-v2 .ops-kpi,
.ops-page-v2 .finance-summary-strip > *,
.ops-page-v2 .finance-console-shell .grid > .card,
.ops-page-v2 .finance-console-shell .metrics .metric,
body.ops-page-v2.live-map-shell .tx-card,
body.ops-page-v2.live-map-shell .leaderboard-panel,
body.ops-page-v2.live-map-shell .live-safety-card,
body.ops-page-v2.live-map-shell .header-stats > div {
    background: var(--empire-card-blue) !important;
    border: 1px solid rgba(185, 199, 216, 0.24) !important;
    border-top: 1px solid rgba(251, 243, 222, 0.34) !important;
    color: var(--empire-dark-text) !important;
    box-shadow: 0 18px 44px rgba(2, 9, 20, 0.34) !important;
}

.ops-page-v2 .tabs,
.ops-page-v2 .note-box,
.ops-page-v2 .flow-preview,
.ops-page-v2 .details-box,
.ops-page-v2 .team-row,
.ops-page-v2 .leader-table,
.ops-page-v2 .write-banner,
.ops-page-v2 input,
.ops-page-v2 select,
.ops-page-v2 textarea {
    background: var(--empire-card-blue-deep) !important;
    border: 1px solid var(--empire-live-border-soft) !important;
    color: var(--empire-dark-text) !important;
}

body[data-theme="empire"].ops-page-v2 .header,
body[data-theme="empire"].ops-page-v2 .hero,
body[data-theme="empire"].ops-page-v2 .card,
body[data-theme="empire"].ops-page-v2 .ticket-card,
body[data-theme="empire"].ops-page-v2 .submission-card,
body[data-theme="empire"].ops-page-v2 .modal-card,
body[data-theme="empire"].ops-page-v2 .session-card,
body[data-theme="empire"].ops-page-v2 .metric,
body[data-theme="empire"].ops-page-v2 .status-pill,
body[data-theme="empire"].ops-page-v2 .notice,
body[data-theme="empire"].ops-page-v2 .row,
body[data-theme="empire"].ops-page-v2 .flow-row,
body[data-theme="empire"].ops-page-v2 .runtime-row,
body[data-theme="empire"].ops-page-v2 .ops-kpi,
body[data-theme="empire"].ops-page-v2 .status-strip > *,
body[data-theme="empire"].ops-page-v2 .telemetry-grid > *,
body[data-theme="empire"].ops-page-v2 .finance-summary-strip > *,
body[data-theme="empire"].ops-page-v2.finance-console-shell .grid > .card,
body[data-theme="empire"].ops-page-v2.finance-console-shell .metrics .metric,
body[data-theme="empire"].ops-page-v2.live-map-shell .tx-card,
body[data-theme="empire"].ops-page-v2.live-map-shell .leaderboard-panel,
body[data-theme="empire"].ops-page-v2.live-map-shell .live-safety-card,
body[data-theme="empire"].ops-page-v2.live-map-shell .header-stats > div {
    background: var(--empire-card-blue) !important;
    border: 1px solid rgba(185, 199, 216, 0.24) !important;
    color: var(--empire-dark-text) !important;
    box-shadow: 0 18px 44px rgba(2, 9, 20, 0.34) !important;
}

body[data-theme="empire"].ops-page-v2 .tabs,
body[data-theme="empire"].ops-page-v2 .note-box,
body[data-theme="empire"].ops-page-v2 .flow-preview,
body[data-theme="empire"].ops-page-v2 .details-box,
body[data-theme="empire"].ops-page-v2 .team-row,
body[data-theme="empire"].ops-page-v2 .leader-table,
body[data-theme="empire"].ops-page-v2 .write-banner,
body[data-theme="empire"].ops-page-v2 input,
body[data-theme="empire"].ops-page-v2 select,
body[data-theme="empire"].ops-page-v2 textarea {
    background: var(--empire-card-blue-deep) !important;
    border: 1px solid var(--empire-live-border-soft) !important;
    color: var(--empire-dark-text) !important;
}

/* Final specificity guard for admin telemetry and finance article panels. */
html body[data-theme="empire"].ops-page-v2 main .telemetry-grid > .metric,
html body[data-theme="empire"].ops-page-v2:not(.public-page):not(:has(#map)) main .telemetry-grid > .metric,
html body[data-theme="empire"].ops-page-v2.finance-console-shell main.finance-console-shell section.grid > article.card,
html body[data-theme="empire"].ops-page-v2.finance-console-shell main.finance-console-shell section.grid > article.card.span-2,
html body[data-theme="empire"].ops-page-v2.finance-console-shell main.finance-console-shell .grid > .card,
html body[data-theme="empire"].ops-page-v2.finance-console-shell main.finance-console-shell .grid > .card.span-2 {
    background: #0A2540 !important;
    border: 1px solid rgba(185, 199, 216, 0.24) !important;
    color: #FBF3DE !important;
    box-shadow: 0 18px 44px rgba(2, 9, 20, 0.34) !important;
}

html body[data-theme="empire"].ops-page-v2.finance-console-shell main.finance-console-shell article.card h2,
html body[data-theme="empire"].ops-page-v2.finance-console-shell main.finance-console-shell article.card p,
html body[data-theme="empire"].ops-page-v2.finance-console-shell main.finance-console-shell article.card .muted,
html body[data-theme="empire"].ops-page-v2 main .telemetry-grid > .metric .meta,
html body[data-theme="empire"].ops-page-v2 main .telemetry-grid > .metric .label,
html body[data-theme="empire"].ops-page-v2 main .telemetry-grid > .metric .value {
    color: #FBF3DE !important;
}

/* Final CR0247 anti-cream guard. This intentionally sits last so page-local
   finance/admin/live styles cannot reintroduce light card surfaces. */
html body[data-theme="empire"].ops-page-v2.finance-console-shell,
html body[data-theme="empire"].ops-page-v2.finance-console-shell main,
html body[data-theme="empire"].ops-page-v2.finance-console-shell main.finance-console-shell,
html body[data-theme="empire"].ops-page-v2.finance-console-shell section.grid {
    background:
        radial-gradient(circle at 12% -8%, rgba(212, 150, 53, 0.20), transparent 24rem),
        radial-gradient(circle at 88% 8%, rgba(32, 90, 132, 0.26), transparent 30rem),
        linear-gradient(145deg, #06162A 0%, #0A2540 56%, #07182D 100%) !important;
    color: #FBF3DE !important;
}

html body[data-theme="empire"].ops-page-v2.finance-console-shell article.card,
html body[data-theme="empire"].ops-page-v2.finance-console-shell article.card.span-2,
html body[data-theme="empire"].ops-page-v2.finance-console-shell main.finance-console-shell article.card,
html body[data-theme="empire"].ops-page-v2.finance-console-shell main.finance-console-shell article.card.span-2,
html body[data-theme="empire"].ops-page-v2.finance-console-shell main.finance-console-shell > section.grid > article.card,
html body[data-theme="empire"].ops-page-v2.finance-console-shell main.finance-console-shell > section.grid > article.card.span-2,
html body[data-theme="empire"].ops-page-v2.finance-console-shell .grid > .card,
html body[data-theme="empire"].ops-page-v2.finance-console-shell .grid > .card.span-2,
html body[data-theme="empire"].ops-page-v2.finance-console-shell .metrics > .metric,
html body[data-theme="empire"].ops-page-v2.live-map-shell .live-hud-card,
html body[data-theme="empire"].ops-page-v2.live-map-shell .header-stats > div,
html body[data-theme="empire"].ops-page-v2.live-map-shell .live-safety-card,
html body[data-theme="empire"].ops-page-v2.live-map-shell .leaderboard-panel,
html body[data-theme="empire"].ops-page-v2.live-map-shell .tx-card {
    background: #0A2540 !important;
    background-image: none !important;
    border: 1px solid rgba(185, 199, 216, 0.24) !important;
    color: #FBF3DE !important;
    box-shadow: 0 18px 44px rgba(2, 9, 20, 0.34) !important;
}

html body[data-theme="empire"].ops-page-v2.finance-console-shell article.card h2,
html body[data-theme="empire"].ops-page-v2.finance-console-shell article.card h3,
html body[data-theme="empire"].ops-page-v2.finance-console-shell article.card p,
html body[data-theme="empire"].ops-page-v2.finance-console-shell article.card label,
html body[data-theme="empire"].ops-page-v2.finance-console-shell article.card .muted,
html body[data-theme="empire"].ops-page-v2.finance-console-shell article.card span,
html body[data-theme="empire"].ops-page-v2.finance-console-shell article.card div,
html body[data-theme="empire"].ops-page-v2 .session-card .session-line,
html body[data-theme="empire"].ops-page-v2 .session-card .session-line strong,
html body[data-theme="empire"].ops-page-v2 .session-card .session-line span,
html body[data-theme="empire"].ops-page-v2.live-map-shell .live-hud-card,
html body[data-theme="empire"].ops-page-v2.live-map-shell .live-hud-card span,
html body[data-theme="empire"].ops-page-v2.live-map-shell .header-stats,
html body[data-theme="empire"].ops-page-v2.live-map-shell .header-stats span {
    color: #FBF3DE !important;
}

html body[data-theme="empire"].ops-page-v2.finance-console-shell article.card input,
html body[data-theme="empire"].ops-page-v2.finance-console-shell article.card select,
html body[data-theme="empire"].ops-page-v2.finance-console-shell article.card textarea,
html body[data-theme="empire"].ops-page-v2.finance-console-shell article.card .row,
html body[data-theme="empire"].ops-page-v2.finance-console-shell article.card #ledger-list-block,
html body[data-theme="empire"].ops-page-v2.finance-console-shell article.card #docs-list-block,
html body[data-theme="empire"].ops-page-v2.finance-console-shell article.card #assets-list-block {
    background: #07182D !important;
    background-image: none !important;
    border-color: rgba(212, 150, 53, 0.38) !important;
    color: #FBF3DE !important;
}

/* Harbour Atlas uses :has(#map) in old non-public card rules, giving those
   cream cards ID-level specificity. Match that level with a harmless :not(#...)
   guard so CR0247 remains blue/gold without changing the DOM. */
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .card,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .ticket-card,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .submission-card,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .modal-card,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .session-card,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .metric,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .notice,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .row,
html body[data-theme="empire"].ops-page-v2.finance-console-shell:not(#cr0247-force) article.card,
html body[data-theme="empire"].ops-page-v2.finance-console-shell:not(#cr0247-force) article.card.span-2,
html body[data-theme="empire"].ops-page-v2.finance-console-shell:not(#cr0247-force) .grid > .card,
html body[data-theme="empire"].ops-page-v2.finance-console-shell:not(#cr0247-force) .grid > .card.span-2 {
    background: #0A2540 !important;
    background-image: none !important;
    border: 1px solid rgba(185, 199, 216, 0.24) !important;
    color: #FBF3DE !important;
    box-shadow: 0 18px 44px rgba(2, 9, 20, 0.34) !important;
}

html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .card h1,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .card h2,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .card h3,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .card p,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .card label,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .card .muted,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .session-line,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .session-line strong,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .metric .label,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .metric .value,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .metric .meta {
    color: #FBF3DE !important;
}

/* CR0247 operator correction: keep ops cards on the banker-login border system.
   Gold is reserved for active/accent fills, not every card outline. */
html body[data-theme="empire"].ops-page-v2,
html body[data-theme="empire"].car555-ops-page {
    --ops-card-border: rgba(185, 199, 216, 0.24);
    --ops-card-border-strong: rgba(251, 243, 222, 0.34);
    --ops-button-bg: #F8F1DF;
    --ops-button-fg: #0A2540;
    --ops-button-border: rgba(251, 243, 222, 0.48);
}

html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .header,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .hero,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .card,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .ticket-card,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .submission-card,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .modal-card,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .session-card,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .metric,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .notice,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .row,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .flow-row,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .runtime-row,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .ops-kpi,
html body[data-theme="empire"].ops-page-v2.finance-console-shell:not(#cr0247-force) article.card,
html body[data-theme="empire"].ops-page-v2.live-map-shell:not(#cr0247-force) .live-hud-card,
html body[data-theme="empire"].ops-page-v2.live-map-shell:not(#cr0247-force) .header-stats > div,
html body[data-theme="empire"].ops-page-v2.live-map-shell:not(#cr0247-force) .live-safety-card,
html body[data-theme="empire"].ops-page-v2.live-map-shell:not(#cr0247-force) .leaderboard-panel,
html body[data-theme="empire"].ops-page-v2.live-map-shell:not(#cr0247-force) .tx-card {
    background: #0A2540 !important;
    background-image: linear-gradient(145deg, rgba(16, 41, 68, 0.96), rgba(7, 24, 45, 0.96)) !important;
    border: 1px solid var(--ops-card-border) !important;
    border-top: 1px solid var(--ops-card-border-strong) !important;
    color: #FBF3DE !important;
    box-shadow: 0 18px 44px rgba(2, 9, 20, 0.34) !important;
}

html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .btn,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .mini-btn,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .btn-action,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .btn-ghost,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .btn-secondary,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) button,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .links a,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .top-links a {
    background: var(--ops-button-bg) !important;
    border: 1px solid var(--ops-button-border) !important;
    border-radius: 999px !important;
    color: var(--ops-button-fg) !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 22px rgba(2, 9, 20, 0.18) !important;
}

html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .btn-money,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .btn-gold,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .btn.gold,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .tab.active,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .status-chip,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .pill.ok,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .badge.ok {
    background: #D49635 !important;
    border-color: rgba(212, 150, 53, 0.56) !important;
    color: #06162A !important;
}

/* CR0247 last-word ops correction. This intentionally comes after the older
   CR0247 compatibility block above so banker/admin/finance keep solid
   banker-login blue cards and shared rounded cream buttons. */
html body[data-theme="empire"].ops-page-v2,
html body[data-theme="empire"].car555-ops-page,
html body[data-theme="empire"].finance-console-shell {
    --cr0247-ops-blue: #0A2540;
    --cr0247-ops-blue-deep: #07182D;
    --cr0247-ops-text: #FBF3DE;
    --cr0247-ops-muted: rgba(251, 243, 222, 0.74);
    --cr0247-ops-border: rgba(185, 199, 216, 0.26);
    --cr0247-ops-border-strong: rgba(251, 243, 222, 0.34);
    --cr0247-ops-button-bg: #F8F1DF;
    --cr0247-ops-button-fg: #0A2540;
    --cr0247-ops-button-border: rgba(251, 243, 222, 0.52);
    background: var(--cr0247-ops-blue) !important;
    background-image: none !important;
    color: var(--cr0247-ops-text) !important;
}

html:has(body[data-theme="empire"].ops-page-v2),
html:has(body[data-theme="empire"].car555-ops-page),
html:has(body[data-theme="empire"].finance-console-shell) {
    background: #0A2540 !important;
    background-image: none !important;
}

html body[data-theme="empire"].ops-page-v2::before,
html body[data-theme="empire"].car555-ops-page::before,
html body[data-theme="empire"].finance-console-shell::before {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
}

html body[data-theme="empire"].ops-page-v2 main,
html body[data-theme="empire"].ops-page-v2 #main-content,
html body[data-theme="empire"].ops-page-v2 .main-content,
html body[data-theme="empire"].ops-page-v2 .finance-console-shell,
html body[data-theme="empire"].ops-page-v2 .admin-shell,
html body[data-theme="empire"].ops-page-v2 .grid,
html body[data-theme="empire"].ops-page-v2 section {
    background: var(--cr0247-ops-blue) !important;
    background-image: none !important;
    color: var(--cr0247-ops-text) !important;
}

html body[data-theme="empire"].car555-ops-page #main-content {
    width: min(1680px, calc(100% - 24px)) !important;
    max-width: none !important;
    margin: 0 auto 40px !important;
    box-sizing: border-box !important;
}

html body[data-theme="empire"].car555-ops-page .view {
    padding-inline: 0 !important;
}

html body[data-theme="empire"].car555-ops-page .grid {
    grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)) !important;
    gap: 20px !important;
}

html body[data-theme="empire"].ops-page-v2 .header,
html body[data-theme="empire"].ops-page-v2 .topbar,
html body[data-theme="empire"].ops-page-v2 .topbar-inner,
html body[data-theme="empire"].ops-page-v2 .hero,
html body[data-theme="empire"].ops-page-v2 .card,
html body[data-theme="empire"].ops-page-v2 article.card,
html body[data-theme="empire"].ops-page-v2 .ticket-card,
html body[data-theme="empire"].ops-page-v2 .submission-card,
html body[data-theme="empire"].ops-page-v2 .modal-card,
html body[data-theme="empire"].ops-page-v2 .session-card,
html body[data-theme="empire"].ops-page-v2 .metric,
html body[data-theme="empire"].ops-page-v2 .notice,
html body[data-theme="empire"].ops-page-v2 .row,
html body[data-theme="empire"].ops-page-v2 .flow-row,
html body[data-theme="empire"].ops-page-v2 .runtime-row,
html body[data-theme="empire"].ops-page-v2 .ops-kpi,
html body[data-theme="empire"].ops-page-v2 .status-strip > *,
html body[data-theme="empire"].ops-page-v2 .telemetry-grid > *,
html body[data-theme="empire"].ops-page-v2 .live-hud-card,
html body[data-theme="empire"].ops-page-v2 .live-safety-card,
html body[data-theme="empire"].ops-page-v2 .leaderboard-panel,
html body[data-theme="empire"].ops-page-v2 .tx-card,
html body[data-theme="empire"].ops-page-v2 [style*="background: white"],
html body[data-theme="empire"].ops-page-v2 [style*="background:white"],
html body[data-theme="empire"].ops-page-v2 [style*="background: #fff"],
html body[data-theme="empire"].ops-page-v2 [style*="background:#fff"],
html body[data-theme="empire"].ops-page-v2 [style*="background: #ffffff"],
html body[data-theme="empire"].ops-page-v2 [style*="background:#ffffff"],
html body[data-theme="empire"].ops-page-v2 [style*="background: #f8fafc"],
html body[data-theme="empire"].ops-page-v2 [style*="background:#f8fafc"],
html body[data-theme="empire"].ops-page-v2 [style*="background: #f1f5f9"],
html body[data-theme="empire"].ops-page-v2 [style*="background:#f1f5f9"],
html body[data-theme="empire"].ops-page-v2 [style*="background: #fffbeb"],
html body[data-theme="empire"].ops-page-v2 [style*="background:#fffbeb"],
html body[data-theme="empire"].ops-page-v2 [style*="background: var(--bg"],
html body[data-theme="empire"].ops-page-v2 [style*="background: var(--surface"] {
    background: var(--cr0247-ops-blue) !important;
    background-image: none !important;
    border: 1px solid var(--cr0247-ops-border) !important;
    border-top-color: var(--cr0247-ops-border-strong) !important;
    color: var(--cr0247-ops-text) !important;
    box-shadow: 0 18px 44px rgba(2, 9, 20, 0.26) !important;
}

html body[data-theme="empire"].ops-page-v2 .note-box,
html body[data-theme="empire"].ops-page-v2 .flow-preview,
html body[data-theme="empire"].ops-page-v2 .details-box,
html body[data-theme="empire"].ops-page-v2 .team-row,
html body[data-theme="empire"].ops-page-v2 .leader-table,
html body[data-theme="empire"].ops-page-v2 .write-banner,
html body[data-theme="empire"].ops-page-v2 input,
html body[data-theme="empire"].ops-page-v2 select,
html body[data-theme="empire"].ops-page-v2 textarea {
    background: var(--cr0247-ops-blue-deep) !important;
    background-image: none !important;
    border: 1px solid var(--cr0247-ops-border) !important;
    color: var(--cr0247-ops-text) !important;
    box-shadow: none !important;
}

html body[data-theme="empire"].ops-page-v2 .tabs {
    width: min(1680px, calc(100% - 24px)) !important;
    max-width: none !important;
    margin: 18px auto !important;
    padding: 8px !important;
    gap: 8px !important;
    overflow-x: auto !important;
    background: var(--cr0247-ops-blue-deep) !important;
    border: 1px solid var(--cr0247-ops-border) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}

html body[data-theme="empire"].ops-page-v2 .tab {
    flex: 0 0 auto !important;
    min-width: 124px !important;
    background: rgba(10, 37, 64, 0.78) !important;
    background-image: none !important;
    border: 1px solid var(--cr0247-ops-border) !important;
    border-radius: 999px !important;
    color: var(--cr0247-ops-text) !important;
    box-shadow: none !important;
}

html body[data-theme="empire"].ops-page-v2 .tab.active {
    background: #D49635 !important;
    border-color: rgba(212, 150, 53, 0.56) !important;
    color: #06162A !important;
}

html body[data-theme="empire"].ops-page-v2 :where(h1, h2, h3, h4, h5, h6, p, li, summary, label, small, strong, b, td, th, dd, dt, span, div) {
    color: var(--cr0247-ops-text) !important;
}

html body[data-theme="empire"].ops-page-v2 :where(.muted, .meta, .label, .help, .hint, .note, .session-line, .session-line span) {
    color: var(--cr0247-ops-muted) !important;
}

html body[data-theme="empire"].ops-page-v2 :where(.btn, .mini-btn, .btn-action, .btn-money, .btn-jail, .btn-unjail, .btn-ghost, .btn-secondary, .btn-primary, button, .links a, .top-links a) {
    background: var(--cr0247-ops-button-bg) !important;
    background-image: none !important;
    border: 1px solid var(--cr0247-ops-button-border) !important;
    border-radius: 999px !important;
    color: var(--cr0247-ops-button-fg) !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 22px rgba(2, 9, 20, 0.18) !important;
}

html body[data-theme="empire"].ops-page-v2 :where(.btn, .mini-btn, .btn-action, .btn-money, .btn-jail, .btn-unjail, .btn-ghost, .btn-secondary, .btn-primary, button, .links a, .top-links a) * {
    color: inherit !important;
}

html body[data-theme="empire"].ops-page-v2 :where(.status-chip, .pill.ok, .badge.ok, .btn-gold, .btn-live) {
    background: #D49635 !important;
    background-image: none !important;
    border-color: rgba(212, 150, 53, 0.56) !important;
    color: #06162A !important;
}

/* CR0247 absolute final ops background guard: remove the older map/cream wash at
   viewport edges on admin, finance, banker, and live ops shells. */
html,
html:has(body.ops-page-v2),
html:has(body.car555-ops-page),
html:has(body.finance-console-shell),
body[data-theme="empire"].ops-page-v2,
body[data-theme="empire"].car555-ops-page,
body[data-theme="empire"].finance-console-shell {
    background: #0A2540 !important;
    background-color: #0A2540 !important;
    background-image: none !important;
}

body[data-theme="empire"].ops-page-v2::before,
body[data-theme="empire"].car555-ops-page::before,
body[data-theme="empire"].finance-console-shell::before {
    content: "" !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    background: none !important;
    background-image: none !important;
}

body[data-theme="empire"].ops-page-v2 main,
body[data-theme="empire"].car555-ops-page main,
body[data-theme="empire"].finance-console-shell main {
    width: min(1680px, calc(100% - 24px)) !important;
    max-width: none !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
}

@media (max-width: 760px) {
    body[data-theme="empire"].ops-page-v2 main,
    body[data-theme="empire"].car555-ops-page main,
    body[data-theme="empire"].finance-console-shell main,
    html body[data-theme="empire"].car555-ops-page #main-content {
        width: calc(100% - 16px) !important;
    }
}

/* CR0247 final ops lock: banker/admin/finance must not fall back to the old
   grey/cream shells, and banker needs the full-width console layout. */
html body[data-theme="empire"].ops-page-v2,
html body[data-theme="empire"].car555-ops-page,
html body[data-theme="empire"].finance-console-shell {
    --cr0247-ops-blue: #0A2540;
    --cr0247-ops-blue-deep: #07182D;
    --cr0247-ops-text: #FBF3DE;
    --cr0247-ops-muted: rgba(251, 243, 222, 0.74);
    --cr0247-ops-border: rgba(185, 199, 216, 0.26);
    --cr0247-ops-border-strong: rgba(251, 243, 222, 0.34);
    --cr0247-ops-button-bg: #F8F1DF;
    --cr0247-ops-button-fg: #0A2540;
    --cr0247-ops-button-border: rgba(251, 243, 222, 0.52);
    background: var(--cr0247-ops-blue) !important;
    background-image: none !important;
    color: var(--cr0247-ops-text) !important;
}

html body[data-theme="empire"].ops-page-v2 main,
html body[data-theme="empire"].ops-page-v2 #main-content,
html body[data-theme="empire"].ops-page-v2 .main-content,
html body[data-theme="empire"].ops-page-v2 .admin-shell,
html body[data-theme="empire"].ops-page-v2 .finance-console-shell,
html body[data-theme="empire"].ops-page-v2 section,
html body[data-theme="empire"].ops-page-v2 .grid {
    background: var(--cr0247-ops-blue) !important;
    background-image: none !important;
    color: var(--cr0247-ops-text) !important;
}

html body[data-theme="empire"].car555-ops-page #main-content {
    width: min(1680px, calc(100% - 24px)) !important;
    max-width: none !important;
    margin: 0 auto 40px !important;
    box-sizing: border-box !important;
}

html body[data-theme="empire"].car555-ops-page .view {
    padding-inline: 0 !important;
}

html body[data-theme="empire"].car555-ops-page .grid {
    grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)) !important;
    gap: 20px !important;
}

html body[data-theme="empire"].ops-page-v2 .header,
html body[data-theme="empire"].ops-page-v2 .topbar,
html body[data-theme="empire"].ops-page-v2 .topbar-inner,
html body[data-theme="empire"].ops-page-v2 .hero,
html body[data-theme="empire"].ops-page-v2 .card,
html body[data-theme="empire"].ops-page-v2 article.card,
html body[data-theme="empire"].ops-page-v2 .ticket-card,
html body[data-theme="empire"].ops-page-v2 .submission-card,
html body[data-theme="empire"].ops-page-v2 .modal-card,
html body[data-theme="empire"].ops-page-v2 .session-card,
html body[data-theme="empire"].ops-page-v2 .metric,
html body[data-theme="empire"].ops-page-v2 .notice,
html body[data-theme="empire"].ops-page-v2 .row,
html body[data-theme="empire"].ops-page-v2 .flow-row,
html body[data-theme="empire"].ops-page-v2 .runtime-row,
html body[data-theme="empire"].ops-page-v2 .ops-kpi,
html body[data-theme="empire"].ops-page-v2 .status-strip > *,
html body[data-theme="empire"].ops-page-v2 .telemetry-grid > *,
html body[data-theme="empire"].ops-page-v2 .live-hud-card,
html body[data-theme="empire"].ops-page-v2 .live-safety-card,
html body[data-theme="empire"].ops-page-v2 .leaderboard-panel,
html body[data-theme="empire"].ops-page-v2 .tx-card,
html body[data-theme="empire"].ops-page-v2 [style*="background: white"],
html body[data-theme="empire"].ops-page-v2 [style*="background:white"],
html body[data-theme="empire"].ops-page-v2 [style*="background: #fff"],
html body[data-theme="empire"].ops-page-v2 [style*="background:#fff"],
html body[data-theme="empire"].ops-page-v2 [style*="background: #ffffff"],
html body[data-theme="empire"].ops-page-v2 [style*="background:#ffffff"],
html body[data-theme="empire"].ops-page-v2 [style*="background: #f8fafc"],
html body[data-theme="empire"].ops-page-v2 [style*="background:#f8fafc"],
html body[data-theme="empire"].ops-page-v2 [style*="background: #f1f5f9"],
html body[data-theme="empire"].ops-page-v2 [style*="background:#f1f5f9"],
html body[data-theme="empire"].ops-page-v2 [style*="background: #fffbeb"],
html body[data-theme="empire"].ops-page-v2 [style*="background:#fffbeb"],
html body[data-theme="empire"].ops-page-v2 [style*="background: var(--bg"],
html body[data-theme="empire"].ops-page-v2 [style*="background: var(--surface"] {
    background: var(--cr0247-ops-blue) !important;
    background-image: none !important;
    border: 1px solid var(--cr0247-ops-border) !important;
    border-top-color: var(--cr0247-ops-border-strong) !important;
    color: var(--cr0247-ops-text) !important;
    box-shadow: 0 18px 44px rgba(2, 9, 20, 0.28) !important;
}

html body[data-theme="empire"].ops-page-v2 .tabs {
    width: min(1680px, calc(100% - 24px)) !important;
    max-width: none !important;
    margin: 18px auto !important;
    padding: 8px !important;
    gap: 8px !important;
    overflow-x: auto !important;
    background: var(--cr0247-ops-blue-deep) !important;
    border: 1px solid var(--cr0247-ops-border) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}

html body[data-theme="empire"].ops-page-v2 .tab {
    flex: 0 0 auto !important;
    min-width: 124px !important;
    background: rgba(10, 37, 64, 0.78) !important;
    background-image: none !important;
    border: 1px solid var(--cr0247-ops-border) !important;
    border-radius: 999px !important;
    color: var(--cr0247-ops-text) !important;
    box-shadow: none !important;
}

html body[data-theme="empire"].ops-page-v2 .tab.active {
    background: #D49635 !important;
    border-color: rgba(212, 150, 53, 0.56) !important;
    color: #06162A !important;
}

html body[data-theme="empire"].ops-page-v2 .note-box,
html body[data-theme="empire"].ops-page-v2 .flow-preview,
html body[data-theme="empire"].ops-page-v2 .details-box,
html body[data-theme="empire"].ops-page-v2 .team-row,
html body[data-theme="empire"].ops-page-v2 .leader-table,
html body[data-theme="empire"].ops-page-v2 .write-banner,
html body[data-theme="empire"].ops-page-v2 input,
html body[data-theme="empire"].ops-page-v2 select,
html body[data-theme="empire"].ops-page-v2 textarea,
html body[data-theme="empire"].ops-page-v2 .row input,
html body[data-theme="empire"].ops-page-v2 .row select,
html body[data-theme="empire"].ops-page-v2 .row textarea {
    background: var(--cr0247-ops-blue-deep) !important;
    background-image: none !important;
    border: 1px solid var(--cr0247-ops-border) !important;
    color: var(--cr0247-ops-text) !important;
    box-shadow: none !important;
}

html body[data-theme="empire"].ops-page-v2 :where(h1, h2, h3, h4, h5, h6, p, li, summary, label, small, strong, b, td, th, dd, dt, span, div) {
    color: var(--cr0247-ops-text) !important;
}

html body[data-theme="empire"].ops-page-v2 :where(.muted, .meta, .label, .help, .hint, .note, .session-line, .session-line span) {
    color: var(--cr0247-ops-muted) !important;
}

html body[data-theme="empire"].ops-page-v2 :where(.btn, .mini-btn, .btn-action, .btn-money, .btn-jail, .btn-unjail, .btn-ghost, .btn-secondary, .btn-primary, button, .links a, .top-links a) {
    background: var(--cr0247-ops-button-bg) !important;
    background-image: none !important;
    border: 1px solid var(--cr0247-ops-button-border) !important;
    border-radius: 999px !important;
    color: var(--cr0247-ops-button-fg) !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 22px rgba(2, 9, 20, 0.18) !important;
}

html body[data-theme="empire"].ops-page-v2 :where(.btn, .mini-btn, .btn-action, .btn-money, .btn-jail, .btn-unjail, .btn-ghost, .btn-secondary, .btn-primary, button, .links a, .top-links a) * {
    color: inherit !important;
}

html body[data-theme="empire"].ops-page-v2 :where(.status-chip, .pill.ok, .badge.ok, .btn-gold, .btn-live) {
    background: #D49635 !important;
    background-image: none !important;
    border-color: rgba(212, 150, 53, 0.56) !important;
    color: #06162A !important;
}

@media (max-width: 760px) {
    html body[data-theme="empire"].car555-ops-page #main-content,
    html body[data-theme="empire"].ops-page-v2 .tabs {
        width: calc(100% - 16px) !important;
    }

    html body[data-theme="empire"].car555-ops-page .grid {
        grid-template-columns: 1fr !important;
    }

    html body[data-theme="empire"].ops-page-v2 .tab {
        min-width: 112px !important;
        padding: 10px 12px !important;
    }
}

html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .card::before,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .stat-card::before,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .team-card::before,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .workspace-card::before,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .modal-card::before,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .metric::before,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .ops-kpi::before,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .status-pill::before {
    display: none !important;
}

/* CR0247 operator lock: exact final card/button treatment after all legacy
   finance/admin/live guards. Card-like surfaces use the banker-login subtle
   steel border. Jersey Gold stays available for active states, not outlines. */
html body[data-theme="empire"].ops-page-v2,
html body[data-theme="empire"].car555-ops-page {
    --ops-card-border: rgba(185, 199, 216, 0.24);
    --ops-card-border-strong: rgba(251, 243, 222, 0.34);
    --ops-field-border: rgba(185, 199, 216, 0.20);
    --ops-button-bg: #F8F1DF;
    --ops-button-fg: #0A2540;
    --ops-button-border: rgba(251, 243, 222, 0.48);
}

html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .header,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .hero,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .card,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .ticket-card,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .submission-card,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .modal-card,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .session-card,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .metric,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .notice,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .row,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .flow-row,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .runtime-row,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .ops-kpi,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .status-strip > *,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .telemetry-grid > *,
html body[data-theme="empire"].ops-page-v2.finance-console-shell:not(#cr0247-force) article.card,
html body[data-theme="empire"].ops-page-v2.finance-console-shell:not(#cr0247-force) article.card.span-2,
html body[data-theme="empire"].ops-page-v2.finance-console-shell:not(#cr0247-force) main.finance-console-shell article.card,
html body[data-theme="empire"].ops-page-v2.finance-console-shell:not(#cr0247-force) main.finance-console-shell article.card.span-2,
html body[data-theme="empire"].ops-page-v2.finance-console-shell:not(#cr0247-force) main.finance-console-shell > section.grid > article.card,
html body[data-theme="empire"].ops-page-v2.finance-console-shell:not(#cr0247-force) main.finance-console-shell > section.grid > article.card.span-2,
html body[data-theme="empire"].ops-page-v2.finance-console-shell:not(#cr0247-force) .grid > .card,
html body[data-theme="empire"].ops-page-v2.finance-console-shell:not(#cr0247-force) .grid > .card.span-2,
html body[data-theme="empire"].ops-page-v2.finance-console-shell:not(#cr0247-force) .metrics > .metric,
html body[data-theme="empire"].ops-page-v2.live-map-shell:not(#cr0247-force) .live-hud-card,
html body[data-theme="empire"].ops-page-v2.live-map-shell:not(#cr0247-force) .header-stats > div,
html body[data-theme="empire"].ops-page-v2.live-map-shell:not(#cr0247-force) .live-safety-card,
html body[data-theme="empire"].ops-page-v2.live-map-shell:not(#cr0247-force) .leaderboard-panel,
html body[data-theme="empire"].ops-page-v2.live-map-shell:not(#cr0247-force) .tx-card {
    background: #0A2540 !important;
    background-image: linear-gradient(145deg, rgba(16, 41, 68, 0.96), rgba(7, 24, 45, 0.96)) !important;
    border: 1px solid var(--ops-card-border) !important;
    border-top: 1px solid var(--ops-card-border-strong) !important;
    color: #FBF3DE !important;
    box-shadow: 0 18px 44px rgba(2, 9, 20, 0.34) !important;
}

html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .tabs,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .note-box,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .flow-preview,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .details-box,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .team-row,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .leader-table,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .write-banner,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) input,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) select,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) textarea,
html body[data-theme="empire"].ops-page-v2.finance-console-shell:not(#cr0247-force) article.card .row,
html body[data-theme="empire"].ops-page-v2.finance-console-shell:not(#cr0247-force) article.card #ledger-list-block,
html body[data-theme="empire"].ops-page-v2.finance-console-shell:not(#cr0247-force) article.card #docs-list-block,
html body[data-theme="empire"].ops-page-v2.finance-console-shell:not(#cr0247-force) article.card #assets-list-block {
    background: #07182D !important;
    background-image: none !important;
    border: 1px solid var(--ops-field-border) !important;
    color: #FBF3DE !important;
}

html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .btn,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .mini-btn,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .btn-action,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .btn-ghost,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .btn-secondary,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) button,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .links a,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .top-links a {
    background: var(--ops-button-bg) !important;
    border: 1px solid var(--ops-button-border) !important;
    border-radius: 999px !important;
    color: var(--ops-button-fg) !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 22px rgba(2, 9, 20, 0.18) !important;
}

html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .btn:disabled,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .mini-btn:disabled,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) button:disabled {
    background: rgba(248, 241, 223, 0.58) !important;
    color: rgba(10, 37, 64, 0.78) !important;
}

html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .btn-money,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .btn-gold,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .btn.gold,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .tab.active,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .status-chip,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .pill.ok,
html body[data-theme="empire"].ops-page-v2:not(#cr0247-force) .badge.ok {
    background: #D49635 !important;
    border-color: rgba(212, 150, 53, 0.56) !important;
    color: #06162A !important;
}

/* CR0247 true final ops override. Keep this as the last block so it wins over
   the older compatibility selectors immediately above. */
html body[data-theme="empire"].ops-page-v2,
html body[data-theme="empire"].car555-ops-page,
html body[data-theme="empire"].finance-console-shell {
    --cr0247-ops-blue: #0A2540;
    --cr0247-ops-blue-deep: #07182D;
    --cr0247-ops-text: #FBF3DE;
    --cr0247-ops-muted: rgba(251, 243, 222, 0.74);
    --cr0247-ops-border: rgba(185, 199, 216, 0.26);
    --cr0247-ops-border-strong: rgba(251, 243, 222, 0.34);
    --cr0247-ops-button-bg: #F8F1DF;
    --cr0247-ops-button-fg: #0A2540;
    --cr0247-ops-button-border: rgba(251, 243, 222, 0.52);
    background: var(--cr0247-ops-blue) !important;
    background-image: none !important;
    color: var(--cr0247-ops-text) !important;
}

html body[data-theme="empire"].ops-page-v2 main,
html body[data-theme="empire"].ops-page-v2 #main-content,
html body[data-theme="empire"].ops-page-v2 .main-content,
html body[data-theme="empire"].ops-page-v2 .finance-console-shell,
html body[data-theme="empire"].ops-page-v2 .admin-shell,
html body[data-theme="empire"].ops-page-v2 .grid,
html body[data-theme="empire"].ops-page-v2 section {
    background: var(--cr0247-ops-blue) !important;
    background-image: none !important;
    color: var(--cr0247-ops-text) !important;
}

html body[data-theme="empire"].car555-ops-page #main-content {
    width: min(1680px, calc(100% - 24px)) !important;
    max-width: none !important;
    margin: 0 auto 40px !important;
    box-sizing: border-box !important;
}

html body[data-theme="empire"].car555-ops-page .view {
    padding-inline: 0 !important;
}

html body[data-theme="empire"].car555-ops-page .grid {
    grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)) !important;
    gap: 20px !important;
}

html body[data-theme="empire"].ops-page-v2 .header,
html body[data-theme="empire"].ops-page-v2 .topbar,
html body[data-theme="empire"].ops-page-v2 .topbar-inner,
html body[data-theme="empire"].ops-page-v2 .hero,
html body[data-theme="empire"].ops-page-v2 .card,
html body[data-theme="empire"].ops-page-v2 article.card,
html body[data-theme="empire"].ops-page-v2 .ticket-card,
html body[data-theme="empire"].ops-page-v2 .submission-card,
html body[data-theme="empire"].ops-page-v2 .modal-card,
html body[data-theme="empire"].ops-page-v2 .session-card,
html body[data-theme="empire"].ops-page-v2 .metric,
html body[data-theme="empire"].ops-page-v2 .notice,
html body[data-theme="empire"].ops-page-v2 .row,
html body[data-theme="empire"].ops-page-v2 .flow-row,
html body[data-theme="empire"].ops-page-v2 .runtime-row,
html body[data-theme="empire"].ops-page-v2 .ops-kpi,
html body[data-theme="empire"].ops-page-v2 .status-strip > *,
html body[data-theme="empire"].ops-page-v2 .telemetry-grid > *,
html body[data-theme="empire"].ops-page-v2 .live-hud-card,
html body[data-theme="empire"].ops-page-v2 .live-safety-card,
html body[data-theme="empire"].ops-page-v2 .leaderboard-panel,
html body[data-theme="empire"].ops-page-v2 .tx-card,
html body[data-theme="empire"].ops-page-v2 [style*="background: white"],
html body[data-theme="empire"].ops-page-v2 [style*="background:white"],
html body[data-theme="empire"].ops-page-v2 [style*="background: #fff"],
html body[data-theme="empire"].ops-page-v2 [style*="background:#fff"],
html body[data-theme="empire"].ops-page-v2 [style*="background: #ffffff"],
html body[data-theme="empire"].ops-page-v2 [style*="background:#ffffff"],
html body[data-theme="empire"].ops-page-v2 [style*="background: #f8fafc"],
html body[data-theme="empire"].ops-page-v2 [style*="background:#f8fafc"],
html body[data-theme="empire"].ops-page-v2 [style*="background: #f1f5f9"],
html body[data-theme="empire"].ops-page-v2 [style*="background:#f1f5f9"],
html body[data-theme="empire"].ops-page-v2 [style*="background: #fffbeb"],
html body[data-theme="empire"].ops-page-v2 [style*="background:#fffbeb"],
html body[data-theme="empire"].ops-page-v2 [style*="background: var(--bg"],
html body[data-theme="empire"].ops-page-v2 [style*="background: var(--surface"] {
    background: var(--cr0247-ops-blue) !important;
    background-image: none !important;
    border: 1px solid var(--cr0247-ops-border) !important;
    border-top-color: var(--cr0247-ops-border-strong) !important;
    color: var(--cr0247-ops-text) !important;
    box-shadow: 0 18px 44px rgba(2, 9, 20, 0.26) !important;
}

html body[data-theme="empire"].ops-page-v2 .note-box,
html body[data-theme="empire"].ops-page-v2 .flow-preview,
html body[data-theme="empire"].ops-page-v2 .details-box,
html body[data-theme="empire"].ops-page-v2 .team-row,
html body[data-theme="empire"].ops-page-v2 .leader-table,
html body[data-theme="empire"].ops-page-v2 .write-banner,
html body[data-theme="empire"].ops-page-v2 input,
html body[data-theme="empire"].ops-page-v2 select,
html body[data-theme="empire"].ops-page-v2 textarea {
    background: var(--cr0247-ops-blue-deep) !important;
    background-image: none !important;
    border: 1px solid var(--cr0247-ops-border) !important;
    color: var(--cr0247-ops-text) !important;
    box-shadow: none !important;
}

html body[data-theme="empire"].ops-page-v2 .tabs {
    width: min(1680px, calc(100% - 24px)) !important;
    max-width: none !important;
    margin: 18px auto !important;
    padding: 8px !important;
    gap: 8px !important;
    overflow-x: auto !important;
    background: var(--cr0247-ops-blue-deep) !important;
    border: 1px solid var(--cr0247-ops-border) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}

html body[data-theme="empire"].ops-page-v2 .tab {
    flex: 0 0 auto !important;
    min-width: 124px !important;
    background: rgba(10, 37, 64, 0.78) !important;
    background-image: none !important;
    border: 1px solid var(--cr0247-ops-border) !important;
    border-radius: 999px !important;
    color: var(--cr0247-ops-text) !important;
    box-shadow: none !important;
}

html body[data-theme="empire"].ops-page-v2 .tab.active {
    background: #D49635 !important;
    border-color: rgba(212, 150, 53, 0.56) !important;
    color: #06162A !important;
}

html body[data-theme="empire"].ops-page-v2 :where(h1, h2, h3, h4, h5, h6, p, li, summary, label, small, strong, b, td, th, dd, dt, span, div) {
    color: var(--cr0247-ops-text) !important;
}

html body[data-theme="empire"].ops-page-v2 :where(.muted, .meta, .label, .help, .hint, .note, .session-line, .session-line span) {
    color: var(--cr0247-ops-muted) !important;
}

html body[data-theme="empire"].ops-page-v2 :where(.btn, .mini-btn, .btn-action, .btn-money, .btn-jail, .btn-unjail, .btn-ghost, .btn-secondary, .btn-primary, button, .links a, .top-links a) {
    background: var(--cr0247-ops-button-bg) !important;
    background-image: none !important;
    border: 1px solid var(--cr0247-ops-button-border) !important;
    border-radius: 999px !important;
    color: var(--cr0247-ops-button-fg) !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 22px rgba(2, 9, 20, 0.18) !important;
}

html body[data-theme="empire"].ops-page-v2 :where(.btn, .mini-btn, .btn-action, .btn-money, .btn-jail, .btn-unjail, .btn-ghost, .btn-secondary, .btn-primary, button, .links a, .top-links a) * {
    color: inherit !important;
}

html body[data-theme="empire"].ops-page-v2 :where(.status-chip, .pill.ok, .badge.ok, .btn-gold, .btn-live) {
    background: #D49635 !important;
    background-image: none !important;
    border-color: rgba(212, 150, 53, 0.56) !important;
    color: #06162A !important;
}
/* CR0247 banker console final lock. This sits after the shared ops fallback
   rules so tab switches cannot reveal legacy cream/flat backgrounds. */
html:has(body.banker-console-page),
html body[data-theme="empire"].banker-console-page {
    --banker-console-blue: #0A2540;
    --banker-console-deep: #06162A;
    --banker-console-gold: #D49635;
    --banker-console-cream: #FBF3DE;
    --banker-console-muted: rgba(251, 243, 222, 0.76);
    --banker-console-border: rgba(75, 218, 255, 0.62);
    --banker-console-border-soft: rgba(75, 218, 255, 0.28);
    --banker-console-bg:
        radial-gradient(circle at 12% -10%, rgba(212, 150, 53, 0.22), transparent 26rem),
        radial-gradient(circle at 86% 2%, rgba(75, 218, 255, 0.18), transparent 30rem),
        radial-gradient(circle at 52% 110%, rgba(168, 65, 47, 0.12), transparent 34rem),
        linear-gradient(145deg, #06162A 0%, #0A2540 54%, #07182D 100%);
    --banker-console-card-bg: linear-gradient(145deg, rgba(16, 41, 68, 0.98), rgba(7, 24, 45, 0.98));
    --banker-console-glow:
        0 0 0 1px rgba(75, 218, 255, 0.18),
        0 0 22px rgba(75, 218, 255, 0.22),
        0 0 34px rgba(212, 150, 53, 0.12),
        0 18px 44px rgba(2, 9, 20, 0.34);
    background: var(--banker-console-bg) fixed !important;
    background-color: var(--banker-console-blue) !important;
    color: var(--banker-console-cream) !important;
    min-height: 100% !important;
}

html body[data-theme="empire"].banker-console-page::before,
html body[data-theme="empire"].banker-console-page::after,
html body[data-theme="empire"].banker-console-page .header::before,
html body[data-theme="empire"].banker-console-page .header::after,
html body[data-theme="empire"].banker-console-page .hero::before,
html body[data-theme="empire"].banker-console-page .hero::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
}

html body[data-theme="empire"].banker-console-page #main-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: clamp(12px, 1.6vw, 28px) clamp(12px, 2vw, 34px) 44px !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body[data-theme="empire"].banker-console-page #main-content,
html body[data-theme="empire"].banker-console-page .view,
html body[data-theme="empire"].banker-console-page .view.active,
html body[data-theme="empire"].banker-console-page .grid,
html body[data-theme="empire"].banker-console-page section,
html body[data-theme="empire"].banker-console-page .ops-kpi-strip {
    background: transparent !important;
    background-image: none !important;
}

html body[data-theme="empire"].banker-console-page .header {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto 18px !important;
    padding: clamp(18px, 2.1vw, 30px) !important;
    display: grid !important;
    grid-template-columns: minmax(260px, 1fr) auto !important;
    align-items: center !important;
    gap: 16px !important;
    border-radius: 28px !important;
    background: var(--banker-console-card-bg) !important;
    border: 1px solid var(--banker-console-border) !important;
    border-top-color: rgba(251, 243, 222, 0.42) !important;
    box-shadow: var(--banker-console-glow) !important;
}

html body[data-theme="empire"].banker-console-page .header h1 {
    margin: 0 !important;
    color: var(--banker-console-gold) !important;
    line-height: 1.08 !important;
}

html body[data-theme="empire"].banker-console-page .header > div {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    min-width: 0 !important;
}

html body[data-theme="empire"].banker-console-page #stats {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    color: var(--banker-console-cream) !important;
    background: rgba(7, 24, 45, 0.78) !important;
    border: 1px solid var(--banker-console-border-soft) !important;
}

html body[data-theme="empire"].banker-console-page .ops-kpi-strip {
    width: 100% !important;
    margin: 0 auto 20px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body[data-theme="empire"].banker-console-page .ops-kpi,
html body[data-theme="empire"].banker-console-page .card,
html body[data-theme="empire"].banker-console-page .ticket-card,
html body[data-theme="empire"].banker-console-page .submission-card,
html body[data-theme="empire"].banker-console-page .modal-card {
    background: var(--banker-console-card-bg) !important;
    border: 1px solid var(--banker-console-border) !important;
    border-top: 1px solid rgba(251, 243, 222, 0.42) !important;
    color: var(--banker-console-cream) !important;
    box-shadow: var(--banker-console-glow) !important;
}

html body[data-theme="empire"].banker-console-page .ops-kpi {
    min-height: 116px !important;
    padding: 18px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 8px !important;
}

html body[data-theme="empire"].banker-console-page .ops-kpi span {
    color: var(--banker-console-muted) !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    font-size: 0.78rem !important;
}

html body[data-theme="empire"].banker-console-page .ops-kpi strong,
html body[data-theme="empire"].banker-console-page .card h2,
html body[data-theme="empire"].banker-console-page .card h3,
html body[data-theme="empire"].banker-console-page .ticket-card h2,
html body[data-theme="empire"].banker-console-page .submission-card b {
    color: var(--banker-console-gold) !important;
}

html body[data-theme="empire"].banker-console-page .tabs {
    width: min(1320px, 100%) !important;
    max-width: 100% !important;
    margin: 0 auto 24px !important;
    padding: 10px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    overflow: visible !important;
    border-radius: 30px !important;
    background: rgba(7, 24, 45, 0.72) !important;
    border: 1px solid var(--banker-console-border) !important;
    box-shadow: var(--banker-console-glow) !important;
}

html body[data-theme="empire"].banker-console-page .tab {
    flex: 1 1 132px !important;
    min-width: 126px !important;
    max-width: 158px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 12px 16px !important;
    background: rgba(10, 37, 64, 0.82) !important;
    border: 1px solid rgba(75, 218, 255, 0.34) !important;
    color: var(--banker-console-cream) !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

html body[data-theme="empire"].banker-console-page .tab i {
    flex: 0 0 auto !important;
    width: 1.1em !important;
    min-width: 1.1em !important;
    text-align: center !important;
}

html body[data-theme="empire"].banker-console-page .tab.active {
    background: var(--banker-console-gold) !important;
    border-color: rgba(212, 150, 53, 0.74) !important;
    color: var(--banker-console-deep) !important;
    box-shadow: 0 0 22px rgba(212, 150, 53, 0.24) !important;
}

html body[data-theme="empire"].banker-console-page .grid {
    width: 100% !important;
    grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)) !important;
    gap: 22px !important;
    padding-bottom: 24px !important;
}

html body[data-theme="empire"].banker-console-page .card[style*="border-top"],
html body[data-theme="empire"].banker-console-page .card[style*="#f59e0b"],
html body[data-theme="empire"].banker-console-page .card[style*="#10b981"],
html body[data-theme="empire"].banker-console-page .card[style*="#8b5cf6"] {
    border-top: 1px solid rgba(251, 243, 222, 0.42) !important;
}

html body[data-theme="empire"].banker-console-page .note-box,
html body[data-theme="empire"].banker-console-page .team-row,
html body[data-theme="empire"].banker-console-page input,
html body[data-theme="empire"].banker-console-page select,
html body[data-theme="empire"].banker-console-page textarea,
html body[data-theme="empire"].banker-console-page [style*="background:#f8fafc"],
html body[data-theme="empire"].banker-console-page [style*="background: #f8fafc"],
html body[data-theme="empire"].banker-console-page [style*="background:#f1f5f9"],
html body[data-theme="empire"].banker-console-page [style*="background: #f1f5f9"] {
    background: rgba(7, 24, 45, 0.76) !important;
    background-image: none !important;
    border-color: var(--banker-console-border-soft) !important;
    color: var(--banker-console-cream) !important;
}

html body[data-theme="empire"].banker-console-page .btn,
html body[data-theme="empire"].banker-console-page button,
html body[data-theme="empire"].banker-console-page .btn-ghost,
html body[data-theme="empire"].banker-console-page .btn-money,
html body[data-theme="empire"].banker-console-page .btn-jail,
html body[data-theme="empire"].banker-console-page .btn-unjail {
    border-radius: 999px !important;
    border: 1px solid rgba(251, 243, 222, 0.54) !important;
    background: #F8F1DF !important;
    color: var(--banker-console-blue) !important;
    box-shadow: 0 10px 22px rgba(2, 9, 20, 0.22) !important;
}

html body[data-theme="empire"].banker-console-page .btn-money,
html body[data-theme="empire"].banker-console-page .btn[style*="#f59e0b"],
html body[data-theme="empire"].banker-console-page button[style*="#f59e0b"] {
    background: var(--banker-console-gold) !important;
    border-color: rgba(212, 150, 53, 0.68) !important;
    color: var(--banker-console-deep) !important;
}

html body[data-theme="empire"].banker-console-page .btn-jail,
html body[data-theme="empire"].banker-console-page .btn[style*="#ef4444"],
html body[data-theme="empire"].banker-console-page button[style*="#ef4444"] {
    background: #A8412F !important;
    border-color: rgba(255, 112, 112, 0.46) !important;
    color: #fff !important;
}

html body[data-theme="empire"].banker-console-page .btn-unjail,
html body[data-theme="empire"].banker-console-page .btn[style*="#22c55e"],
html body[data-theme="empire"].banker-console-page .btn[style*="#10b981"],
html body[data-theme="empire"].banker-console-page button[style*="#22c55e"],
html body[data-theme="empire"].banker-console-page button[style*="#10b981"] {
    background: #4A6F4E !important;
    border-color: rgba(79, 221, 133, 0.42) !important;
    color: #fff !important;
}

html body[data-theme="empire"].banker-console-page #debug-log {
    width: min(560px, 100%) !important;
    height: 154px !important;
    max-height: 154px !important;
    margin: 28px auto 8px !important;
    padding: 14px 16px !important;
    overflow-y: auto !important;
    border-radius: 20px !important;
    background: rgba(2, 11, 21, 0.92) !important;
    border: 1px solid rgba(75, 218, 255, 0.44) !important;
    box-shadow: 0 0 18px rgba(75, 218, 255, 0.18), 0 18px 36px rgba(2, 9, 20, 0.36) !important;
    color: #39ff88 !important;
    font-size: 0.78rem !important;
    line-height: 1.45 !important;
    scrollbar-color: rgba(75, 218, 255, 0.60) rgba(7, 24, 45, 0.88) !important;
    scrollbar-width: thin !important;
}

html body[data-theme="empire"].banker-console-page #debug-log::-webkit-scrollbar {
    width: 8px;
}

html body[data-theme="empire"].banker-console-page #debug-log::-webkit-scrollbar-track {
    background: rgba(7, 24, 45, 0.88);
    border-radius: 999px;
}

html body[data-theme="empire"].banker-console-page #debug-log::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(75, 218, 255, 0.70), rgba(212, 150, 53, 0.62));
    border-radius: 999px;
}

html body[data-theme="empire"].banker-console-page #debug-log .debug-log-entry,
html body[data-theme="empire"].banker-console-page #debug-log .debug-log-entry * {
    color: #39ff88 !important;
}

html body[data-theme="empire"].banker-console-page #debug-log .debug-log-entry.is-error,
html body[data-theme="empire"].banker-console-page #debug-log .debug-log-entry.is-error * {
    color: #ff4d5d !important;
}

html body[data-theme="empire"].banker-console-page .banker-priority-badge {
    display: inline-block !important;
    margin-left: 6px !important;
    padding: 2px 9px !important;
    border-radius: 999px !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    border: 1px solid rgba(251, 243, 222, 0.26) !important;
    color: #06162A !important;
}

html body[data-theme="empire"].banker-console-page .banker-priority-badge.priority-P1 {
    background: #ff4d5d !important;
    color: #fff !important;
    box-shadow: 0 0 16px rgba(255, 77, 93, 0.34) !important;
}

html body[data-theme="empire"].banker-console-page .banker-priority-badge.priority-P2 {
    background: #D49635 !important;
    color: #06162A !important;
    box-shadow: 0 0 16px rgba(212, 150, 53, 0.32) !important;
}

html body[data-theme="empire"].banker-console-page .banker-priority-badge.priority-P3 {
    background: #4BDAFF !important;
    color: #06162A !important;
}

html body[data-theme="empire"].banker-console-page .banker-priority-badge.priority-P4 {
    background: rgba(251, 243, 222, 0.18) !important;
    color: var(--banker-console-cream) !important;
}

html body[data-theme="empire"].banker-console-page .banker-property-row {
    --property-accent: #4BDAFF;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 10px 0 !important;
    padding: 14px 16px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(75, 218, 255, 0.36) !important;
    border-left: 6px solid var(--property-accent) !important;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--property-accent) 18%, transparent), transparent 42%),
        rgba(7, 24, 45, 0.86) !important;
    box-shadow: 0 0 18px rgba(75, 218, 255, 0.13) !important;
}

html body[data-theme="empire"].banker-console-page .property-name-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0 !important;
}

html body[data-theme="empire"].banker-console-page .property-swatch {
    width: 18px !important;
    height: 42px !important;
    flex: 0 0 auto !important;
    border-radius: 999px !important;
    background: var(--property-accent) !important;
    box-shadow: 0 0 18px color-mix(in srgb, var(--property-accent) 45%, transparent) !important;
}

html body[data-theme="empire"].banker-console-page .banker-property-row b {
    display: block !important;
    color: var(--banker-console-cream) !important;
}

html body[data-theme="empire"].banker-console-page .banker-property-row small {
    display: block !important;
    margin-top: 3px !important;
    color: var(--banker-console-muted) !important;
}

html body[data-theme="empire"].banker-console-page .property-owner-pill {
    justify-self: end !important;
    padding: 7px 11px !important;
    border-radius: 999px !important;
    background: rgba(251, 243, 222, 0.10) !important;
    border: 1px solid rgba(251, 243, 222, 0.18) !important;
    color: var(--banker-console-cream) !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

html body[data-theme="empire"].banker-console-page .banker-property-row.is-open .property-owner-pill {
    background: rgba(57, 217, 138, 0.16) !important;
    border-color: rgba(57, 217, 138, 0.34) !important;
    color: #39D98A !important;
}

@media (max-width: 960px) {
    html body[data-theme="empire"].banker-console-page .header {
        grid-template-columns: 1fr !important;
    }

    html body[data-theme="empire"].banker-console-page .header > div {
        justify-content: center !important;
    }

    html body[data-theme="empire"].banker-console-page .ops-kpi-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    html body[data-theme="empire"].banker-console-page #main-content {
        padding-inline: 10px !important;
    }

    html body[data-theme="empire"].banker-console-page .header {
        border-radius: 22px !important;
    }

    html body[data-theme="empire"].banker-console-page .header h1 {
        text-align: center !important;
        font-size: clamp(1.7rem, 8vw, 2.25rem) !important;
    }

    html body[data-theme="empire"].banker-console-page .ops-kpi-strip,
    html body[data-theme="empire"].banker-console-page .tabs {
        grid-template-columns: 1fr 1fr !important;
    }

    html body[data-theme="empire"].banker-console-page .tabs {
        display: grid !important;
        border-radius: 24px !important;
    }

    html body[data-theme="empire"].banker-console-page .tab {
        min-width: 0 !important;
        width: 100% !important;
    }

    html body[data-theme="empire"].banker-console-page .banker-property-row {
        grid-template-columns: 1fr !important;
    }

    html body[data-theme="empire"].banker-console-page .property-owner-pill {
        justify-self: start !important;
    }

    html body[data-theme="empire"].banker-console-page .card .team-row:not(.banker-property-row) {
        display: grid !important;
        grid-template-columns: 1fr !important;
        align-items: start !important;
        gap: 14px !important;
        margin: 12px 0 !important;
        padding: 16px !important;
        border: 1px solid var(--banker-console-border-soft) !important;
        border-radius: 18px !important;
    }

    html body[data-theme="empire"].banker-console-page .card .team-row:not(.banker-property-row) > div:last-child {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        width: 100% !important;
    }

    html body[data-theme="empire"].banker-console-page .card .team-row:not(.banker-property-row) .btn {
        width: 100% !important;
        min-height: 48px !important;
        justify-content: center !important;
        margin: 0 !important;
    }
}

/* CR0247 final ops/admin/finance lock: keep the login-page blue across
   operational consoles without touching live-map or banker-specific rules. */
html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) {
    --ops-final-blue: #0A2540;
    --ops-final-deep: #06162A;
    --ops-final-ink: #FBF3DE;
    --ops-final-muted: rgba(251, 243, 222, 0.74);
    --ops-final-gold: #D49635;
    --ops-final-cyan: #4BDAFF;
    --ops-final-border: rgba(75, 218, 255, 0.62);
    --ops-final-border-soft: rgba(251, 243, 222, 0.20);
    --ops-final-card: rgba(7, 24, 45, 0.88);
    --ops-final-glow: 0 0 0 1px rgba(75, 218, 255, 0.50), 0 0 24px rgba(75, 218, 255, 0.18), 0 0 40px rgba(212, 150, 53, 0.14), 0 18px 42px rgba(2, 9, 20, 0.34);
    min-height: 100vh !important;
    background-color: var(--ops-final-blue) !important;
    background-image:
        radial-gradient(circle at 16% 0%, rgba(212, 150, 53, 0.18), transparent 26rem),
        radial-gradient(circle at 88% 10%, rgba(75, 218, 255, 0.14), transparent 24rem),
        linear-gradient(180deg, #0A2540 0%, #07182D 54%, #06162A 100%) !important;
    color: var(--ops-final-ink) !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell)::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: -1 !important;
    pointer-events: none !important;
    background:
        url("assets/brand/map-motif.svg") right 6vw top 9rem / min(560px, 70vw) auto no-repeat,
        radial-gradient(circle at 50% 0%, rgba(251, 243, 222, 0.06), transparent 34rem) !important;
    opacity: 0.32 !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) .topbar,
html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) .header {
    background: rgba(6, 22, 42, 0.96) !important;
    border-bottom: 1px solid rgba(212, 150, 53, 0.58) !important;
    box-shadow: 0 18px 44px rgba(2, 9, 20, 0.38) !important;
    color: var(--ops-final-ink) !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) .topbar-inner,
html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) main,
html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) .finance-console-shell {
    width: calc(100% - clamp(12px, 1.6vw, 28px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) main {
    background: transparent !important;
    padding-top: clamp(22px, 3vw, 42px) !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell),
html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(button, input, select, textarea, .btn, .mini-btn) {
    font-family: var(--font-body), system-ui, sans-serif !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(.logo, h1, h2, h3, h4) {
    font-family: var(--font-display), Georgia, serif !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(h1, h2, h3, h4, .logo, .card h2, .hero h1) {
    color: var(--ops-final-gold) !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(p, li, label, span, div, td, th, small, code) {
    color: inherit;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(.hero, .card, article.card, .session-card, .metric, .status-pill, .runtime-row, .flow-row, .write-banner, .notice, .row, #ops-log, #finance-log, .modal-card, table, .table-wrap, .list-panel, .report-panel) {
    background:
        linear-gradient(135deg, rgba(75, 218, 255, 0.08), rgba(212, 150, 53, 0.06)),
        var(--ops-final-card) !important;
    border: 1px solid var(--ops-final-border) !important;
    border-radius: 20px !important;
    box-shadow: var(--ops-final-glow) !important;
    color: var(--ops-final-ink) !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(.hero, .card, article.card, .session-card, .metric, .runtime-row, .flow-row, .notice, .row, #ops-log, #finance-log, .modal-card, .table-wrap, .list-panel, .report-panel) :where(p, li, label, span, div, td, small, code, b, strong) {
    color: var(--ops-final-ink) !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(.hero p, .card p, .card small, .quick-list, .status-pill, .session-line, .metric .label, .metric .meta, .flow-meta, .runtime-detail, .write-lockline, .muted, small) {
    color: var(--ops-final-muted) !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(.metric .value, .session-line strong, .status-pill b, .runtime-head b, .flow-head b, td b) {
    color: var(--ops-final-ink) !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(.btn, .mini-btn, button, .btn-ghost, .btn-gold),
html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) a.mini-btn {
    border-radius: 999px !important;
    border: 1px solid rgba(251, 243, 222, 0.54) !important;
    background: #F8F1DF !important;
    color: var(--ops-final-blue) !important;
    box-shadow: 0 12px 24px rgba(2, 9, 20, 0.24) !important;
    text-decoration: none !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(.btn-gold, .btn.gold, button[id*="apply"], button[onclick*="Apply"], button[onclick*="apply"], button[onclick*="Save"], button[onclick*="save"]) {
    background: var(--ops-final-gold) !important;
    border-color: rgba(212, 150, 53, 0.78) !important;
    color: var(--ops-final-deep) !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(input, select, textarea) {
    background: rgba(2, 11, 21, 0.72) !important;
    border: 1px solid rgba(75, 218, 255, 0.42) !important;
    border-radius: 14px !important;
    color: var(--ops-final-ink) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(input::placeholder, textarea::placeholder) {
    color: rgba(251, 243, 222, 0.50) !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(input:focus, select:focus, textarea:focus) {
    outline: 0 !important;
    border-color: var(--ops-final-gold) !important;
    box-shadow: 0 0 0 4px rgba(212, 150, 53, 0.18), 0 0 18px rgba(75, 218, 255, 0.18) !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(thead, thead tr, th) {
    background: var(--ops-final-gold) !important;
    color: var(--ops-final-deep) !important;
    border-color: rgba(212, 150, 53, 0.70) !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(td) {
    background: rgba(7, 24, 45, 0.76) !important;
    border-color: var(--ops-final-border-soft) !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(a:not(.btn):not(.mini-btn)) {
    color: #F4C56B !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(.write-banner.open, .status-ok, .status-chip.published, .flow-dirty.clean) {
    color: #7CFFB2 !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(.write-banner.closed, .status-bad) {
    color: #FF9B9B !important;
}

html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) footer {
    border-top: 1px solid rgba(212, 150, 53, 0.58) !important;
    color: var(--ops-final-muted) !important;
}

/* Banker bookings table: the Ref / Team / Customer row should use Jersey Gold,
   matching the public leaderboard/table treatment. */
html body[data-theme="empire"].banker-console-page #booking-list table {
    overflow: hidden !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid rgba(75, 218, 255, 0.50) !important;
    border-radius: 20px !important;
    box-shadow: 0 0 22px rgba(75, 218, 255, 0.18), 0 18px 42px rgba(2, 9, 20, 0.30) !important;
}

html body[data-theme="empire"].banker-console-page #booking-list table thead,
html body[data-theme="empire"].banker-console-page #booking-list table thead tr,
html body[data-theme="empire"].banker-console-page #booking-list table thead th {
    background: var(--banker-console-gold) !important;
    color: var(--banker-console-deep) !important;
    border: 0 !important;
}

html body[data-theme="empire"].banker-console-page #booking-list table tbody tr,
html body[data-theme="empire"].banker-console-page #booking-list table tbody td {
    background: rgba(7, 24, 45, 0.80) !important;
    color: var(--banker-console-cream) !important;
    border-color: rgba(251, 243, 222, 0.14) !important;
}

html body[data-theme="empire"].banker-console-page #booking-list table tbody small,
html body[data-theme="empire"].banker-console-page #booking-list table tbody td[style*="#64748b"] {
    color: var(--banker-console-muted) !important;
}

@media (max-width: 760px) {
    html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) .topbar-inner,
    html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) main,
    html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) .finance-console-shell {
        width: calc(100% - 12px) !important;
    }

    html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) .top-links,
    html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) .session-actions,
    html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) .actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }

    html body[data-theme="empire"].ops-page-v2.car555-ops-page:not(.banker-console-page):not(.live-map-shell) :where(.btn, .mini-btn, button, a.mini-btn) {
        justify-content: center !important;
        width: 100% !important;
        min-height: 46px !important;
    }
}

/* CR0247 admin/finance hard lock: these OIDC-protected consoles must look
   identical even when an older inline page block or edge cache is present. */
html body[data-theme="empire"].admin-console-shell,
html body[data-theme="empire"].finance-console-shell {
    --ops-admin-blue: #0A2540;
    --ops-admin-deep: #06162A;
    --ops-admin-panel: rgba(7, 24, 45, 0.90);
    --ops-admin-ink: #FBF3DE;
    --ops-admin-muted: rgba(251, 243, 222, 0.74);
    --ops-admin-gold: #D49635;
    --ops-admin-cyan: #4BDAFF;
    --ops-admin-border: rgba(75, 218, 255, 0.64);
    --ops-admin-soft-border: rgba(251, 243, 222, 0.20);
    --ops-admin-glow: 0 0 0 1px rgba(75, 218, 255, 0.48), 0 0 25px rgba(75, 218, 255, 0.18), 0 0 42px rgba(212, 150, 53, 0.15), 0 18px 42px rgba(2, 9, 20, 0.34);
    background:
        radial-gradient(circle at 16% 0%, rgba(212, 150, 53, 0.18), transparent 26rem),
        radial-gradient(circle at 88% 10%, rgba(75, 218, 255, 0.14), transparent 24rem),
        linear-gradient(180deg, #0A2540 0%, #07182D 54%, #06162A 100%) !important;
    color: var(--ops-admin-ink) !important;
}

html body[data-theme="empire"].admin-console-shell :where(.topbar, .header),
html body[data-theme="empire"].finance-console-shell :where(.topbar, .header) {
    background: rgba(6, 22, 42, 0.96) !important;
    border-bottom: 1px solid rgba(212, 150, 53, 0.58) !important;
    box-shadow: 0 18px 44px rgba(2, 9, 20, 0.38) !important;
}

html body[data-theme="empire"].admin-console-shell :where(.topbar-inner, main),
html body[data-theme="empire"].finance-console-shell :where(.topbar-inner, main, main.finance-console-shell) {
    width: calc(100% - clamp(12px, 1.6vw, 28px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

html body[data-theme="empire"].admin-console-shell :where(main),
html body[data-theme="empire"].finance-console-shell :where(main, main.finance-console-shell) {
    background: transparent !important;
    padding-top: clamp(22px, 3vw, 42px) !important;
}

html body[data-theme="empire"].admin-console-shell,
html body[data-theme="empire"].finance-console-shell,
html body[data-theme="empire"].admin-console-shell :where(button, input, select, textarea, .btn, .mini-btn),
html body[data-theme="empire"].finance-console-shell :where(button, input, select, textarea, .btn, .mini-btn) {
    font-family: var(--font-body), system-ui, sans-serif !important;
}

html body[data-theme="empire"].admin-console-shell :where(.logo, h1, h2, h3, h4),
html body[data-theme="empire"].finance-console-shell :where(.logo, h1, h2, h3, h4) {
    font-family: var(--font-display), Georgia, serif !important;
}

html body[data-theme="empire"].admin-console-shell :where(.hero, .card, article.card, .session-card, .metric, .status-pill, .runtime-row, .flow-row, .write-banner, .notice, .row, #ops-log, table, .table-wrap),
html body[data-theme="empire"].finance-console-shell :where(.hero, .card, article.card, .session-card, .metric, .status-pill, .runtime-row, .flow-row, .write-banner, .notice, .row, #ops-log, table, .table-wrap) {
    background:
        linear-gradient(135deg, rgba(75, 218, 255, 0.08), rgba(212, 150, 53, 0.06)),
        var(--ops-admin-panel) !important;
    border: 1px solid var(--ops-admin-border) !important;
    border-radius: 20px !important;
    box-shadow: var(--ops-admin-glow) !important;
    color: var(--ops-admin-ink) !important;
}

html body[data-theme="empire"].admin-console-shell :where(.hero, .card, article.card, .session-card, .metric, .runtime-row, .flow-row, .notice, .row, #ops-log, .table-wrap) :where(p, li, label, span, div, td, small, code, b, strong),
html body[data-theme="empire"].finance-console-shell :where(.hero, .card, article.card, .session-card, .metric, .runtime-row, .flow-row, .notice, .row, #ops-log, .table-wrap) :where(p, li, label, span, div, td, small, code, b, strong) {
    color: var(--ops-admin-ink) !important;
}

html body[data-theme="empire"].admin-console-shell :where(h1, h2, h3, h4, .logo, .hero h1, .card h2, .card h3),
html body[data-theme="empire"].finance-console-shell :where(h1, h2, h3, h4, .logo, .hero h1, .card h2, .card h3) {
    color: var(--ops-admin-gold) !important;
}

html body[data-theme="empire"].admin-console-shell :where(p, li, label, .muted, small, .session-line, .metric .label, .metric .k, .metric .meta, .flow-meta, .runtime-detail),
html body[data-theme="empire"].finance-console-shell :where(p, li, label, .muted, small, .session-line, .metric .label, .metric .k, .metric .meta, .flow-meta, .runtime-detail) {
    color: var(--ops-admin-muted) !important;
}

html body[data-theme="empire"].admin-console-shell :where(.metric .value, .metric .v, .session-line strong, .status-pill b, .runtime-head b, .flow-head b, td b),
html body[data-theme="empire"].finance-console-shell :where(.metric .value, .metric .v, .session-line strong, .status-pill b, .runtime-head b, .flow-head b, td b) {
    color: var(--ops-admin-ink) !important;
}

html body[data-theme="empire"].admin-console-shell :where(.top-links),
html body[data-theme="empire"].finance-console-shell :where(.top-links) {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

html body[data-theme="empire"].admin-console-shell :where(.btn, .mini-btn, button, .btn-ghost, .btn-gold, .btn.gold),
html body[data-theme="empire"].finance-console-shell :where(.btn, .mini-btn, button, .btn-ghost, .btn-gold, .btn.gold) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(251, 243, 222, 0.54) !important;
    background: #F8F1DF !important;
    color: var(--ops-admin-blue) !important;
    box-shadow: 0 12px 24px rgba(2, 9, 20, 0.24) !important;
    text-decoration: none !important;
}

html body[data-theme="empire"].admin-console-shell :where(.btn-gold, .btn.gold, button[id*="apply"], button[onclick*="Apply"], button[onclick*="apply"], button[onclick*="Save"], button[onclick*="save"]),
html body[data-theme="empire"].finance-console-shell :where(.btn-gold, .btn.gold, button[id*="apply"], button[onclick*="Apply"], button[onclick*="apply"], button[onclick*="Save"], button[onclick*="save"]) {
    background: var(--ops-admin-gold) !important;
    border-color: rgba(212, 150, 53, 0.78) !important;
    color: var(--ops-admin-deep) !important;
}

html body[data-theme="empire"].admin-console-shell:not(#cr0247-force) .top-links a.btn-gold,
html body[data-theme="empire"].finance-console-shell:not(#cr0247-force) .top-links a.btn-gold,
html body[data-theme="empire"].admin-console-shell:not(#cr0247-force) .top-links a.btn.gold,
html body[data-theme="empire"].finance-console-shell:not(#cr0247-force) .top-links a.btn.gold {
    background: var(--ops-admin-gold) !important;
    border-color: rgba(212, 150, 53, 0.78) !important;
    color: var(--ops-admin-deep) !important;
}

html body[data-theme="empire"].admin-console-shell :where(input, select, textarea),
html body[data-theme="empire"].finance-console-shell :where(input, select, textarea) {
    background: rgba(2, 11, 21, 0.72) !important;
    border: 1px solid rgba(75, 218, 255, 0.42) !important;
    border-radius: 14px !important;
    color: var(--ops-admin-ink) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

html body[data-theme="empire"].admin-console-shell :where(input::placeholder, textarea::placeholder),
html body[data-theme="empire"].finance-console-shell :where(input::placeholder, textarea::placeholder) {
    color: rgba(251, 243, 222, 0.50) !important;
}

html body[data-theme="empire"].admin-console-shell :where(thead, thead tr, th),
html body[data-theme="empire"].finance-console-shell :where(thead, thead tr, th) {
    background: var(--ops-admin-gold) !important;
    color: var(--ops-admin-deep) !important;
    border-color: rgba(212, 150, 53, 0.70) !important;
}

html body[data-theme="empire"].admin-console-shell :where(td),
html body[data-theme="empire"].finance-console-shell :where(td) {
    background: rgba(7, 24, 45, 0.76) !important;
    border-color: var(--ops-admin-soft-border) !important;
}

@media (max-width: 760px) {
    html body[data-theme="empire"].admin-console-shell :where(.topbar-inner, main),
    html body[data-theme="empire"].finance-console-shell :where(.topbar-inner, main, main.finance-console-shell) {
        width: calc(100% - 12px) !important;
    }

    html body[data-theme="empire"].admin-console-shell :where(.top-links, .links, .session-actions, .actions),
    html body[data-theme="empire"].finance-console-shell :where(.top-links, .links, .session-actions, .actions) {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }

    html body[data-theme="empire"].admin-console-shell :where(.btn, .mini-btn, button),
    html body[data-theme="empire"].finance-console-shell :where(.btn, .mini-btn, button) {
        width: 100% !important;
        min-height: 46px !important;
    }
}
