/* ============================================================
   dashboard.css — Lease Extension Dashboard
   Dark-mode dashboard skin isolated from the original calculator.
   Loaded after calcstyle.css and proptech.css.
   ============================================================ */

:root {
    --db-bg: #07111f;
    --db-bg-alt: #0d1728;
    --db-panel: rgba(11, 22, 38, 0.82);
    --db-panel-strong: rgba(15, 28, 47, 0.94);
    --db-border: rgba(139, 169, 211, 0.16);
    --db-border-strong: rgba(132, 168, 255, 0.28);
    --db-text: #ecf3ff;
    --db-muted: #90a6c6;
    --db-blue: #4cc9f0;
    --db-cyan: #7ae7ff;
    --db-green: #45d6a8;
    --db-amber: #ffb84d;
    --db-red: #ff6178;
    --db-shadow: 0 30px 70px rgba(0, 0, 0, 0.42);
    --db-radius: 24px;
}

.top-page,
.sidebar {
    display: none !important;
}

html,
body.dashboard-page {
    min-height: 100%;
    background:
        radial-gradient(circle at top left, rgba(76, 201, 240, 0.16), transparent 28%),
        radial-gradient(circle at top right, rgba(96, 85, 255, 0.18), transparent 24%),
        linear-gradient(180deg, #07111f 0%, #0a1424 42%, #08111d 100%) !important;
    color: var(--db-text) !important;
}

body.dashboard-page {
    font-family: 'Plus Jakarta Sans', 'Hanken Grotesk', sans-serif !important;
}

body.dashboard-modal-open {
    overflow: hidden;
}

body.dashboard-page #main,
body.dashboard-page .wrap-header,
body.dashboard-page #site_content {
    background: transparent !important;
}

body.dashboard-page .wrap-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    backdrop-filter: blur(18px);
    background: rgba(7, 17, 31, 0.72) !important;
    border-bottom: 1px solid rgba(130, 161, 208, 0.12) !important;
    box-shadow: none !important;
}

body.dashboard-page #header {
    max-width: 1440px !important;
    padding: 18px 28px !important;
}

body.dashboard-page #logo_text h1,
body.dashboard-page #logo_text h1 a,
body.dashboard-page #logo h2,
body.dashboard-page #menu li a,
body.dashboard-page a,
body.dashboard-page p,
body.dashboard-page span,
body.dashboard-page li,
body.dashboard-page label {
    color: var(--db-text);
}

body.dashboard-page #logo_text h1 a .logo_colour {
    color: var(--db-cyan) !important;
}

body.dashboard-page #logo h2,
body.dashboard-page .calculator-label,
body.dashboard-page #chart-legend span,
body.dashboard-page #line-chart-legend span,
body.dashboard-page .footer-inner ul a {
    color: var(--db-muted) !important;
}

body.dashboard-page .slider-value {
    display: inline-flex;
    align-items: center;
    margin-top: 6px;
    padding: 3px 10px;
    border-radius: 999px;
    background: rgba(76, 201, 240, 0.10);
    border: 1px solid rgba(122, 231, 255, 0.18);
    color: var(--db-cyan) !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

body.dashboard-page ul#menu {
    gap: 8px;
}

body.dashboard-page ul#menu li a {
    line-height: 1;
    padding: 14px 18px !important;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid transparent;
}

body.dashboard-page ul#menu li a:hover,
body.dashboard-page ul#menu li.selected a,
body.dashboard-page ul#menu li.selected a:hover {
    color: var(--db-text) !important;
    border-color: rgba(122, 231, 255, 0.22);
    background: rgba(76, 201, 240, 0.08);
}

body.dashboard-page #site_content {
    width: 100%;
    max-width: 1480px !important;
    margin: 0 auto !important;
    padding: 28px !important;
}

body.dashboard-page #content {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    border: none !important;
    color: var(--db-text) !important;
    background: transparent !important;
}

.dashboard-shell {
    display: grid;
    gap: 24px;
}

.dashboard-report {
    display: grid;
    gap: 20px;
    padding: 28px;
    border-radius: 30px;
    border: 1px solid var(--db-border);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.012)),
        rgba(8, 17, 29, 0.9);
    box-shadow: var(--db-shadow);
}

.dashboard-formulae {
    display: grid;
    gap: 18px;
    padding: 28px;
    border-radius: 30px;
    border: 1px solid var(--db-border);
    background:
        radial-gradient(circle at top right, rgba(122, 231, 255, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.028), rgba(255, 255, 255, 0.01)),
        rgba(6, 14, 25, 0.94);
    box-shadow: var(--db-shadow);
}

.dashboard-formulae__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
}

.dashboard-formulae__header h2 {
    margin: 0;
    color: var(--db-text) !important;
    font-size: clamp(1.8rem, 2.8vw, 2.5rem);
    letter-spacing: -0.04em;
}

.dashboard-formulae__stamp {
    padding: 12px 14px;
    border-radius: 999px;
    border: 1px solid rgba(138, 169, 212, 0.12);
    background: rgba(255, 255, 255, 0.03);
    color: var(--db-muted) !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.dashboard-formulae__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.dashboard-formulae__card {
    display: grid;
    gap: 12px;
    padding: 20px;
    border-radius: 22px;
    border: 1px solid rgba(138, 169, 212, 0.12);
    background: rgba(255, 255, 255, 0.028);
}

.dashboard-formulae__card--wide {
    grid-column: span 2;
}

.dashboard-formulae__card h3 {
    margin: 0;
    color: var(--db-text) !important;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.dashboard-formulae__equation {
    overflow-x: auto;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(3, 9, 18, 0.72);
    border: 1px solid rgba(138, 169, 212, 0.08);
    color: #f3f7ff !important;
    font-family: 'Times New Roman', Georgia, serif;
    font-size: 1.08rem;
    font-style: italic;
    line-height: 1.75;
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.dashboard-formulae__equation sub,
.dashboard-formulae__equation sup {
    font-size: 0.72em;
    font-style: normal;
}

.dashboard-report__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
}

.dashboard-report__header h2 {
    margin: 0;
    color: var(--db-text) !important;
    font-size: clamp(1.8rem, 2.6vw, 2.4rem);
    letter-spacing: -0.04em;
}

.dashboard-report__stamp {
    display: grid;
    gap: 4px;
    min-width: 220px;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(138, 169, 212, 0.12);
    background: rgba(255, 255, 255, 0.03);
    text-align: right;
}

.dashboard-report__stamp span {
    color: var(--db-muted) !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.dashboard-report__stamp strong {
    color: var(--db-text) !important;
    font-size: 1rem;
    font-weight: 700;
}

.dashboard-report__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.dashboard-report__card {
    display: grid;
    gap: 10px;
    padding: 20px;
    border-radius: 22px;
    border: 1px solid rgba(138, 169, 212, 0.12);
    background: rgba(255, 255, 255, 0.03);
}

.dashboard-report__card--summary {
    grid-column: span 2;
    background:
        linear-gradient(135deg, rgba(76, 201, 240, 0.08), transparent 45%),
        rgba(255, 255, 255, 0.03);
}

.dashboard-report__card--opinion {
    grid-column: span 2;
    background:
        linear-gradient(135deg, rgba(255, 184, 77, 0.08), transparent 42%),
        rgba(255, 255, 255, 0.03);
}

.dashboard-report__card h3 {
    margin: 0;
    color: var(--db-text) !important;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.dashboard-report__card p {
    margin: 0;
    color: rgba(236, 243, 255, 0.82) !important;
    font-size: 14px;
    line-height: 1.7;
}

.dashboard-report__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
    margin: 0;
}

.dashboard-report__facts div {
    display: grid;
    gap: 4px;
}

.dashboard-report__facts dt {
    color: var(--db-muted) !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.dashboard-report__facts dd {
    margin: 0;
    color: var(--db-text) !important;
    font-size: 15px;
    font-weight: 700;
}

.dashboard-report__footer {
    padding-top: 4px;
}


    .dashboard-formulae__header {
        flex-direction: column;
        align-items: flex-start;
    }
.dashboard-report__signature {
    display: grid;
    gap: 8px;
    padding: 20px;
    border-radius: 22px;
    border: 1px solid rgba(138, 169, 212, 0.12);
    background:
        linear-gradient(135deg, rgba(69, 214, 168, 0.08), transparent 42%),
        rgba(255, 255, 255, 0.03);
}

.dashboard-report__signature-label {
    color: var(--db-muted) !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.dashboard-report__signature strong {
    color: var(--db-text) !important;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.dashboard-report__signature p {
    margin: 0;
    color: rgba(236, 243, 255, 0.82) !important;
    font-size: 14px;
    line-height: 1.7;
}

.dashboard-report__schedule {
    display: grid;
    gap: 16px;
    padding: 22px;
    border-radius: 24px;
    border: 1px solid rgba(138, 169, 212, 0.12);
    background: rgba(255, 255, 255, 0.03);
}

.dashboard-report__schedule-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
}

.dashboard-report__schedule-header h3 {
    margin: 0 0 4px;
    color: var(--db-text) !important;
    font-size: 1.05rem;
    font-weight: 700;
}

.dashboard-report__schedule-header p {
    margin: 0;
    color: var(--db-muted) !important;
    font-size: 13px;
    line-height: 1.6;
}

.dashboard-report__schedule-badge {
    padding: 10px 12px;
    border-radius: 999px;
    border: 1px solid rgba(138, 169, 212, 0.12);
    background: rgba(255, 255, 255, 0.035);
    color: var(--db-text) !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    white-space: nowrap;
}

.dashboard-report__table-wrap {
    overflow-x: auto;
    border-radius: 18px;
    border: 1px solid rgba(138, 169, 212, 0.12);
}

.dashboard-report__table {
    width: 100%;
    min-width: 840px;
    border-collapse: collapse;
}

.dashboard-report__table th,
.dashboard-report__table td {
    padding: 14px 16px;
    border-bottom: 1px solid rgba(138, 169, 212, 0.08);
    text-align: left;
    vertical-align: top;
}

.dashboard-report__table th {
    background: rgba(12, 24, 40, 0.96);
    color: var(--db-muted) !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.dashboard-report__table td {
    color: rgba(236, 243, 255, 0.86) !important;
    font-size: 14px;
    line-height: 1.6;
}

.dashboard-report__table td:first-child {
    min-width: 220px;
}

.dashboard-report__ref {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    margin-right: 10px;
    padding: 4px 8px;
    border-radius: 999px;
    border: 1px solid rgba(138, 169, 212, 0.16);
    background: rgba(255, 255, 255, 0.035);
    color: var(--db-cyan) !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    vertical-align: middle;
}

.dashboard-report__item-text {
    vertical-align: middle;
}

.dashboard-report__table td:last-child,
.dashboard-report__table th:last-child {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.dashboard-report__table-row--section td {
    background: rgba(76, 201, 240, 0.05);
    font-weight: 700;
}

.dashboard-report__table-row--subtotal td {
    background: rgba(255, 255, 255, 0.035);
    font-weight: 700;
}

.dashboard-report__table-row--total td {
    background: rgba(69, 214, 168, 0.08);
    color: var(--db-text) !important;
    font-weight: 800;
}

.dashboard-report__table-row--memo td {
    color: var(--db-muted) !important;
    font-size: 13px;
}

.dashboard-report__table-row--expandable {
    cursor: pointer;
    transition: background 160ms ease, transform 160ms ease;
}

.dashboard-report__table-row--expandable:hover td,
.dashboard-report__table-row--expandable:focus td {
    background: rgba(255, 255, 255, 0.04);
}

.dashboard-report__table-row--expandable:focus {
    outline: none;
}

.dashboard-report__table-row--expandable.is-open td:first-child .dashboard-report__item-text {
    color: var(--db-text) !important;
}

.dashboard-report__row-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-right: 10px;
    border-radius: 999px;
    border: 1px solid rgba(138, 169, 212, 0.18);
    background: rgba(255, 255, 255, 0.04);
    color: var(--db-text) !important;
    font-size: 15px;
    font-weight: 700;
    vertical-align: middle;
}

.dashboard-report__detail-row {
    display: none;
}

.dashboard-report__detail-row.is-open {
    display: table-row;
}

.dashboard-report__detail-row td {
    padding: 0 16px 18px;
    border-bottom: 1px solid rgba(138, 169, 212, 0.08);
    background: rgba(8, 17, 31, 0.3);
    text-align: left !important;
    white-space: normal !important;
    font-variant-numeric: normal;
}

.dashboard-report__detail-shell {
    display: grid;
    gap: 14px;
    padding: 18px;
    border-radius: 18px;
    border: 1px solid rgba(138, 169, 212, 0.12);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.015)),
        rgba(6, 14, 27, 0.78);
}

.dashboard-report__detail-formula-wrap {
    display: grid;
    gap: 8px;
    justify-items: start;
}

.dashboard-report__detail-kicker {
    color: var(--db-cyan) !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.dashboard-report__detail-formula {
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid rgba(138, 169, 212, 0.14);
    background: rgba(255, 255, 255, 0.03);
    color: rgba(240, 247, 255, 0.92) !important;
    font-family: "Consolas", "SFMono-Regular", monospace;
    font-size: 13px;
    line-height: 1.65;
}

.dashboard-report__detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.dashboard-report__detail-block {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 14px;
    border-radius: 14px;
    border: 1px solid rgba(138, 169, 212, 0.1);
    background: rgba(255, 255, 255, 0.02);
}

.dashboard-report__detail-block h5 {
    margin: 0;
    color: var(--db-text) !important;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.dashboard-report__detail-block p,
.dashboard-report__detail-block li {
    margin: 0;
    color: rgba(236, 243, 255, 0.82) !important;
    font-size: 13px;
    line-height: 1.75;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}

.dashboard-report__detail-block ul {
    margin: 0;
    padding-left: 18px;
}

.dashboard-report__notes {
    display: grid;
    gap: 10px;
    padding: 18px;
    border-radius: 18px;
    border: 1px solid rgba(138, 169, 212, 0.12);
    background: rgba(255, 255, 255, 0.025);
}

.dashboard-report__notes h4 {
    margin: 0;
    color: var(--db-text) !important;
    font-size: 0.95rem;
    font-weight: 700;
}

.dashboard-report__notes ul {
    margin: 0;
    padding-left: 18px;
}

.dashboard-report__notes li {
    color: rgba(236, 243, 255, 0.8) !important;
    font-size: 13px;
    line-height: 1.7;
}

.dashboard-report__glossary {
    display: grid;
    gap: 10px;
    padding: 18px;
    border-radius: 18px;
    border: 1px solid rgba(138, 169, 212, 0.12);
    background: rgba(255, 255, 255, 0.02);
}

.dashboard-report__glossary h4 {
    margin: 0;
    color: var(--db-text) !important;
    font-size: 0.95rem;
    font-weight: 700;
}

.dashboard-report__glossary dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 16px;
    margin: 0;
}

.dashboard-report__glossary div {
    display: grid;
    gap: 4px;
}

.dashboard-report__glossary dt {
    color: var(--db-cyan) !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.dashboard-report__glossary dd {
    margin: 0;
    color: rgba(236, 243, 255, 0.78) !important;
    font-size: 13px;
    line-height: 1.6;
}

.dashboard-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(320px, 1.05fr) minmax(540px, 0.95fr);
    align-items: stretch;
    gap: 30px;
    padding: 28px 34px 0;
    border: 1px solid var(--db-border-strong);
    border-radius: 30px;
    background:
        linear-gradient(135deg, rgba(76, 201, 240, 0.15), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02)),
        var(--db-panel-strong);
    box-shadow: var(--db-shadow);
}

.dashboard-hero::after {
    content: "";
    position: absolute;
    inset: auto -80px -120px auto;
    width: 280px;
    height: 280px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(122, 231, 255, 0.24), transparent 70%);
    pointer-events: none;
}

.dashboard-hero-copy {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 4px 6px 0 2px;
}

.dashboard-hero-copy::after {
    content: "";
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(236, 243, 255, 0.9), rgba(236, 243, 255, 0.1));
}

.dashboard-hero-tabs {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: auto;
}

.dashboard-hero-tabs__label {
    color: var(--db-muted) !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.dashboard-hero-tabs .nav-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 3px;
    border: none !important;
    border-bottom: 1px solid rgba(122, 231, 255, 0.22) !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: flex-end;
}

.dashboard-hero-tabs .nav-tabs .nav-item {
    margin: 0 !important;
}

.dashboard-hero-tabs .nav-tabs .nav-link {
    padding: 11px 24px !important;
    border-radius: 10px 10px 0 0 !important;
    border: 1px solid rgba(122, 231, 255, 0.16) !important;
    border-bottom: 1px solid rgba(122, 231, 255, 0.22) !important;
    background: rgba(255, 255, 255, 0.04) !important;
    color: rgba(236, 243, 255, 0.60) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
    margin-bottom: -1px !important;
    transition: background 140ms ease, color 140ms ease, border-color 140ms ease !important;
    white-space: nowrap;
}

.dashboard-hero-tabs .nav-tabs .nav-link:hover {
    background: rgba(122, 231, 255, 0.08) !important;
    color: rgba(236, 243, 255, 0.9) !important;
    border-color: rgba(122, 231, 255, 0.3) !important;
    border-bottom-color: rgba(122, 231, 255, 0.22) !important;
}

.dashboard-hero-tabs .nav-tabs .nav-link.active {
    background: rgba(76, 201, 240, 0.16) !important;
    border-color: rgba(122, 231, 255, 0.45) !important;
    border-bottom-color: rgb(15, 28, 47) !important;
    color: var(--db-cyan) !important;
}

.dashboard-author-card {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    width: 100%;
    padding: 12px 14px;
    border-radius: 24px;
    border: 1px solid rgba(122, 231, 255, 0.14);
    background:
        linear-gradient(135deg, rgba(76, 201, 240, 0.09), transparent 55%),
        rgba(255, 255, 255, 0.04);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 14px 30px rgba(0, 0, 0, 0.16);
}

.dashboard-author-card__image {
    width: 60px;
    height: 60px;
    border-radius: 16px;
    object-fit: cover;
    border: 1px solid rgba(122, 231, 255, 0.22);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.22);
}

.dashboard-author-card__content {
    display: grid;
    gap: 6px;
}

.dashboard-author-card__eyebrow {
    color: var(--db-cyan) !important;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.dashboard-author-card__content p {
    margin: 0;
    color: rgba(236, 243, 255, 0.9) !important;
    font-size: 14px;
    line-height: 1.55;
}

.dashboard-author-card__meta {
    color: var(--db-muted) !important;
    font-size: 12px !important;
}

.dashboard-author-card__link {
    color: var(--db-text) !important;
    font-weight: 800;
    text-decoration: none;
    border-bottom: 1px solid rgba(122, 231, 255, 0.35);
}

.dashboard-author-card__link:hover {
    color: var(--db-cyan) !important;
    border-bottom-color: rgba(122, 231, 255, 0.7);
}

.dashboard-kicker {
    display: inline-flex;
    margin-bottom: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(76, 201, 240, 0.12);
    border: 1px solid rgba(122, 231, 255, 0.14);
    color: var(--db-cyan) !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.dashboard-hero h1.display-4 {
    margin: 0;
    padding: 0;
    color: var(--db-text) !important;
    font-size: clamp(2.3rem, 4vw, 4.2rem);
    line-height: 1.02;
    letter-spacing: -0.04em;
    font-weight: 800;
}

.dashboard-hero-control {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    align-content: start;
    width: min(100%, 640px);
    margin-left: auto;
}

.dashboard-hero-control__header {
    grid-column: 1 / -1;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 0 4px 2px;
}

.dashboard-hero-control__header strong {
    color: var(--db-text) !important;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.dashboard-hero-control__eyebrow {
    color: var(--db-cyan) !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: minmax(420px, 1.16fr) minmax(300px, 0.84fr);
    gap: 24px;
    align-items: start;
}

.dashboard-hero-control__stack {
    display: grid;
    gap: 10px;
}

.dashboard-hero-control__subhead {
    display: grid;
    gap: 4px;
    padding: 2px 2px 6px;
}

.dashboard-hero-control__subeyebrow {
    color: rgba(122, 231, 255, 0.9) !important;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.dashboard-hero-control__subhead p {
    margin: 0;
    color: rgba(236, 243, 255, 0.62) !important;
    font-size: 12px;
    line-height: 1.45;
    max-width: 52ch;
}

.dashboard-panel {
    padding: 24px;
    border-radius: var(--db-radius);
    border: 1px solid var(--db-border);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.01)),
        var(--db-panel);
    box-shadow: var(--db-shadow);
    backdrop-filter: blur(12px);
}

.dashboard-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.dashboard-panel-controls {
    display: flex;
    justify-content: flex-end;
}

.dashboard-switch {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-width: min(100%, 340px);
    padding: 12px 14px;
    border-radius: 18px;
    border: 1px solid rgba(138, 169, 212, 0.14);
    background: rgba(255, 255, 255, 0.04);
    cursor: pointer;
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.dashboard-switch--hero {
    min-width: 0;
    min-height: 72px;
    align-self: stretch;
    padding: 14px 16px;
    border-radius: 18px;
    border-color: rgba(138, 169, 212, 0.12);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.018)),
        rgba(255, 255, 255, 0.025);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 10px 24px rgba(0, 0, 0, 0.14);
}

.dashboard-switch--hero:hover {
    transform: translateY(-2px);
    border-color: rgba(122, 231, 255, 0.24);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.024)),
        rgba(255, 255, 255, 0.03);
}

.dashboard-switch--master {
    min-width: 0;
    min-height: 96px;
    padding: 24px 26px;
    border-radius: 24px;
    border-color: rgba(122, 231, 255, 0.3);
    background:
        radial-gradient(circle at right center, rgba(76, 201, 240, 0.18), transparent 45%),
        linear-gradient(135deg, rgba(10, 28, 46, 0.96), rgba(19, 48, 73, 0.88));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 18px 38px rgba(0, 0, 0, 0.24);
}

.dashboard-switch--master .dashboard-switch__track {
    flex-basis: 64px;
    width: 64px;
    height: 36px;
    background: rgba(255, 255, 255, 0.18);
}

.dashboard-switch--master .dashboard-switch__track::after {
    top: 4px;
    left: 4px;
    width: 28px;
    height: 28px;
}

.dashboard-switch--master .dashboard-switch__input:checked + .dashboard-switch__track::after {
    transform: translateX(28px);
}

.dashboard-switch--master .dashboard-switch__title {
    font-size: 12px;
    letter-spacing: 0.18em;
    color: var(--db-cyan) !important;
}

.dashboard-switch--master .dashboard-switch__meta {
    font-size: 17px;
    line-height: 1.35;
    color: var(--db-text) !important;
    font-weight: 800;
}

.dashboard-switch--hero .dashboard-switch__title {
    font-size: 11px;
    letter-spacing: 0.14em;
}

.dashboard-switch--hero .dashboard-switch__meta {
    font-size: 13px;
    color: rgba(236, 243, 255, 0.9) !important;
    font-weight: 700;
    line-height: 1.4;
}

.dashboard-switch--row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-height: 60px;
    padding: 11px 14px;
    border-radius: 16px;
    border-color: rgba(138, 169, 212, 0.1);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.012)),
        rgba(255, 255, 255, 0.015);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.025),
        0 6px 16px rgba(0, 0, 0, 0.1);
}

.dashboard-switch--row .dashboard-switch__track {
    width: 46px;
    min-width: 46px;
    height: 26px;
}

.dashboard-switch--row .dashboard-switch__track::after {
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
}

.dashboard-switch--row .dashboard-switch__input:checked + .dashboard-switch__track::after {
    transform: translateX(20px);
}

.dashboard-switch--row .dashboard-switch__copy {
    gap: 2px;
}

.dashboard-switch--row .dashboard-switch__title {
    font-size: 9px;
    letter-spacing: 0.14em;
}

.dashboard-switch--row .dashboard-switch__meta {
    font-size: 12px;
    line-height: 1.3;
    font-weight: 600;
    color: rgba(236, 243, 255, 0.76) !important;
}

.dashboard-switch__input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.dashboard-switch__track {
    position: relative;
    flex: 0 0 52px;
    width: 52px;
    height: 30px;
    border-radius: 999px;
    background: rgba(138, 169, 212, 0.22);
    transition: background 180ms ease;
}

.dashboard-switch__track::after {
    content: '';
    position: absolute;
    top: 4px;
    left: 4px;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #f3f7ff;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.25);
    transition: transform 180ms ease;
}

.dashboard-switch__input:checked + .dashboard-switch__track {
    background: linear-gradient(135deg, rgba(69, 214, 168, 0.9), rgba(76, 201, 240, 0.88));
}

.dashboard-switch__input:checked + .dashboard-switch__track::after {
    transform: translateX(22px);
}

.dashboard-switch__copy {
    display: grid;
    gap: 2px;
}

.dashboard-switch__title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}

.dashboard-switch__title {
    color: var(--db-text) !important;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.dashboard-switch__meta {
    color: var(--db-muted) !important;
    font-size: 12px;
    line-height: 1.45;
}

.dashboard-switch__helper-link {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--db-cyan) !important;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: underline;
    text-decoration-color: rgba(122, 231, 255, 0.45);
    text-underline-offset: 3px;
    cursor: pointer;
}

.dashboard-switch__helper-link:hover,
.dashboard-switch__helper-link:focus {
    color: #c9f6ff !important;
    text-decoration-color: rgba(201, 246, 255, 0.85);
    outline: none;
}

.dashboard-helper-modal {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: grid;
    place-items: center;
    padding: 24px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 160ms ease;
}

.dashboard-helper-modal.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.dashboard-helper-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 10, 20, 0.72);
    backdrop-filter: blur(8px);
}

.dashboard-helper-modal__panel {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 12px;
    width: min(100%, 760px);
    max-height: min(80vh, 760px);
    overflow-y: auto;
    padding: 24px 24px 22px;
    border-radius: 24px;
    border: 1px solid rgba(122, 231, 255, 0.22);
    background:
        radial-gradient(circle at top right, rgba(76, 201, 240, 0.14), transparent 34%),
        linear-gradient(180deg, rgba(18, 31, 48, 0.98), rgba(10, 18, 32, 0.98));
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.42);
}

.dashboard-helper-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    border: 1px solid rgba(138, 169, 212, 0.2);
    background: rgba(255, 255, 255, 0.04);
    color: var(--db-text) !important;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.dashboard-helper-modal__eyebrow {
    color: var(--db-cyan) !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.dashboard-helper-modal__panel h3 {
    margin: 0;
    color: var(--db-text) !important;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.dashboard-helper-modal__body {
    display: grid;
    gap: 12px;
}

.dashboard-helper-modal__body p,
.dashboard-helper-modal__body li {
    margin: 0;
    color: rgba(236, 243, 255, 0.82) !important;
    font-size: 14px;
    line-height: 1.75;
}

.dashboard-helper-modal__body ul {
    margin: 0;
    padding-left: 18px;
}

.dashboard-switch__input:checked + .dashboard-switch__track + .dashboard-switch__copy .dashboard-switch__meta {
    color: var(--db-text) !important;
}

.dashboard-panel-header h2 {
    margin: 0;
    padding: 0;
    color: var(--db-text) !important;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.dashboard-panel--results,
.dashboard-panel--gauge,
.dashboard-panel--trend,
.dashboard-panel--waterfall,
.dashboard-panel--grid,
.dashboard-panel--forecast {
    min-width: 0;
}

.dashboard-panel--waterfall {
    grid-column: 1 / -1;
}

.dashboard-panel--grid {
    padding: 22px;
}

.dashboard-panel--forecast {
    padding: 20px 18px;
}

.dashboard-panel-note {
    color: var(--db-muted) !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-align: right;
}

.urgency-gauge-shell {
    display: grid;
    grid-template-columns: minmax(200px, 280px) minmax(0, 1fr);
    gap: 18px;
    align-items: center;
}

.urgency-gauge-copy {
    display: grid;
    gap: 10px;
}

.urgency-gauge-copy strong {
    font-size: clamp(1.5rem, 2vw, 2.2rem);
    line-height: 1;
    letter-spacing: -0.04em;
    color: var(--db-text) !important;
}

.urgency-gauge-copy p {
    margin: 0;
    max-width: 42ch;
    color: var(--db-muted) !important;
    font-size: 14px;
    line-height: 1.6;
}

.urgency-gauge-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.urgency-gauge-stat {
    display: grid;
    gap: 6px;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(138, 169, 212, 0.12);
    background: rgba(255, 255, 255, 0.035);
}

.urgency-gauge-stat__label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--db-muted) !important;
}

.urgency-gauge-stat strong {
    font-size: 1.25rem;
    color: var(--db-text) !important;
}

body.dashboard-page #urgency-gauge {
    width: 100%;
    min-height: 220px;
}

body.dashboard-page #urgency-gauge svg {
    max-width: 100% !important;
}

.urgency-gauge__segment,
.urgency-gauge__track,
.urgency-gauge__progress {
    stroke: none;
}

.urgency-gauge__threshold {
    stroke: rgba(236, 243, 255, 0.72);
    stroke-width: 2;
    stroke-dasharray: 4 5;
}

.urgency-gauge__threshold-label,
.urgency-gauge__score,
.urgency-gauge__caption {
    fill: var(--db-text);
    font-family: 'Plus Jakarta Sans', 'Hanken Grotesk', sans-serif;
}

.urgency-gauge__threshold-label {
    fill: rgba(236, 243, 255, 0.7);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.urgency-gauge__needle {
    stroke: #f7fbff;
    stroke-width: 3.5;
    stroke-linecap: round;
}

.urgency-gauge__hub-halo {
    fill: rgba(122, 231, 255, 0.16);
}

.urgency-gauge__hub {
    fill: #7ae7ff;
    stroke: #f7fbff;
    stroke-width: 2;
}

.urgency-gauge__score {
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -0.05em;
}

.urgency-gauge__caption {
    fill: rgba(236, 243, 255, 0.6);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.dashboard-page .results-calculator,
body.dashboard-page .grid-chart-container,
body.dashboard-page .line-chart-container {
    margin-top: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.dashboard-page .results-list,
body.dashboard-page .results-list ul,
body.dashboard-page .results-list li,
body.dashboard-page .footer-inner ul,
body.dashboard-page .footer-inner li {
    list-style: none !important;
    margin-left: 0 !important;
}

body.dashboard-page #content ul.results-list li {
    margin-left: 0 !important;
}

body.dashboard-page .results-list {
    gap: 16px;
}

.results-summary-box,
.results-chart-box {
    padding: 18px;
    border-radius: 24px;
    border: 1px solid rgba(138, 169, 212, 0.12);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.015)),
        rgba(255, 255, 255, 0.028);
}

.results-summary-box {
    margin-bottom: 14px;
}

.results-summary-box--compare .results-list {
    gap: 14px;
}

.results-charts-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
}

.results-chart-box {
    display: grid;
    gap: 14px;
    min-width: 0;
    padding: 22px;
    position: relative;
    overflow: hidden;
}

.results-chart-box::before {
    content: "";
    position: absolute;
    inset: auto -36px -48px auto;
    width: 150px;
    height: 150px;
    border-radius: 999px;
    opacity: 0.42;
    pointer-events: none;
}

.results-chart-box--donut::before {
    background: radial-gradient(circle, rgba(255, 107, 144, 0.18), transparent 72%);
}

.results-chart-box__header h3 {
    margin: 0;
    color: var(--db-text) !important;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.results-legend-box {
    margin-top: 16px;
    padding: 18px 18px 16px;
    border-radius: 22px;
    border: 1px solid rgba(138, 169, 212, 0.12);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.018)),
        rgba(255, 255, 255, 0.025);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.results-chart-tooltip {
    position: absolute;
    z-index: 20;
    min-width: 190px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(138, 169, 212, 0.18);
    background: rgba(7, 17, 31, 0.94);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.36);
    backdrop-filter: blur(14px);
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity 140ms ease, transform 140ms ease;
}

.results-chart-tooltip.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.results-chart-tooltip__title,
.results-chart-tooltip__value,
.results-chart-tooltip__share {
    color: var(--db-text);
    font-family: 'Plus Jakarta Sans', 'Hanken Grotesk', sans-serif;
}

.results-chart-tooltip__title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.results-chart-tooltip__swatch {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    box-shadow: 0 0 14px currentColor;
}

.results-chart-tooltip__value {
    font-size: 1.1rem;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.results-chart-tooltip__share {
    margin-top: 4px;
    color: rgba(236, 243, 255, 0.68);
    font-size: 12px;
    font-weight: 600;
}

body.dashboard-page .results-item {
    overflow: hidden;
    padding: 22px 16px 16px !important;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.results-item__values {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.results-summary-box--compare .results-item__values {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: 12px;
    align-items: end;
}

.results-item__value {
    display: grid;
    gap: 4px;
}

.results-item__value-label {
    color: rgba(236, 243, 255, 0.58) !important;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

/* Hide the "Reform" label on the active value unless a reform is active */
.results-item__value--active .results-item__value-label {
    display: none;
}

.results-summary-box--compare .results-item__value--active .results-item__value-label {
    display: block;
}

.results-item__value--active {
    position: relative;
    z-index: 1;
}

.results-item__value--baseline {
    display: none;
    opacity: 0.46;
    filter: saturate(0.78);
}

.results-summary-box--compare .results-item__value--baseline {
    display: grid;
}

.results-item__value--baseline p,
.results-summary-box--compare .results-item__value--baseline p {
    font-size: clamp(1.2rem, 1.65vw, 1.7rem);
    letter-spacing: -0.03em;
}

body.dashboard-page .results-item-first::before,
body.dashboard-page .results-item-second::before,
body.dashboard-page .results-item-third::before {
    top: 0;
    left: 0;
    width: 100%;
    height: 6px;
    border-radius: 999px;
}

body.dashboard-page .results-item-first::before {
    background: linear-gradient(90deg, #2fd6a2, #7fffd4);
}

body.dashboard-page .results-item-second::before {
    background: linear-gradient(90deg, #54b7ff, #69f0ff);
}

body.dashboard-page .results-item-third::before {
    background: linear-gradient(90deg, #ff7b6b, #ff4d8d);
}

body.dashboard-page .results-calculator .results-item h3,
body.dashboard-page .results-item p,
body.dashboard-page .results-calculator .results-item p {
    color: var(--db-text) !important;
}

body.dashboard-page .results-calculator .results-item h3 {
    font-size: 18px;
    margin-bottom: 2px;
}

body.dashboard-page .results-calculator .results-item h3::before {
    display: none;
}

body.dashboard-page .results-item p,
body.dashboard-page .results-calculator .results-item p {
    font-size: clamp(1.7rem, 2.4vw, 2.5rem);
    font-weight: 800;
    letter-spacing: -0.04em;
}

body.dashboard-page .cacculator_form .row {
    margin-bottom: 10px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(138, 169, 212, 0.08);
}

body.dashboard-page .tab-pane .container {
    max-width: 100%;
    padding: 0;
}

body.dashboard-page .tab-pane .row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 10px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(138, 169, 212, 0.08);
}

body.dashboard-page .calculator-label {
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em;
}

body.dashboard-page input[type="number"] {
    width: 90px;
    margin-top: 0;
    padding: 11px 14px;
    border-radius: 12px;
    border: 1px solid rgba(138, 169, 212, 0.18);
    background: rgba(4, 11, 22, 0.86);
    color: var(--db-text);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}

body.dashboard-page input[type="number"]:focus {
    border-color: rgba(76, 201, 240, 0.6);
    box-shadow: 0 0 0 4px rgba(76, 201, 240, 0.12);
}

body.dashboard-page .input-container {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
}

body.dashboard-page .input-container span,
body.dashboard-page .property-value,
body.dashboard-page .property-value-rate {
    color: var(--db-muted) !important;
    font-size: 13px;
}

body.dashboard-page .property-value::before {
    color: var(--db-cyan) !important;
}

.fixed-rate-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(102px, 1fr));
    gap: 10px;
    width: 100%;
    max-width: 480px;
}

.fixed-rate-card {
    display: grid;
    gap: 6px;
    padding: 12px;
    border-radius: 14px;
    border: 1px solid rgba(138, 169, 212, 0.12);
    background: rgba(255, 255, 255, 0.035);
}

.fixed-rate-title {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--db-muted) !important;
}

.fixed-rate-input-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.fixed-rate-input-wrap span {
    color: var(--db-text) !important;
    font-weight: 700;
    font-size: 18px;
    line-height: 1;
}

.fixed-rate-input-wrap input[type="number"] {
    width: 100%;
    min-width: 0;
    height: 44px;
    padding: 6px 10px;
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    border-radius: 14px;
    appearance: textfield;
    -moz-appearance: textfield;
}

.fixed-rate-input-wrap input[type="number"]::-webkit-outer-spin-button,
.fixed-rate-input-wrap input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.fixed-rate-row {
    align-items: flex-start !important;
}

.fixed-rate-row > .col-md-6 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
}

.fixed-rate-row .calculator-label {
    margin-bottom: 8px;
}

body.dashboard-page input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    border-radius: 999px;
    outline: none;
    cursor: pointer;
    border: none;
    /* fill is set inline via JS updateSliderFill */
    background: rgba(255,255,255,0.08);
}

body.dashboard-page input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.55);
    background: linear-gradient(145deg, #7ae7ff, #4cc9f0);
    box-shadow: 0 0 0 4px rgba(76, 201, 240, 0.20), 0 2px 8px rgba(0,0,0,0.35);
    cursor: pointer;
    transition: box-shadow 140ms ease, transform 140ms ease;
}

body.dashboard-page input[type="range"]::-webkit-slider-thumb:hover {
    box-shadow: 0 0 0 7px rgba(76, 201, 240, 0.25), 0 2px 10px rgba(0,0,0,0.4);
    transform: scale(1.1);
}

body.dashboard-page input[type="range"]::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.55);
    background: linear-gradient(145deg, #7ae7ff, #4cc9f0);
    box-shadow: 0 0 0 4px rgba(76, 201, 240, 0.20), 0 2px 8px rgba(0,0,0,0.35);
    cursor: pointer;
}

body.dashboard-page input[type="range"]::-moz-range-track {
    height: 6px;
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
}

body.dashboard-page input[type="range"]:focus {
    outline: none;
}

body.dashboard-page input[type="range"]:focus::-webkit-slider-thumb {
    box-shadow: 0 0 0 8px rgba(76, 201, 240, 0.20), 0 2px 10px rgba(0,0,0,0.4);
}

body.dashboard-page .nav-tabs {
    border-bottom: none;
    gap: 8px;
    margin-bottom: 18px;
}

body.dashboard-page .nav-tabs .nav-link {
    border-radius: 999px;
    padding: 10px 16px;
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--db-muted) !important;
    border: 1px solid rgba(137, 168, 212, 0.12) !important;
    font-size: 13px;
}

body.dashboard-page .nav-tabs .nav-link:hover {
    color: var(--db-text) !important;
    background: rgba(255, 255, 255, 0.07) !important;
}

body.dashboard-page .nav-tabs .nav-link.active,
body.dashboard-page #groundRentTabs.nav-tabs .nav-link.active {
    color: #06111e !important;
    background: linear-gradient(135deg, #67dfff, #54b7ff) !important;
    border-color: transparent !important;
    box-shadow: 0 10px 22px rgba(76, 201, 240, 0.18);
}

body.dashboard-page #premium-bar-chart,
body.dashboard-page #premium-donut-chart,
body.dashboard-page #premium-chart,
body.dashboard-page #cost-waiting-waterfall,
body.dashboard-page #premium-grid-chart,
body.dashboard-page #additional-premium-line-chart {
    width: 100%;
    min-height: 260px;
}

body.dashboard-page #premium-bar-chart,
body.dashboard-page #premium-donut-chart {
    position: relative;
    z-index: 1;
}

body.dashboard-page #premium-bar-chart {
    display: none;
}

body.dashboard-page #premium-donut-chart {
    display: grid;
    place-items: center;
    min-height: 320px;
}

body.dashboard-page #chart-legend,
body.dashboard-page #cost-waiting-legend,
body.dashboard-page #line-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 14px;
    margin-top: 0;
    justify-content: center;
}

body.dashboard-page #chart-legend {
    flex-wrap: wrap;
    justify-content: center;
}

body.dashboard-page #chart-legend div,
body.dashboard-page #cost-waiting-legend div,
body.dashboard-page #line-chart-legend div {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(138, 169, 212, 0.12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

body.dashboard-page #chart-legend div {
    flex: 0 1 auto;
    white-space: nowrap;
}

body.dashboard-page #chart-legend div span,
body.dashboard-page #cost-waiting-legend div span,
body.dashboard-page #line-chart-legend div span {
    color: rgba(236, 243, 255, 0.88) !important;
    font-size: 13px;
    font-weight: 700;
}

body.dashboard-page #chart-legend div > div,
body.dashboard-page #cost-waiting-legend div > div,
body.dashboard-page #line-chart-legend div > div {
    border-radius: 999px;
    box-shadow: 0 0 16px rgba(255, 255, 255, 0.12);
}

body.dashboard-page #premium-chart svg,
body.dashboard-page #premium-bar-chart svg,
body.dashboard-page #premium-donut-chart svg,
body.dashboard-page #cost-waiting-waterfall svg,
body.dashboard-page #additional-premium-line-chart svg {
    max-width: 100% !important;
    overflow: visible;
}

.premium-donut__center-label,
.premium-donut__center-value,
.premium-donut__empty,
.premium-donut__label,
.premium-donut__label-value,
.premium-donut__share {
    fill: var(--db-text);
    font-family: 'Plus Jakarta Sans', 'Hanken Grotesk', sans-serif;
}

.premium-donut__center-label {
    fill: rgba(236, 243, 255, 0.62);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.premium-donut__center-value {
    font-size: 1.7rem;
    font-weight: 800;
    letter-spacing: -0.05em;
}

.premium-donut__share {
    fill: rgba(236, 243, 255, 0.86);
    font-size: 11px;
    font-weight: 800;
}

.premium-donut__leader {
    fill: none;
    stroke: rgba(236, 243, 255, 0.26);
    stroke-width: 1.5;
}

.premium-donut__label {
    fill: rgba(236, 243, 255, 0.9);
    font-size: 11px;
    font-weight: 700;
}

.premium-donut__label-value {
    fill: rgba(236, 243, 255, 0.62);
    font-size: 10px;
    font-weight: 600;
}

.premium-donut__empty {
    fill: rgba(236, 243, 255, 0.62);
    font-size: 14px;
    font-weight: 700;
}

.waterfall-chart-container {
    display: grid;
    gap: 16px;
}

.waterfall-chart__grid .tick line {
    stroke: rgba(138, 169, 212, 0.12);
    stroke-dasharray: 4 8;
}

.waterfall-chart__grid .domain {
    display: none;
}

.waterfall-chart__axis text,
.waterfall-chart__label {
    fill: rgba(236, 243, 255, 0.84);
    font-family: 'Plus Jakarta Sans', 'Hanken Grotesk', sans-serif;
}

.waterfall-chart__axis text {
    font-size: 12px;
    font-weight: 700;
}

.waterfall-chart__axis path,
.waterfall-chart__axis line {
    stroke: rgba(138, 169, 212, 0.24);
}

.waterfall-chart__connector {
    stroke: rgba(122, 231, 255, 0.3);
    stroke-width: 1.5;
    stroke-dasharray: 4 6;
}

.waterfall-chart__label {
    font-size: 12px;
    font-weight: 800;
}

.waterfall-chart__bar {
    filter: drop-shadow(0 12px 18px rgba(0, 0, 0, 0.22));
}

.waterfall-legend__swatch {
    display: inline-flex;
    width: 12px;
    height: 12px;
    margin-right: 8px;
    border-radius: 999px;
    box-shadow: 0 0 14px rgba(255, 255, 255, 0.12);
}

.premium-curve {
    display: grid;
    gap: 14px;
}

.premium-curve__legend {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 12px;
}

.premium-curve__chip,
.premium-curve__note {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(138, 169, 212, 0.12);
    background: rgba(255, 255, 255, 0.035);
    color: var(--db-text) !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.premium-curve__note {
    color: var(--db-muted) !important;
    font-weight: 600;
}

.premium-curve__chip-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    box-shadow: 0 0 16px currentColor;
}

.premium-curve__plot-bg {
    fill: rgba(4, 12, 22, 0.72);
    stroke: rgba(138, 169, 212, 0.1);
}

.premium-curve__grid .tick line {
    stroke: rgba(138, 169, 212, 0.12);
    stroke-dasharray: 4 8;
}

.premium-curve__grid .domain {
    display: none;
}

.premium-curve__axis text,
.premium-curve__axis-label,
.premium-curve__end-label,
.premium-curve__marker-label {
    fill: var(--db-text);
    font-family: 'Plus Jakarta Sans', 'Hanken Grotesk', sans-serif;
}

.premium-curve__axis text {
    fill: rgba(236, 243, 255, 0.72);
    font-size: 12px;
    font-weight: 600;
}

.premium-curve__axis path,
.premium-curve__axis line {
    stroke: rgba(138, 169, 212, 0.24);
}

.premium-curve__axis-label {
    fill: rgba(236, 243, 255, 0.56);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.premium-curve__range-band {
    opacity: 1;
}

.premium-curve__area--low {
    opacity: 0.45;
}

.premium-curve__area--high {
    opacity: 0.36;
}

.premium-curve__area--medium {
    opacity: 0.85;
}

.premium-curve__line--high {
    stroke-opacity: 0.92;
}

.premium-curve__line--low {
    stroke-opacity: 0.92;
}

.premium-curve__line--medium {
    stroke-opacity: 1;
}

.premium-curve__end-label {
    fill: rgba(236, 243, 255, 0.88);
    font-size: 12px;
    font-weight: 700;
}

.premium-curve__marker-line {
    stroke: rgba(122, 231, 255, 0.28);
    stroke-width: 1.5;
    stroke-dasharray: 5 7;
}

.premium-curve__marker-halo {
    fill: rgba(122, 231, 255, 0.16);
}

.premium-curve__marker {
    fill: #7ae7ff;
    stroke: #eff8ff;
    stroke-width: 2;
}

.premium-curve__marker-label {
    fill: #eff8ff;
    font-size: 13px;
    font-weight: 800;
}

body.dashboard-page #premium-chart svg text,
body.dashboard-page #premium-bar-chart svg text,
body.dashboard-page #additional-premium-line-chart svg text,
body.dashboard-page .grid-chart-container svg text,
body.dashboard-page .line-chart-container svg text {
    fill: rgba(232, 240, 255, 0.82) !important;
}

body.dashboard-page #premium-bar-chart .bar {
    filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.24));
}

body.dashboard-page #premium-bar-chart .label {
    fill: #f1f6ff !important;
    font-size: 11px;
    font-weight: 800;
}

body.dashboard-page #premium-chart path.domain,
body.dashboard-page #premium-chart .tick line,
body.dashboard-page #premium-bar-chart path.domain,
body.dashboard-page #premium-bar-chart .tick line,
body.dashboard-page #additional-premium-line-chart path.domain,
body.dashboard-page #additional-premium-line-chart .tick line {
    stroke: rgba(138, 169, 212, 0.22) !important;
}

body.dashboard-page #futureRents_interval {
    margin: 14px 0 8px;
    padding: 14px 18px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(138, 169, 212, 0.08);
}

.premium-matrix__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.premium-matrix__axis {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--db-muted) !important;
}

.premium-matrix__table-wrap {
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid rgba(138, 169, 212, 0.12);
    background: rgba(255, 255, 255, 0.03);
}

.premium-matrix {
    width: 100%;
    min-width: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.premium-matrix th,
.premium-matrix td {
    padding: 10px 6px;
    border-right: 1px solid rgba(138, 169, 212, 0.08);
    border-bottom: 1px solid rgba(138, 169, 212, 0.08);
    text-align: center;
}

.premium-matrix thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: rgba(14, 28, 46, 0.96);
}

.premium-matrix__corner,
.premium-matrix__col-header,
.premium-matrix__row-header {
    color: var(--db-text) !important;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.premium-matrix__row-header {
    background: rgba(255, 255, 255, 0.035);
    width: 50px;
}

.premium-matrix__cell {
    color: var(--db-text) !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: -0.03em;
    white-space: nowrap;
    background:
        linear-gradient(
            180deg,
            rgba(76, 201, 240, calc(0.12 + var(--matrix-intensity, 0.5) * 0.2)),
            rgba(255, 255, 255, calc(0.02 + var(--matrix-intensity, 0.5) * 0.06))
        );
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, calc(0.05 + var(--matrix-intensity, 0.5) * 0.12));
    transition: background 180ms ease, transform 180ms ease, box-shadow 180ms ease, color 180ms ease;
}

.premium-matrix__cell--na {
    color: var(--db-muted) !important;
    background: rgba(255, 255, 255, 0.02);
    box-shadow: none;
}

/* 6-band conditional formatting — cool3 (lowest) → hot3 (highest) */
.premium-matrix__cell--cool3 {
    background:
        linear-gradient(180deg, rgba(69, 214, 168, 0.30), rgba(69, 214, 168, 0.10)),
        rgba(255, 255, 255, 0.01);
    color: #d4fff2 !important;
}

.premium-matrix__cell--cool2 {
    background:
        linear-gradient(180deg, rgba(69, 214, 168, 0.18), rgba(69, 214, 168, 0.06)),
        rgba(255, 255, 255, 0.01);
    color: #e7fff7 !important;
}

.premium-matrix__cell--cool1 {
    background:
        linear-gradient(180deg, rgba(76, 201, 240, 0.20), rgba(76, 201, 240, 0.06)),
        rgba(255, 255, 255, 0.01);
    color: #eaf8ff !important;
}

.premium-matrix__cell--hot1 {
    background:
        linear-gradient(180deg, rgba(255, 184, 77, 0.20), rgba(255, 184, 77, 0.06)),
        rgba(255, 255, 255, 0.01);
    color: #fff8ec !important;
}

.premium-matrix__cell--hot2 {
    background:
        linear-gradient(180deg, rgba(255, 140, 60, 0.30), rgba(255, 184, 77, 0.10)),
        rgba(255, 255, 255, 0.01);
    color: #fff2e0 !important;
    box-shadow: inset 0 0 0 1px rgba(255, 184, 77, 0.12);
}

.premium-matrix__cell--hot3 {
    background:
        linear-gradient(180deg, rgba(255, 70, 100, 0.42), rgba(255, 140, 60, 0.18)),
        rgba(255, 255, 255, 0.01);
    color: #fff0f2 !important;
    box-shadow: inset 0 0 0 1px rgba(255, 100, 77, 0.22);
}

.premium-matrix__cell--today {
    outline: 1px solid rgba(122, 231, 255, 0.55);
    outline-offset: -1px;
}

.premium-matrix tbody tr:hover .premium-matrix__cell {
    transform: translateY(-1px);
    box-shadow: inset 0 0 0 1px rgba(122, 231, 255, 0.24), 0 8px 18px rgba(0, 0, 0, 0.2);
}

body.dashboard-page #additional-premium-line-chart {
    min-height: 204px;
}

body.dashboard-page #additional-premium-line-chart svg {
    max-width: 86% !important;
    margin: 0 auto;
    display: block;
}

body.dashboard-page #line-chart-legend {
    gap: 8px 10px;
}

body.dashboard-page #line-chart-legend div {
    padding: 8px 12px;
}

body.dashboard-page #line-chart-legend div span {
    font-size: 11px;
}

body.dashboard-page #footer,
body.dashboard-page footer.footer {
    background: transparent !important;
}

body.dashboard-page footer.footer {
    padding: 18px 0 40px !important;
}

body.dashboard-page .footer-inner {
    max-width: 1480px;
    padding: 0 28px;
    justify-content: space-between;
    gap: 18px;
}

body.dashboard-page .footer-col {
    width: auto;
    min-width: 180px;
}

body.dashboard-page .footer-col h6 {
    color: var(--db-text) !important;
}

@media screen and (max-width: 1180px) {
    .dashboard-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-report__detail-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-panel--inputs {
        grid-row: auto;
    }
}

@media screen and (max-width: 900px) {
    .dashboard-hero {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .dashboard-hero-control {
        width: 100%;
        margin-left: 0;
    }

    .dashboard-hero-copy {
        min-height: 0;
    }

    .dashboard-author-card {
        width: 100%;
    }

    .dashboard-hero-control__header {
        padding-left: 0;
        padding-right: 0;
    }

    .dashboard-panel-header {
        align-items: flex-start;
        gap: 8px;
        flex-direction: column;
    }

    .dashboard-panel-note {
        text-align: left;
    }

    .dashboard-report__header {
        flex-direction: column;
        align-items: flex-start;
    }

    .dashboard-report__schedule-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .dashboard-report__stamp {
        min-width: 0;
        width: 100%;
        text-align: left;
    }
}

@media screen and (max-width: 768px) {
    body.dashboard-page #site_content,
    body.dashboard-page .footer-inner {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.dashboard-page #header {
        padding: 16px !important;
    }

    .dashboard-hero,
    .dashboard-panel,
    .dashboard-report,
    .dashboard-formulae {
        padding: 18px;
        border-radius: 20px;
    }

    .results-charts-grid,
    .dashboard-formulae__grid,
    .dashboard-report__grid,
    .dashboard-report__facts,
    .urgency-gauge-shell,
    .urgency-gauge-stats {
        grid-template-columns: 1fr;
    }

    .dashboard-report__card--summary {
        grid-column: auto;
    }

    .dashboard-report__card--opinion {
        grid-column: auto;
    }

    .dashboard-formulae__card--wide {
        grid-column: auto;
    }

    .dashboard-report__schedule {
        padding: 18px;
        border-radius: 20px;
    }

    .dashboard-report__ref {
        margin-bottom: 6px;
    }

    .dashboard-panel-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .dashboard-panel-controls,
    .dashboard-switch,
    .dashboard-hero-control {
        width: 100%;
    }

    .dashboard-author-card {
        grid-template-columns: 62px minmax(0, 1fr);
        padding: 14px 16px;
        border-radius: 20px;
    }

    .dashboard-author-card__image {
        width: 62px;
        height: 62px;
        border-radius: 18px;
    }

    .dashboard-hero-control {
        grid-template-columns: 1fr;
    }

    .dashboard-report__glossary dl {
        grid-template-columns: 1fr;
    }


@media print {
    html,
    body.dashboard-page {
        background: #ffffff !important;
        color: #111827 !important;
    }

    body.dashboard-page .wrap-header,
    body.dashboard-page #footer,
    body.dashboard-page .navbar-toggler,
    body.dashboard-page #chart-legend,
    body.dashboard-page #cost-waiting-legend,
    body.dashboard-page #line-chart-legend,
    body.dashboard-page .results-chart-tooltip {
        display: none !important;
    }

    body.dashboard-page #site_content {
        max-width: none !important;
        padding: 0 !important;
    }

    .dashboard-hero,
    .dashboard-panel,
    .dashboard-report,
    .dashboard-report__card,
    .dashboard-report__signature,
    .results-summary-box,
    .results-chart-box,
    .results-legend-box,
    .urgency-gauge-stat {
        background: #ffffff !important;
        color: #111827 !important;
        box-shadow: none !important;
        border-color: #d1d5db !important;
        break-inside: avoid;
    }

    .dashboard-report__card p,
    .dashboard-report__signature p,
    .dashboard-panel-header h2,
    .dashboard-report__header h2,
    .dashboard-report__card h3,
    .dashboard-report__signature strong,
    .dashboard-report__facts dd,
    .dashboard-panel-note,
    .urgency-gauge-copy strong,
    .urgency-gauge-copy p,
    .urgency-gauge-stat strong,
    .urgency-gauge-stat__label {
        color: #111827 !important;
        fill: #111827 !important;
    }

    .dashboard-grid,
    .dashboard-report__grid,
    .results-charts-grid,
    .urgency-gauge-shell,
    .urgency-gauge-stats,
    .dashboard-report__facts {
        grid-template-columns: 1fr !important;
    }

    .dashboard-report__table {
        min-width: 0 !important;
    }
}
    body.dashboard-page .results-list {
        flex-direction: column;
    }

    .results-summary-box--compare .results-item__values {
        grid-template-columns: 1fr;
    }

    .results-item__value--baseline {
        padding-top: 4px;
        border-top: 1px solid rgba(138, 169, 212, 0.12);
    }

    body.dashboard-page .footer-col {
        width: calc(50% - 10px);
        min-width: 0;
    }

    .fixed-rate-grid {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 560px) {
    body.dashboard-page .footer-col {
        width: 100%;
    }

    .dashboard-switch--hero {
        min-width: 0;
        width: 100%;
    }

    body.dashboard-page #chart-legend {
        flex-wrap: wrap;
    }
}
