/* Shared visual shell adapted from the ATA EGM portal. */
:root {
    --portal-navy-950: #07162a;
    --portal-navy-900: #0b2340;
    --portal-navy-800: #12375d;
    --portal-blue: #1d75bd;
    --portal-blue-strong: #155d9d;
    --portal-gold: #c6a15b;
    --portal-gold-light: #e7cb92;
    --portal-canvas: #edf2f7;
    --portal-paper: #ffffff;
    --portal-line: #d8e2ec;
    --portal-ink: #142337;
    --portal-muted: #64748b;
    --portal-success: #198754;
    --portal-warning: #b7791f;
    --portal-danger: #bd3945;
}

html {
    background: var(--portal-canvas) !important;
}

body,
body.egm-app,
body.ceza-page {
    min-width: 320px;
    color: var(--portal-ink) !important;
    background:
        radial-gradient(circle at 100% -10%, rgba(29, 117, 189, 0.15), transparent 32%),
        linear-gradient(135deg, #f6f9fc 0%, var(--portal-canvas) 58%, #e4edf5 100%) !important;
    font-family: Aptos, "Segoe UI", sans-serif !important;
}

body::before,
body::after,
body.egm-app::before,
body.egm-app::after {
    display: none !important;
}

.layout {
    display: block !important;
    min-height: 100vh;
}

.portal-sidebar.sidebar,
.sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 100 !important;
    display: flex !important;
    flex-direction: column !important;
    width: 260px !important;
    min-width: 260px !important;
    height: 100vh !important;
    min-height: 100vh !important;
    padding: 22px 15px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    color: #ffffff !important;
    background:
        linear-gradient(180deg, var(--portal-navy-950), var(--portal-navy-900) 56%, #081a30) !important;
    border-right: 1px solid rgba(198, 161, 91, 0.24) !important;
    box-shadow: 14px 0 36px rgba(7, 22, 42, 0.2) !important;
}

.sidebar::-webkit-scrollbar {
    width: 6px;
}

.sidebar::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.22);
    border-radius: 999px;
}

.portal-brand,
.sidebar .brand {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 5px 7px 23px !important;
    margin: 0 0 20px !important;
    color: #ffffff !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.portal-brand::before,
.sidebar .brand::before {
    display: none !important;
}

.portal-brand__emblem {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 48px;
    height: 48px;
    padding: 4px;
    overflow: hidden;
    background: linear-gradient(145deg, var(--portal-gold-light), var(--portal-gold));
    border: 1px solid rgba(255, 255, 255, 0.48);
    border-radius: 14px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.24);
}

.portal-brand__emblem img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.portal-brand__copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.portal-brand__copy strong {
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 1.1px;
}

.portal-brand__copy span {
    color: rgba(255, 255, 255, 0.6);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.75px;
    line-height: 1.35;
}

.portal-menu {
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    padding-bottom: 8px;
}

.sidebar .nav-title {
    margin: 18px 10px 8px !important;
    padding: 0 !important;
    color: rgba(255, 255, 255, 0.46) !important;
    background: transparent !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 1.25px !important;
    text-transform: uppercase;
}

.sidebar a,
.portal-menu a {
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
    min-height: 42px !important;
    width: 100% !important;
    margin: 0 0 3px !important;
    padding: 0 12px !important;
    color: rgba(255, 255, 255, 0.76) !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    transform: none !important;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease !important;
}

.portal-nav__mark {
    display: block;
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    background: rgba(198, 161, 91, 0.92);
    border-radius: 50%;
}

.sidebar a:hover,
.portal-menu a:hover {
    color: #ffffff !important;
    background: linear-gradient(90deg, rgba(29, 117, 189, 0.32), rgba(198, 161, 91, 0.08)) !important;
    border-color: rgba(198, 161, 91, 0.28) !important;
    transform: translateX(2px) !important;
}

.sidebar a.active,
.portal-menu a.active {
    color: #ffffff !important;
    background: linear-gradient(90deg, rgba(29, 117, 189, 0.48), rgba(198, 161, 91, 0.14)) !important;
    border-color: rgba(198, 161, 91, 0.46) !important;
}

.sidebar a.active .portal-nav__mark,
.portal-menu a.active .portal-nav__mark {
    background: var(--portal-gold-light);
    box-shadow: 0 0 0 3px rgba(231, 203, 146, 0.15);
}

.portal-menu__logout {
    margin-top: auto !important;
    color: #ffe1e3 !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    background: rgba(122, 25, 39, 0.26) !important;
}

.portal-menu__logout .portal-nav__mark {
    background: #ef8b94;
}

.main,
.egm-main,
.ceza-app {
    min-height: 100vh !important;
    margin-left: 0 !important;
    padding: 30px 34px 54px !important;
    color: var(--portal-ink) !important;
    background: transparent !important;
}

body:has(.portal-sidebar) .main,
body:has(.portal-sidebar) .egm-main,
body:has(.portal-sidebar) .ceza-app {
    margin-left: 260px !important;
}

body:has(.portal-sidebar) .layout > .sidebar:not(.portal-sidebar) {
    display: none !important;
}

.hero,
.command-hero,
.page-header,
.topbar,
.content-header,
.penal-hero {
    position: relative !important;
    overflow: hidden !important;
    color: #ffffff !important;
    background:
        linear-gradient(120deg, rgba(7, 22, 42, 0.98), rgba(14, 54, 91, 0.96)) !important;
    border: 1px solid rgba(198, 161, 91, 0.38) !important;
    border-radius: 20px !important;
    box-shadow: 0 16px 36px rgba(17, 48, 80, 0.16) !important;
}

.hero::before,
.command-hero::before,
.page-header::before,
.penal-hero::before {
    position: absolute;
    inset: auto -12% -110px auto;
    display: block !important;
    width: 300px !important;
    height: 300px !important;
    content: "";
    pointer-events: none;
    background: radial-gradient(circle, rgba(198, 161, 91, 0.26), transparent 66%) !important;
    filter: none !important;
}

.hero h1,
.hero h2,
.command-hero h1,
.page-header h1,
.page-header h2,
.topbar h1,
.topbar h2,
.content-header h1,
.content-header h2,
.penal-hero h1,
.penal-hero h2 {
    position: relative;
    color: #ffffff !important;
    text-shadow: none !important;
}

.hero p,
.command-hero p,
.page-header p,
.topbar p,
.content-header p,
.penal-hero p {
    position: relative;
    color: rgba(255, 255, 255, 0.72) !important;
}

.kicker,
.command-hero__eyebrow,
.hero-chips,
.system-stack,
.hero-right {
    position: relative;
    z-index: 1;
}

.kicker,
.command-hero__eyebrow {
    color: var(--portal-gold-light) !important;
    background: rgba(198, 161, 91, 0.12) !important;
    border-color: rgba(231, 203, 146, 0.42) !important;
    box-shadow: none !important;
}

.status-box,
.system-box,
.time-box,
.rank-box,
.hero-chip {
    color: #ffffff !important;
    background: rgba(0, 0, 0, 0.17) !important;
    border-color: rgba(255, 255, 255, 0.17) !important;
    box-shadow: none !important;
}

.status-label,
.box-label,
.system-box small,
.hero-chip span {
    color: rgba(255, 255, 255, 0.62) !important;
}

.notice,
.flash,
.alert,
.message,
.success-message,
.error-message {
    color: #6d4d14 !important;
    background: #fff7e5 !important;
    border: 1px solid #efd59e !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

.flash--ok,
.alert-success,
.success-message {
    color: #146b43 !important;
    background: #e8f7ef !important;
    border-color: #a8dfbf !important;
}

.flash--danger,
.alert-danger,
.error-message {
    color: #9c2936 !important;
    background: #fff0f1 !important;
    border-color: #f0b9c0 !important;
}

.panel,
.side-panel,
.card,
.content-card,
.form-card,
.detail-card,
.dashboard-card,
.report-panel,
.report-tools,
.table-card,
.data-block,
.tab-hub,
.discipline-card,
.summary-row,
.metrics-bar,
.search-deck,
.filter-bar,
.info-box,
.law-total,
.mini-metric,
.stat-card,
.stat-cell,
.quick,
.dashboard-grid > section,
.dashboard-grid > div {
    color: var(--portal-ink) !important;
    background: var(--portal-paper) !important;
    border: 1px solid var(--portal-line) !important;
    box-shadow: 0 10px 24px rgba(27, 58, 88, 0.08) !important;
}

.panel::before,
.side-panel::before,
.stat-card::before,
.stat-cell::after,
.card::before {
    display: none !important;
}

.panel,
.side-panel,
.card,
.content-card,
.form-card,
.detail-card,
.dashboard-card,
.report-panel,
.report-tools,
.table-card,
.data-block,
.tab-hub,
.discipline-card,
.summary-row,
.metrics-bar,
.search-deck,
.filter-bar {
    border-radius: 16px !important;
}

.panel h1,
.panel h2,
.panel h3,
.side-panel h1,
.side-panel h2,
.side-panel h3,
.card h1,
.card h2,
.card h3,
.content-card h1,
.content-card h2,
.content-card h3,
.form-card h1,
.form-card h2,
.form-card h3,
.detail-card h1,
.detail-card h2,
.detail-card h3,
.data-block h1,
.data-block h2,
.data-block h3,
.section-title h1,
.section-title h2,
.section-title h3,
.panel-header,
.data-block__head {
    color: var(--portal-navy-950) !important;
}

.panel p,
.side-panel p,
.card p,
.content-card p,
.form-card p,
.detail-card p,
.hint,
.small,
.subtle,
.muted,
.mini-label,
.metric-label,
.stat-label {
    color: var(--portal-muted) !important;
}

.stat-card,
.stat-cell,
.card {
    min-height: 82px;
}

.stat-card .stat-icon,
.stat-cell__icon,
.card .icon {
    color: var(--portal-blue-strong) !important;
    background: #eaf3fb !important;
    border-color: #b7d4e9 !important;
    box-shadow: none !important;
}

.stat-value,
.stat-card strong,
.stat-cell strong,
.card strong,
.metric strong,
.mini-value,
.box-value {
    color: var(--portal-navy-950) !important;
    text-shadow: none !important;
}

.step,
.section-title > span,
.data-block__num,
.tab-trigger__index {
    color: #ffffff !important;
    background: linear-gradient(135deg, var(--portal-blue), var(--portal-blue-strong)) !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

input,
select,
textarea,
.readonly,
.quick-input,
.law-search,
.select2-container--default .select2-selection--single {
    color: var(--portal-ink) !important;
    background: #f8fafc !important;
    border: 1px solid #cfdce8 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}

input::placeholder,
textarea::placeholder {
    color: #8796a8 !important;
}

input:focus,
select:focus,
textarea:focus,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--portal-blue) !important;
    box-shadow: 0 0 0 3px rgba(29, 117, 189, 0.14) !important;
}

select option {
    color: var(--portal-ink);
    background: #ffffff;
}

label,
.form-group label,
.form-grid label {
    color: #40546a !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--portal-ink) !important;
}

.select2-dropdown {
    color: var(--portal-ink) !important;
    background: #ffffff !important;
    border-color: #b8c9da !important;
    box-shadow: 0 14px 30px rgba(28, 53, 80, 0.16) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    color: #ffffff !important;
    background: var(--portal-blue) !important;
}

.btn,
.btn-primary,
.btn-glow,
button[type="submit"],
input[type="submit"],
.action.view,
.action.edit,
.law-add button {
    color: #ffffff !important;
    background: linear-gradient(135deg, var(--portal-blue), var(--portal-blue-strong)) !important;
    border: 1px solid var(--portal-blue-strong) !important;
    border-radius: 10px !important;
    box-shadow: 0 7px 16px rgba(21, 93, 157, 0.2) !important;
    text-shadow: none !important;
}

.btn:hover,
.btn-primary:hover,
.btn-glow:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.action.view:hover,
.action.edit:hover,
.law-add button:hover {
    background: linear-gradient(135deg, #1768ab, #104d84) !important;
    box-shadow: 0 9px 20px rgba(21, 93, 157, 0.25) !important;
    transform: translateY(-1px) !important;
}

.btn.secondary,
.btn.ghost,
.btn-secondary,
.btn-ghost,
.action,
.action.delete,
.action.danger,
.termination-back {
    color: #314a64 !important;
    background: #ffffff !important;
    border: 1px solid #c8d5e2 !important;
    box-shadow: none !important;
}

.btn-danger,
.action.delete,
.action.danger,
.termination-submit {
    color: #ffffff !important;
    background: #b93745 !important;
    border-color: #a72f3c !important;
}

.btn-warning {
    color: #ffffff !important;
    background: #b7791f !important;
    border-color: #9f6517 !important;
}

table,
.data-table,
.ct-table,
.transfer-table {
    color: var(--portal-ink) !important;
    background: #ffffff !important;
    border-color: var(--portal-line) !important;
}

th,
.table-wrap th,
.table-scroll th,
.data-table th,
.ct-table th,
.transfer-table th {
    color: #435c75 !important;
    background: #f1f5f9 !important;
    border-color: var(--portal-line) !important;
}

td,
.table-wrap td,
.table-scroll td,
.data-table td,
.ct-table td,
.transfer-table td {
    color: #20354b !important;
    background: #ffffff !important;
    border-color: #e2e9f0 !important;
}

tbody tr:hover td {
    background: #f4f8fc !important;
}

.badge,
.status-pill,
.metric-pill,
.tab-badge {
    color: #314a64 !important;
    background: #e8f0f7 !important;
    border-color: #c9d7e4 !important;
    box-shadow: none !important;
}

.badge.green,
.status-approved,
.status-active,
.metric-pill--ok {
    color: #146b43 !important;
    background: #e8f7ef !important;
    border-color: #b4e0c4 !important;
}

.badge.red,
.status-rejected,
.status-dismissed,
.metric-pill--danger {
    color: #9c2936 !important;
    background: #fff0f1 !important;
    border-color: #f1c2c8 !important;
}

.badge.yellow,
.status-pending,
.metric-pill--warn {
    color: #825815 !important;
    background: #fff6df !important;
    border-color: #ead19b !important;
}

.tab-trigger {
    color: #536b82 !important;
    background: #f8fafc !important;
    border-color: #d8e2ec !important;
    box-shadow: none !important;
}

.tab-trigger.is-active,
.tab-trigger[aria-selected="true"] {
    color: var(--portal-navy-950) !important;
    background: #ffffff !important;
    border-color: #9dbfdc !important;
    box-shadow: 0 7px 16px rgba(27, 58, 88, 0.08) !important;
}

.progress,
.progress-line,
.progress-track {
    background: #dce7f0 !important;
    border-color: #cfdae5 !important;
}

.progress span,
.progress-fill {
    background: linear-gradient(90deg, var(--portal-blue), #54a2df) !important;
    box-shadow: none !important;
}

.law-card,
.law-selected,
.quick-list,
.info-row,
.warning-item,
.action-box {
    color: var(--portal-ink) !important;
    background: #f7fafc !important;
    border-color: #dbe5ee !important;
}

.law-card small,
.law-selected,
.law-selected div,
.law-sums > div {
    color: var(--portal-muted) !important;
    border-color: #dbe5ee !important;
}

.law-card p,
.law-selected span,
.law-extra {
    color: #9b6816 !important;
}

@media (max-width: 980px) {
    .portal-sidebar.sidebar,
    .sidebar {
        position: relative !important;
        width: 100% !important;
        min-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    .portal-menu {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 3px;
    }

    .sidebar .nav-title {
        grid-column: 1 / -1;
    }

    .portal-menu__logout {
        margin-top: 8px !important;
    }

    .main,
    .egm-main,
    .ceza-app {
        margin-left: 0 !important;
        padding: 22px 18px 42px !important;
    }
}

@media (max-width: 620px) {
    .portal-menu {
        grid-template-columns: 1fr;
    }

    .main,
    .egm-main,
    .ceza-app {
        padding: 18px 13px 34px !important;
    }

    .hero,
    .command-hero,
    .page-header,
    .penal-hero {
        border-radius: 14px !important;
    }
}

/* Standalone pages that do not render the shared sidebar. */
.page,
.wrap,
.container {
    color: var(--portal-ink) !important;
}

.header-card,
.section-card,
.status-card,
.api-box,
.login-card,
.wrap > .card {
    color: var(--portal-ink) !important;
    background: #ffffff !important;
    border: 1px solid var(--portal-line) !important;
    box-shadow: 0 14px 30px rgba(27, 58, 88, 0.1) !important;
}

.header-card,
.section-card,
.status-card,
.api-box,
.login-card {
    border-radius: 16px !important;
}

.section-header,
.card-header,
.header-top {
    color: var(--portal-navy-950) !important;
    border-color: var(--portal-line) !important;
}

.label,
.header-sub,
.subtitle,
.footer-note,
.footer,
.top-label {
    color: var(--portal-muted) !important;
}

.value,
.number,
.top-value {
    color: var(--portal-navy-950) !important;
}

body:has(.login-card) {
    background:
        radial-gradient(circle at 82% 8%, rgba(198, 161, 91, 0.25), transparent 28%),
        linear-gradient(135deg, var(--portal-navy-950), var(--portal-navy-800)) !important;
}

body:has(.login-card) .big-seal,
body:has(.login-card) .city,
body:has(.login-card) .waterline {
    opacity: 0.18 !important;
}

body:has(.login-card) .page {
    display: grid;
    min-height: 100vh;
    place-items: center;
    padding: 28px 18px;
}

body:has(.login-card) .login-wrap {
    width: min(100%, 440px);
}

body:has(.login-card) .login-card {
    color: var(--portal-ink) !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border-color: rgba(198, 161, 91, 0.62) !important;
}

body:has(.login-card) .login-card h1,
body:has(.login-card) .login-card strong {
    color: var(--portal-navy-950) !important;
}

body:has(.login-card) .login-card .subtitle,
body:has(.login-card) .login-card .notice span {
    color: var(--portal-muted) !important;
}

body:has(.login-card) .login-card .notice {
    color: #40546a !important;
    background: #f5f8fb !important;
    border-color: #d8e2ec !important;
}

body:has(.login-card) .login-card .field label {
    color: #526a82 !important;
}

body:has(.login-card) .footer {
    color: rgba(255, 255, 255, 0.68) !important;
}

/* Theme switcher. */
.portal-theme-toggle {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 42px;
    width: 100%;
    margin: 7px 0 4px;
    padding: 0 12px;
    color: rgba(255, 255, 255, 0.82);
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 10px;
    font: inherit;
    font-size: 13px;
    font-weight: 650;
    cursor: pointer;
    transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.portal-theme-toggle:hover {
    background: rgba(198, 161, 91, 0.17);
    border-color: rgba(231, 203, 146, 0.48);
    transform: translateX(2px);
}

.portal-theme-toggle__dot {
    display: block;
    width: 14px;
    height: 14px;
    border: 3px solid var(--portal-gold-light);
    border-radius: 50%;
    box-shadow: inset 5px -2px 0 -3px var(--portal-navy-900);
}

html[data-portal-theme="dark"] {
    color-scheme: dark;
    --portal-canvas: #071426;
    --portal-paper: #0e2035;
    --portal-line: #294765;
    --portal-ink: #ecf4fc;
    --portal-muted: #a4b7c9;
}

html[data-portal-theme="dark"] body,
html[data-portal-theme="dark"] body.egm-app,
html[data-portal-theme="dark"] body.ceza-page {
    color: var(--portal-ink) !important;
    background:
        radial-gradient(circle at 95% -10%, rgba(29, 117, 189, 0.22), transparent 32%),
        linear-gradient(135deg, #06111f 0%, #0a1d32 58%, #071426 100%) !important;
}

html[data-portal-theme="dark"] .main,
html[data-portal-theme="dark"] .egm-main,
html[data-portal-theme="dark"] .ceza-app,
html[data-portal-theme="dark"] .page,
html[data-portal-theme="dark"] .wrap,
html[data-portal-theme="dark"] .container {
    color: var(--portal-ink) !important;
}

html[data-portal-theme="dark"] .panel,
html[data-portal-theme="dark"] .side-panel,
html[data-portal-theme="dark"] .card,
html[data-portal-theme="dark"] .content-card,
html[data-portal-theme="dark"] .form-card,
html[data-portal-theme="dark"] .detail-card,
html[data-portal-theme="dark"] .dashboard-card,
html[data-portal-theme="dark"] .report-panel,
html[data-portal-theme="dark"] .report-tools,
html[data-portal-theme="dark"] .table-card,
html[data-portal-theme="dark"] .data-block,
html[data-portal-theme="dark"] .tab-hub,
html[data-portal-theme="dark"] .discipline-card,
html[data-portal-theme="dark"] .summary-row,
html[data-portal-theme="dark"] .metrics-bar,
html[data-portal-theme="dark"] .search-deck,
html[data-portal-theme="dark"] .filter-bar,
html[data-portal-theme="dark"] .info-box,
html[data-portal-theme="dark"] .law-total,
html[data-portal-theme="dark"] .mini-metric,
html[data-portal-theme="dark"] .stat-card,
html[data-portal-theme="dark"] .stat-cell,
html[data-portal-theme="dark"] .quick,
html[data-portal-theme="dark"] .header-card,
html[data-portal-theme="dark"] .section-card,
html[data-portal-theme="dark"] .status-card,
html[data-portal-theme="dark"] .api-box,
html[data-portal-theme="dark"] .wrap > .card,
html[data-portal-theme="dark"] .dashboard-grid > section,
html[data-portal-theme="dark"] .dashboard-grid > div {
    color: var(--portal-ink) !important;
    background: #0e2035 !important;
    border-color: #294765 !important;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.2) !important;
}

html[data-portal-theme="dark"] .panel h1,
html[data-portal-theme="dark"] .panel h2,
html[data-portal-theme="dark"] .panel h3,
html[data-portal-theme="dark"] .side-panel h1,
html[data-portal-theme="dark"] .side-panel h2,
html[data-portal-theme="dark"] .side-panel h3,
html[data-portal-theme="dark"] .card h1,
html[data-portal-theme="dark"] .card h2,
html[data-portal-theme="dark"] .card h3,
html[data-portal-theme="dark"] .content-card h1,
html[data-portal-theme="dark"] .content-card h2,
html[data-portal-theme="dark"] .content-card h3,
html[data-portal-theme="dark"] .form-card h1,
html[data-portal-theme="dark"] .form-card h2,
html[data-portal-theme="dark"] .form-card h3,
html[data-portal-theme="dark"] .detail-card h1,
html[data-portal-theme="dark"] .detail-card h2,
html[data-portal-theme="dark"] .detail-card h3,
html[data-portal-theme="dark"] .data-block h1,
html[data-portal-theme="dark"] .data-block h2,
html[data-portal-theme="dark"] .data-block h3,
html[data-portal-theme="dark"] .section-title h1,
html[data-portal-theme="dark"] .section-title h2,
html[data-portal-theme="dark"] .section-title h3,
html[data-portal-theme="dark"] .panel-header,
html[data-portal-theme="dark"] .data-block__head,
html[data-portal-theme="dark"] .section-header,
html[data-portal-theme="dark"] .card-header,
html[data-portal-theme="dark"] .header-top,
html[data-portal-theme="dark"] .value,
html[data-portal-theme="dark"] .number,
html[data-portal-theme="dark"] .top-value,
html[data-portal-theme="dark"] .stat-value,
html[data-portal-theme="dark"] .stat-card strong,
html[data-portal-theme="dark"] .stat-cell strong,
html[data-portal-theme="dark"] .card strong,
html[data-portal-theme="dark"] .metric strong,
html[data-portal-theme="dark"] .mini-value,
html[data-portal-theme="dark"] .box-value {
    color: #f3f8fe !important;
}

html[data-portal-theme="dark"] .panel p,
html[data-portal-theme="dark"] .side-panel p,
html[data-portal-theme="dark"] .card p,
html[data-portal-theme="dark"] .content-card p,
html[data-portal-theme="dark"] .form-card p,
html[data-portal-theme="dark"] .detail-card p,
html[data-portal-theme="dark"] .hint,
html[data-portal-theme="dark"] .small,
html[data-portal-theme="dark"] .subtle,
html[data-portal-theme="dark"] .muted,
html[data-portal-theme="dark"] .mini-label,
html[data-portal-theme="dark"] .metric-label,
html[data-portal-theme="dark"] .stat-label,
html[data-portal-theme="dark"] .label,
html[data-portal-theme="dark"] .header-sub,
html[data-portal-theme="dark"] .subtitle,
html[data-portal-theme="dark"] .footer-note,
html[data-portal-theme="dark"] .top-label {
    color: var(--portal-muted) !important;
}

html[data-portal-theme="dark"] input,
html[data-portal-theme="dark"] select,
html[data-portal-theme="dark"] textarea,
html[data-portal-theme="dark"] .readonly,
html[data-portal-theme="dark"] .quick-input,
html[data-portal-theme="dark"] .law-search,
html[data-portal-theme="dark"] .select2-container--default .select2-selection--single {
    color: #edf5fc !important;
    background: #09182a !important;
    border-color: #355775 !important;
}

html[data-portal-theme="dark"] input::placeholder,
html[data-portal-theme="dark"] textarea::placeholder {
    color: #8299ae !important;
}

html[data-portal-theme="dark"] label,
html[data-portal-theme="dark"] .form-group label,
html[data-portal-theme="dark"] .form-grid label,
html[data-portal-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #c7d8e8 !important;
}

html[data-portal-theme="dark"] select option,
html[data-portal-theme="dark"] .select2-dropdown {
    color: #edf5fc !important;
    background: #0b1d31 !important;
    border-color: #355775 !important;
}

html[data-portal-theme="dark"] table,
html[data-portal-theme="dark"] .data-table,
html[data-portal-theme="dark"] .ct-table,
html[data-portal-theme="dark"] .transfer-table,
html[data-portal-theme="dark"] td,
html[data-portal-theme="dark"] .table-wrap td,
html[data-portal-theme="dark"] .table-scroll td,
html[data-portal-theme="dark"] .data-table td,
html[data-portal-theme="dark"] .ct-table td,
html[data-portal-theme="dark"] .transfer-table td {
    color: #e3eef8 !important;
    background: #0e2035 !important;
    border-color: #294765 !important;
}

html[data-portal-theme="dark"] th,
html[data-portal-theme="dark"] .table-wrap th,
html[data-portal-theme="dark"] .table-scroll th,
html[data-portal-theme="dark"] .data-table th,
html[data-portal-theme="dark"] .ct-table th,
html[data-portal-theme="dark"] .transfer-table th {
    color: #bed2e5 !important;
    background: #132b45 !important;
    border-color: #355775 !important;
}

html[data-portal-theme="dark"] tbody tr:hover td {
    background: #132b45 !important;
}

html[data-portal-theme="dark"] .btn.secondary,
html[data-portal-theme="dark"] .btn.ghost,
html[data-portal-theme="dark"] .btn-secondary,
html[data-portal-theme="dark"] .btn-ghost,
html[data-portal-theme="dark"] .action,
html[data-portal-theme="dark"] .termination-back {
    color: #d7e6f4 !important;
    background: #132b45 !important;
    border-color: #355775 !important;
}

html[data-portal-theme="dark"] .badge,
html[data-portal-theme="dark"] .status-pill,
html[data-portal-theme="dark"] .metric-pill,
html[data-portal-theme="dark"] .tab-badge,
html[data-portal-theme="dark"] .tab-trigger,
html[data-portal-theme="dark"] .law-card,
html[data-portal-theme="dark"] .law-selected,
html[data-portal-theme="dark"] .quick-list,
html[data-portal-theme="dark"] .info-row,
html[data-portal-theme="dark"] .warning-item,
html[data-portal-theme="dark"] .action-box {
    color: #dbeaf7 !important;
    background: #132b45 !important;
    border-color: #355775 !important;
}

html[data-portal-theme="dark"] .tab-trigger.is-active,
html[data-portal-theme="dark"] .tab-trigger[aria-selected="true"] {
    color: #f2f8fe !important;
    background: #1a3858 !important;
    border-color: #5d88af !important;
}

html[data-portal-theme="dark"] .notice,
html[data-portal-theme="dark"] .flash,
html[data-portal-theme="dark"] .alert,
html[data-portal-theme="dark"] .message {
    color: #f3d896 !important;
    background: #302713 !important;
    border-color: #765d29 !important;
}

html[data-portal-theme="dark"] body:has(.login-card) {
    background:
        radial-gradient(circle at 82% 8%, rgba(198, 161, 91, 0.2), transparent 28%),
        linear-gradient(135deg, #020a14, #0b2340) !important;
}

html[data-portal-theme="dark"] body:has(.login-card) .login-card {
    color: #edf5fc !important;
    background: #0e2035 !important;
    border-color: #456989 !important;
}

html[data-portal-theme="dark"] body:has(.login-card) .login-card h1,
html[data-portal-theme="dark"] body:has(.login-card) .login-card strong {
    color: #f3f8fe !important;
}

html[data-portal-theme="dark"] body:has(.login-card) .login-card .notice {
    color: #c8d9e8 !important;
    background: #132b45 !important;
    border-color: #355775 !important;
}

html[data-portal-theme="dark"] .portal-theme-toggle {
    color: #ffffff;
    background: rgba(29, 117, 189, 0.25);
    border-color: rgba(120, 178, 226, 0.42);
}

html[data-portal-theme="dark"] .portal-theme-toggle__dot {
    background: var(--portal-gold-light);
    box-shadow: 0 0 11px rgba(231, 203, 146, 0.75);
}
