/*
 * Portal V2 is a presentation-only layer. Existing Blade routes, forms,
 * controller actions, payments, and API contracts continue to be used.
 */
:root {
    --v2-canvas: #f6f8fb;
    --v2-surface: #ffffff;
    --v2-ink: #172033;
    --v2-muted: #718096;
    --v2-line: #e6ebf2;
    --v2-blue: #4f7ff3;
    --v2-blue-soft: #edf3ff;
    --v2-navy: #111c32;
    --v2-shadow: 0 8px 24px rgba(29, 45, 78, 0.06);
}

/* Admin console */
body.admin-v2 {
    background: var(--v2-canvas) !important;
    color: var(--v2-ink);
}

.admin-v2 .sidebar {
    width: 244px !important;
    background: var(--v2-navy) !important;
    border-right: 0;
}

.admin-v2 .admin-sidebar-brand {
    margin: 0 14px 10px;
    padding: 19px 8px 17px !important;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 0;
    background: transparent;
}

.admin-v2 .admin-sidebar-brand > div > div:first-child {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: #5b83ef !important;
    color: #fff;
    box-shadow: none;
}

.admin-v2 .admin-sidebar-brand i { color: #fff !important; }
.admin-v2 .admin-sidebar-brand h1 { font-size: 15px; letter-spacing: 0; }
.admin-v2 .admin-sidebar-brand p { font-weight: 500; }
.admin-v2 .sidebar nav { padding: 0 10px 18px; }

.admin-v2 .admin-nav-section-label {
    padding: 20px 10px 7px;
    color: #79869b;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
}

.admin-v2 .admin-nav-group,
.admin-v2 .admin-nav-top {
    min-height: 40px;
    padding: 9px 11px;
    border: 0 !important;
    border-radius: 7px !important;
    color: #b7c2d3;
    font-size: 13px;
    font-weight: 600;
}

.admin-v2 .admin-nav-top:hover,
.admin-v2 .admin-nav-group:hover,
.admin-v2 .admin-nav-group[aria-expanded="true"] {
    background: rgba(255, 255, 255, .07);
    color: #fff;
}

.admin-v2 .admin-nav-top.is-active,
.admin-v2 .admin-nav-link.admin-nav-sub.is-active {
    background: #4f7ff3 !important;
    color: #fff !important;
    box-shadow: none !important;
}

.admin-v2 .admin-nav-children {
    margin-left: 14px !important;
    padding-left: 7px;
    border-left: 1px solid rgba(255, 255, 255, .12);
}

.admin-v2 .admin-nav-link.admin-nav-sub {
    margin: 2px 0;
    padding: 8px 9px 8px 30px;
    border-radius: 6px !important;
    color: #9eacc1;
    font-size: 12px;
    font-weight: 500;
}

.admin-v2 .admin-shell-header {
    height: 58px;
    background: #fff;
    border-bottom: 1px solid var(--v2-line);
    box-shadow: none;
}

.admin-v2 .admin-header-title {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0;
}

.admin-v2 main.flex-1 {
    max-width: none;
    padding: 22px 26px !important;
}

.admin-v2 .card,
.admin-v2 .table-container,
.admin-v2 .modal-content {
    border: 1px solid var(--v2-line);
    border-radius: 8px !important;
    box-shadow: var(--v2-shadow) !important;
}

.admin-v2 .card:hover {
    border-color: #d9e2ef;
    box-shadow: var(--v2-shadow) !important;
    transform: none;
}

.admin-v2 .btn {
    min-height: 34px;
    border-radius: 6px;
    box-shadow: none;
    font-weight: 600;
}

.admin-v2 .btn-primary { background: var(--v2-blue); }
.admin-v2 .form-input,
.admin-v2 .form-select,
.admin-v2 textarea.form-input {
    border-color: #dfe5ee;
    border-radius: 6px;
    background: #fff;
}

.admin-v2 .form-input:focus,
.admin-v2 .form-select:focus,
.admin-v2 textarea.form-input:focus {
    border-color: var(--v2-blue);
    box-shadow: 0 0 0 3px rgba(79, 127, 243, .12);
}

.admin-v2 table th {
    height: 44px;
    background: #f9fafc;
    color: #65758b;
    font-weight: 600;
}

.admin-v2 table td { height: 48px; }
.admin-v2 tbody tr:hover td { background: #f9fbff; }
.admin-v2 .badge { border-radius: 4px; font-weight: 600; }

/* User web portal */
body.web-v2 {
    background: var(--v2-canvas);
    color: var(--v2-ink);
}

.web-v2 .app { grid-template-columns: 232px minmax(0, 1fr); }
.web-v2 .sidebar {
    padding: 18px 12px;
    background: #fff;
    color: var(--v2-ink);
    border-right: 1px solid var(--v2-line);
}

.web-v2 .brand {
    gap: 10px;
    margin: 0 6px 16px;
    padding: 7px 5px 17px;
    border-bottom: 1px solid var(--v2-line);
}

.web-v2 .brand-logo {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: var(--v2-blue);
    color: #fff;
    font-size: 16px;
}

.web-v2 .brand-title { font-size: 15px; font-weight: 800; }
.web-v2 .brand-sub { margin-top: 2px; color: var(--v2-muted); font-size: 10px; }
.web-v2 .nav-group { margin-top: 12px; }
.web-v2 .nav-title { margin: 17px 10px 6px; color: #9aa6b6; font-size: 10px; font-weight: 700; letter-spacing: .06em; }

.web-v2 .nav a {
    gap: 10px;
    margin: 2px 0;
    padding: 9px 11px;
    border-radius: 6px;
    color: #59677a;
    font-size: 13px;
    font-weight: 600;
}

.web-v2 .nav a:hover,
.web-v2 .nav a.active { background: var(--v2-blue-soft); color: #3f6ee4; }
.web-v2 .topbar { height: 58px; padding: 0 26px; background: #fff; border-bottom-color: var(--v2-line); box-shadow: none; }
.web-v2 .topbar strong { font-size: 16px; font-weight: 700; }
.web-v2 .page { max-width: 1360px; padding: 24px 26px 36px; }

.web-v2 .card {
    border: 1px solid var(--v2-line);
    border-radius: 8px;
    box-shadow: var(--v2-shadow);
}

.web-v2 .card:hover { border-color: #dbe3ee; transform: none; box-shadow: var(--v2-shadow); }
.web-v2 .btn { height: 36px; padding: 0 14px; border: 1px solid var(--v2-blue); border-radius: 6px; background: var(--v2-blue); box-shadow: none; font-size: 13px; font-weight: 600; }
.web-v2 .btn.secondary { border-color: #d9e1ec; background: #fff; color: #4f5e73; }
.web-v2 .btn.danger { border-color: #e95a5a; background: #e95a5a; }
.web-v2 .input,.web-v2 .select,.web-v2 .textarea { border-color: #dfe5ee; border-radius: 6px; background: #fff; }
.web-v2 .input:focus,.web-v2 .select:focus,.web-v2 .textarea:focus { border-color: var(--v2-blue); box-shadow: 0 0 0 3px rgba(79, 127, 243, .12); }
.web-v2 .hero { border-radius: 8px; background: #fff; box-shadow: var(--v2-shadow); }
.web-v2 .hero h1 { font-size: 34px; letter-spacing: 0; }
.web-v2 .chip { height: 26px; border: 1px solid #dce6ff; border-radius: 4px; background: var(--v2-blue-soft); color: #4f72ca; font-size: 11px; }
.web-v2 .table-wrap,.web-v2 .table { border-color: var(--v2-line); border-radius: 8px; }
.web-v2 .table th { background: #f9fafc; color: #66758a; font-weight: 600; }
.web-v2 .stat-card { min-height: 124px; }

/* V3 workspace surfaces: used by the real dashboard templates. */
body.admin-v3 { background: #f4f6fa !important; }
.admin-v3 .admin-v3-dashboard { max-width: 1480px; margin: 0 auto; }
.admin-v3 .admin-v3-overview-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin: 0 0 20px; }
.admin-v3 .admin-v3-eyebrow { display: block; margin-bottom: 7px; color: #6b7a90; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admin-v3 .admin-v3-overview-head h1 { margin: 0; color: #162238; font-size: 25px; line-height: 1.2; font-weight: 800; }
.admin-v3 .admin-v3-overview-head p { margin: 7px 0 0; color: #7b8799; font-size: 13px; }
.admin-v3 .admin-v3-live { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid #dbe8e0; border-radius: 6px; color: #22704a; background: #f2faf5; font-size: 12px; font-weight: 700; white-space: nowrap; }
.admin-v3 .admin-v3-live i { color: #2fa66a; font-size: 7px; }
.admin-v3 .admin-v3-stat-grid { margin-bottom: 16px !important; }
.admin-v3 .admin-v3-stat-grid .card { min-height: 112px; padding: 17px 18px !important; position: relative; overflow: hidden; }
.admin-v3 .admin-v3-stat-grid .card:after { content: ''; position: absolute; right: -25px; bottom: -35px; width: 92px; height: 92px; border: 16px solid #edf3ff; border-radius: 50%; opacity: .8; }
.admin-v3 .admin-v3-stat-grid .card:nth-child(2):after { border-color: #e9f8f2; }
.admin-v3 .admin-v3-stat-grid .card:nth-child(3):after { border-color: #fff5df; }
.admin-v3 .admin-v3-stat-grid .card:nth-child(4):after { border-color: #ffeded; }
.admin-v3 .admin-v3-stat-grid .card > div:first-child { position: relative; z-index: 1; }
.admin-v3 .admin-v3-stat-grid .card > div:nth-child(2) { position: relative; z-index: 1; font-size: 26px; }
.admin-v3 .admin-v3-stat-grid .card > div:last-child { position: relative; z-index: 1; }
.admin-v3 .admin-v3-money-grid { margin-bottom: 20px !important; gap: 12px !important; }
.admin-v3 .admin-v3-money-grid > div { padding: 15px 17px !important; border: 1px solid #e5eaf1 !important; border-radius: 8px; background: #fff !important; box-shadow: none !important; }
.admin-v3 .admin-v3-money-grid > div:nth-child(1) { border-left: 3px solid #39a879 !important; }
.admin-v3 .admin-v3-money-grid > div:nth-child(2) { border-left: 3px solid #4f7ff3 !important; }
.admin-v3 .admin-v3-money-grid > div:nth-child(3) { border-left: 3px solid #e8a72e !important; }
.admin-v3 .admin-v3-money-grid > div:nth-child(4) { border-left: 3px solid #7b8799 !important; }
.admin-v3 .admin-v3-money-grid > div > div:first-child { margin-bottom: 8px; }
.admin-v3 .admin-v3-money-grid > div > div:first-child > div { width: 30px; height: 30px; border-radius: 6px; }
.admin-v3 .admin-v3-chart-grid, .admin-v3 .admin-v3-activity-grid { gap: 14px !important; }
.admin-v3 .admin-v3-chart-card, .admin-v3 .admin-v3-activity-card { box-shadow: none !important; }
.admin-v3 .admin-v3-chart-card h3, .admin-v3 .admin-v3-activity-card h3 { color: #26364e; font-size: 13px; }
.admin-v3 .admin-v3-chart-card canvas { height: 190px !important; }

body.web-v3 { background: #f4f6fa; }
.web-v3 .page { max-width: 1440px; }
.web-v3 .web-v3-welcome { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 142px; margin-bottom: 14px; padding: 26px 30px; border: 1px solid #e1e7f0; border-radius: 8px; background: #fff; box-shadow: 0 8px 24px rgba(29,45,78,.04); }
.web-v3 .web-v3-welcome h1 { margin: 0; color: #17243a; font-size: 26px; line-height: 1.25; font-weight: 800; }
.web-v3 .web-v3-welcome p { margin: 9px 0 0; color: #77859a; font-size: 13px; }
.web-v3 .web-v3-welcome-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.web-v3 .web-v3-welcome-actions .btn, .web-v3 .web-v3-page-heading .btn { display: inline-flex; align-items: center; gap: 7px; }
.web-v3 .web-v3-service-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 28px; }
.web-v3 .web-v3-service-strip > div { display: flex; align-items: center; gap: 10px; min-height: 62px; padding: 11px 14px; border: 1px solid #e2e8f0; border-radius: 7px; background: #fff; }
.web-v3 .web-v3-strip-icon { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; border-radius: 6px; background: #edf3ff; color: #4f7ff3; font-size: 13px; }
.web-v3 .web-v3-service-strip > div:nth-child(2) .web-v3-strip-icon { background: #eaf8f3; color: #2c9b70; }
.web-v3 .web-v3-service-strip > div:nth-child(3) .web-v3-strip-icon { background: #fff6e5; color: #d58a18; }
.web-v3 .web-v3-service-strip > div:nth-child(4) .web-v3-strip-icon { background: #f1edff; color: #7862c7; }
.web-v3 .web-v3-service-strip strong, .web-v3 .web-v3-service-strip small { display: block; }
.web-v3 .web-v3-service-strip strong { color: #2b3a50; font-size: 12px; }
.web-v3 .web-v3-service-strip small { margin-top: 3px; color: #8a96a8; font-size: 11px; }
.web-v3 .web-v3-section-head, .web-v3 .web-v3-page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin: 0 0 12px; }
.web-v3 .web-v3-section-head h2, .web-v3 .web-v3-page-heading h1 { margin: 0; color: #1e2c42; font-size: 18px; font-weight: 800; }
.web-v3 .web-v3-section-head span:not(.badge), .web-v3 .web-v3-page-heading .muted { display: block; margin-top: 4px; color: #8793a5; font-size: 12px; }
.web-v3 .web-v3-section-head .text-link { margin-bottom: 2px; color: #4777e8; font-size: 12px; font-weight: 700; text-decoration: none; }
.web-v3 .web-v3-section-head .text-link i { margin-left: 5px; font-size: 10px; }
.web-v3 .web-v3-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 26px; }
.web-v3 .web-v3-metric { display: flex; align-items: center; gap: 11px; min-width: 0; min-height: 88px; padding: 14px 15px; border: 1px solid #e1e7f0; border-radius: 8px; background: #fff; color: inherit; text-decoration: none; transition: border-color .15s, transform .15s; }
.web-v3 .web-v3-metric:hover { border-color: #b8ccef; transform: translateY(-1px); }
.web-v3 .web-v3-metric > span:nth-child(2) { min-width: 0; }
.web-v3 .web-v3-metric small, .web-v3 .web-v3-metric strong { display: block; }
.web-v3 .web-v3-metric small { margin-bottom: 5px; color: #8390a3; font-size: 12px; }
.web-v3 .web-v3-metric strong { overflow: hidden; color: #1d2a40; font-size: 21px; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.web-v3 .metric-icon { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border-radius: 7px; font-size: 14px; }
.web-v3 .metric-icon.blue { background: #edf3ff; color: #4f7ff3; }.web-v3 .metric-icon.cyan { background: #e9f8f6; color: #299c96; }.web-v3 .metric-icon.amber { background: #fff5e4; color: #d9901f; }.web-v3 .metric-icon.green { background: #eaf8f1; color: #2f9a6b; }
.web-v3 .metric-arrow { margin-left: auto; color: #b5c0cf; font-size: 11px; }
.web-v3 .web-v3-notice { display: flex; align-items: center; gap: 14px; margin: 0 0 26px; padding: 11px 14px; border: 1px solid #f0e2bd; border-radius: 7px; background: #fffaf0; color: #856b35; font-size: 12px; }
.web-v3 .web-v3-notice > span { display: flex; align-items: center; flex: 0 0 auto; gap: 7px; }.web-v3 .web-v3-notice > span i { color: #d89928; }.web-v3 .web-v3-notice p { margin: 0; overflow: hidden; color: #806f4b; text-overflow: ellipsis; white-space: nowrap; }
.web-v3 .web-v3-domain-head { margin-top: 4px; }.web-v3 .web-v3-domain-list { overflow: hidden; border: 1px solid #e1e7f0; border-radius: 8px; background: #fff; }.web-v3 .web-v3-domain-row { display: grid; grid-template-columns: 38px minmax(160px, 1fr) auto auto 14px; align-items: center; gap: 12px; min-height: 70px; padding: 10px 16px; border-bottom: 1px solid #edf0f5; color: inherit; text-decoration: none; }.web-v3 .web-v3-domain-row:last-child { border-bottom: 0; }.web-v3 .web-v3-domain-row:hover { background: #fafcff; }.web-v3 .web-v3-domain-mark { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 7px; background: #edf3ff; color: #4f7ff3; }.web-v3 .web-v3-domain-info { min-width: 0; }.web-v3 .web-v3-domain-info strong, .web-v3 .web-v3-domain-info small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.web-v3 .web-v3-domain-info strong { color: #26364d; font-size: 13px; }.web-v3 .web-v3-domain-info small { margin-top: 5px; color: #8b96a6; font-size: 11px; }.web-v3 .web-v3-domain-tags { display: flex; gap: 5px; }.web-v3 .web-v3-domain-tags em { padding: 3px 5px; border-radius: 3px; background: #f3f6fa; color: #718096; font-size: 10px; font-style: normal; }.web-v3 .web-v3-domain-price { text-align: right; }.web-v3 .web-v3-domain-price small { margin-right: 3px; color: #a0a9b7; font-size: 10px; }.web-v3 .web-v3-domain-price strong { color: #3d6fe4; font-size: 14px; }.web-v3 .row-arrow { color: #b2bdca; font-size: 10px; }.web-v3 .web-v3-empty { padding: 32px; color: #8c98a8; text-align: center; font-size: 13px; }
.web-v3 .web-v3-guest-note, .web-v3 .web-v3-guest-shop { display: flex; align-items: center; gap: 12px; padding: 15px 17px; border: 1px solid #e1e7f0; border-radius: 8px; background: #fff; color: #718096; font-size: 13px; }.web-v3 .web-v3-guest-note { margin-bottom: 26px; }.web-v3 .web-v3-guest-note > i { color: #6587d9; }.web-v3 .web-v3-guest-note .btn { margin-left: auto; }.web-v3 .web-v3-guest-shop { justify-content: space-between; margin-top: 8px; }.web-v3 .web-v3-guest-shop h2 { margin: 2px 0 5px; color: #25344a; font-size: 16px; }.web-v3 .web-v3-guest-shop p { margin: 0; color: #8793a5; font-size: 12px; }
.web-v3 .web-v3-page-heading { align-items: center; margin-bottom: 20px; }.web-v3 .web-v3-page-heading .section-kicker { margin-bottom: 7px; }.web-v3 .web-v3-dashboard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.web-v3 .web-v3-panel { min-height: 230px; padding: 22px; border: 1px solid #e1e7f0; border-radius: 8px; background: #fff; }.web-v3 .web-v3-panel h2 { margin: 0 0 16px; color: #25344a; font-size: 17px; }.web-v3 .web-v3-action-list a { display: flex; align-items: center; gap: 11px; min-height: 45px; border-bottom: 1px solid #edf0f5; color: #4e5e75; font-size: 13px; text-decoration: none; }.web-v3 .web-v3-action-list a:last-child { border-bottom: 0; }.web-v3 .web-v3-action-list a > i:first-child { width: 25px; color: #5c82e6; text-align: center; }.web-v3 .web-v3-action-list a > i:last-child { margin-left: auto; color: #b2bdca; font-size: 10px; }.web-v3 .web-v3-account-line { display: flex; justify-content: space-between; gap: 15px; padding: 12px 0; border-bottom: 1px solid #edf0f5; color: #8793a5; font-size: 12px; }.web-v3 .web-v3-account-line:last-child { border-bottom: 0; }.web-v3 .web-v3-account-line strong { overflow: hidden; color: #33435b; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 900px) { .web-v3 .web-v3-service-strip, .web-v3 .web-v3-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }.web-v3 .web-v3-domain-row { grid-template-columns: 38px minmax(0, 1fr) auto 14px; }.web-v3 .web-v3-domain-tags { display: none; } }
@media (max-width: 640px) { .admin-v3 .admin-v3-overview-head, .web-v3 .web-v3-welcome, .web-v3 .web-v3-page-heading, .web-v3 .web-v3-guest-shop { align-items: flex-start; flex-direction: column; }.admin-v3 .admin-v3-live { align-self: flex-start; }.web-v3 .web-v3-welcome { padding: 20px; }.web-v3 .web-v3-welcome h1 { font-size: 22px; }.web-v3 .web-v3-service-strip, .web-v3 .web-v3-metrics { gap: 8px; }.web-v3 .web-v3-service-strip > div { min-height: 58px; padding: 9px; }.web-v3 .web-v3-service-strip strong { font-size: 11px; }.web-v3 .web-v3-service-strip small { font-size: 10px; }.web-v3 .web-v3-metric { min-height: 78px; padding: 11px; gap: 7px; }.web-v3 .metric-icon { width: 30px; height: 30px; flex-basis: 30px; font-size: 12px; }.web-v3 .web-v3-metric strong { font-size: 17px; }.web-v3 .web-v3-metric small { font-size: 10px; }.web-v3 .web-v3-dashboard-grid { grid-template-columns: 1fr; }.web-v3 .web-v3-panel { padding: 17px; }.web-v3 .web-v3-domain-row { gap: 8px; padding: 9px 10px; }.web-v3 .web-v3-domain-mark { width: 32px; height: 32px; }.web-v3 .web-v3-domain-price strong { font-size: 12px; }.web-v3 .web-v3-notice { align-items: flex-start; flex-direction: column; gap: 5px; }.web-v3 .web-v3-notice p { white-space: normal; } }

/* V4 follows the dense payment-console information architecture supplied as reference. */
body.admin-v3 { background: #f5f7fb !important; }
.admin-v3 .sidebar { width: 226px !important; background: #111827 !important; box-shadow: none !important; }
.admin-v3 .admin-sidebar-brand { margin: 0; padding: 17px 15px !important; background: #172033 !important; border-bottom-color: rgba(255,255,255,.08) !important; }
.admin-v3 .admin-sidebar-brand > div > div:first-child { width: 31px; height: 31px; border-radius: 6px; background: #3478f6 !important; }
.admin-v3 .admin-sidebar-brand h1 { font-size: 14px; }.admin-v3 .admin-sidebar-brand p { display: none; }
.admin-v3 .sidebar nav { padding: 10px 9px 16px; }.admin-v3 .admin-nav-section-label { padding: 16px 9px 6px; color: #66738a; font-size: 10px; }
.admin-v3 .admin-nav-group, .admin-v3 .admin-nav-top { min-height: 38px; padding: 8px 10px; border-radius: 5px !important; font-size: 13px; font-weight: 500; }
.admin-v3 .admin-nav-top.is-active, .admin-v3 .admin-nav-link.admin-nav-sub.is-active { background: #3478f6 !important; }
.admin-v3 .admin-nav-link.admin-nav-sub { padding: 7px 8px 7px 27px; border-radius: 5px !important; font-size: 12px; }.admin-v3 .admin-nav-children { margin-left: 11px !important; }
.admin-v3 .admin-shell-header { height: 52px; background: #fff; }.admin-v3 .admin-v3-header { padding: 0 20px !important; }.admin-v3 .admin-v3-title-block p { display: none; }.admin-v3 .admin-header-title { color: #27364d; font-size: 15px; }
.admin-v3 main.flex-1 { padding: 20px 24px !important; }.admin-v3 .admin-v3-dashboard { max-width: 1520px; }
.admin-v3 .admin-v3-overview-head { margin-bottom: 16px; }.admin-v3 .admin-v3-overview-head h1 { font-size: 20px; }.admin-v3 .admin-v3-overview-head p { font-size: 12px; }.admin-v3 .admin-v3-eyebrow { color: #3478f6; font-size: 10px; }.admin-v3 .admin-v3-live { border-color: #dce5f5; border-radius: 4px; background: #fff; color: #617088; font-weight: 600; }
.admin-v3 .admin-v3-stat-grid { gap: 14px !important; margin-bottom: 14px !important; }.admin-v3 .admin-v3-stat-grid .card { min-height: 116px; padding: 17px !important; border: 0; border-radius: 5px !important; box-shadow: 0 2px 8px rgba(21,36,62,.06) !important; }.admin-v3 .admin-v3-stat-grid .card:after { display: none; }.admin-v3 .admin-v3-stat-grid .card > div:nth-child(2) { color: #27364d !important; font-size: 25px; }.admin-v3 .admin-v3-stat-grid .card > div:first-child > div { width: 32px !important; height: 32px !important; border-radius: 5px !important; }.admin-v3 .admin-v4-stat-caption { display: block; margin-top: 4px; color: #a0aabd; font-size: 10px; font-weight: 400; }
.admin-v3 .admin-v3-money-grid { gap: 14px !important; margin-bottom: 16px !important; }.admin-v3 .admin-v3-money-grid > div { min-height: 98px; padding: 14px 16px !important; border: 0 !important; border-left: 0 !important; border-radius: 5px !important; box-shadow: 0 2px 8px rgba(21,36,62,.06) !important; }.admin-v3 .admin-v3-money-grid > div:nth-child(n) { background: #fff !important; }.admin-v3 .admin-v3-money-grid > div:nth-child(1) { border-top: 3px solid #2cb67d !important; }.admin-v3 .admin-v3-money-grid > div:nth-child(2) { border-top: 3px solid #3478f6 !important; }.admin-v3 .admin-v3-money-grid > div:nth-child(3) { border-top: 3px solid #f0a638 !important; }.admin-v3 .admin-v3-money-grid > div:nth-child(4) { border-top: 3px solid #8a94a6 !important; }
.admin-v3 .admin-v3-chart-card, .admin-v3 .admin-v3-activity-card { padding: 18px !important; border: 0 !important; border-radius: 5px !important; box-shadow: 0 2px 8px rgba(21,36,62,.06) !important; }.admin-v3 .admin-v3-chart-card h3, .admin-v3 .admin-v3-activity-card h3 { padding-bottom: 12px; border-bottom: 1px solid #edf0f5; color: #33435a; font-size: 14px; }.admin-v3 .table-container { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }.admin-v3 table th { background: #f7f9fc; font-size: 12px; }.admin-v3 table td { font-size: 12px; }

/* V5: the supplied reference uses a white product sidebar and a very light canvas. */
body.admin-v3 { background: #f7f8fa !important; color: #243b64 !important; }
.admin-v3 .sidebar { width: 230px !important; background: #fff !important; color: #253b61 !important; border-right: 1px solid #e6eaf0 !important; }
.admin-v3 .admin-sidebar-brand { min-height: 60px; margin: 0 !important; padding: 13px 21px !important; background: #fff !important; border-bottom: 0 !important; }
.admin-v3 .admin-sidebar-brand > div > div:first-child { width: 30px; height: 30px; border-radius: 7px; background: #5c7cff !important; box-shadow: none; }
.admin-v3 .admin-sidebar-brand h1 { color: #1b3156 !important; font-size: 16px; font-weight: 700; }.admin-v3 .admin-sidebar-brand p { display: none; }.admin-v3 .admin-sidebar-brand i { color: #fff !important; }
.admin-v3 .sidebar nav { padding: 0 0 16px !important; }.admin-v3 .sidebar nav > a, .admin-v3 .admin-nav-group { margin: 0 !important; min-height: 46px; padding: 0 22px !important; border-radius: 0 !important; color: #344b70 !important; font-size: 14px; font-weight: 500; }
.admin-v3 .admin-nav-section-label { padding: 16px 22px 6px !important; color: #8290a5 !important; font-size: 11px; letter-spacing: 0; text-transform: none; }
.admin-v3 .admin-nav-top:hover, .admin-v3 .admin-nav-group:hover, .admin-v3 .admin-nav-group[aria-expanded="true"] { background: #f5f7fc !important; color: #4d6fff !important; }.admin-v3 .admin-nav-top.is-active { position: relative; background: #eef2ff !important; color: #4b6dff !important; }.admin-v3 .admin-nav-top.is-active:before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: #5978ff; }
.admin-v3 .admin-nav-group-wrap { margin: 0 !important; }.admin-v3 .admin-nav-children { margin: 0 !important; padding: 0 !important; border: 0 !important; background: #fafbfc; }.admin-v3 .admin-nav-link.admin-nav-sub { min-height: 36px; margin: 0 !important; padding: 8px 22px 8px 50px !important; border-radius: 0 !important; color: #60728e !important; font-size: 12px; }.admin-v3 .admin-nav-link.admin-nav-sub.is-active { background: #eef2ff !important; color: #4b6dff !important; }
.admin-v3 .sidebar > div:last-child { border-top: 1px solid #edf0f5 !important; }.admin-v3 .sidebar > div:last-child a { color: #536886 !important; background: transparent !important; }
.admin-v3 .admin-shell-header { height: 58px !important; background: #fff !important; border-bottom: 1px solid #e9edf3 !important; }.admin-v3 .admin-v3-header { padding: 0 20px !important; }.admin-v3 .admin-header-title { color: #4f6080 !important; font-size: 13px; font-weight: 500; }.admin-v3 .admin-v3-title-block p { display: none; }.admin-v3 .admin-header-menu { color: #61728f !important; }.admin-v3 .admin-header-icon { display: inline-grid; width: 34px; height: 34px; place-items: center; border: 0; border-radius: 6px; background: transparent; color: #75849c; cursor: pointer; }.admin-v3 .admin-header-search { display: flex; align-items: center; width: 150px; height: 32px; gap: 7px; padding: 0 8px; border: 1px solid #e4e9f0; border-radius: 6px; color: #8a98ad; background: #fbfcfe; }.admin-v3 .admin-header-search input { min-width: 0; width: 100%; border: 0; outline: 0; color: #42546f; background: transparent; font-size: 11px; }.admin-v3 .admin-header-search kbd { padding: 2px 4px; border: 1px solid #e1e6ee; border-radius: 3px; color: #a2adbd; background: #fff; font-size: 8px; white-space: nowrap; }.admin-v3 .admin-v3-system-state { border: 0; background: transparent; color: #5970a0; font-size: 11px; }.admin-v3 .admin-v3-system-state i { color: #5978ff; }
.admin-v3 main.flex-1 { padding: 0 20px 34px !important; }.admin-v3 .admin-v3-dashboard { max-width: none; }.admin-v3 .admin-v3-overview-head { min-height: 110px; align-items: center; margin: 0 -20px 18px; padding: 18px 22px; border-bottom: 1px solid #e7ebf1; background: #fff; }.admin-v3 .admin-v3-overview-head h1 { color: #1d3257; font-size: 20px; }.admin-v3 .admin-v3-overview-head p { color: #8a98ad; }.admin-v3 .admin-v3-eyebrow { display: none; }.admin-v3 .admin-v3-live { height: 34px; border: 1px solid #dbe3f1; border-radius: 5px; background: #fff; color: #5572ff; }
.admin-v3 .admin-v3-stat-grid .card, .admin-v3 .admin-v3-money-grid > div { border: 1px solid #e3e8ef !important; border-top-width: 1px !important; border-left-width: 1px !important; border-radius: 14px !important; box-shadow: none !important; }.admin-v3 .admin-v3-stat-grid .card { min-height: 130px; padding: 19px !important; }.admin-v3 .admin-v3-stat-grid .card > div:nth-child(2) { color: #172e58 !important; font-size: 27px; }.admin-v3 .admin-v3-money-grid > div { min-height: 118px; }.admin-v3 .admin-v3-money-grid > div:nth-child(1), .admin-v3 .admin-v3-money-grid > div:nth-child(2), .admin-v3 .admin-v3-money-grid > div:nth-child(3), .admin-v3 .admin-v3-money-grid > div:nth-child(4) { border-top-color: #e3e8ef !important; }
.admin-v3 .admin-v3-chart-card, .admin-v3 .admin-v3-activity-card { border: 1px solid #e3e8ef !important; border-radius: 14px !important; box-shadow: none !important; }.admin-v3 .admin-v3-chart-card h3, .admin-v3 .admin-v3-activity-card h3 { color: #1d3257; }

/* Shared reference-console treatment for every admin route. */
.admin-v3 main .admin-page-head { margin: 0 -20px 18px; padding: 20px 22px 17px; border-bottom: 1px solid #e7ebf1; background: #fff; }
.admin-v3 main .admin-page-head h2 { color: #1d3257 !important; font-size: 20px !important; font-weight: 700 !important; }.admin-v3 main .admin-page-head p { color: #8a98ad !important; font-size: 12px !important; }.admin-v3 .admin-page-kicker { color: #5978ff !important; font-size: 10px; }.admin-v3 .admin-page-head-meta span { border-color: #e3e8ef !important; border-radius: 6px !important; color: #61728f !important; background: #fff !important; }
.admin-v3 main .card { border-color: #e3e8ef !important; border-radius: 10px !important; box-shadow: none !important; background: #fff !important; }.admin-v3 main .card:hover { border-color: #ccd7e7 !important; box-shadow: 0 3px 12px rgba(34,54,87,.05) !important; }.admin-v3 main .btn { min-height: 34px; border-radius: 6px !important; font-size: 12px; }.admin-v3 main .form-input, .admin-v3 main .form-select, .admin-v3 main textarea.form-input { border-color: #dfe5ee !important; border-radius: 6px !important; color: #354967; background: #fff !important; }.admin-v3 main .form-input:focus, .admin-v3 main .form-select:focus { border-color: #6684ff !important; box-shadow: 0 0 0 3px rgba(102,132,255,.12) !important; }.admin-v3 main .table-container { border-color: #e3e8ef !important; border-radius: 8px !important; box-shadow: none !important; }.admin-v3 main table th { padding: 11px 14px; background: #f8f9fc !important; color: #71809a !important; font-size: 11px; }.admin-v3 main table td { padding: 11px 14px; color: #3d4f6b !important; font-size: 12px; }.admin-v3 main .badge { border-radius: 4px !important; font-size: 11px; }
.admin-v3 .admin-reference-welcome { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 112px; margin-bottom: 18px; padding: 17px 22px; border: 1px solid #e3e8ef; border-radius: 10px; background: #fff; }.admin-v3 .admin-reference-user { display: flex; align-items: center; gap: 13px; }.admin-v3 .admin-reference-avatar { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 50%; background: #111; color: #fff; font-size: 22px; }.admin-v3 .admin-reference-greeting { color: #1b2f54; font-size: 17px; font-weight: 700; }.admin-v3 .admin-reference-greeting small { margin-left: 7px; color: #7d8da7; font-size: 11px; font-weight: 400; }.admin-v3 .admin-reference-status { margin-top: 7px; color: #8290a6; font-size: 11px; }.admin-v3 .admin-reference-status b { margin-left: 4px; padding: 3px 8px; border-radius: 4px; color: #25804c; background: #e8f7ed; font-weight: 600; }.admin-v3 .admin-reference-actions { display: grid; grid-template-columns: repeat(4, 70px); gap: 9px; }.admin-v3 .admin-reference-actions a { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 6px; min-height: 67px; border: 1px solid #e3e8ef; border-radius: 7px; color: #5678e9; background: #fff; font-size: 10px; text-decoration: none; }.admin-v3 .admin-reference-actions a:hover { border-color: #afc0f5; background: #f8faff; }.admin-v3 .admin-reference-actions i { font-size: 17px; }.admin-v3 .admin-reference-actions span { color: #647592; }

/* Night mode is persisted in localStorage and applies to every backend page. */
html.admin-dark body.admin-v3, html.admin-dark body.admin-v3 main { background: #0f1726 !important; color: #dce5f5 !important; } html.admin-dark .admin-v3 .sidebar { background: #111b2d !important; border-color: #243149 !important; } html.admin-dark .admin-v3 .admin-sidebar-brand, html.admin-dark .admin-v3 .admin-shell-header { background: #152137 !important; border-color: #263652 !important; } html.admin-dark .admin-v3 .admin-sidebar-brand h1, html.admin-dark .admin-v3 .admin-header-title, html.admin-dark .admin-v3 .admin-v3-overview-head h1, html.admin-dark .admin-v3 main .admin-page-head h2 { color: #edf3ff !important; } html.admin-dark .admin-v3 .admin-nav-group, html.admin-dark .admin-v3 .admin-nav-top, html.admin-dark .admin-v3 .admin-nav-link.admin-nav-sub { color: #aab9d2 !important; } html.admin-dark .admin-v3 .admin-nav-top:hover, html.admin-dark .admin-v3 .admin-nav-group:hover, html.admin-dark .admin-v3 .admin-nav-group[aria-expanded="true"], html.admin-dark .admin-v3 .admin-nav-top.is-active, html.admin-dark .admin-v3 .admin-nav-link.admin-nav-sub.is-active { background: #20304c !important; color: #82a0ff !important; } html.admin-dark .admin-v3 main .admin-page-head, html.admin-dark .admin-v3 .admin-v3-overview-head, html.admin-dark .admin-v3 main .card, html.admin-dark .admin-v3 .admin-reference-welcome, html.admin-dark .admin-v3 .admin-reference-actions a, html.admin-dark .admin-v3 .admin-v3-live, html.admin-dark .admin-v3 .admin-header-search { background: #162238 !important; border-color: #2a3a56 !important; } html.admin-dark .admin-v3 .admin-reference-greeting, html.admin-dark .admin-v3 .admin-v3-overview-head p, html.admin-dark .admin-v3 main .admin-page-head p, html.admin-dark .admin-v3 .admin-page-head-meta span, html.admin-dark .admin-v3 main table td { color: #bdcbe0 !important; } html.admin-dark .admin-v3 .admin-reference-actions span, html.admin-dark .admin-v3 .admin-v4-stat-caption { color: #98a9c4 !important; } html.admin-dark .admin-v3 main .form-input, html.admin-dark .admin-v3 main .form-select, html.admin-dark .admin-v3 main textarea.form-input { border-color: #334766 !important; color: #e0e9f7 !important; background: #101b2e !important; } html.admin-dark .admin-v3 main table th { background: #1b2a42 !important; color: #a9b9d1 !important; border-color: #2b3b56 !important; } html.admin-dark .admin-v3 main table td, html.admin-dark .admin-v3 main .table-container { border-color: #2b3b56 !important; } html.admin-dark .admin-v3 .admin-reference-actions a span { color: #b5c4dc; }
@media (max-width: 768px) { .admin-v3 .admin-reference-welcome { align-items: flex-start; flex-direction: column; padding: 15px; }.admin-v3 .admin-reference-actions { width: 100%; grid-template-columns: repeat(4, minmax(0, 1fr)); }.admin-v3 .admin-reference-actions a { min-height: 60px; }.admin-v3 main .admin-page-head { margin-left: -12px; margin-right: -12px; padding: 15px 14px; } }

/* Reference dashboard calibration. Keep the visual rhythm close to the supplied art-card UI. */
.admin-v3 .admin-v3-overview-head { display: none !important; }
.admin-v3 main.flex-1 { padding: 0 20px 36px !important; }
.admin-v3 .admin-v3-dashboard { width: 100%; padding-top: 18px; }
.admin-v3 .admin-reference-welcome { min-height: 112px; margin: 0 0 18px; padding: 18px 22px; border: 1px solid #e4e8ee; border-radius: 14px; background: #fff; box-shadow: none; }
.admin-v3 .admin-reference-avatar { width: 58px; height: 58px; font-size: 21px; }
.admin-v3 .admin-reference-greeting { font-size: 17px; }.admin-v3 .admin-reference-greeting small { color: #7b8ca8; }
.admin-v3 .admin-reference-actions { grid-template-columns: repeat(4, 70px); gap: 10px; }.admin-v3 .admin-reference-actions a { min-height: 68px; border-color: #e1e6ed; border-radius: 8px; background: #fff; }
.admin-v3 .admin-v3-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 20px !important; margin-bottom: 18px !important; }
.admin-v3 .admin-v3-stat-grid .card { min-height: 130px; padding: 19px !important; border: 1px solid #e4e8ee !important; border-radius: 14px !important; box-shadow: none !important; }
.admin-v3 .admin-v3-stat-grid .card > div:first-child { margin-bottom: 11px; }.admin-v3 .admin-v3-stat-grid .card > div:first-child > div { width: 34px !important; height: 34px !important; border-radius: 9px !important; }.admin-v3 .admin-v3-stat-grid .card > div:nth-child(2) { font-size: 26px; }.admin-v3 .admin-v3-stat-grid .card > div:last-child { font-size: 12px; }
.admin-v3 .admin-v3-money-grid { gap: 20px !important; margin-bottom: 20px !important; }.admin-v3 .admin-v3-money-grid > div { min-height: 108px; padding: 16px 19px !important; border: 1px solid #e4e8ee !important; border-radius: 14px !important; box-shadow: none !important; }.admin-v3 .admin-v3-money-grid > div > div:first-child { margin-bottom: 7px; }.admin-v3 .admin-v3-money-grid > div > div:first-child > div { width: 30px; height: 30px; }
.admin-v3 .admin-v3-chart-grid { grid-template-columns: minmax(0, 2fr) minmax(300px, 1.15fr) !important; gap: 20px !important; margin-bottom: 20px !important; }.admin-v3 .admin-v3-chart-card, .admin-v3 .admin-v3-activity-card { min-width: 0; padding: 19px !important; border: 1px solid #e4e8ee !important; border-radius: 14px !important; box-shadow: none !important; }.admin-v3 .admin-v3-chart-card h3, .admin-v3 .admin-v3-activity-card h3 { margin-bottom: 15px !important; padding-bottom: 12px; border-bottom: 0; color: #1c335c; font-size: 14px; }.admin-v3 .admin-v3-chart-card canvas { height: 250px !important; }.admin-v3 .admin-v3-announcement-card { min-height: 330px; }.admin-v3 .admin-v3-panel-title { display: flex; align-items: flex-start; justify-content: space-between; border-bottom: 1px solid #edf0f4; }.admin-v3 .admin-v3-panel-title h3 { margin: 0 !important; padding: 0 0 14px; }.admin-v3 .admin-v3-panel-title h3 i { margin-right: 8px; color: #5c7cff; }.admin-v3 .admin-v3-panel-title > span { color: #9aa6b9; font-size: 11px; }.admin-v3 .admin-v3-announcement-item { display: flex; gap: 10px; padding: 19px 0; border-bottom: 1px solid #edf0f4; }.admin-v3 .admin-v3-announcement-item > i { margin-top: 2px; color: #6583ff; }.admin-v3 .admin-v3-announcement-item strong, .admin-v3 .admin-v3-announcement-item small { display: block; }.admin-v3 .admin-v3-announcement-item strong { color: #405675; font-size: 12px; line-height: 1.65; }.admin-v3 .admin-v3-announcement-item small { margin-top: 7px; color: #9aa7ba; font-size: 10px; }.admin-v3 .admin-v3-announcement-empty { display: flex; align-items: center; justify-content: center; flex-direction: column; min-height: 200px; gap: 11px; color: #a0adbf; font-size: 12px; }.admin-v3 .admin-v3-announcement-empty i { font-size: 30px; color: #d5dbe5; }.admin-v3 .admin-v3-admin-links { display: flex; gap: 8px; margin-top: 18px; }.admin-v3 .admin-v3-admin-links a { flex: 1; padding: 8px 4px; border: 1px solid #e4e8ee; border-radius: 6px; color: #5e7598; text-align: center; font-size: 11px; text-decoration: none; }.admin-v3 .admin-v3-admin-links i { margin-right: 4px; color: #6b87ed; }
.admin-v3 .admin-v3-activity-grid { gap: 20px !important; }.admin-v3 .admin-v3-activity-card table { border: 1px solid #e4e8ee; border-radius: 8px; }.admin-v3 .admin-v3-activity-card table th { padding: 10px 12px; }.admin-v3 .admin-v3-activity-card table td { padding: 10px 12px; }
html.admin-dark { background: #0f1726; } html.admin-dark .admin-v3 .admin-v3-dashboard { background: #0f1726; }
@media (max-width: 1100px) { .admin-v3 .admin-v3-stat-grid, .admin-v3 .admin-v3-money-grid { gap: 12px !important; }.admin-v3 .admin-v3-chart-grid { grid-template-columns: 1fr !important; } }
@media (max-width: 768px) { .admin-v3 main.flex-1 { padding: 0 12px 80px !important; }.admin-v3 .admin-v3-dashboard { padding-top: 12px; }.admin-v3 .admin-reference-welcome { margin-bottom: 12px; padding: 15px; }.admin-v3 .admin-v3-stat-grid, .admin-v3 .admin-v3-money-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }.admin-v3 .admin-v3-stat-grid .card { min-height: 112px; padding: 14px !important; }.admin-v3 .admin-v3-money-grid > div { min-height: 100px; padding: 13px !important; }.admin-v3 .admin-v3-chart-grid, .admin-v3 .admin-v3-activity-grid { gap: 12px !important; }.admin-v3 .admin-v3-chart-card canvas { height: 210px !important; }.admin-v3 .admin-v3-announcement-card { min-height: 280px; } }

/* Final theme corrections: no leftover light blocks in night mode. */
.admin-v3 .admin-nav-children { background: #fff !important; }
.admin-v3 .admin-nav-group[aria-expanded="true"] { background: #eef2ff !important; color: #4b6dff !important; }
.admin-v3 .admin-v3-dashboard > .admin-v3-overview-head { display: none !important; }
html.admin-dark body.admin-v3, html.admin-dark body.admin-v3 main, html.admin-dark .admin-v3 .admin-nav-children { background: #0f1726 !important; }
html.admin-dark .admin-v3 main .card, html.admin-dark .admin-v3 .admin-reference-welcome, html.admin-dark .admin-v3 .admin-reference-actions a, html.admin-dark .admin-v3 .admin-v3-money-grid > div, html.admin-dark .admin-v3 .admin-v3-chart-card, html.admin-dark .admin-v3 .admin-v3-activity-card { background: #162238 !important; border-color: #2a3a56 !important; }
html.admin-dark .admin-v3 main table, html.admin-dark .admin-v3 main .table-container { background: #101b2e !important; border-color: #2a3a56 !important; }
html.admin-dark .admin-v3 main table th { background: #1b2a42 !important; border-color: #2a3a56 !important; color: #aebdd4 !important; }
html.admin-dark .admin-v3 main table td { background: #101b2e !important; border-color: #2a3a56 !important; color: #c5d1e3 !important; }
html.admin-dark .admin-v3 .admin-nav-children .admin-nav-link.admin-nav-sub { background: transparent !important; color: #aab9d2 !important; }
html.admin-dark .admin-v3 .admin-nav-group[aria-expanded="true"] { background: #20304c !important; color: #82a0ff !important; }
html.admin-dark .admin-v3 .admin-v3-chart-card h3, html.admin-dark .admin-v3 .admin-v3-activity-card h3, html.admin-dark .admin-v3 .admin-v3-panel-title h3 { color: #dbe7f8 !important; }

/* Reference-like split authentication screen. */
.portal-login {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(420px, 1.2fr) minmax(440px, .8fr);
    background: #fff;
}

.portal-login-visual {
    position: relative;
    min-height: 100vh;
    padding: 28px 38px;
    overflow: hidden;
    color: #fff;
    background: #172e58 url('/assets/portal-v2/console-login-hero.webp') center/cover no-repeat;
}

.portal-login-visual::before { content: ''; position: absolute; inset: 0; background: rgba(12, 35, 78, .56); }
.portal-login-brand { position: relative; z-index: 1; display: flex; gap: 12px; align-items: center; font-size: 18px; font-weight: 700; }
.portal-login-brand-mark { display: inline-grid; width: 34px; height: 34px; place-items: center; border-radius: 8px; background: #5b83ef; }
.portal-login-copy { position: absolute; z-index: 1; right: 12%; bottom: 12%; max-width: 380px; }
.portal-login-copy h2 { margin: 0 0 10px; font-size: 32px; line-height: 1.25; }
.portal-login-copy p { margin: 0; color: rgba(255,255,255,.84); line-height: 1.75; }
.portal-login-form { display: flex; align-items: center; justify-content: center; padding: 42px; }
.portal-login-panel { width: min(100%, 410px); }
.portal-login-panel h1 { margin: 0; color: #26344d; font-size: 32px; line-height: 1.2; }
.portal-login-panel .portal-login-subtitle { margin: 8px 0 28px; color: #8390a4; font-size: 14px; }
.portal-login-panel .input-wrap input { min-height: 44px; border-radius: 6px; background: #fff; }
.portal-login-panel .login-btn { min-height: 42px; border-radius: 6px; background: #5b83ef; box-shadow: none; }
.portal-login-panel .input-group label { color: #59677a; }

@media (max-width: 880px) {
    .portal-login { display: block; }
    .portal-login-visual { min-height: 180px; padding: 24px; }
    .portal-login-copy { display: none; }
    .portal-login-form { min-height: calc(100vh - 180px); padding: 32px 24px; }
}

@media (max-width: 768px) {
    .admin-v2 .sidebar { width: 244px !important; }
    .admin-v2 main.flex-1 { padding: 14px !important; }
    .web-v2 .app { display: block; }
    .web-v2 .sidebar { display: none; }
    .web-v2 .topbar { height: 54px; padding: 0 16px; }
    .web-v2 .page { padding: 16px 16px 88px; }
    .web-v2 .mobile-tabs { border-top-color: var(--v2-line); background: #fff; }
}

/* ui-system.css is intentionally kept for older pages. Its shared rules use
 * !important, so the V2 contract is repeated here at the same priority. */
.admin-v2.admin-ui,
.web-v2.web-ui { background: var(--v2-canvas) !important; color: var(--v2-ink) !important; }
.admin-v2 .sidebar { width: 244px !important; background: var(--v2-navy) !important; border-right: 0 !important; }
.admin-v2 .admin-sidebar-brand { margin: 0 14px 10px !important; padding: 19px 8px 17px !important; border: 0 !important; border-bottom: 1px solid rgba(255,255,255,.12) !important; border-radius: 0 !important; background: transparent !important; }
.admin-v2 .admin-nav-group,
.admin-v2 .admin-nav-top { border: 0 !important; border-radius: 7px !important; color: #b7c2d3 !important; }
.admin-v2 .admin-nav-top:hover,
.admin-v2 .admin-nav-group:hover,
.admin-v2 .admin-nav-group[aria-expanded="true"] { background: rgba(255,255,255,.07) !important; color: #fff !important; }
.admin-v2 .admin-nav-top.is-active,
.admin-v2 .admin-nav-link.admin-nav-sub.is-active { background: #4f7ff3 !important; color: #fff !important; border-color: #4f7ff3 !important; }
.admin-v2 .admin-nav-link.admin-nav-sub { color: #9eacc1 !important; border-color: transparent !important; }
.admin-v2 .admin-shell-header { height: 58px !important; background: #fff !important; border-bottom: 1px solid var(--v2-line) !important; box-shadow: none !important; }
.admin-v2 .admin-header-title { color: var(--v2-ink) !important; letter-spacing: 0 !important; }
.admin-v2 main.flex-1 { max-width: none !important; padding: 22px 26px !important; }
.admin-v2 .card,
.admin-v2 .table-container,
.admin-v2 .modal-content { border: 1px solid var(--v2-line) !important; border-radius: 8px !important; box-shadow: var(--v2-shadow) !important; }
.admin-v2 .btn { border-radius: 6px !important; box-shadow: none !important; }
.admin-v2 .btn-primary { background: var(--v2-blue) !important; border-color: var(--v2-blue) !important; }
.admin-v2 table th { background: #f9fafc !important; color: #65758b !important; }

.web-v2 .app { grid-template-columns: 232px minmax(0,1fr) !important; }
.web-v2 .sidebar { background: #fff !important; color: var(--v2-ink) !important; border-right: 1px solid var(--v2-line) !important; }
.web-v2 .brand { margin: 0 6px 16px !important; padding: 7px 5px 17px !important; border: 0 !important; border-bottom: 1px solid var(--v2-line) !important; border-radius: 0 !important; background: transparent !important; }
.web-v2 .brand-logo { background: var(--v2-blue) !important; color: #fff !important; border-radius: 8px !important; }
.web-v2 .brand-title { color: var(--v2-ink) !important; }
.web-v2 .nav a { color: #59677a !important; border: 0 !important; border-radius: 6px !important; }
.web-v2 .nav a:hover,
.web-v2 .nav a.active { background: var(--v2-blue-soft) !important; color: #3f6ee4 !important; border-color: transparent !important; }
.web-v2 .topbar { height: 58px !important; background: #fff !important; border-bottom: 1px solid var(--v2-line) !important; box-shadow: none !important; }
.web-v2 .topbar strong { color: var(--v2-ink) !important; letter-spacing: 0 !important; }
.web-v2 .page { max-width: 1360px !important; padding: 24px 26px 36px !important; }
.web-v2 .card,
.web-v2 .hero,
.web-v2 .toolbar-card,
.web-v2 .plan-card,
.web-v2 .record-card,
.web-v2 .message-card,
.web-v2 .locked-preview,
.web-v2 .empty { background: #fff !important; border: 1px solid var(--v2-line) !important; border-radius: 8px !important; box-shadow: var(--v2-shadow) !important; }
.web-v2 .btn { border-radius: 6px !important; background: var(--v2-blue) !important; border-color: var(--v2-blue) !important; box-shadow: none !important; }
.web-v2 .btn.secondary { background: #fff !important; border-color: #d9e1ec !important; color: #4f5e73 !important; }
.web-v2 .input,
.web-v2 .select,
.web-v2 .textarea { border-radius: 6px !important; border-color: #dfe5ee !important; }
.web-v2 table th { background: #f9fafc !important; color: #66758a !important; }

@media (max-width: 768px) {
    .admin-v2 main.flex-1 { padding: 14px !important; }
    .web-v2 .app { display: block !important; }
    .web-v2 .sidebar { display: none !important; }
    .web-v2 .topbar { height: 54px !important; padding: 0 16px !important; }
    .web-v2 .page { padding: 16px 16px 88px !important; }
}

/* Final admin console contract. This block intentionally comes last so the
 * legacy admin-v2 rules cannot repaint the reference console afterwards. */
body.admin-v3 { background: #f5f7fb !important; color: #243b64 !important; }
body.admin-v3 > .flex { background: #f5f7fb !important; }
.admin-v3 .sidebar {
    width: 230px !important;
    flex-basis: 230px !important;
    background: #fff !important;
    color: #344b70 !important;
    border-right: 1px solid #e5e9f0 !important;
    box-shadow: none !important;
}
.admin-v3 .admin-sidebar-brand {
    min-height: 60px !important;
    margin: 0 !important;
    padding: 13px 21px !important;
    background: #fff !important;
    border-bottom: 1px solid #edf0f5 !important;
}
.admin-v3 .admin-sidebar-brand > div > div:first-child {
    width: 30px !important;
    height: 30px !important;
    border-radius: 7px !important;
    background: #5c7cff !important;
    box-shadow: none !important;
}
.admin-v3 .admin-sidebar-brand h1 { color: #1b3156 !important; font-size: 16px !important; font-weight: 700 !important; }
.admin-v3 .admin-sidebar-brand p { display: none !important; }
.admin-v3 .sidebar nav { padding: 9px 0 16px !important; }
.admin-v3 .sidebar nav > a,
.admin-v3 .admin-nav-group {
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 22px !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #344b70 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}
.admin-v3 .admin-nav-section-label { padding: 16px 22px 6px !important; color: #8290a5 !important; font-size: 11px !important; }
.admin-v3 .admin-nav-top:hover,
.admin-v3 .admin-nav-group:hover,
.admin-v3 .admin-nav-group[aria-expanded="true"] { background: #f5f7fc !important; color: #4d6fff !important; }
.admin-v3 .admin-nav-top.is-active,
.admin-v3 .admin-nav-link.admin-nav-sub.is-active { background: #eef2ff !important; color: #4b6dff !important; }
.admin-v3 .admin-nav-top.is-active { position: relative; }
.admin-v3 .admin-nav-top.is-active::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: #5978ff; }
.admin-v3 .admin-nav-children { margin: 0 !important; padding: 0 !important; background: #fff !important; border: 0 !important; }
.admin-v3 .admin-nav-link.admin-nav-sub { min-height: 35px !important; margin: 0 !important; padding: 8px 22px 8px 50px !important; border: 0 !important; border-radius: 0 !important; color: #60728e !important; font-size: 12px !important; }
.admin-v3 .admin-nav-link.admin-nav-sub:hover { background: #f8faff !important; color: #4d6fff !important; }
.admin-v3 .sidebar > div:last-child { border-top: 1px solid #edf0f5 !important; }
.admin-v3 .sidebar > div:last-child a { color: #536886 !important; background: transparent !important; }

.admin-v3 .admin-shell-header {
    height: 58px !important;
    background: #fff !important;
    border-bottom: 1px solid #e9edf3 !important;
    box-shadow: none !important;
}
.admin-v3 .admin-v3-header { padding: 0 20px !important; }
.admin-v3 .admin-header-title { color: #4f6080 !important; font-size: 13px !important; font-weight: 500 !important; }
.admin-v3 .admin-header-menu, .admin-v3 .admin-header-icon { color: #73829b !important; }
.admin-v3 .admin-header-icon:hover, .admin-v3 .admin-header-menu:hover { background: #f3f6fb !important; color: #4b6dff !important; }
.admin-v3 .admin-header-search { background: #fbfcfe !important; border-color: #e4e9f0 !important; }
.admin-v3 .admin-header-search input { color: #42546f !important; }
.admin-v3 .admin-v3-system-state { color: #5970a0 !important; }
.admin-v3 main.flex-1 { min-width: 0; padding: 0 20px 36px !important; background: #f5f7fb !important; }
.admin-v3 .admin-v3-dashboard { width: 100%; max-width: 1520px; padding-top: 18px; }

.admin-v3 .admin-reference-welcome,
.admin-v3 main .card,
.admin-v3 .admin-v3-money-grid > div {
    border: 1px solid #e2e7ef !important;
    border-radius: 14px !important;
    box-shadow: none !important;
}
.admin-v3 .admin-reference-welcome { min-height: 112px; margin: 0 0 18px !important; padding: 18px 22px !important; background: #fff !important; }
.admin-v3 .admin-reference-actions { grid-template-columns: repeat(4, 70px) !important; gap: 10px !important; }
.admin-v3 .admin-reference-actions a { min-height: 68px !important; border: 1px solid #e1e6ed !important; border-radius: 8px !important; background: #fff !important; }
.admin-v3 .admin-v3-stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 14px !important; margin-bottom: 14px !important; }
.admin-v3 .admin-v3-stat-grid .card { min-height: 130px !important; padding: 19px !important; }
.admin-v3 .admin-v3-money-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 14px !important; margin-bottom: 18px !important; }
.admin-v3 .admin-v3-money-grid > div { min-height: 108px; padding: 16px 19px !important; background: #fff !important; }
.admin-v3 .admin-v3-chart-grid { grid-template-columns: minmax(0, 2fr) minmax(300px, 1.15fr) !important; gap: 14px !important; margin-bottom: 18px !important; }
.admin-v3 .admin-v3-chart-card, .admin-v3 .admin-v3-activity-card { min-width: 0; padding: 18px !important; background: #fff !important; }
.admin-v3 .admin-v3-chart-card h3, .admin-v3 .admin-v3-activity-card h3 { color: #1d3257 !important; font-size: 14px !important; }
.admin-v3 .admin-v3-chart-card canvas { height: 230px !important; }
.admin-v3 .admin-v3-panel-title { align-items: center !important; gap: 12px; }
.admin-v3 .admin-v3-announcement-item { align-items: flex-start; gap: 11px !important; }
.admin-v3 .admin-v3-announcement-item > div { min-width: 0; flex: 1; }
.admin-v3 .admin-v3-announcement-item strong { overflow-wrap: anywhere; }
.admin-v3 .admin-v3-admin-links { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px !important; margin-top: 18px !important; }
.admin-v3 .admin-v3-admin-links a { display: flex !important; align-items: center; justify-content: center; gap: 5px; min-width: 0; padding: 9px 5px !important; white-space: nowrap; }
.admin-v3 .admin-v3-admin-links a i { margin-right: 0 !important; }
.admin-v3 .admin-v3-activity-grid { gap: 14px !important; }
.admin-v3 .admin-v3-activity-card table { width: 100%; border: 1px solid #e2e7ef; border-radius: 8px; overflow: hidden; }
.admin-v3 .admin-v3-activity-card .table-container { border: 0 !important; background: transparent !important; }

.admin-v3 main .admin-page-head { margin: 0 -20px 18px !important; padding: 20px 22px 17px !important; border-bottom: 1px solid #e7ebf1 !important; background: #fff !important; }
.admin-v3 main .admin-page-head h2 { color: #1d3257 !important; font-size: 20px !important; }
.admin-v3 main .admin-page-head p { color: #8a98ad !important; }
.admin-v3 main .table-container { border-color: #e2e7ef !important; background: #fff !important; }
.admin-v3 main table th { background: #f8faff !important; color: #70809a !important; border-color: #e7ebf1 !important; }
.admin-v3 main table td { background: #fff !important; color: #3d4f6b !important; border-color: #edf0f4 !important; }

html.admin-dark body.admin-v3,
html.admin-dark body.admin-v3 > .flex,
html.admin-dark .admin-v3 main.flex-1 { background: #0b1220 !important; color: #dce5f5 !important; }
html.admin-dark .admin-v3 .sidebar,
html.admin-dark .admin-v3 .admin-sidebar-brand,
html.admin-dark .admin-v3 .admin-nav-children { background: #111b2d !important; border-color: #263652 !important; }
html.admin-dark .admin-v3 .admin-sidebar-brand h1 { color: #edf3ff !important; }
html.admin-dark .admin-v3 .sidebar nav > a,
html.admin-dark .admin-v3 .admin-nav-group { color: #aab9d2 !important; }
html.admin-dark .admin-v3 .admin-nav-top:hover,
html.admin-dark .admin-v3 .admin-nav-group:hover,
html.admin-dark .admin-v3 .admin-nav-group[aria-expanded="true"],
html.admin-dark .admin-v3 .admin-nav-link.admin-nav-sub:hover { background: #20304c !important; color: #82a0ff !important; }
html.admin-dark .admin-v3 .admin-nav-top.is-active,
html.admin-dark .admin-v3 .admin-nav-link.admin-nav-sub.is-active { background: #20304c !important; color: #82a0ff !important; }
html.admin-dark .admin-v3 .admin-shell-header { background: #111b2d !important; border-color: #263652 !important; }
html.admin-dark .admin-v3 .admin-header-title,
html.admin-dark .admin-v3 .admin-header-menu,
html.admin-dark .admin-v3 .admin-header-icon { color: #b8c7dd !important; }
html.admin-dark .admin-v3 .admin-header-search { background: #17243a !important; border-color: #334766 !important; }
html.admin-dark .admin-v3 .admin-header-search input { color: #dce5f5 !important; }
html.admin-dark .admin-v3 .admin-reference-welcome,
html.admin-dark .admin-v3 main .card,
html.admin-dark .admin-v3 .admin-reference-actions a,
html.admin-dark .admin-v3 .admin-v3-money-grid > div,
html.admin-dark .admin-v3 .admin-v3-chart-card,
html.admin-dark .admin-v3 .admin-v3-activity-card,
html.admin-dark .admin-v3 main .admin-page-head { background: #162238 !important; border-color: #2a3a56 !important; }
html.admin-dark .admin-v3 .admin-reference-greeting,
html.admin-dark .admin-v3 .admin-v3-chart-card h3,
html.admin-dark .admin-v3 .admin-v3-activity-card h3,
html.admin-dark .admin-v3 .admin-v3-panel-title h3,
html.admin-dark .admin-v3 main .admin-page-head h2 { color: #e4edf9 !important; }
html.admin-dark .admin-v3 .admin-reference-greeting small,
html.admin-dark .admin-v3 .admin-reference-status,
html.admin-dark .admin-v3 .admin-reference-actions span,
html.admin-dark .admin-v3 .admin-v4-stat-caption,
html.admin-dark .admin-v3 .admin-v3-panel-title > span { color: #9fb0ca !important; }
html.admin-dark .admin-v3 .admin-v3-announcement-item strong { color: #c8d6e9 !important; }
html.admin-dark .admin-v3 main .table-container,
html.admin-dark .admin-v3 main table { background: #101b2e !important; border-color: #2a3a56 !important; }
html.admin-dark .admin-v3 main table th { background: #1b2a42 !important; color: #aebdd4 !important; border-color: #2a3a56 !important; }
html.admin-dark .admin-v3 main table td { background: #101b2e !important; color: #c5d1e3 !important; border-color: #2a3a56 !important; }
html.admin-dark .admin-v3 main .form-input,
html.admin-dark .admin-v3 main .form-select,
html.admin-dark .admin-v3 main textarea.form-input { background: #101b2e !important; border-color: #334766 !important; color: #e0e9f7 !important; }
html.admin-dark body.admin-v3 #statCards > div,
html.admin-dark body.admin-v3 #statCards + .grid > div { background: #162238 !important; border-color: #2a3a56 !important; }
html.admin-dark body.admin-v3 #statCards > div [id^="stat"],
html.admin-dark body.admin-v3 #statCards + .grid > div [id^="stat"] { color: #e0e9f7 !important; }
html.admin-dark .admin-v3 main canvas { background: #101b2e !important; border-radius: 10px; }
body.admin-ui.admin-v2.admin-v3 .sidebar .admin-nav-group,
body.admin-ui.admin-v2.admin-v3 .sidebar .admin-nav-top { color: #344b70 !important; }
html.admin-dark body.admin-ui.admin-v2.admin-v3 .sidebar .admin-nav-group,
html.admin-dark body.admin-ui.admin-v2.admin-v3 .sidebar .admin-nav-top { color: #aab9d2 !important; }
html.admin-dark body.admin-ui.admin-v2.admin-v3 #statCards > div div:last-child,
html.admin-dark body.admin-ui.admin-v2.admin-v3 #statCards + .grid > div div:last-child,
html.admin-dark body.admin-ui.admin-v2.admin-v3 #statCards > div .admin-v4-stat-caption { color: #aebdd4 !important; }
html.admin-dark body.admin-ui.admin-v2.admin-v3 #revenueChart,
html.admin-dark body.admin-ui.admin-v2.admin-v3 #userChart { background: #101b2e !important; border-color: #2a3a56 !important; }

/* Keep expandable navigation calm in light mode, including its open state. */
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .sidebar .admin-nav-group:hover,
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .sidebar .admin-nav-group[aria-expanded="true"] {
    background: #f5f7fc !important;
    color: #4d6fff !important;
}
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .sidebar .admin-nav-group:hover .admin-nav-chevron,
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .sidebar .admin-nav-group[aria-expanded="true"] .admin-nav-chevron {
    color: #4d6fff !important;
}

/* Day mode must use the light reference console across the whole workspace. */
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3,
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 > .flex,
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 main.flex-1 {
    background: #f6f8fc !important;
    color: #263b5f !important;
}
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .sidebar,
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .admin-sidebar-brand,
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .admin-nav-children {
    background: #fff !important;
    color: #344b70 !important;
    border-color: #e5e9f0 !important;
    box-shadow: none !important;
}
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .admin-sidebar-brand h1 { color: #1b3156 !important; }
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .admin-sidebar-brand p { color: #8290a5 !important; }
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .admin-nav-section-label { color: #8290a5 !important; }
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .admin-nav-top,
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .admin-nav-group { color: #344b70 !important; }
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .admin-nav-top.is-active,
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .admin-nav-link.admin-nav-sub.is-active { background: #eef2ff !important; color: #4b6dff !important; }
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .sidebar a.admin-nav-top.is-active {
    background: #eef2ff !important;
    color: #4b6dff !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .sidebar a.admin-nav-top.is-active i { color: #4b6dff !important; }
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .sidebar .admin-nav-link.admin-nav-top.is-active {
    background: #eef2ff !important;
    color: #4b6dff !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .sidebar .admin-nav-link.admin-nav-top.is-active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: #5978ff;
}
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .sidebar a.admin-nav-top:hover,
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .sidebar .admin-nav-group:hover {
    background: #f0f3ff !important;
    color: #4b6dff !important;
    border-color: transparent !important;
    box-shadow: none !important;
}
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .sidebar a.admin-nav-top:hover i,
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .sidebar .admin-nav-group:hover i {
    color: #4b6dff !important;
}
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .admin-nav-link.admin-nav-sub { color: #60728e !important; }
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .admin-reference-welcome,
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 main .card,
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .admin-v3-money-grid > div,
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .admin-v3-chart-card,
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 .admin-v3-activity-card,
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 main .table-container {
    background: #fff !important;
    background-image: none !important;
    border-color: #e2e7ef !important;
    box-shadow: none !important;
}
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 #revenueChart,
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3 #userChart {
    background: #fbfcfe !important;
    border-color: #e5eaf1 !important;
}

@media (max-width: 1100px) {
    .admin-v3 .admin-v3-stat-grid, .admin-v3 .admin-v3-money-grid { gap: 10px !important; }
    .admin-v3 .admin-v3-chart-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 768px) {
    .admin-v3 .sidebar { width: 286px !important; flex-basis: 286px !important; }
    .admin-v3 main.flex-1 { padding: 0 12px 80px !important; }
    .admin-v3 .admin-v3-dashboard { padding-top: 12px; }
    .admin-v3 .admin-reference-welcome { align-items: flex-start; flex-direction: column; padding: 15px !important; }
    .admin-v3 .admin-reference-actions { width: 100%; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
    .admin-v3 .admin-v3-stat-grid, .admin-v3 .admin-v3-money-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
    .admin-v3 .admin-v3-stat-grid .card { min-height: 112px !important; padding: 14px !important; }
    .admin-v3 .admin-v3-money-grid > div { min-height: 100px; padding: 13px !important; }
    .admin-v3 .admin-v3-chart-grid, .admin-v3 .admin-v3-activity-grid { gap: 10px !important; }
    .admin-v3 main .admin-page-head { margin-left: -12px !important; margin-right: -12px !important; padding: 15px 14px !important; }
}

/* Public web home: intentionally separate from the signed-in workspace. */
body.web-public-home {
    background: #f7f8f5 !important;
    color: #101411 !important;
    letter-spacing: 0 !important;
}
body.web-public-home::before,
body.web-public-home .sidebar,
body.web-public-home .topbar,
body.web-public-home .mobile-tabs { display: none !important; }
body.web-public-home .app,
body.web-public-home .main { display: block !important; min-height: 0 !important; }
body.web-public-home .page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.web-public-home .page > .alert { width: min(1180px, calc(100% - 48px)); margin: 18px auto 0 !important; }
.public-home { overflow: hidden; background: #f7f8f5; }
.public-home *, .public-home *::before, .public-home *::after { box-sizing: border-box; }
.public-home a { color: inherit; text-decoration: none; }
.public-home .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.public-home-nav { position: relative; z-index: 20; border-bottom: 1px solid #d8dcd5; background: rgba(247,248,245,.94); }
.public-home-nav-inner,
.public-home-section-inner,
.public-home-hero-inner { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.public-home-nav-inner { position: relative; display: flex; min-height: 74px; align-items: center; justify-content: space-between; gap: 28px; }
.public-home-brand { display: inline-flex; align-items: center; gap: 10px; min-width: 190px; }
.public-home-brand-mark { display: grid; width: 33px; height: 33px; place-items: center; border-radius: 50%; background: #111512; color: #e6ff54; font-size: 14px; }
.public-home-brand strong, .public-home-brand small { display: block; }
.public-home-brand strong { font-size: 15px; font-weight: 800; line-height: 1.1; }
.public-home-brand small { margin-top: 4px; color: #737a70; font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.public-home-links { display: flex; align-items: center; gap: 29px; margin-left: auto; }
.public-home-links a, .public-home-login { color: #4e564d; font-size: 13px; font-weight: 650; transition: color .18s ease; }
.public-home-links a:hover, .public-home-login:hover { color: #111512; }
.public-home-account { display: flex; align-items: center; gap: 17px; }
.public-home-signup, .public-home-console-link, .public-home-primary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 5px; background: #101411; color: #f4f6ef !important; font-size: 13px; font-weight: 750; transition: transform .18s ease, background .18s ease; }
.public-home-signup { min-height: 38px; padding: 0 14px; }
.public-home-console-link { min-height: 38px; padding: 0 14px; }
.public-home-signup:hover, .public-home-console-link:hover, .public-home-primary:hover { background: #283025; transform: translateY(-1px); }
.public-home-menu { display: none; width: 39px; height: 39px; border: 1px solid #cfd4cc; border-radius: 4px; background: transparent; color: #101411; }

.public-home-hero { position: relative; padding: 92px 0 76px; border-bottom: 1px solid #d8dcd5; background: #f7f8f5; }
.public-home-hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .08; background-image: url('/assets/portal-v2/console-login-hero.webp'); background-position: 75% 50%; background-repeat: no-repeat; background-size: cover; mix-blend-mode: multiply; }
.public-home-hero-inner { position: relative; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(380px, .88fr); gap: 62px; align-items: center; }
.public-home-hero-copy { position: relative; z-index: 1; }
.public-home-eyebrow, .public-home-section-index { margin: 0; color: #5d645d; font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.public-home-eyebrow { display: flex; align-items: center; gap: 9px; }
.public-home-eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: #98c53b; box-shadow: 0 0 0 4px rgba(152,197,59,.16); }
.public-home-hero h1 { max-width: 730px; margin: 20px 0 20px; color: #101411; font-size: 58px; font-weight: 760; letter-spacing: 0; line-height: 1.06; }
.public-home-hero h1 em { display: inline-block; color: #7e9d28; font-style: normal; }
.public-home-lead { max-width: 570px; margin: 0; color: #586158; font-size: 17px; line-height: 1.75; }
.public-home-search { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; max-width: 626px; min-height: 59px; margin-top: 30px; padding: 6px 7px 6px 17px; border: 1px solid #bac1b8; border-radius: 6px; background: #fff; box-shadow: 0 14px 32px rgba(23,31,20,.08); }
.public-home-search > i { color: #6d756d; font-size: 13px; }
.public-home-search input { width: 100%; min-width: 0; height: 44px; border: 0; outline: 0; background: transparent; color: #121612; font-size: 14px; }
.public-home-search input::placeholder { color: #929990; }
.public-home-search button { min-height: 44px; padding: 0 15px; border: 0; border-radius: 4px; background: #101411; color: #f5f7ef !important; font-size: 13px; font-weight: 750; }
.public-home-search button:hover { background: #293027; }
.public-home-hero-actions { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 21px; }
.public-home-primary { min-height: 44px; padding: 0 16px; }
.public-home-secondary { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #43523b; font-size: 13px; font-weight: 750; }
.public-home-secondary:hover { color: #101411; }
.public-home-proof { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 28px; color: #697268; font-size: 11px; font-weight: 650; }
.public-home-proof i { margin-right: 4px; color: #719328; }

.public-home-visual { position: relative; min-height: 434px; overflow: hidden; border: 1px solid #182019; border-radius: 9px; background: #111612; color: #eaf0e5; box-shadow: 18px 24px 0 #d8e1cf, 0 26px 50px rgba(20,29,18,.18); }
.public-home-visual::before { content: ''; position: absolute; inset: 0; opacity: .16; background-image: url('/assets/portal-v2/console-login-hero.webp'); background-position: 60% 50%; background-size: cover; mix-blend-mode: screen; }
.public-home-visual-top { position: relative; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 52px; padding: 0 17px; border-bottom: 1px solid rgba(230,239,225,.18); background: rgba(17,22,18,.88); }
.public-home-visual-top span { display: flex; gap: 5px; }.public-home-visual-top span i { color: #798475; font-size: 7px; }.public-home-visual-top span i:first-child { color: #a4cf44; }.public-home-visual-top small { color: #aeb8aa; font-size: 9px; font-weight: 800; letter-spacing: .1em; }.public-home-visual-top > i { justify-self: end; color: #97a391; }
.public-home-visual-body { position: relative; margin: 19px; padding: 20px; border: 1px solid rgba(235,242,230,.20); border-radius: 6px; background: rgba(12,17,13,.88); backdrop-filter: blur(8px); }
.public-home-visual-label { color: #98a394; font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.public-home-visual-domain { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; }
.public-home-visual-domain strong { min-width: 0; overflow: hidden; color: #f1f5ec; font-size: 20px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.public-home-visual-domain span { flex: 0 0 auto; padding: 5px 7px; border: 1px solid rgba(157,204,61,.28); border-radius: 3px; color: #b7df63; font-size: 9px; font-weight: 800; letter-spacing: .06em; }
.public-home-visual-domain span i { margin-right: 3px; }
.public-home-route-line { display: flex; align-items: center; margin: 27px 0 22px; }.public-home-route-line > i { width: 100%; height: 1px; background: #4e5a4d; }.public-home-route-node { position: relative; z-index: 1; flex: 0 0 auto; padding: 6px 8px; border: 1px solid #62705f; border-radius: 3px; background: #1c251d; color: #d5ddd0; font-size: 9px; font-weight: 800; }.public-home-route-node.accent { border-color: #94bd3e; color: #c7ed72; }
.public-home-records { border-top: 1px solid rgba(231,239,226,.16); }.public-home-records > div { display: grid; grid-template-columns: 47px 1fr auto; align-items: center; gap: 8px; min-height: 41px; border-bottom: 1px solid rgba(231,239,226,.13); }.public-home-records span { color: #c4df81; font-size: 10px; font-weight: 800; }.public-home-records strong { min-width: 0; overflow: hidden; color: #eaf0e5; font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }.public-home-records small { max-width: 100px; overflow: hidden; color: #98a693; font-size: 10px; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.public-home-visual-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 20px; color: #859081; font-size: 10px; }.public-home-visual-footer span:first-child { color: #bedc72; }.public-home-visual-footer i { margin-right: 4px; }

.public-home-intro { padding: 112px 0 105px; background: #101411; color: #f2f5eb; }.public-home-intro-grid { display: grid; grid-template-columns: 195px minmax(0, 1fr); gap: 40px; }.public-home-intro .public-home-section-index { color: #9da79a; }.public-home-intro h2, .public-home-resources h2 { margin: 0; font-size: 42px; font-weight: 720; letter-spacing: 0; line-height: 1.16; }.public-home-intro h2 span { color: #b7d95b; }.public-home-section-copy { max-width: 550px; margin: 21px 0 0; color: #bdc5b9; font-size: 15px; line-height: 1.8; }
.public-home-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 70px; border-top: 1px solid #3a4339; border-bottom: 1px solid #3a4339; }.public-home-service { position: relative; display: grid; grid-template-columns: 34px auto 1fr auto; gap: 14px; min-height: 202px; padding: 23px 22px; border-right: 1px solid #3a4339; transition: background .18s ease; }.public-home-service:last-child { border-right: 0; }.public-home-service:hover { background: #1a211b; }.public-home-service-num { color: #9da79a; font-size: 10px; font-weight: 750; }.public-home-service-icon { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #65755b; border-radius: 4px; color: #b9da5b; font-size: 14px; }.public-home-service-body { align-self: end; }.public-home-service-body strong, .public-home-service-body small { display: block; }.public-home-service-body strong { color: #f3f6ed; font-size: 17px; font-weight: 720; }.public-home-service-body small { margin-top: 9px; color: #aab5a5; font-size: 12px; line-height: 1.65; }.public-home-service-arrow { color: #c2dd72; font-size: 13px; }

.public-home-resources { padding: 102px 0 106px; background: #f7f8f5; }.public-home-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }.public-home-resources h2 { margin-top: 14px; color: #101411; }.public-home-inline-link { display: inline-flex; align-items: center; gap: 8px; padding-bottom: 5px; border-bottom: 1px solid #94a18a; color: #374630; font-size: 13px; font-weight: 750; }.public-home-inline-link:hover { color: #101411; border-color: #101411; }.public-home-category-line { display: flex; flex-wrap: wrap; gap: 8px; margin: 30px 0 18px; }.public-home-category-line span { padding: 7px 10px; border: 1px solid #d2d7cf; border-radius: 3px; color: #5e665e; font-size: 11px; font-weight: 650; }
.public-home-domain-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; margin-top: 38px; }.public-home-domain-card { display: flex; min-width: 0; min-height: 192px; flex-direction: column; padding: 18px; border: 1px solid #d2d7cf; border-radius: 6px; background: #fbfcf9; transition: border-color .18s ease, transform .18s ease, background .18s ease; }.public-home-domain-card:hover { border-color: #779a31; background: #fff; transform: translateY(-3px); }.public-home-domain-top, .public-home-domain-bottom { display: flex; align-items: center; justify-content: space-between; }.public-home-domain-top { color: #678b27; font-size: 13px; }.public-home-domain-top span { color: #7c867a; font-size: 9px; font-weight: 800; letter-spacing: .1em; }.public-home-domain-card > strong { margin-top: 32px; overflow: hidden; color: #101411; font-size: 19px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }.public-home-domain-card > small { display: -webkit-box; min-height: 37px; margin-top: 9px; overflow: hidden; color: #727a71; font-size: 12px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.public-home-domain-bottom { margin-top: auto; padding-top: 15px; border-top: 1px solid #e0e4dd; color: #5a7e20; }.public-home-domain-bottom b { font-size: 14px; }.public-home-domain-bottom i { color: #5f685e; font-size: 12px; }.public-home-empty { grid-column: 1 / -1; display: grid; min-height: 195px; place-items: center; align-content: center; gap: 8px; border: 1px dashed #aeb7ab; color: #687268; text-align: center; }.public-home-empty > i { color: #82a635; font-size: 22px; }.public-home-empty strong { color: #283128; font-size: 15px; }.public-home-empty span { font-size: 12px; }.public-home-empty a { margin-top: 7px; color: #455e20; font-size: 12px; font-weight: 750; }
.public-home-resource-gate { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 38px; padding: 26px 28px; border: 1px solid #cfd5ca; border-radius: 6px; background: #ecefe8; }.public-home-resource-gate > div { display: flex; align-items: center; gap: 14px; }.public-home-gate-mark { display: grid; width: 42px; height: 42px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #192018; color: #c5e36d; }.public-home-resource-gate strong { color: #1b231b; font-size: 15px; }.public-home-resource-gate p { margin: 5px 0 0; color: #6c756b; font-size: 12px; }.public-home-primary.compact, .public-home-secondary.compact { min-height: 38px; padding: 0 12px; font-size: 12px; white-space: nowrap; }
.public-home-notice { border-top: 1px solid #d7dcd4; border-bottom: 1px solid #d7dcd4; background: #eef1ea; }.public-home-notice .public-home-section-inner { display: flex; align-items: center; gap: 20px; min-height: 56px; }.public-home-notice span { display: inline-flex; align-items: center; flex: 0 0 auto; gap: 8px; color: #54634f; font-size: 10px; font-weight: 800; letter-spacing: .08em; }.public-home-notice span i { color: #769b2f; }.public-home-notice p { margin: 0; overflow: hidden; color: #465046; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.public-home-footer { padding: 28px 0; background: #f7f8f5; }.public-home-footer .public-home-section-inner { display: flex; align-items: center; gap: 18px; }.public-home-footer span { color: #222921; font-size: 13px; font-weight: 800; }.public-home-footer small { color: #808780; font-size: 9px; font-weight: 800; letter-spacing: .12em; }.public-home-footer a { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; color: #536a2e; font-size: 12px; font-weight: 750; }

@media (max-width: 960px) {
    .public-home-hero { padding-top: 70px; }.public-home-hero-inner { grid-template-columns: 1fr; gap: 46px; }.public-home-visual { width: min(100%, 570px); min-height: 360px; }.public-home-services { grid-template-columns: 1fr; }.public-home-service { min-height: 138px; grid-template-columns: 34px auto 1fr auto; border-right: 0; border-bottom: 1px solid #3a4339; }.public-home-service:last-child { border-bottom: 0; }.public-home-service-body { align-self: center; }.public-home-domain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .public-home-hero h1 br { display: none; }
    .public-home-nav-inner, .public-home-section-inner, .public-home-hero-inner { width: min(100% - 32px, 1180px); }.public-home-nav-inner { min-height: 64px; gap: 12px; }.public-home-brand { min-width: 0; }.public-home-brand small { display: none; }.public-home-account { margin-left: auto; }.public-home-account .public-home-login { display: none; }.public-home-signup, .public-home-console-link { min-height: 35px; padding: 0 10px; font-size: 12px; }.public-home-links { position: absolute; top: 62px; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 8px 16px; border: 1px solid #d8dcd5; background: #f7f8f5; box-shadow: 0 12px 22px rgba(23,31,20,.08); }.public-home-links.is-open { display: flex; }.public-home-links a { padding: 12px 0; border-bottom: 1px solid #e2e5de; }.public-home-links a:last-child { border: 0; }.public-home-menu { display: grid; place-items: center; }.public-home-hero { padding: 58px 0 55px; }.public-home-hero h1 { margin-top: 16px; font-size: 39px; line-height: 1.12; }.public-home-lead { font-size: 15px; }.public-home-search { grid-template-columns: 20px minmax(0, 1fr); min-height: 96px; margin-top: 23px; padding: 10px 12px; }.public-home-search button { grid-column: 1 / -1; width: 100%; margin-top: 6px; }.public-home-hero-actions { gap: 13px; margin-top: 16px; }.public-home-primary, .public-home-secondary { min-height: 40px; font-size: 12px; }.public-home-proof { gap: 9px 13px; margin-top: 23px; font-size: 10px; }.public-home-visual { min-height: 330px; }.public-home-visual-body { margin: 13px; padding: 15px; }.public-home-visual-domain strong { font-size: 16px; }.public-home-records > div { grid-template-columns: 39px minmax(0, 1fr) 80px; }.public-home-intro, .public-home-resources { padding: 66px 0; }.public-home-intro-grid { grid-template-columns: 1fr; gap: 19px; }.public-home-intro h2, .public-home-resources h2 { font-size: 32px; }.public-home-section-copy { margin-top: 16px; font-size: 14px; }.public-home-services { margin-top: 42px; }.public-home-service { gap: 10px; min-height: 130px; padding: 19px 5px; }.public-home-service-num { display: none; }.public-home-service-icon { width: 31px; height: 31px; }.public-home-service-body strong { font-size: 15px; }.public-home-service-body small { margin-top: 5px; font-size: 11px; }.public-home-section-heading, .public-home-resource-gate { align-items: flex-start; flex-direction: column; }.public-home-inline-link { margin-top: 6px; }.public-home-domain-grid { grid-template-columns: 1fr; margin-top: 28px; }.public-home-domain-card { min-height: 164px; }.public-home-domain-card > strong { margin-top: 21px; }.public-home-resource-gate { padding: 20px; }.public-home-resource-gate > div:last-child { width: 100%; flex-wrap: wrap; }.public-home-primary.compact, .public-home-secondary.compact { flex: 1; }.public-home-notice .public-home-section-inner { align-items: flex-start; flex-direction: column; gap: 5px; padding: 13px 0; }.public-home-notice p { white-space: normal; }.public-home-footer .public-home-section-inner { flex-wrap: wrap; }.public-home-footer a { margin-left: auto; }
}

/* Unified web system: the public landing page language carried through the
 * authenticated user workspace and the operations console. */
:root {
    --brand-ink: #101411;
    --brand-green: #7f9f2f;
    --brand-green-dark: #536c25;
    --brand-green-soft: #edf2e5;
    --brand-paper: #f7f8f5;
    --brand-card: #fbfcf9;
    --brand-line: #d8dcd5;
    --brand-line-soft: #e7ebe4;
    --brand-muted: #6e786d;
    --brand-shadow: 0 14px 34px rgba(25, 35, 22, .055);
}

/* Signed-in user pages */
body.web-unified {
    background: var(--brand-paper) !important;
    color: var(--brand-ink) !important;
    letter-spacing: 0 !important;
}
body.web-unified::before { display: none !important; }
body.web-unified .app { grid-template-columns: 246px minmax(0, 1fr) !important; }
body.web-unified .sidebar {
    background: #f1f3ee !important;
    color: var(--brand-ink) !important;
    border-right: 1px solid var(--brand-line) !important;
    box-shadow: none !important;
    padding: 21px 14px 16px !important;
}
body.web-unified .brand {
    margin: 0 5px 18px !important;
    padding: 4px 5px 17px !important;
    border-bottom: 1px solid var(--brand-line) !important;
}
body.web-unified .brand-logo { width: 35px !important; height: 35px !important; border-radius: 50% !important; background: var(--brand-ink) !important; color: #c2df68 !important; box-shadow: none !important; font-size: 15px !important; }
body.web-unified .brand-title { color: var(--brand-ink) !important; font-size: 15px !important; font-weight: 800 !important; }
body.web-unified .brand-sub { color: #7d877b !important; font-size: 9px !important; letter-spacing: .05em !important; }
body.web-unified .nav-title { margin: 19px 10px 7px !important; color: #879184 !important; font-size: 10px !important; letter-spacing: .12em !important; }
body.web-unified .nav a {
    margin: 2px 0 !important;
    padding: 10px 11px !important;
    border: 1px solid transparent !important;
    border-radius: 5px !important;
    color: #657062 !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    transition: background .18s ease, color .18s ease, border-color .18s ease !important;
}
body.web-unified .nav a:hover,
body.web-unified .nav a.active { background: #e4eadb !important; border-color: #d4dec8 !important; color: #445c22 !important; transform: none !important; }
body.web-unified .nav a.active::before { display: none !important; }
body.web-unified .nav a i { width: 16px; color: #83917d; text-align: center; }
body.web-unified .nav a.active i, body.web-unified .nav a:hover i { color: var(--brand-green-dark); }
body.web-unified .main { background: var(--brand-paper) !important; }
body.web-unified .topbar {
    height: 63px !important;
    padding: 0 28px !important;
    background: rgba(247,248,245,.93) !important;
    border-bottom: 1px solid var(--brand-line) !important;
    box-shadow: none !important;
}
body.web-unified .topbar > strong { color: var(--brand-ink) !important; font-size: 15px !important; font-weight: 750 !important; }
body.web-unified .page { max-width: 1280px !important; padding: 30px 34px 50px !important; }
body.web-unified .card,
body.web-unified .hero,
body.web-unified .toolbar-card,
body.web-unified .plan-card,
body.web-unified .record-card,
body.web-unified .message-card,
body.web-unified .locked-preview,
body.web-unified .empty {
    border: 1px solid var(--brand-line) !important;
    border-radius: 7px !important;
    background: var(--brand-card) !important;
    box-shadow: var(--brand-shadow) !important;
}
body.web-unified .card:hover, body.web-unified a.card:hover, body.web-unified .card.hoverable:hover { border-color: #bdcaad !important; box-shadow: 0 16px 38px rgba(25,35,22,.08) !important; }
body.web-unified .hero { background: linear-gradient(135deg, #fbfcf9 0%, #edf1e9 100%) !important; box-shadow: var(--brand-shadow) !important; }
body.web-unified .hero::after { display: none !important; }
body.web-unified .section-kicker { color: #778571 !important; font-size: 10px !important; letter-spacing: .13em !important; }
body.web-unified .title-row, body.web-unified .web-v3-page-heading { margin-bottom: 22px !important; }
body.web-unified .title-row h1, body.web-unified .web-v3-page-heading h1 { color: var(--brand-ink) !important; font-size: 31px !important; font-weight: 750 !important; letter-spacing: 0 !important; }
body.web-unified .title-row .muted, body.web-unified .web-v3-page-heading .muted { color: var(--brand-muted) !important; font-size: 13px !important; }
body.web-unified h2, body.web-unified h3 { color: #1c241b !important; letter-spacing: 0 !important; }
body.web-unified .muted, body.web-unified .hint { color: var(--brand-muted) !important; }
body.web-unified .btn { min-height: 40px !important; border: 1px solid var(--brand-ink) !important; border-radius: 5px !important; background: var(--brand-ink) !important; color: #f3f6ed !important; box-shadow: none !important; font-size: 12px !important; font-weight: 750 !important; }
body.web-unified .btn:hover { background: #2c362a !important; transform: translateY(-1px) !important; box-shadow: none !important; }
body.web-unified .btn.secondary { border-color: #cbd2c7 !important; background: transparent !important; color: #52634d !important; }
body.web-unified .btn.secondary:hover { border-color: #95a887 !important; background: #eef2e9 !important; color: #344b26 !important; }
body.web-unified .btn.ok { border-color: #66852c !important; background: #6f8e2e !important; }
body.web-unified .btn.danger { border-color: #b84e45 !important; background: #b84e45 !important; }
body.web-unified .input, body.web-unified .select, body.web-unified .textarea {
    border: 1px solid #cbd2c8 !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: #1b241b !important;
    box-shadow: none !important;
}
body.web-unified .input:focus, body.web-unified .select:focus, body.web-unified .textarea:focus { border-color: #88a545 !important; box-shadow: 0 0 0 3px rgba(127,159,47,.13) !important; }
body.web-unified .label { color: #445044 !important; font-size: 12px !important; font-weight: 750 !important; }
body.web-unified table { border: 1px solid var(--brand-line) !important; border-radius: 7px !important; background: var(--brand-card) !important; box-shadow: none !important; }
body.web-unified th { background: #eef1eb !important; color: #687467 !important; border-color: var(--brand-line-soft) !important; font-size: 11px !important; font-weight: 750 !important; }
body.web-unified td { background: var(--brand-card) !important; color: #455045 !important; border-color: var(--brand-line-soft) !important; font-size: 12px !important; }
body.web-unified tbody tr:hover td { background: #f1f4ed !important; }
body.web-unified .badge { height: 24px !important; border: 1px solid #d5ddd0 !important; border-radius: 4px !important; background: #edf1e9 !important; color: #5d6b59 !important; font-size: 10px !important; }
body.web-unified .badge.ok { border-color: #c6dba0 !important; background: #edf4df !important; color: #557327 !important; }
body.web-unified .badge.warn { border-color: #ead5a6 !important; background: #fbf4e3 !important; color: #8b6a29 !important; }
body.web-unified .badge.danger { border-color: #edc6c1 !important; background: #fbebea !important; color: #a34b43 !important; }
body.web-unified .alert { border-radius: 6px !important; box-shadow: none !important; }
body.web-unified .alert.ok { border-color: #c5dca0 !important; background: #edf4df !important; color: #557327 !important; }
body.web-unified .alert.err { border-color: #ebc6c1 !important; background: #fbebea !important; color: #a34b43 !important; }
body.web-unified .alert.warn { border-color: #ead5a6 !important; background: #fbf4e3 !important; color: #8b6a29 !important; }
body.web-unified .empty { min-height: 120px; color: #788376 !important; }
body.web-unified .pagination a, body.web-unified .pagination span { border-color: #cbd3c7 !important; border-radius: 4px !important; background: #fbfcf9 !important; color: #576754 !important; }
body.web-unified .pagination .active { border-color: var(--brand-green) !important; background: var(--brand-green) !important; color: #fff !important; }
body.web-unified .web-v3-metric, body.web-unified .web-v3-panel { border-color: var(--brand-line) !important; border-radius: 7px !important; background: var(--brand-card) !important; box-shadow: var(--brand-shadow) !important; }
body.web-unified .web-v3-metric:hover { border-color: #baca9d !important; background: #fff !important; }
body.web-unified .web-v3-metric strong, body.web-unified .web-v3-panel h2 { color: #1c241b !important; }
body.web-unified .metric-icon { border-radius: 5px !important; background: var(--brand-green-soft) !important; color: var(--brand-green-dark) !important; }
body.web-unified .web-v3-action-list a { border-color: var(--brand-line-soft) !important; color: #586656 !important; }
body.web-unified .web-v3-action-list a > i:first-child { color: var(--brand-green-dark) !important; }
body.web-unified .web-v3-account-line { border-color: var(--brand-line-soft) !important; color: #7a8578 !important; }
body.web-unified .web-v3-account-line strong { color: #334230 !important; }
body.web-unified .timeline div { border-color: var(--brand-line) !important; border-radius: 6px !important; background: #f2f5ef !important; }
body.web-unified .timeline div::before { background: var(--brand-green) !important; box-shadow: 0 0 0 5px #e3ead9 !important; }
body.web-unified .web-payment-modal { background: rgba(16,20,17,.55) !important; }
body.web-unified .web-payment-modal-card { border: 1px solid var(--brand-line) !important; border-radius: 7px !important; background: #fbfcf9 !important; }
body.web-unified .mobile-tabs { background: #f1f3ee !important; border-color: var(--brand-line) !important; box-shadow: 0 -8px 24px rgba(25,35,22,.08) !important; }
body.web-unified .mobile-tabs a { color: #778375 !important; border-radius: 4px !important; }
body.web-unified .mobile-tabs a.active { background: #e2ead9 !important; color: #4d6d25 !important; }

/* Authentication pages use the same ink / paper / green system. */
body:has(.portal-login) { background: var(--brand-paper) !important; }
.portal-login-visual { background: #101411 !important; }
.portal-login-visual::before { background: rgba(16,20,17,.24) !important; }
.portal-login-visual .portal-login-copy h2 { color: #edf4e8 !important; }
.portal-login-visual .portal-login-copy p { color: rgba(237,244,232,.76) !important; }
.portal-login-brand-mark { border-radius: 50% !important; background: #c4e269 !important; color: #101411 !important; }
.portal-login-panel h1 { color: var(--brand-ink) !important; }
.portal-login-panel .portal-login-subtitle { color: #6d786c !important; }
.portal-login-panel .login-btn { background: var(--brand-ink) !important; border-radius: 5px !important; }
.portal-login-panel .login-btn:hover { background: #2c362a !important; }
.portal-login-panel .input-wrap input { border-color: #cbd2c8 !important; border-radius: 5px !important; }
.portal-login-panel .input-wrap input:focus { border-color: #88a545 !important; box-shadow: 0 0 0 3px rgba(127,159,47,.13) !important; }
.portal-login-tab.active { color: var(--brand-green-dark) !important; }
.portal-login-tab.active::after { background: var(--brand-green) !important; }
.code-btn { border-color: #cbd2c8 !important; background: #f0f3ec !important; color: #526c28 !important; }
.login-register a, .login-help i { color: var(--brand-green-dark) !important; }

/* Admin console */
body.admin-unified,
body.admin-unified > .flex,
body.admin-unified main.flex-1 { background: var(--brand-paper) !important; color: var(--brand-ink) !important; }
body.admin-unified::before { display: none !important; }
body.admin-unified .sidebar {
    width: 244px !important;
    flex-basis: 244px !important;
    background: #f1f3ee !important;
    border-right: 1px solid var(--brand-line) !important;
    box-shadow: none !important;
    color: var(--brand-ink) !important;
}
body.admin-unified .admin-sidebar-brand { min-height: 68px !important; padding: 15px 20px !important; background: #f1f3ee !important; border-color: var(--brand-line) !important; }
body.admin-unified .admin-sidebar-brand > div > div:first-child { width: 34px !important; height: 34px !important; border-radius: 50% !important; background: var(--brand-ink) !important; color: #c4e269 !important; box-shadow: none !important; }
body.admin-unified .admin-sidebar-brand h1 { color: var(--brand-ink) !important; font-size: 15px !important; }
body.admin-unified .admin-sidebar-brand p { color: #7d877b !important; }
body.admin-unified .sidebar nav { padding: 13px 10px 18px !important; }
body.admin-unified .admin-nav-section-label { padding: 17px 12px 6px !important; color: #879184 !important; letter-spacing: .12em !important; }
body.admin-unified .admin-nav-top,
body.admin-unified .admin-nav-group { min-height: 42px !important; margin: 2px 0 !important; padding: 0 12px !important; border: 1px solid transparent !important; border-radius: 5px !important; color: #637062 !important; background: transparent !important; font-size: 12px !important; box-shadow: none !important; }
body.admin-unified .admin-nav-top:hover,
body.admin-unified .admin-nav-group:hover,
body.admin-unified .admin-nav-group[aria-expanded="true"] { background: #e4eadb !important; color: #4c6727 !important; }
body.admin-unified .admin-nav-top.is-active,
body.admin-unified .admin-nav-link.admin-nav-sub.is-active { background: #e0e9d5 !important; border-color: #d2ddc5 !important; color: #4c6727 !important; box-shadow: none !important; }
body.admin-unified .admin-nav-top.is-active::before { width: 3px !important; background: var(--brand-green) !important; }
body.admin-unified .admin-nav-children { margin-left: 8px !important; background: transparent !important; border: 0 !important; }
body.admin-unified .admin-nav-link.admin-nav-sub { min-height: 34px !important; margin: 1px 0 !important; padding: 0 12px 0 36px !important; border-radius: 4px !important; color: #788476 !important; font-size: 11px !important; }
body.admin-unified .admin-nav-link.admin-nav-sub:hover { background: #e8ede4 !important; color: #4c6727 !important; }
body.admin-unified .sidebar > div:last-child { border-color: var(--brand-line) !important; }
body.admin-unified .sidebar > div:last-child a { color: #647162 !important; background: transparent !important; }
body.admin-unified .admin-shell-header { height: 63px !important; background: rgba(247,248,245,.94) !important; border-bottom: 1px solid var(--brand-line) !important; box-shadow: none !important; }
body.admin-unified .admin-header-menu, body.admin-unified .admin-header-icon { color: #748171 !important; }
body.admin-unified .admin-header-menu:hover, body.admin-unified .admin-header-icon:hover { background: #e9eee5 !important; color: #4c6727 !important; }
body.admin-unified .admin-header-title { color: var(--brand-ink) !important; font-size: 14px !important; }
body.admin-unified .admin-header-search { background: #fff !important; border-color: #cfd6cc !important; border-radius: 5px !important; }
body.admin-unified .admin-header-search input { color: #3d4a3c !important; }
body.admin-unified .admin-v3-system-state { color: #62812e !important; }
body.admin-unified main.flex-1 { max-width: none !important; padding: 0 28px 42px !important; }
body.admin-unified .admin-page-head { margin: 0 -28px 20px !important; padding: 24px 28px 20px !important; border-bottom: 1px solid var(--brand-line) !important; background: #f7f8f5 !important; }
body.admin-unified .admin-page-head h2 { color: var(--brand-ink) !important; font-size: 22px !important; font-weight: 750 !important; }
body.admin-unified .admin-page-head p, body.admin-unified .admin-page-kicker { color: #758073 !important; }
body.admin-unified .admin-page-head-meta span { border-color: #ccd5c6 !important; border-radius: 4px !important; background: #edf2e9 !important; color: #5d704f !important; }
body.admin-unified .card,
body.admin-unified .table-container,
body.admin-unified .modal-content,
body.admin-unified .admin-v3-chart-card,
body.admin-unified .admin-v3-activity-card { border: 1px solid var(--brand-line) !important; border-radius: 7px !important; background: var(--brand-card) !important; box-shadow: var(--brand-shadow) !important; }
body.admin-unified .card:hover { border-color: #bdcaad !important; box-shadow: 0 16px 38px rgba(25,35,22,.08) !important; }
body.admin-unified .btn { border-radius: 5px !important; box-shadow: none !important; }
body.admin-unified .btn-primary { background: var(--brand-ink) !important; border-color: var(--brand-ink) !important; color: #f3f6ed !important; }
body.admin-unified .btn-primary:hover { background: #2c362a !important; }
body.admin-unified .btn-success { background: #6f8e2e !important; border-color: #6f8e2e !important; }
body.admin-unified .btn-danger { background: #b84e45 !important; border-color: #b84e45 !important; }
body.admin-unified .btn-warning { background: #a47b31 !important; border-color: #a47b31 !important; }
body.admin-unified .btn-outline { border-color: #cbd3c7 !important; background: transparent !important; color: #566653 !important; }
body.admin-unified .form-input, body.admin-unified .form-select, body.admin-unified textarea.form-input { border-color: #cbd2c8 !important; border-radius: 5px !important; background: #fff !important; color: #1b241b !important; box-shadow: none !important; }
body.admin-unified .form-input:focus, body.admin-unified .form-select:focus, body.admin-unified textarea.form-input:focus { border-color: #88a545 !important; box-shadow: 0 0 0 3px rgba(127,159,47,.13) !important; }
body.admin-unified .form-label { color: #465145 !important; font-weight: 700 !important; }
body.admin-unified table th { background: #eef1eb !important; color: #697568 !important; border-color: var(--brand-line-soft) !important; }
body.admin-unified table td { background: var(--brand-card) !important; color: #455045 !important; border-color: var(--brand-line-soft) !important; }
body.admin-unified table tbody tr:hover td { background: #f1f4ed !important; }
body.admin-unified .badge-success, body.admin-unified .badge-info, body.admin-unified .badge-warning, body.admin-unified .badge-danger, body.admin-unified .badge-gray { border: 1px solid #d5ddd0 !important; border-radius: 4px !important; }
body.admin-unified .badge-success { background: #edf4df !important; color: #557327 !important; border-color: #c6dba0 !important; }
body.admin-unified .badge-info { background: #edf2e5 !important; color: #536c25 !important; border-color: #ccd9bb !important; }
body.admin-unified .badge-warning { background: #fbf4e3 !important; color: #8b6a29 !important; border-color: #ead5a6 !important; }
body.admin-unified .badge-danger { background: #fbebea !important; color: #a34b43 !important; border-color: #edc6c1 !important; }
body.admin-unified .badge-gray { background: #eef1ed !important; color: #687468 !important; }
body.admin-unified .modal { background: rgba(16,20,17,.56) !important; }
body.admin-unified .modal-content { color: #293229 !important; }
body.admin-unified .admin-pagination-inner { color: #657264 !important; }
body.admin-unified #pagination button, body.admin-unified .admin-page-btn, body.admin-unified .admin-page-size, body.admin-unified .admin-page-jump { border-color: #cbd3c7 !important; border-radius: 4px !important; background: #fbfcf9 !important; color: #536252 !important; }
body.admin-unified #pagination button.active, body.admin-unified .admin-page-btn.active { border-color: var(--brand-green) !important; background: var(--brand-green) !important; color: #fff !important; box-shadow: none !important; }
body.admin-unified .admin-reference-welcome, body.admin-unified .admin-v3-money-grid > div { border-radius: 7px !important; border-color: var(--brand-line) !important; background: var(--brand-card) !important; box-shadow: var(--brand-shadow) !important; }
body.admin-unified .admin-v3-chart-card canvas { background: #fbfcf9 !important; border-radius: 5px !important; }

/* Console dark mode stays available, with the same green brand accent. */
html.admin-dark body.admin-unified,
html.admin-dark body.admin-unified > .flex,
html.admin-dark body.admin-unified main.flex-1 { background: #101612 !important; color: #e8eee3 !important; }
html.admin-dark body.admin-unified .sidebar,
html.admin-dark body.admin-unified .admin-sidebar-brand { background: #151d16 !important; border-color: #2f3b2d !important; }
html.admin-dark body.admin-unified .admin-sidebar-brand h1,
html.admin-dark body.admin-unified .admin-header-title { color: #edf4e8 !important; }
html.admin-dark body.admin-unified .admin-nav-top,
html.admin-dark body.admin-unified .admin-nav-group { color: #b5c1b1 !important; }
html.admin-dark body.admin-unified .admin-nav-top:hover,
html.admin-dark body.admin-unified .admin-nav-group:hover,
html.admin-dark body.admin-unified .admin-nav-group[aria-expanded="true"],
html.admin-dark body.admin-unified .admin-nav-top.is-active,
html.admin-dark body.admin-unified .admin-nav-link.admin-nav-sub.is-active { background: #263625 !important; color: #c8e779 !important; border-color: #3c5235 !important; }
html.admin-dark body.admin-unified .admin-nav-link.admin-nav-sub { color: #9cac97 !important; }
html.admin-dark body.admin-unified .admin-shell-header { background: #151d16 !important; border-color: #2f3b2d !important; }
html.admin-dark body.admin-unified .admin-header-search,
html.admin-dark body.admin-unified .card,
html.admin-dark body.admin-unified .table-container,
html.admin-dark body.admin-unified .modal-content,
html.admin-dark body.admin-unified .admin-v3-chart-card,
html.admin-dark body.admin-unified .admin-v3-activity-card,
html.admin-dark body.admin-unified .admin-reference-welcome { background: #1a261a !important; border-color: #344a31 !important; color: #dce8d8 !important; }

/* Final component pass: legacy utility classes are used throughout the older
 * Blade templates. Keep their meaning, but give every route the same visual
 * language as the public web home. */
body.web-unified .toolbar-card { padding: 20px 22px !important; }
body.web-unified .panel-title { align-items:flex-start !important; }
body.web-unified .panel-title h2 { margin:5px 0 4px !important; font-size:20px !important; }
body.web-unified .domain-card { min-height:142px !important; padding:21px 22px !important; }
body.web-unified .domain-card .domain-name { color:var(--brand-ink) !important; font-size:20px !important; font-weight:750 !important; }
body.web-unified .price { color:#536c25 !important; font-weight:750 !important; }
body.web-unified .form-row { margin-bottom:18px !important; }
body.web-unified .grid > .card > h2 { font-size:19px !important; }
body.web-unified .web-payment-form { padding:24px !important; }
body.web-unified .actions { gap:8px !important; }
body.web-unified .chip { border:1px solid #d5ddd0 !important; border-radius:4px !important; background:#edf2e5 !important; color:#536c25 !important; }
body.web-unified .auth-shell { max-width:980px; margin:44px auto !important; }
body.web-unified .auth-hero { background:#101411 !important; color:#edf4e8 !important; }
body.web-unified .auth-hero h1, body.web-unified .auth-hero p { color:inherit !important; }
body.web-unified .auth-card { padding:28px !important; }
body.web-unified .message-card { padding:22px !important; }
body.web-unified .record-card { padding:20px !important; }

body.admin-unified .admin-v3-dashboard { padding-top:24px; }
body.admin-unified .admin-reference-welcome { min-height:104px !important; padding:18px 20px !important; }
body.admin-unified .admin-reference-avatar { background:var(--brand-ink) !important; color:#c4e269 !important; }
body.admin-unified .admin-reference-greeting { color:var(--brand-ink) !important; font-weight:750 !important; }
body.admin-unified .admin-reference-greeting small, body.admin-unified .admin-reference-status { color:#748071 !important; }
body.admin-unified .admin-reference-status b { background:#edf4df !important; color:#557327 !important; border-radius:4px !important; }
body.admin-unified .admin-reference-actions a { border-color:var(--brand-line) !important; border-radius:5px !important; background:#fbfcf9 !important; color:#536c25 !important; }
body.admin-unified .admin-reference-actions a:hover { border-color:#baca9d !important; background:#f0f4ea !important; }
body.admin-unified .admin-reference-actions span { color:#657263 !important; }
body.admin-unified .admin-v3-stat-grid .card,
body.admin-unified .admin-v3-money-grid > div { min-height:118px !important; padding:17px 18px !important; border:1px solid var(--brand-line) !important; border-radius:7px !important; background:var(--brand-card) !important; box-shadow:var(--brand-shadow) !important; }
body.admin-unified .admin-v3-stat-grid .card:after { display:none !important; }
body.admin-unified .admin-v3-stat-grid .card > div:nth-child(2),
body.admin-unified .admin-v3-money-grid > div > div:nth-child(2) { color:var(--brand-ink) !important; }
body.admin-unified .admin-v3-money-grid > div:nth-child(n) { border-top:3px solid #7f9f2f !important; }
body.admin-unified .admin-v3-money-grid > div:nth-child(3) { border-top-color:#a47b31 !important; }
body.admin-unified .admin-v3-money-grid > div:nth-child(4) { border-top-color:#758073 !important; }
body.admin-unified .admin-v3-money-grid [class*="text-"],
body.admin-unified .admin-v3-stat-grid [class*="text-"] { color:inherit !important; }
body.admin-unified .admin-v3-stat-grid .text-slate-400,
body.admin-unified .admin-v3-money-grid .text-slate-400 { color:#7c877a !important; }
body.admin-unified .admin-v3-stat-grid [class*="bg-"],
body.admin-unified .admin-v3-money-grid [class*="bg-"] { background:#edf2e5 !important; color:#536c25 !important; }
body.admin-unified .admin-v3-chart-card h3, body.admin-unified .admin-v3-activity-card h3 { color:#273226 !important; }
body.admin-unified .admin-v3-chart-card canvas { background:#fbfcf9 !important; }

/* Tailwind-powered administration screens. */
body.admin-unified [class*="bg-blue-"], body.admin-unified [class*="bg-indigo-"], body.admin-unified [class*="bg-sky-"] { background-color:#edf2e5 !important; }
body.admin-unified [class*="text-blue-"], body.admin-unified [class*="text-indigo-"], body.admin-unified [class*="text-sky-"] { color:#536c25 !important; }
body.admin-unified [class*="border-blue-"], body.admin-unified [class*="border-indigo-"], body.admin-unified [class*="border-sky-"] { border-color:#cbd9b8 !important; }
body.admin-unified [class*="bg-slate-"], body.admin-unified [class*="bg-gray-"] { background-color:#f1f3ee !important; }
body.admin-unified [class*="text-slate-"], body.admin-unified [class*="text-gray-"] { color:#647062 !important; }
body.admin-unified [class*="border-slate-"], body.admin-unified [class*="border-gray-"] { border-color:#d7dcd4 !important; }
body.admin-unified [class*="rounded-xl"], body.admin-unified [class*="rounded-2xl"], body.admin-unified [class*="rounded-3xl"] { border-radius:7px !important; }
body.admin-unified .tab-nav { gap:4px !important; }
body.admin-unified .tab-item { border-radius:4px !important; color:#687568 !important; }
body.admin-unified .tab-item:hover, body.admin-unified .tab-item.active { background:#e7eddf !important; color:#536c25 !important; }
body.admin-unified .admin-header-pill { border-color:#d5ddd0 !important; border-radius:4px !important; background:#edf2e5 !important; color:#536c25 !important; }
body.admin-unified .admin-shell-header > div:last-child > a { border-radius:5px !important; }
body.admin-unified .admin-shell-header > div:last-child > a:first-of-type { border-color:#d2d9ce !important; background:#fff !important; color:#566553 !important; }
body.admin-unified .admin-shell-header > div:last-child > a:last-of-type { border-color:#edc6c1 !important; background:#fbebea !important; color:#a34b43 !important; }

html.admin-dark body.admin-unified .admin-v3-stat-grid .card,
html.admin-dark body.admin-unified .admin-v3-money-grid > div,
html.admin-dark body.admin-unified .admin-reference-actions a,
html.admin-dark body.admin-unified .admin-v3-chart-card,
html.admin-dark body.admin-unified .admin-v3-activity-card { background:#1a261a !important; border-color:#344a31 !important; color:#dce8d8 !important; }
html.admin-dark body.admin-unified .admin-reference-greeting,
html.admin-dark body.admin-unified .admin-v3-chart-card h3,
html.admin-dark body.admin-unified .admin-v3-activity-card h3,
html.admin-dark body.admin-unified .admin-v3-stat-grid .card > div:nth-child(2),
html.admin-dark body.admin-unified .admin-v3-money-grid > div > div:nth-child(2) { color:#edf4e8 !important; }
html.admin-dark body.admin-unified .admin-v3-stat-grid [class*="bg-"],
html.admin-dark body.admin-unified .admin-v3-money-grid [class*="bg-"] { background:#293b28 !important; color:#c4e269 !important; }

@media (max-width:768px) {
    body.web-unified .page { padding:22px 16px 84px !important; }
    body.web-unified .title-row h1, body.web-unified .web-v3-page-heading h1 { font-size:25px !important; }
    body.web-unified .toolbar-card, body.web-unified .web-payment-form { padding:17px !important; }
    body.web-unified .domain-card { min-height:0 !important; padding:17px !important; }
    body.admin-unified main.flex-1 { padding:0 14px 80px !important; }
    body.admin-unified .admin-page-head { margin:0 -14px 16px !important; padding:18px 14px 16px !important; }
    body.admin-unified .admin-v3-dashboard { padding-top:14px; }
    body.admin-unified .admin-reference-welcome { padding:15px !important; }
    body.admin-unified .admin-v3-stat-grid .card, body.admin-unified .admin-v3-money-grid > div { min-height:106px !important; padding:14px !important; }
}
html.admin-dark body.admin-unified .admin-page-head { background: #101612 !important; border-color: #2f3b2d !important; }
html.admin-dark body.admin-unified .admin-page-head h2,
html.admin-dark body.admin-unified main h2,
html.admin-dark body.admin-unified main h3 { color: #e6efe2 !important; }
html.admin-dark body.admin-unified table th { background: #223021 !important; color: #b8c8b0 !important; border-color: #344a31 !important; }
html.admin-dark body.admin-unified table td { background: #1a261a !important; color: #c7d3c2 !important; border-color: #2b3d29 !important; }
html.admin-dark body.admin-unified .form-input, html.admin-dark body.admin-unified .form-select, html.admin-dark body.admin-unified textarea.form-input { background: #152016 !important; color: #e1ebde !important; border-color: #40563b !important; }

@media (max-width: 900px) {
    body.web-unified .page { padding: 23px 16px 92px !important; }
    body.web-unified .topbar { height: 58px !important; padding: 0 16px !important; }
    body.web-unified .title-row h1, body.web-unified .web-v3-page-heading h1 { font-size: 26px !important; }
    body.admin-unified main.flex-1 { padding: 0 16px 82px !important; }
    body.admin-unified .admin-page-head { margin-left: -16px !important; margin-right: -16px !important; padding: 20px 16px 16px !important; }
}

/* Console refinement: make the dashboard read as one operational surface,
 * instead of a grid of unrelated coloured cards. */
body.admin-unified .admin-console-dashboard { max-width:1360px !important; padding-top:18px !important; }
body.admin-unified .admin-console-welcome {
    min-height:78px !important;
    margin:0 0 22px !important;
    padding:0 0 17px !important;
    border:0 !important;
    border-bottom:1px solid var(--brand-line) !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
body.admin-unified .admin-console-welcome .admin-reference-avatar { width:42px !important; height:42px !important; font-size:16px !important; }
body.admin-unified .admin-console-welcome .admin-reference-greeting { font-size:17px !important; }
body.admin-unified .admin-console-welcome .admin-reference-actions { grid-template-columns:repeat(4, auto) !important; gap:6px !important; }
body.admin-unified .admin-console-welcome .admin-reference-actions a {
    flex-direction:row !important;
    gap:7px !important;
    min-height:36px !important;
    padding:0 11px !important;
    font-size:11px !important;
}
body.admin-unified .admin-console-welcome .admin-reference-actions i { font-size:12px !important; }

body.admin-unified .admin-kpi-grid {
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    margin:0 0 14px;
    overflow:hidden;
    border:1px solid var(--brand-line);
    border-radius:7px;
    background:var(--brand-card);
    box-shadow:var(--brand-shadow);
}
body.admin-unified .admin-kpi-card {
    min-width:0;
    min-height:118px;
    padding:17px 20px;
    border-right:1px solid var(--brand-line);
}
body.admin-unified .admin-kpi-card:last-child { border-right:0; }
body.admin-unified .admin-kpi-head { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#758073; font-size:11px; font-weight:750; }
body.admin-unified .admin-kpi-head i { display:grid; width:27px; height:27px; place-items:center; border-radius:4px; background:#edf2e5; color:#536c25; font-size:12px; }
body.admin-unified .admin-kpi-value { margin-top:13px; color:var(--brand-ink); font-size:29px; font-weight:750; font-variant-numeric:tabular-nums; line-height:1; }
body.admin-unified .admin-kpi-label { margin-top:9px; color:#566353; font-size:12px; }
body.admin-unified .admin-kpi-label span { display:block; margin-top:3px; color:#899286; font-size:10px; }

body.admin-unified .admin-revenue-strip {
    display:grid;
    grid-template-columns:1.25fr repeat(4, minmax(0, 1fr));
    margin:0 0 20px;
    overflow:hidden;
    border:1px solid var(--brand-line);
    border-radius:7px;
    background:#eef1eb;
}
body.admin-unified .admin-revenue-title,
body.admin-unified .admin-revenue-item { min-width:0; padding:16px 18px; border-right:1px solid var(--brand-line); background:var(--brand-card); }
body.admin-unified .admin-revenue-title { display:flex; flex-direction:column; justify-content:center; background:#eef1eb; }
body.admin-unified .admin-revenue-title span { color:#263226; font-size:13px; font-weight:750; }
body.admin-unified .admin-revenue-title small,
body.admin-unified .admin-revenue-item small { margin-top:5px; color:#849080; font-size:10px; }
body.admin-unified .admin-revenue-item { display:flex; flex-direction:column; }
body.admin-unified .admin-revenue-item > span { color:#71806d; font-size:10px; font-weight:750; }
body.admin-unified .admin-revenue-item strong { margin-top:8px; overflow:hidden; color:#263226; font-size:19px; font-weight:750; line-height:1; text-overflow:ellipsis; white-space:nowrap; font-variant-numeric:tabular-nums; }
body.admin-unified .admin-revenue-total { border-right:0; background:#f2f5ed; }
body.admin-unified .admin-revenue-total strong { color:#536c25; }

/* Enforce the day-mode navigation palette even when older utility classes are
 * still present in cached admin templates. */
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3.admin-unified .sidebar { background:#f1f3ee !important; }
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3.admin-unified .admin-nav-top.is-active,
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3.admin-unified .admin-nav-link.admin-nav-sub.is-active { background:#e0e9d5 !important; border-color:#d2ddc5 !important; color:#4c6727 !important; }
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3.admin-unified .admin-nav-top.is-active i,
html:not(.admin-dark) body.admin-ui.admin-v2.admin-v3.admin-unified .admin-nav-link.admin-nav-sub.is-active i { color:#4c6727 !important; }

html.admin-dark body.admin-unified .admin-console-welcome { border-color:#344a31 !important; background:transparent !important; }
html.admin-dark body.admin-unified .admin-kpi-grid,
html.admin-dark body.admin-unified .admin-revenue-strip { border-color:#344a31 !important; background:#1a261a !important; }
html.admin-dark body.admin-unified .admin-kpi-card,
html.admin-dark body.admin-unified .admin-revenue-title,
html.admin-dark body.admin-unified .admin-revenue-item { border-color:#344a31 !important; background:#1a261a !important; }
html.admin-dark body.admin-unified .admin-revenue-title { background:#223020 !important; }
html.admin-dark body.admin-unified .admin-kpi-value,
html.admin-dark body.admin-unified .admin-revenue-title span,
html.admin-dark body.admin-unified .admin-revenue-item strong { color:#edf4e8 !important; }
html.admin-dark body.admin-unified .admin-revenue-total { background:#223020 !important; }
html.admin-dark body.admin-unified .admin-revenue-total strong { color:#c4e269 !important; }

@media (max-width:900px) {
    body.admin-unified .admin-console-welcome { align-items:flex-start !important; flex-direction:column !important; min-height:0 !important; padding-bottom:14px !important; }
    body.admin-unified .admin-console-welcome .admin-reference-actions { width:100%; grid-template-columns:repeat(4, minmax(0, 1fr)) !important; }
    body.admin-unified .admin-console-welcome .admin-reference-actions a { justify-content:center !important; padding:0 5px !important; }
    body.admin-unified .admin-console-welcome .admin-reference-actions span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    body.admin-unified .admin-kpi-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    body.admin-unified .admin-kpi-card { min-height:105px; padding:14px; border-bottom:1px solid var(--brand-line); }
    body.admin-unified .admin-kpi-card:nth-child(2n) { border-right:0; }
    body.admin-unified .admin-kpi-card:nth-last-child(-n+2) { border-bottom:0; }
    body.admin-unified .admin-kpi-value { font-size:25px; }
    body.admin-unified .admin-revenue-strip { grid-template-columns:repeat(2, minmax(0, 1fr)); }
    body.admin-unified .admin-revenue-title { grid-column:1 / -1; min-height:54px; padding:13px 14px; border-bottom:1px solid var(--brand-line); }
    body.admin-unified .admin-revenue-item { padding:14px; border-bottom:1px solid var(--brand-line); }
    body.admin-unified .admin-revenue-item:nth-child(3) { border-right:0; }
    body.admin-unified .admin-revenue-item:nth-last-child(-n+2) { border-bottom:0; }
}

/* Compatibility for dashboard markup from previous releases. This keeps the
 * visual system stable if a PHP OPcache or a Blade cache serves the old
 * stat-card DOM for one request. New markup uses #adminKpiGrid to avoid the
 * generic #statCards rules left in the legacy UI stylesheet. */
body.admin-unified .admin-v3-stat-grid {
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:0 !important;
    margin:0 0 14px !important;
    overflow:hidden !important;
    border:1px solid var(--brand-line) !important;
    border-radius:7px !important;
    background:var(--brand-card) !important;
    box-shadow:var(--brand-shadow) !important;
}
body.admin-unified .admin-v3-stat-grid .card {
    min-width:0 !important;
    min-height:118px !important;
    margin:0 !important;
    padding:17px 20px !important;
    border:0 !important;
    border-right:1px solid var(--brand-line) !important;
    border-radius:0 !important;
    background:var(--brand-card) !important;
    box-shadow:none !important;
}
body.admin-unified .admin-v3-stat-grid .card:last-child { border-right:0 !important; }
body.admin-unified .admin-v3-stat-grid .card [class*="text-"] { color:#566353 !important; }
body.admin-unified .admin-v3-stat-grid .card > div:nth-child(2) { margin-top:13px !important; color:var(--brand-ink) !important; font-size:29px !important; font-weight:750 !important; line-height:1 !important; }
body.admin-unified .admin-v3-stat-grid .card > div:last-child { margin-top:9px !important; color:#566353 !important; font-size:12px !important; }
body.admin-unified .admin-v3-stat-grid .card .admin-v4-stat-caption { color:#899286 !important; font-size:10px !important; }
body.admin-unified .admin-v3-stat-grid .card > div:first-child > div,
body.admin-unified .admin-v3-stat-grid .card [class*="bg-"] { border-radius:4px !important; background:#edf2e5 !important; color:#536c25 !important; }
body.admin-unified .admin-v3-stat-grid .card > div:first-child > span { color:#758073 !important; font-size:11px !important; font-weight:750 !important; }

html.admin-dark body.admin-unified .admin-v3-stat-grid { border-color:#344a31 !important; background:#1a261a !important; }
html.admin-dark body.admin-unified .admin-v3-stat-grid .card { border-color:#344a31 !important; background:#1a261a !important; }
html.admin-dark body.admin-unified .admin-v3-stat-grid .card > div:nth-child(2) { color:#edf4e8 !important; }
html.admin-dark body.admin-unified .admin-v3-stat-grid .card [class*="text-"] { color:#b9c9b4 !important; }
html.admin-dark body.admin-unified .admin-v3-stat-grid .card > div:first-child > div,
html.admin-dark body.admin-unified .admin-v3-stat-grid .card [class*="bg-"] { background:#293b28 !important; color:#c4e269 !important; }

@media (max-width:900px) {
    body.admin-unified .admin-v3-stat-grid { grid-template-columns:repeat(2, minmax(0, 1fr)) !important; }
    body.admin-unified .admin-v3-stat-grid .card { min-height:105px !important; padding:14px !important; border-bottom:1px solid var(--brand-line) !important; }
    body.admin-unified .admin-v3-stat-grid .card:nth-child(2n) { border-right:0 !important; }
    body.admin-unified .admin-v3-stat-grid .card:nth-last-child(-n+2) { border-bottom:0 !important; }
    body.admin-unified .admin-v3-stat-grid .card > div:nth-child(2) { font-size:25px !important; }
}

/* Dark mode uses neutral charcoal surfaces. Green is reserved for selection,
 * system health, and chart data instead of tinting every panel. */
html.admin-dark,
html.admin-dark body.admin-unified,
html.admin-dark body.admin-unified > .flex,
html.admin-dark body.admin-unified main.flex-1 { background:#151916 !important; color:#e7ede4 !important; }
html.admin-dark body.admin-unified .sidebar,
html.admin-dark body.admin-unified .admin-sidebar-brand { background:#121612 !important; border-color:#293129 !important; }
html.admin-dark body.admin-unified .admin-sidebar-brand h1,
html.admin-dark body.admin-unified .admin-header-title { color:#edf2e9 !important; }
html.admin-dark body.admin-unified .admin-sidebar-brand p,
html.admin-dark body.admin-unified .admin-nav-section-label { color:#7f8c7d !important; }
html.admin-dark body.admin-unified .admin-nav-top,
html.admin-dark body.admin-unified .admin-nav-group,
html.admin-dark body.admin-unified .admin-nav-link.admin-nav-sub { color:#b5c0b1 !important; }
html.admin-dark body.admin-unified .admin-nav-top:hover,
html.admin-dark body.admin-unified .admin-nav-group:hover,
html.admin-dark body.admin-unified .admin-nav-group[aria-expanded="true"] { background:#202720 !important; color:#dce8d8 !important; }
html.admin-dark body.admin-unified .admin-nav-top.is-active,
html.admin-dark body.admin-unified .admin-nav-link.admin-nav-sub.is-active { background:#293426 !important; border-color:#3b4b34 !important; color:#c7e675 !important; }
html.admin-dark body.admin-unified .admin-shell-header { background:#171c18 !important; border-color:#293129 !important; }
html.admin-dark body.admin-unified .admin-header-search { background:#1b211c !important; border-color:#364236 !important; }
html.admin-dark body.admin-unified .admin-header-search input { color:#e4ece0 !important; }
html.admin-dark body.admin-unified .admin-header-menu,
html.admin-dark body.admin-unified .admin-header-icon { color:#aeb9aa !important; }
html.admin-dark body.admin-unified .admin-header-menu:hover,
html.admin-dark body.admin-unified .admin-header-icon:hover { background:#252d25 !important; color:#c7e675 !important; }
html.admin-dark body.admin-unified .admin-console-welcome { border-color:#303a30 !important; }
html.admin-dark body.admin-unified .admin-reference-greeting,
html.admin-dark body.admin-unified .admin-kpi-value,
html.admin-dark body.admin-unified .admin-revenue-title span,
html.admin-dark body.admin-unified .admin-revenue-item strong,
html.admin-dark body.admin-unified .admin-v3-chart-card h3,
html.admin-dark body.admin-unified .admin-v3-activity-card h3 { color:#edf2e9 !important; }
html.admin-dark body.admin-unified .admin-reference-greeting small,
html.admin-dark body.admin-unified .admin-reference-status,
html.admin-dark body.admin-unified .admin-kpi-head,
html.admin-dark body.admin-unified .admin-kpi-label,
html.admin-dark body.admin-unified .admin-revenue-title small,
html.admin-dark body.admin-unified .admin-revenue-item > span,
html.admin-dark body.admin-unified .admin-revenue-item small { color:#9da89a !important; }
html.admin-dark body.admin-unified .admin-reference-actions a { background:#1c221d !important; border-color:#303a30 !important; color:#b9d867 !important; }
html.admin-dark body.admin-unified .admin-reference-actions a:hover { background:#252e24 !important; border-color:#465842 !important; }
html.admin-dark body.admin-unified .admin-reference-actions span { color:#c1cbbd !important; }
html.admin-dark body.admin-unified .admin-kpi-grid,
html.admin-dark body.admin-unified .admin-revenue-strip { background:#1c221d !important; border-color:#303a30 !important; }
html.admin-dark body.admin-unified .admin-kpi-card,
html.admin-dark body.admin-unified .admin-revenue-title,
html.admin-dark body.admin-unified .admin-revenue-item,
html.admin-dark body.admin-unified .admin-revenue-total { background:#1c221d !important; border-color:#303a30 !important; }
html.admin-dark body.admin-unified .admin-revenue-title,
html.admin-dark body.admin-unified .admin-revenue-total { background:#202820 !important; }
html.admin-dark body.admin-unified .admin-kpi-head i { background:#2a3428 !important; color:#c7e675 !important; }
html.admin-dark body.admin-unified .admin-revenue-total strong { color:#c7e675 !important; }
html.admin-dark body.admin-unified .card,
html.admin-dark body.admin-unified .table-container,
html.admin-dark body.admin-unified .modal-content,
html.admin-dark body.admin-unified .admin-v3-chart-card,
html.admin-dark body.admin-unified .admin-v3-activity-card { background:#1c221d !important; border-color:#303a30 !important; box-shadow:none !important; }
html.admin-dark body.admin-unified .admin-v3-chart-card canvas { background:#1a201b !important; border:1px solid #303a30 !important; }
html.admin-dark body.admin-unified table th { background:#242d24 !important; color:#bdc8b8 !important; border-color:#354035 !important; }
html.admin-dark body.admin-unified table td { background:#1c221d !important; color:#d5ded1 !important; border-color:#303a30 !important; }
html.admin-dark body.admin-unified table tbody tr:hover td { background:#242d24 !important; }
html.admin-dark body.admin-unified .admin-v3-announcement-empty,
html.admin-dark body.admin-unified .admin-v3-announcement-item { color:#aab5a6 !important; }
html.admin-dark body.admin-unified .admin-v3-admin-links a { border-color:#364236 !important; background:#1b211c !important; color:#b8d66a !important; }
html.admin-dark body.admin-unified .btn-primary { background:#b6d45e !important; border-color:#b6d45e !important; color:#162014 !important; }
html.admin-dark body.admin-unified .btn-outline { background:#1b211c !important; border-color:#3a4639 !important; color:#d7e1d2 !important; }
html.admin-dark body.admin-ui.admin-v2.admin-v3.admin-unified .admin-console-dashboard { background:#151916 !important; }
html.admin-dark body.admin-ui.admin-v2.admin-v3.admin-unified #revenueChart,
html.admin-dark body.admin-ui.admin-v2.admin-v3.admin-unified #userChart {
    background:#1a201b !important;
    border-color:#303a30 !important;
    box-shadow:none !important;
}
