:root {
    --tl-bg: #0F172A;
    --tl-surface: #172033;
    --tl-surface-alt: #1E293B;
    --tl-text: #E5E7EB;
    --tl-muted: #A8B3C7;
    --tl-aurum: #C7A46B;
    --tl-aurum-hover: #E0BD7A;
    --tl-blue: #93C5FD;
    --tl-border: #273449;
    --tl-danger: #DC2626;
    --tl-warning: #F59E0B;
    --tl-success: #22C55E;
    --tl-saved: #9CAD72;
    --tl-saved-hover: #B7C98B;
    --tl-shadow: 0 18px 45px rgba(3, 7, 18, 0.34);
    --tl-radius: 8px;
    --global-header-height: 72px;
    --scenario-nav-height: 48px;
    --sticky-nav-gap: 12px;
    --z-sticky-sidebar: 1010;
    --z-scenario-nav: 1020;
    --z-global-nav: 1050;
}

html,
body {
    min-height: 100%;
    margin: 0;
}

body {
    background:
        radial-gradient(circle at top left, rgba(199, 164, 107, 0.07), transparent 34rem),
        var(--tl-bg);
    color: var(--tl-text);
    font-family: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

.bg-login {
    background:
        linear-gradient(rgba(15, 23, 42, 0.86), rgba(15, 23, 42, 0.94)),
        url("/static/chuttersnap-kq8iWoh5-mU-unsplash.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

main {
    min-height: calc(100vh - 72px);
    padding-top: 24px;
}

.custom-navbar {
    background: rgba(15, 23, 42, 0.96);
    border-bottom: 1px solid var(--tl-border);
    box-shadow: 0 12px 32px rgba(3, 7, 18, 0.22);
    position: sticky;
    top: 0;
    z-index: var(--z-global-nav);
}

nav .navbar-brand {
    display: flex;
    flex-direction: column;
    gap: 1px;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
}

nav .navbar-brand .blue,
nav .navbar-brand .red,
nav .navbar-brand .yellow,
nav .navbar-brand .green {
    color: var(--tl-aurum);
}

.brand-tagline {
    color: var(--tl-muted);
    font-size: 0.68rem;
    font-weight: 500;
}

.navbar-current-scenario {
    align-items: center;
    border-left: 1px solid var(--tl-border);
    color: var(--tl-muted);
    display: flex;
    gap: 6px;
    font-size: 0.86rem;
    font-weight: 700;
    margin-left: 18px;
    max-width: min(34vw, 480px);
    min-width: 0;
    padding-left: 16px;
}

.navbar-current-scenario span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.navbar-current-scenario .scenario-title-input {
    color: var(--tl-muted);
    font-size: 0.9rem;
    font-weight: 750;
    max-width: min(19vw, 260px);
    min-height: 34px;
    min-width: 90px;
    overflow: hidden;
    padding: 3px 5px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.navbar-current-scenario .scenario-title-input:focus {
    color: var(--tl-text);
}

.navbar-scenario-edit {
    height: 30px;
    width: 30px;
}

.navbar-save-status {
    font-size: 0.74rem;
    margin-left: 2px;
    min-height: 26px;
    padding: 4px 8px;
}

.navbar-dark .navbar-nav .nav-link,
.dropdown-item-text,
.dropdown-header {
    color: var(--tl-muted);
}

.nav-scenarios-link {
    align-items: center;
    border: 1px solid transparent;
    border-radius: var(--tl-radius);
    color: var(--tl-muted);
    display: inline-flex;
    gap: 8px;
    min-height: 42px;
    padding: 8px 12px;
    text-decoration: none;
}

.nav-scenarios-link svg {
    fill: none;
    height: 20px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 20px;
}

.nav-scenarios-link span {
    font-size: 0.9rem;
    font-weight: 750;
}

.nav-scenarios-link:hover,
.nav-scenarios-link:focus {
    background-color: rgba(147, 197, 253, 0.08);
    border-color: var(--tl-border);
    color: var(--tl-text);
}

.nav-more-button {
    align-items: center;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--tl-radius);
    color: var(--tl-muted);
    display: inline-flex;
    height: 42px;
    justify-content: center;
    padding: 8px;
    width: 42px;
}

.nav-more-button:hover,
.nav-more-button:focus {
    background-color: rgba(147, 197, 253, 0.08);
    border-color: var(--tl-border);
    color: var(--tl-text);
}

.nav-more-button svg {
    fill: currentColor;
    height: 22px;
    width: 22px;
}

.fu-calculator-page {
    margin: 0 auto;
    max-width: 1040px;
}

.fu-calculator-hero {
    align-items: center;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin-bottom: 20px;
}

.fu-calculator-kicker {
    color: var(--tl-aurum);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.fu-current-card {
    align-items: center;
    background: linear-gradient(135deg, rgba(199, 164, 107, 0.2), rgba(147, 197, 253, 0.08));
    border: 1px solid rgba(199, 164, 107, 0.35);
    border-radius: var(--tl-radius);
    display: grid;
    gap: 3px 18px;
    grid-template-columns: 1fr auto;
    margin-bottom: 20px;
    padding: 18px;
}

.fu-current-card span,
.fu-placeholder-grid span {
    color: var(--tl-muted);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.fu-current-card strong {
    color: var(--tl-aurum-hover);
    font-size: 1.8rem;
    grid-row: span 2;
}

.fu-current-card small {
    color: var(--tl-muted);
}

.fu-method-card {
    align-items: flex-start;
    display: flex;
    gap: 16px;
}

.fu-calculator-page .section-card {
    margin-bottom: 20px;
}

.fu-schedule-heading,
.fu-results-heading {
    align-items: center;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-bottom: 16px;
}

.fu-operating-fleet,
.fu-final-result {
    background: rgba(199, 164, 107, 0.12);
    border: 1px solid rgba(199, 164, 107, 0.32);
    border-radius: var(--tl-radius);
    display: grid;
    min-width: 150px;
    padding: 10px 14px;
    text-align: right;
}

.fu-operating-fleet span,
.fu-final-result span {
    color: var(--tl-muted);
    font-size: 0.7rem;
    font-weight: 750;
    text-transform: uppercase;
}

.fu-operating-fleet strong,
.fu-final-result strong {
    color: var(--tl-aurum-hover);
    font-size: 1.45rem;
}

.fu-schedule-wrapper {
    max-height: 680px;
}

.fu-schedule-table {
    border-color: var(--tl-border);
    color: var(--tl-text);
    margin-bottom: 0;
    min-width: 820px;
}

.fu-schedule-table thead {
    position: sticky;
    top: 0;
    z-index: 2;
}

.fu-schedule-table thead th {
    background: #983f43;
    border-color: rgba(255, 255, 255, 0.18);
    color: #fff;
    font-size: 0.74rem;
    text-align: center;
    text-transform: uppercase;
}

.fu-schedule-table tbody th {
    background: var(--tl-surface-alt);
    color: var(--tl-muted);
    font-size: 0.78rem;
    font-weight: 650;
    white-space: nowrap;
}

.fu-schedule-table td {
    border-color: var(--tl-border);
    min-width: 105px;
}

.fu-schedule-table .form-control {
    min-width: 72px;
}

.fu-schedule-table .fu-percent {
    color: var(--tl-muted);
    font-size: 0.78rem;
}

.fu-schedule-table tfoot th {
    background: rgba(199, 164, 107, 0.12);
    border-color: var(--tl-border);
    color: var(--tl-text);
    position: sticky;
    bottom: 0;
}

.fu-parameter-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, 1fr);
}

.fu-results-table td {
    border-color: var(--tl-border);
}

.fu-results-table td:first-child {
    width: 72%;
}

.fu-results-table .fu-code {
    color: var(--tl-muted);
    text-align: center;
    width: 60px;
}

.fu-results-table .numeric {
    font-variant-numeric: tabular-nums;
    min-width: 120px;
    text-align: right;
}

.fu-results-table .fu-total-row td {
    background: rgba(199, 164, 107, 0.18);
    color: var(--tl-aurum-hover);
    font-size: 1rem;
    font-weight: 800;
}

.fu-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.charges-calculator-page {
    margin: 0 auto;
    max-width: 1040px;
}

.charges-calculator-page .section-card {
    margin-bottom: 20px;
}

.charges-transition-heading,
.charges-group-heading,
.charges-result-heading {
    align-items: center;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-bottom: 16px;
}

.charges-transition-heading .form-select {
    min-width: 150px;
}

.charges-transition-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, 1fr);
}

.charges-transition-grid > div {
    background: var(--tl-surface-alt);
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    display: grid;
    gap: 3px;
    padding: 12px;
}

.charges-transition-grid > div.active {
    background: rgba(199, 164, 107, 0.14);
    border-color: var(--tl-aurum);
}

.charges-transition-grid span {
    color: var(--tl-aurum);
    font-size: 0.75rem;
    font-weight: 850;
}

.charges-transition-grid strong {
    color: var(--tl-text);
    font-size: 0.9rem;
}

.charges-transition-grid small {
    color: var(--tl-muted);
}

.charges-legal-note {
    background: rgba(147, 197, 253, 0.08);
    border: 1px solid rgba(147, 197, 253, 0.22);
    border-radius: var(--tl-radius);
    color: var(--tl-muted);
    font-size: 0.88rem;
    margin-top: 14px;
    padding: 12px 14px;
}

.charges-legal-note a {
    color: var(--tl-blue);
}

.charges-group-total {
    background: rgba(199, 164, 107, 0.12);
    border: 1px solid rgba(199, 164, 107, 0.3);
    border-radius: var(--tl-radius);
    display: grid;
    min-width: 130px;
    padding: 9px 12px;
    text-align: right;
}

.charges-group-total span {
    color: var(--tl-muted);
    font-size: 0.7rem;
    font-weight: 750;
    text-transform: uppercase;
}

.charges-group-total strong {
    color: var(--tl-aurum-hover);
    font-size: 1.2rem;
}

.charges-table th,
.charges-table td,
.charges-summary-table td {
    border-color: var(--tl-border);
}

.charges-table .numeric,
.charges-summary-table .numeric {
    text-align: right;
}

.charges-input-group {
    margin-left: auto;
    max-width: 150px;
}

.charges-row-note {
    color: var(--tl-muted);
    display: block;
    font-size: 0.75rem;
    margin-top: 2px;
}

.charges-table tfoot th {
    background: rgba(199, 164, 107, 0.1);
    color: var(--tl-text);
}

.charges-summary-table td:first-child {
    width: 75%;
}

.km-holidays-panel {
    background: rgba(13, 20, 36, 0.55);
    border: 1px solid var(--tl-border);
    border-radius: 8px;
    padding: 10px 12px;
}

.km-holidays-panel summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-weight: 700;
    justify-content: space-between;
    list-style: none;
}

.km-holidays-panel summary::-webkit-details-marker {
    display: none;
}

.km-holidays-panel summary::after {
    color: var(--tl-gold);
    content: "Abrir";
    font-size: 0.78rem;
    font-weight: 700;
}

.km-holidays-panel[open] summary::after {
    content: "Fechar";
}

.fu-method-icon {
    align-items: center;
    background: rgba(147, 197, 253, 0.1);
    border: 1px solid rgba(147, 197, 253, 0.25);
    border-radius: 50%;
    color: var(--tl-blue);
    display: flex;
    flex: 0 0 auto;
    font-family: Georgia, serif;
    font-size: 1.5rem;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.fu-role-switch {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 22px;
}

.fu-role-link {
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    color: var(--tl-muted);
    font-weight: 750;
    padding: 8px 13px;
    text-decoration: none;
}

.fu-role-link:hover,
.fu-role-link.active {
    background: rgba(199, 164, 107, 0.15);
    border-color: var(--tl-aurum);
    color: var(--tl-text);
}

.fu-placeholder {
    border: 1px dashed rgba(168, 179, 199, 0.42);
    border-radius: var(--tl-radius);
    padding: 20px;
}

.fu-placeholder-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 18px;
}

.fu-placeholder-grid div {
    background: var(--tl-surface-alt);
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    display: grid;
    gap: 6px;
    padding: 14px;
}

.fu-placeholder-grid strong {
    color: var(--tl-text);
    font-size: 0.9rem;
}

@media (max-width: 720px) {
    .fu-calculator-hero,
    .fu-method-card,
    .fu-schedule-heading,
    .fu-results-heading,
    .charges-transition-heading,
    .charges-group-heading,
    .charges-result-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .fu-current-card,
    .fu-placeholder-grid,
    .fu-parameter-grid,
    .charges-transition-grid {
        grid-template-columns: 1fr;
    }

    .fu-current-card strong {
        grid-row: auto;
    }

    .fu-operating-fleet,
    .fu-final-result,
    .charges-group-total {
        text-align: left;
    }
}

.navbar-divider {
    background-color: var(--tl-border);
    display: inline-block;
    height: 28px;
    width: 1px;
}

.navbar-workspace {
    align-items: center;
    color: var(--tl-text);
    display: inline-flex;
    font-size: 0.9rem;
    font-weight: 750;
    min-height: 42px;
    padding: 8px 10px;
}

.dropdown-menu-dark {
    background-color: var(--tl-surface);
    border: 1px solid var(--tl-border);
}

.dropdown-menu-dark .dropdown-item.active,
.dropdown-menu-dark .dropdown-item:active {
    background-color: rgba(199, 164, 107, 0.22);
    color: var(--tl-text);
}

.page-title {
    color: var(--tl-text);
    font-size: 1.9rem;
    font-weight: 800;
    letter-spacing: 0;
}

.page-subtitle {
    color: var(--tl-muted);
    font-size: 0.95rem;
}

.section-card,
.card {
    background-color: var(--tl-surface);
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    box-shadow: var(--tl-shadow);
    color: var(--tl-text);
}

.section-card {
    padding: 18px;
}

.result-box {
    background-color: var(--tl-surface-alt);
    border: 1px solid rgba(199, 164, 107, 0.22);
    border-radius: var(--tl-radius);
}

.info-dot {
    align-items: center;
    background-color: rgba(147, 197, 253, 0.12);
    border: 1px solid rgba(147, 197, 253, 0.34);
    border-radius: 50%;
    color: var(--tl-blue);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.72rem;
    font-weight: 850;
    height: 20px;
    justify-content: center;
    line-height: 1;
    width: 20px;
}

.general-expense-method:checked + .btn,
.subsidy-mode:checked + .btn {
    background-color: var(--tl-aurum);
    border-color: var(--tl-aurum);
    color: var(--tl-bg);
}

.general-expense-method:focus-visible + .btn,
.subsidy-mode:focus-visible + .btn,
.general-expenses-help > summary:focus-visible {
    outline: 2px solid var(--tl-blue);
    outline-offset: 3px;
    box-shadow: none;
}

.general-expenses-help {
    flex: 0 0 auto;
}

.general-expenses-help > summary {
    cursor: pointer;
    list-style: none;
}

.general-expenses-help > summary::-webkit-details-marker {
    display: none;
}

.general-expenses-help-content {
    position: absolute;
    z-index: 10;
    left: 18px;
    right: 18px;
    max-width: 480px;
    max-height: 60vh;
    overflow-y: auto;
    margin-top: 8px;
    padding: 14px 16px;
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    background: var(--tl-surface-alt);
    color: var(--tl-text);
    box-shadow: var(--tl-shadow);
    font-size: .85rem;
    line-height: 1.6;
}

#geral > .section-card,
#subsidio > .section-card {
    position: relative;
}

.variable-km-panel {
    border-top: 1px solid var(--tl-border);
    padding-top: 18px;
}

.variable-km-input,
.variable-km-percent {
    min-width: 120px;
}

.section-title {
    color: var(--tl-text);
    font-size: 1rem;
    font-weight: 800;
    margin-bottom: 16px;
}

.h5,
h3.h5 {
    color: var(--tl-blue);
    letter-spacing: 0;
}

.form-label {
    color: var(--tl-muted);
    font-size: 0.8rem;
    font-weight: 650;
    margin-bottom: 6px;
}

.form-control,
.form-select {
    background-color: #111A2C;
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    color: var(--tl-text);
}

.form-control:focus,
.form-select:focus {
    background-color: #111A2C;
    border-color: var(--tl-aurum);
    box-shadow: 0 0 0 0.18rem rgba(199, 164, 107, 0.16);
    color: var(--tl-text);
    outline: none;
}

.form-control::placeholder {
    color: var(--tl-muted);
}

.form-control:read-only,
.result-field {
    background-color: rgba(199, 164, 107, 0.12);
    border-color: rgba(199, 164, 107, 0.3);
    color: var(--tl-text);
    font-weight: 750;
}

.method-tag {
    border: 1px solid rgba(168, 179, 199, 0.22);
    border-radius: 999px;
    color: var(--tl-muted);
    display: inline-flex;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1;
    margin-left: 6px;
    padding: 3px 6px;
    vertical-align: middle;
}

.input-group-text {
    background-color: var(--tl-surface-alt);
    border: 1px solid var(--tl-border);
    color: var(--tl-muted);
}

.btn {
    border-radius: var(--tl-radius);
    font-weight: 700;
    letter-spacing: 0;
    min-height: 42px;
}

.btn-primary,
.btn-success,
.btn-purple {
    background-color: var(--tl-aurum);
    border-color: var(--tl-aurum);
    color: #111827;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-success:hover,
.btn-success:focus,
.btn-purple:hover,
.btn-purple:focus {
    background-color: var(--tl-aurum-hover);
    border-color: var(--tl-aurum-hover);
    color: #111827;
}

.btn-secondary,
.btn-outline-secondary,
.btn-outline-light,
.btn-outline-info,
.btn-outline-primary {
    background-color: transparent;
    border-color: var(--tl-border);
    color: var(--tl-text);
}

.btn-secondary:hover,
.btn-outline-secondary:hover,
.btn-outline-light:hover,
.btn-outline-info:hover,
.btn-outline-primary:hover {
    background-color: rgba(147, 197, 253, 0.12);
    border-color: var(--tl-blue);
    color: var(--tl-text);
}

.btn-warning {
    background-color: var(--tl-aurum);
    border-color: var(--tl-aurum);
    color: #111827;
}

.btn-warning:hover,
.btn-warning:focus {
    background-color: var(--tl-aurum-hover);
    border-color: var(--tl-aurum-hover);
    color: #111827;
}

.btn-outline-warning {
    background-color: var(--tl-bg);
    border-color: var(--tl-aurum);
    color: var(--tl-aurum-hover);
}

.btn-outline-warning:hover,
.btn-outline-warning:focus {
    background-color: rgba(199, 164, 107, 0.12);
    border-color: var(--tl-aurum-hover);
    color: var(--tl-aurum-hover);
}

.btn-outline-danger {
    border-color: rgba(220, 38, 38, 0.7);
    color: #FCA5A5;
}

.btn-outline-danger:hover,
.btn-danger,
.text-danger {
    background-color: var(--tl-danger);
    border-color: var(--tl-danger);
    color: #fff !important;
}

.alert-primary {
    background-color: rgba(147, 197, 253, 0.12);
    border-color: rgba(147, 197, 253, 0.35);
    color: var(--tl-text);
}

.help-icon {
    display: inline-block;
    width: 18px;
    height: 18px;
    background-color: var(--tl-surface-alt);
    border: 1px solid var(--tl-border);
    border-radius: 50%;
    color: var(--tl-muted);
    cursor: pointer;
    font-size: 12px;
    line-height: 17px;
    text-align: center;
}

.nav-tabs {
    border-bottom: 1px solid var(--tl-border);
    gap: 4px;
}

.nav-tabs .nav-link,
.nav-pills .nav-link {
    border-radius: var(--tl-radius) var(--tl-radius) 0 0;
    color: var(--tl-muted);
    font-weight: 700;
}

.nav-pills .nav-link {
    border-radius: var(--tl-radius);
}

.nav-tabs .nav-link:hover,
.nav-pills .nav-link:hover {
    border-color: var(--tl-border);
    color: var(--tl-text);
}

.nav-tabs .nav-link.active,
.nav-pills .nav-link.active {
    background-color: rgba(199, 164, 107, 0.14);
    border-color: rgba(199, 164, 107, 0.38);
    color: var(--tl-aurum-hover);
}

.calculation-tabs {
    background-color: rgba(17, 26, 44, 0.58);
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 6px;
}

.calculation-tabs .nav-link {
    border-radius: var(--tl-radius);
    min-width: 100%;
    min-height: 36px;
    padding: 7px 12px;
    text-align: left;
}

.table {
    --bs-table-bg: var(--tl-surface);
    --bs-table-striped-bg: var(--tl-surface-alt);
    --bs-table-hover-bg: rgba(199, 164, 107, 0.09);
    --bs-table-border-color: var(--tl-border);
    --bs-table-color: var(--tl-text);
    color: var(--tl-text);
}

.table-dark {
    --bs-table-bg: var(--tl-surface);
    --bs-table-striped-bg: var(--tl-surface-alt);
    --bs-table-hover-bg: rgba(199, 164, 107, 0.09);
    --bs-table-border-color: var(--tl-border);
    --bs-table-color: var(--tl-text);
}

.table thead th,
.scenarios-table thead th {
    background-color: #111A2C;
    border-bottom: 1px solid var(--tl-border);
    color: var(--tl-muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.tariff-summary-table thead th {
    background-color: #111A2C;
    border-bottom: 1px solid var(--tl-border);
    position: static;
    vertical-align: bottom;
}

.table tbody td,
.scenarios-table tbody td {
    border-color: var(--tl-border);
    color: var(--tl-text);
    vertical-align: middle;
}

.insumos-budget-table {
    min-width: 820px;
    table-layout: fixed;
}

.insumos-budget-table__parameter {
    width: 33%;
}

.insumos-budget-table__value {
    width: 17%;
}

.insumos-budget-table__unit {
    width: 15%;
}

.insumos-budget-table__source {
    width: 35%;
}

.insumos-budget-table .spreadsheet-input,
.insumos-budget-table .spreadsheet-note {
    min-width: 0;
}

.coefficients-table {
    min-width: 900px;
    table-layout: fixed;
}

.coefficients-table__group {
    width: 20%;
}

.coefficients-table__parameter {
    width: 28%;
}

.coefficients-table__value {
    width: 13%;
}

.coefficients-table__minimum,
.coefficients-table__maximum {
    width: 10%;
}

.coefficients-table__reference {
    width: 19%;
}

.coefficients-table th,
.coefficients-table td {
    overflow-wrap: anywhere;
}

.coefficients-table .spreadsheet-input {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
}

.coefficients-table .coefficient-reference-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

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

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

.dashboard-fullscreen-btn {
    min-height: 38px;
}

.dashboard-shell.is-fullscreen {
    background-color: var(--tl-bg);
    min-height: 100vh;
    overflow: auto;
    padding: 24px;
}

.dashboard-shell.is-fullscreen .dashboard-chart-card {
    min-height: 620px;
}

.dashboard-shell.is-fullscreen .dashboard-chart-wrap {
    height: 360px;
    max-width: 460px;
}

.dashboard-kpis {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.dashboard-kpi {
    background-color: var(--tl-surface);
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    box-shadow: var(--tl-shadow);
    min-height: 104px;
    padding: 16px;
}

.dashboard-kpi-primary {
    background: linear-gradient(135deg, rgba(199, 164, 107, 0.22), rgba(147, 197, 253, 0.10));
    border-color: rgba(199, 164, 107, 0.48);
}

.dashboard-kpi-label,
.dashboard-card-head span,
.dashboard-bar-content span,
.dashboard-metrics span {
    color: var(--tl-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.dashboard-kpi strong {
    color: var(--tl-text);
    display: block;
    font-size: 1.45rem;
    line-height: 1.2;
    margin-top: 10px;
}

.dashboard-kpi-primary strong {
    color: var(--tl-aurum-hover);
    font-size: 1.95rem;
}

.dashboard-layout {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(320px, 0.9fr) minmax(420px, 1.35fr);
}

.dashboard-layout-secondary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-card-head {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.dashboard-chart-card {
    min-height: 520px;
}

.dashboard-chart-wrap {
    height: 280px;
    margin: 4px auto 18px;
    max-width: 360px;
}

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

.dashboard-legend div,
.dashboard-metrics div {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: space-between;
}

.dashboard-dot {
    border-radius: 999px;
    display: inline-block;
    height: 10px;
    width: 10px;
}

.dashboard-dot-1,
.dashboard-bar-fill-1 {
    background-color: #93C5FD;
}

.dashboard-dot-2,
.dashboard-bar-fill-2 {
    background-color: #C7A46B;
}

.dashboard-dot-3,
.dashboard-bar-fill-3 {
    background-color: #22C55E;
}

.dashboard-dot-4,
.dashboard-bar-fill-4 {
    background-color: #F59E0B;
}

.dashboard-dot-5,
.dashboard-bar-fill-5 {
    background-color: #38BDF8;
}

.dashboard-dot-6,
.dashboard-bar-fill-6 {
    background-color: #A78BFA;
}

.dashboard-bar-fill-7 {
    background-color: #F472B6;
}

.dashboard-bar-fill-8 {
    background-color: #2DD4BF;
}

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

.dashboard-bar-row {
    background-color: var(--tl-surface-alt);
    border: 1px solid rgba(168, 179, 199, 0.22);
    border-radius: var(--tl-radius);
    min-height: 64px;
    overflow: hidden;
    position: relative;
}

.dashboard-bar-fill {
    bottom: 0;
    left: 0;
    opacity: 0.18;
    position: absolute;
    top: 0;
}

.dashboard-bar-content {
    align-items: center;
    display: flex;
    gap: 16px;
    height: 100%;
    justify-content: space-between;
    padding: 12px 14px;
    position: relative;
}

.dashboard-bar-content strong {
    display: block;
}

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

.dashboard-metrics div {
    background-color: var(--tl-surface-alt);
    border: 1px solid rgba(168, 179, 199, 0.18);
    border-radius: var(--tl-radius);
    padding: 12px;
}

.dashboard-metrics strong {
    color: var(--tl-text);
}

.scenario-header {
    align-items: center;
    border-bottom: 1px solid var(--tl-border);
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 10px 0 18px;
    text-align: left;
}

.scenario-header-main {
    min-width: 0;
}

.scenario-name-row {
    align-items: center;
    display: flex;
    gap: 8px;
    min-width: 0;
}

.scenario-label {
    color: var(--tl-muted);
    flex: 0 0 auto;
    font-size: 0.96rem;
    font-weight: 800;
}

.scenario-title-input {
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--tl-radius);
    color: var(--tl-text);
    flex: 0 1 auto;
    font-size: 1.28rem;
    font-weight: 850;
    line-height: 1.2;
    max-width: min(42vw, 540px);
    min-width: 160px;
    padding: 4px 6px;
}

.scenario-title-input:focus {
    background-color: #111A2C;
    border-color: var(--tl-aurum);
    box-shadow: 0 0 0 0.18rem rgba(199, 164, 107, 0.16);
    outline: none;
}

.icon-button {
    align-items: center;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: var(--tl-radius);
    color: var(--tl-muted);
    display: inline-flex;
    flex: 0 0 auto;
    height: 34px;
    justify-content: center;
    padding: 0;
    width: 34px;
}

.icon-button:hover,
.icon-button:focus {
    background-color: rgba(199, 164, 107, 0.12);
    border-color: rgba(199, 164, 107, 0.24);
    color: var(--tl-aurum-hover);
}

.icon-button svg {
    fill: none;
    height: 18px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 18px;
}

.save-status {
    align-items: center;
    background-color: rgba(156, 173, 114, 0.12);
    border: 1px solid rgba(156, 173, 114, 0.24);
    border-radius: 999px;
    color: var(--tl-saved-hover);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.78rem;
    font-weight: 400;
    gap: 7px;
    margin-left: 12px;
    min-height: 28px;
    padding: 5px 10px;
}

.save-status::before {
    background-color: var(--tl-saved-hover);
    border-radius: 50%;
    content: "";
    display: inline-block;
    flex: 0 0 auto;
    height: 7px;
    width: 7px;
}

.save-status[data-state="unsaved"] {
    background-color: rgba(199, 164, 107, 0.12);
    border-color: rgba(199, 164, 107, 0.24);
    color: var(--tl-aurum-hover);
}

.save-status[data-state="unsaved"]::before,
.save-status[data-state="saving"]::before,
.save-status[data-state="calculating"]::before {
    background-color: var(--tl-aurum-hover);
}

.save-status[data-state="saving"],
.save-status[data-state="calculating"] {
    background-color: rgba(199, 164, 107, 0.12);
    border-color: rgba(199, 164, 107, 0.24);
    color: var(--tl-aurum-hover);
}

.scenario-updated {
    color: var(--tl-muted);
    font-size: 0.82rem;
    font-weight: 650;
    margin-top: 4px;
}

.scenario-actions {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    justify-content: flex-end;
}

.scenario-actions .btn {
    font-size: 0.88rem;
    min-height: 38px;
    white-space: nowrap;
}

.scenario-page-shell {
    max-width: 1480px;
    padding-bottom: 72px;
}

.scenario-primary-nav {
    align-items: center;
    background: rgba(15, 23, 42, 0.96);
    border-bottom: 1px solid var(--tl-border);
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding-top: 4px;
    position: sticky;
    top: var(--global-header-height);
    z-index: var(--z-scenario-nav);
}

.scenario-primary-nav .nav-tabs {
    border-bottom: 0;
    flex: 1 1 auto;
    min-width: 0;
}

.scenario-primary-nav .scenario-actions {
    flex: 0 0 auto;
    padding-bottom: 4px;
}

.scenario-overflow-toggle {
    height: 38px;
    width: 38px;
}

.scenario-overflow-toggle svg {
    fill: currentColor;
    height: 20px;
    width: 20px;
}

.scenario-overflow-menu .dropdown-item {
    font-size: 0.86rem;
}

.scenario-primary-nav .save-as-button {
    color: var(--tl-muted);
}

.calculation-workspace {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(180px, 210px) minmax(0, 1fr);
    text-align: left;
}

.calculation-sidebar {
    max-height: calc(100vh - var(--global-header-height) - var(--scenario-nav-height) - var(--sticky-nav-gap));
    overflow-y: auto;
    position: sticky;
    top: calc(var(--global-header-height) + var(--scenario-nav-height) + var(--sticky-nav-gap));
    z-index: var(--z-sticky-sidebar);
}

.calculation-content {
    min-width: 0;
}

.quality-panel {
    background-color: rgba(15, 23, 42, 0.97);
    border: 1px solid rgba(168, 179, 199, 0.16);
    border-radius: var(--tl-radius);
    box-shadow: 0 -12px 28px rgba(3, 7, 18, 0.22);
    overflow: hidden;
    text-align: left;
}

.quality-status-bar {
    bottom: 0;
    left: 0;
    right: 0;
    border-radius: 0;
    margin: 0;
    position: fixed;
    z-index: 1035;
    overflow: visible;
}

.scenario-page-shell { padding-bottom: 76px !important; }
.quality-bar-tabs { display: flex; max-width: 1480px; margin-inline: auto; }
.quality-bar-tabs > button {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    width: auto;
    min-height: 46px;
    padding: 8px 18px;
    background: transparent;
    border: 0;
    border-right: 1px solid var(--tl-border);
    color: var(--tl-text);
    font-size: .84rem;
    text-align: left;
}
.quality-bar-tabs > button[aria-expanded="true"] { background: rgba(168,179,199,.1); box-shadow: inset 0 2px var(--tl-aurum); }
.quality-bar-tabs > button:hover { background: rgba(168,179,199,.07); }
.quality-bar-tabs > button:focus-visible { outline: 2px solid var(--tl-aurum); outline-offset: -3px; }
.quality-bar-tabs [data-checklist-summary], .quality-bar-tabs [data-warning-summary] { color: var(--tl-muted); font-size: .76rem; }
.quality-bar-tabs .quality-panel-text { flex-wrap: wrap; gap: 8px; }
.quality-checklist-list { display: grid; gap: 6px; margin-block: 12px; }
.quality-checklist-heading { margin: 12px 0 3px; color: var(--tl-muted); font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.quality-checklist-heading:first-child { margin-top: 0; }
.quality-checklist-item { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px; border: 1px solid var(--tl-border); border-radius: 8px; }
.quality-checklist-item strong { display: block; font-size: .86rem; }
.quality-checklist-item [data-checklist-status] { display: block; color: var(--tl-muted); font-size: .76rem; margin-top: 3px; }
.quality-checklist-item[data-status="included"] [data-checklist-status] { color: #86efac; }
.quality-checklist-item[data-status="pending"] [data-checklist-status] { color: #fcd34d; }
.quality-checklist-item .btn { flex-shrink: 0; font-size: .74rem; }
.quality-panel-toggle, .quality-panel-details { max-width: 1480px; margin-inline: auto; }
.quality-panel.is-clear.has-details .quality-panel-toggle { grid-template-columns: 18px minmax(0, 1fr) auto 18px; }
.quality-warning-tabs { display: flex; gap: 6px; border-bottom: 1px solid var(--tl-border); padding-bottom: 8px; }
.quality-warning-tabs button { border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--tl-muted); padding: 7px 12px; font-size: .82rem; }
.quality-warning-tabs button[aria-selected="true"] { color: var(--tl-text); background: rgba(168,179,199,.09); border-color: var(--tl-border); }
.quality-warning-tabs button span { margin-left: 5px; font-variant-numeric: tabular-nums; }
.quality-warning-tabs button:focus-visible, .quality-panel-toggle:focus-visible { outline: 2px solid var(--tl-aurum); outline-offset: -3px; }
.quality-warning-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.quality-warning-title { min-width: 0; overflow-wrap: anywhere; }
.quality-warning-controls { flex-shrink: 0; }
.quality-warning-controls .btn { white-space: nowrap; padding: 3px 7px; font-size: .73rem; }
.quality-warning-empty, .quality-warning-feedback { color: var(--tl-muted); font-size: .8rem; margin: 4px 0; }
.quality-warning-feedback:empty { display: none; }
.quality-warning-item[hidden], .quality-warning-empty[hidden], .quality-panel [role="tabpanel"][hidden] { display: none; }

.quality-panel.has-warnings {
    border-color: rgba(245, 158, 11, 0.24);
}

.quality-panel.is-clear {
    border-color: rgba(168, 179, 199, 0.10);
    box-shadow: none;
}

.quality-panel.has-critical {
    border-color: rgba(220, 38, 38, 0.34);
}

.quality-panel-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--tl-text);
    display: grid;
    gap: 10px;
    grid-template-columns: 22px minmax(0, 1fr) auto 18px;
    min-height: 38px;
    padding: 7px 12px;
    text-align: left;
    width: 100%;
}

.quality-panel.is-clear .quality-panel-toggle {
    grid-template-columns: 18px minmax(0, 1fr);
}

.quality-panel-toggle:disabled {
    cursor: default;
    opacity: 1;
}

.quality-panel-toggle:hover,
.quality-panel-toggle:focus {
    background-color: rgba(255, 255, 255, 0.03);
    outline: none;
}

.quality-panel-toggle:disabled:hover,
.quality-panel-toggle:disabled:focus {
    background: transparent;
}

.quality-panel-icon {
    align-items: center;
    background-color: rgba(245, 158, 11, 0.14);
    border: 1px solid rgba(245, 158, 11, 0.30);
    border-radius: 50%;
    color: #FCD34D;
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 900;
    height: 22px;
    justify-content: center;
    width: 22px;
}

.quality-panel.is-clear .quality-panel-icon {
    background-color: rgba(168, 179, 199, 0.08);
    border-color: rgba(168, 179, 199, 0.14);
    color: var(--tl-muted);
    font-size: 0.66rem;
    height: 18px;
    width: 18px;
}

.quality-panel.has-critical .quality-panel-icon {
    background-color: rgba(220, 38, 38, 0.18);
    border-color: rgba(220, 38, 38, 0.4);
    color: #FCA5A5;
}

.quality-panel-text {
    align-items: center;
    display: flex;
    gap: 10px;
    min-width: 0;
}

.quality-panel-text strong {
    color: var(--tl-text);
    font-size: 0.86rem;
    white-space: nowrap;
}

.quality-panel-text span,
.quality-panel-action {
    color: var(--tl-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.quality-panel-text span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.quality-panel-action {
    white-space: nowrap;
}

.quality-panel-chevron {
    fill: none;
    height: 18px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 18px;
}

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

.quality-panel-collapse {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 12px;
    width: min(560px, calc(100% - 24px));
    max-height: min(62vh, 480px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(199, 164, 107, 0.62) var(--tl-bg);
    overscroll-behavior: contain;
    background: var(--tl-surface);
    border: 1px solid rgba(168, 179, 199, 0.32);
    border-radius: 12px;
    box-shadow: 0 16px 48px rgba(3, 7, 18, 0.65), 0 0 0 1px rgba(3, 7, 18, 0.35);
}

.quality-panel-collapse::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.quality-panel-collapse::-webkit-scrollbar-track,
.quality-panel-collapse::-webkit-scrollbar-corner {
    background: var(--tl-bg);
}

.quality-panel-collapse::-webkit-scrollbar-thumb {
    background: rgba(199, 164, 107, 0.62);
    border: 2px solid var(--tl-bg);
    border-radius: 999px;
}

.quality-panel-collapse::-webkit-scrollbar-thumb:hover {
    background: var(--tl-aurum-hover);
}

.quality-panel-collapse.show {
    height: auto;
}

.quality-panel-collapse[data-panel="warnings"],
.quality-panel-collapse[data-panel="checklist"] {
    --tl-surface: #26354A;
    --tl-surface-alt: #304158;
    --tl-muted: #C0CAD9;
    --tl-border: #45536A;
    background: #2B3A50;
}

.quality-panel-collapse[data-panel="warnings"] {
    left: var(--quality-warning-left, 12px);
}

.quality-panel-details {
    border-top: 1px solid rgba(168, 179, 199, 0.16);
    display: grid;
    gap: 10px;
    padding: 12px;
}

.quality-panel-details-header {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

.quality-panel-details-header h2 {
    color: var(--tl-text);
    font-size: 0.98rem;
    font-weight: 800;
    margin: 0 0 2px;
}

.quality-panel-details-header span {
    color: var(--tl-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.quality-warning-list {
    display: grid;
    gap: 0;
    margin-top: 10px;
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    overflow: hidden;
}

.quality-warning-list:empty {
    display: none;
}

.quality-warning-item {
    align-items: start;
    background-color: var(--tl-surface);
    border: 0;
    border-bottom: 1px solid var(--tl-border);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding: 12px;
}

.quality-warning-item:nth-child(even) {
    background-color: var(--tl-surface-alt);
}

.quality-warning-item:last-child {
    border-bottom: 0;
}

.quality-warning-item.is-critical {
    box-shadow: inset 3px 0 rgba(220, 38, 38, 0.7);
}

.quality-warning-group {
    color: var(--tl-muted);
    display: block;
    font-size: 0.72rem;
    font-weight: 850;
    margin-bottom: 3px;
    text-transform: uppercase;
}

.quality-warning-item strong {
    color: var(--tl-text);
    display: block;
    font-size: 0.88rem;
}

.quality-warning-item p {
    color: var(--tl-muted);
    font-size: 0.8rem;
    margin: 3px 0 0;
}

.quality-warning-item dl {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 6px 0 0;
}

.quality-warning-item dl div {
    background-color: transparent;
    display: flex;
    align-items: baseline;
    gap: 5px;
    padding: 0 8px 0 0;
}

.quality-warning-item dt {
    color: var(--tl-muted);
    font-size: 0.68rem;
    font-weight: 800;
    margin-bottom: 2px;
    text-transform: uppercase;
}

.quality-warning-item dd {
    color: var(--tl-text);
    font-size: 0.84rem;
    font-weight: 800;
    margin: 0;
    overflow-wrap: anywhere;
}

.quality-panel-collapse-button {
    justify-self: end;
}

.attachment-source {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) 58px;
}

.attachment-dialog-button,
.attachment-upload-btn {
    align-items: center;
    background-color: rgba(147, 197, 253, 0.08);
    border: 1px solid rgba(147, 197, 253, 0.24);
    border-radius: var(--tl-radius);
    color: var(--tl-blue);
    cursor: pointer;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    margin: 0;
}

.attachment-dialog-button {
    gap: 5px;
    padding: 0 7px;
    width: 58px;
}

.attachment-dialog-button.has-attachments {
    background-color: rgba(199, 164, 107, 0.14);
    border-color: rgba(199, 164, 107, 0.4);
    color: var(--tl-aurum-hover);
}

.attachment-dialog-button span {
    font-size: 0.68rem;
    font-weight: 800;
}

.attachment-upload-btn {
    width: 38px;
}

.attachment-dialog-button:hover,
.attachment-dialog-button:focus,
.attachment-upload-btn:hover,
.attachment-upload-btn:focus-within {
    background-color: rgba(199, 164, 107, 0.12);
    border-color: rgba(199, 164, 107, 0.36);
    color: var(--tl-aurum-hover);
}

.attachment-upload-btn.is-disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.attachment-upload-btn.is-disabled:hover,
.attachment-upload-btn.is-disabled:focus-within {
    background-color: rgba(147, 197, 253, 0.08);
    border-color: rgba(147, 197, 253, 0.24);
    color: var(--tl-blue);
}

.attachment-dialog-button svg,
.attachment-upload-btn svg {
    fill: none;
    height: 18px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
    width: 18px;
}

.attachment-dialog {
    background: transparent;
    border: 0;
    color: var(--tl-text);
    max-width: min(420px, calc(100vw - 32px));
    padding: 0;
    width: 380px;
}

.attachment-dialog::backdrop {
    background: rgba(3, 7, 18, 0.48);
}

.attachment-dialog-panel {
    background: #111827;
    border: 1px solid rgba(168, 179, 199, 0.28);
    border-radius: 8px;
    box-shadow: 0 18px 55px rgba(0, 0, 0, 0.45);
    display: grid;
    gap: 12px;
    padding: 14px;
}

.attachment-dialog-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.attachment-dialog-header > div {
    display: grid;
    gap: 2px;
}

.attachment-dialog-header strong {
    color: var(--tl-text);
    font-size: 0.92rem;
}

.attachment-dialog-header span {
    color: var(--tl-muted);
    font-size: 0.76rem;
}

.attachment-dialog-close {
    align-items: center;
    background: transparent;
    border: 1px solid rgba(168, 179, 199, 0.22);
    border-radius: 6px;
    color: var(--tl-muted);
    cursor: pointer;
    display: inline-flex;
    font-size: 1.2rem;
    height: 30px;
    justify-content: center;
    line-height: 1;
    width: 30px;
}

.attachment-dialog-close:hover,
.attachment-dialog-close:focus {
    border-color: rgba(199, 164, 107, 0.4);
    color: var(--tl-aurum-hover);
}

.attachment-slot-list {
    display: grid;
    gap: 5px;
}

.attachment-slot {
    background-color: rgba(15, 23, 42, 0.72);
    border: 1px solid rgba(168, 179, 199, 0.18);
    border-radius: 6px;
    color: var(--tl-muted);
    display: block;
    font-size: 0.72rem;
    font-weight: 750;
    min-height: 24px;
    overflow: hidden;
    padding: 4px 8px;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.attachment-file {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) 28px;
    padding: 3px 4px 3px 8px;
}

.attachment-file a {
    color: inherit;
    overflow: hidden;
    text-decoration: none;
    text-overflow: ellipsis;
}

.attachment-delete-btn {
    align-items: center;
    background: rgba(248, 113, 113, 0.08);
    border: 1px solid rgba(248, 113, 113, 0.22);
    border-radius: 5px;
    color: #fca5a5;
    cursor: pointer;
    display: inline-flex;
    font-size: 1rem;
    height: 24px;
    justify-content: center;
    line-height: 1;
    width: 24px;
}

.attachment-delete-btn:hover,
.attachment-delete-btn:focus {
    background: rgba(248, 113, 113, 0.16);
    border-color: rgba(248, 113, 113, 0.4);
    color: #fecaca;
}

.attachment-slot.is-empty {
    border-style: dashed;
    color: rgba(168, 179, 199, 0.5);
    font-weight: 650;
}

.attachment-slot.is-overflow {
    color: var(--tl-warning);
}

.attachment-file:focus-within,
.attachment-file:hover,
a.attachment-slot:hover,
a.attachment-slot:focus {
    border-color: rgba(199, 164, 107, 0.34);
    color: var(--tl-aurum-hover);
}

.attachment-dialog-upload {
    gap: 8px;
    padding: 0 12px;
    width: max-content;
}

@media (max-width: 1200px) {
    .fare-bar {
        grid-template-columns: auto 1fr;
    }

    .fare-bar-current {
        border-right: 0;
        padding-right: 0;
    }

    .fare-bar-metrics {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dashboard-layout,
    .dashboard-layout-secondary {
        grid-template-columns: 1fr;
    }

    .scenario-header {
        grid-template-columns: 1fr;
    }

    .scenario-primary-nav {
        align-items: stretch;
        flex-direction: column;
    }

    .scenario-primary-nav .scenario-actions {
        justify-content: flex-start;
    }

    .scenario-actions {
        justify-content: flex-start;
    }

    .scenarios-toolbar {
        grid-template-columns: 1fr;
    }

    .monitoring-create-form,
    .monitoring-row-wrap,
    .monitoring-row,
    .monitoring-settings-grid {
        grid-template-columns: 1fr;
    }

    .monitoring-row-actions {
        justify-content: flex-end;
    }

    .monitoring-workspace {
        display: block;
    }

    .monitoring-sidebar-button {
        display: inline-flex;
    }

    .monitoring-sidebar {
        bottom: 18px;
        left: 18px;
        max-width: min(320px, calc(100vw - 36px));
        opacity: 0;
        overflow-y: auto;
        position: fixed;
        top: calc(var(--global-header-height, 72px) + 18px);
        transform: translateX(calc(-100% - 24px));
        transition: opacity 0.18s ease, transform 0.18s ease;
        width: 320px;
        z-index: 1030;
    }

    .monitoring-sidebar-toggle:checked ~ .monitoring-workspace .monitoring-sidebar {
        opacity: 1;
        transform: translateX(0);
    }

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

    .monitoring-kpi-grid,
    .monitoring-kpi-grid-wide {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .monitoring-row-status {
        justify-content: flex-start;
    }

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

    .monitoring-mini-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .scenario-sort {
        justify-content: flex-start;
    }

    .scenarios-toolbar {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .scenarios-toolbar-left {
        flex: 1 1 520px;
    }

    .scenario-row {
        grid-template-columns: 28px minmax(180px, 1fr) minmax(90px, auto) 36px;
    }
}

@media (max-width: 720px) {
    .navbar-current-scenario {
        border-left: 0;
        flex-wrap: wrap;
        margin: 10px 0 0;
        max-width: 100%;
        padding-left: 0;
    }

    .navbar-current-scenario .scenario-title-input {
        flex: 1 1 150px;
        max-width: calc(100vw - 116px);
    }

    .navbar-save-status {
        flex: 0 1 auto;
        max-width: calc(100vw - 24px);
    }

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

    .fare-bar-icon {
        display: none;
    }

    .fare-bar-metrics {
        grid-template-columns: 1fr;
    }

    .dashboard-kpis,
    .dashboard-legend,
    .dashboard-metrics {
        grid-template-columns: 1fr;
    }

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

    .scenario-name-row {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .quality-panel-toggle,
    .quality-warning-item {
        grid-template-columns: 1fr;
    }

    .quality-panel-icon {
        display: none;
    }

    .quality-warning-item dl {
        flex-wrap: wrap;
    }

    .monitoring-month-grid {
        grid-template-columns: 1fr;
    }

    .monitoring-concept-grid,
    .monitoring-kpi-grid,
    .monitoring-kpi-grid-wide,
    .monitoring-mileage-grid,
    .monitoring-holiday-grid,
    .monitoring-rule-control,
    .monitoring-revenue-grid,
    .monitoring-mini-grid {
        grid-template-columns: 1fr;
    }

    .monitoring-metric-select {
        max-width: 100%;
        width: 100%;
    }

    .section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .scenario-title-input {
        max-width: calc(100vw - 130px);
    }

    .scenario-header .save-status {
        margin-left: 0;
        width: 100%;
    }

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

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

    .scenario-primary-nav {
        gap: 8px;
    }

    .scenario-primary-nav .nav-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 2px;
    }

    .scenario-primary-nav .nav-tabs .nav-link {
        white-space: nowrap;
    }

    .scenario-primary-nav .scenario-actions {
        display: flex;
        flex-wrap: nowrap;
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 6px;
    }

    .scenario-primary-nav .scenario-actions .btn {
        flex: 0 0 auto;
        width: auto;
    }

    .calculation-workspace {
        grid-template-columns: 1fr;
    }

    .calculation-sidebar {
        max-height: none;
        overflow-x: auto;
    }

    .calculation-tabs {
        flex-direction: row;
        min-width: max-content;
    }

    .calculation-tabs .nav-link {
        min-width: 0;
        text-align: center;
        white-space: nowrap;
    }

    .workspace-admin-grid,
    .workspace-admin-roadmap {
        grid-template-columns: 1fr;
    }

    .workspace-admin-header {
        align-items: stretch;
        flex-direction: column;
    }

    .scenarios-hero,
    .scenarios-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .scenarios-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .scenarios-toolbar-left {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .scenario-search {
        flex-basis: auto;
        width: 100%;
    }

    .scenario-sort {
        align-items: stretch;
        flex-direction: column;
        gap: 6px;
    }

    .scenario-sort .form-select {
        min-width: 0;
        width: 100%;
    }

    .scenarios-new-button,
    .comparison-actions .btn,
    .benchmark-mode-control,
    .benchmark-mode-control .form-select {
        width: 100%;
    }

    .comparison-actions {
        align-items: stretch;
        justify-content: flex-start;
    }

    .scenario-row {
        grid-template-columns: 24px minmax(0, 1fr) 36px;
        grid-template-areas:
            "check main menu"
            "check fare menu";
        gap: 12px;
    }

    .scenario-compare-check {
        grid-area: check;
    }

    .scenario-row-main {
        grid-area: main;
    }

    .scenario-row-fare {
        grid-area: fare;
        text-align: left;
    }

    .scenario-menu {
        grid-area: menu;
    }
}

.scenarios-table {
    border-radius: var(--tl-radius);
    overflow: hidden;
}

.scenarios-table tbody tr:hover {
    background-color: rgba(199, 164, 107, 0.09);
}

.compare-page {
    max-width: 1180px;
}

.compare-header {
    align-items: flex-start;
    border-bottom: 1px solid var(--tl-border);
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 18px;
    padding-bottom: 18px;
}

.compare-selected {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
}

.compare-chip {
    align-items: center;
    background-color: rgba(23, 32, 51, 0.92);
    border: 1px solid rgba(147, 197, 253, 0.18);
    border-radius: var(--tl-radius);
    color: var(--tl-text);
    display: inline-flex;
    font-size: 0.88rem;
    font-weight: 800;
    min-height: 42px;
    min-width: 170px;
    padding: 8px 14px;
    text-decoration: none;
}

.compare-chip:hover,
.compare-chip:focus {
    border-color: rgba(199, 164, 107, 0.42);
    color: var(--tl-aurum-hover);
}

.benchmark-chip {
    cursor: default;
}

.benchmark-notice {
    background-color: rgba(199, 164, 107, 0.12);
    border: 1px solid rgba(199, 164, 107, 0.34);
    border-radius: var(--tl-radius);
    color: var(--tl-aurum);
    font-weight: 760;
    margin-bottom: 14px;
    padding: 10px 12px;
    text-align: left;
}

.benchmark-notice.is-muted {
    background-color: rgba(15, 23, 42, 0.52);
    border-color: rgba(168, 179, 199, 0.16);
    color: var(--tl-muted);
}

.benchmark-summary-grid,
.benchmark-status-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 18px;
}

.benchmark-summary-grid article,
.benchmark-status-grid article {
    background-color: var(--tl-surface);
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    box-shadow: var(--tl-shadow);
    display: grid;
    gap: 4px;
    padding: 12px;
    text-align: left;
}

.benchmark-summary-grid span,
.benchmark-status-grid span {
    color: var(--tl-muted);
    font-size: 0.76rem;
    font-weight: 760;
}

.benchmark-summary-grid strong,
.benchmark-status-grid strong {
    color: var(--tl-text);
    font-size: 1rem;
    overflow-wrap: anywhere;
}

.benchmark-status {
    border: 1px solid rgba(168, 179, 199, 0.16);
    border-radius: 999px;
    color: var(--tl-muted);
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 780;
    padding: 5px 8px;
    white-space: nowrap;
}

.benchmark-status.is-better {
    border-color: rgba(34, 197, 94, 0.3);
    color: var(--tl-saved-hover);
}

.benchmark-status.is-near {
    border-color: rgba(199, 164, 107, 0.32);
    color: var(--tl-aurum);
}

.benchmark-status.is-worse {
    border-color: rgba(248, 113, 113, 0.32);
    color: #fca5a5;
}

.compare-tabs {
    margin-bottom: 0;
}

.compare-tab-content {
    border-top: 1px solid var(--tl-border);
    padding-top: 14px;
}

.compare-table-wrap {
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    overflow-x: auto;
}

.compare-table {
    min-width: 780px;
}

.compare-table th,
.compare-table td {
    padding: 12px 14px;
    white-space: nowrap;
}

.compare-table th:first-child,
.compare-table td:first-child {
    left: 0;
    min-width: 230px;
    position: sticky;
    z-index: 1;
}

.compare-table th:first-child {
    background-color: #111A2C;
}

.compare-table td:first-child {
    background-color: var(--tl-surface);
}

.compare-label {
    color: var(--tl-text);
    font-weight: 850;
}

.compare-delta,
.compare-variation {
    font-weight: 850;
}

.compare-delta.is-up,
.compare-variation.is-up {
    background-color: rgba(34, 197, 94, 0.08);
    color: #86EFAC;
}

.compare-delta.is-down,
.compare-variation.is-down {
    background-color: rgba(220, 38, 38, 0.08);
    color: #FCA5A5;
}

.compare-delta.is-neutral,
.compare-variation.is-neutral {
    color: var(--tl-muted);
}

.compare-chart-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 14px;
}

.compare-chart {
    background-color: rgba(23, 32, 51, 0.92);
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    padding: 16px;
}

.compare-chart h2 {
    color: var(--tl-text);
    font-size: 0.98rem;
    font-weight: 850;
    margin: 0 0 14px;
}

.compare-bars {
    display: grid;
    gap: 12px;
}

.compare-bar-row {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(110px, 0.8fr) minmax(140px, 1.6fr) minmax(88px, auto);
}

.compare-bar-label {
    color: var(--tl-muted);
    font-size: 0.82rem;
    font-weight: 750;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.compare-bar-track {
    background-color: rgba(15, 23, 42, 0.9);
    border: 1px solid rgba(168, 179, 199, 0.14);
    border-radius: 999px;
    height: 14px;
    overflow: hidden;
}

.compare-bar-fill {
    display: block;
    height: 100%;
}

.compare-bar-1 {
    background: linear-gradient(90deg, #C7A46B, #E0BD7A);
}

.compare-bar-2 {
    background: linear-gradient(90deg, #64748B, #93A4C7);
}

.compare-bar-3 {
    background: linear-gradient(90deg, #5DADEC, #93C5FD);
}

.compare-bar-row strong {
    color: var(--tl-text);
    font-size: 0.84rem;
    font-weight: 850;
    text-align: right;
    white-space: nowrap;
}

@media (max-width: 720px) {
    .compare-header {
        align-items: stretch;
        flex-direction: column;
    }

    .compare-selected {
        align-items: stretch;
        flex-direction: column;
    }

    .compare-chip,
    .compare-selected .btn {
        justify-content: center;
        width: 100%;
    }

    .compare-chart-grid {
        grid-template-columns: 1fr;
    }

    .compare-bar-row {
        grid-template-columns: 1fr;
    }

    .compare-bar-row strong {
        text-align: left;
    }
}

.scenarios-page {
    text-align: left;
}

.scenarios-hero {
    margin-bottom: 16px;
}

.scenarios-toolbar {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.scenarios-toolbar-left {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    gap: 10px;
    min-width: 0;
}

.scenario-search {
    align-items: center;
    background-color: rgba(17, 26, 44, 0.44);
    border: 1px solid rgba(168, 179, 199, 0.18);
    border-radius: var(--tl-radius);
    display: flex;
    flex: 0 1 380px;
    gap: 8px;
    min-height: 38px;
    padding: 0 11px;
    width: min(100%, 380px);
}

.scenario-search svg,
.scenario-menu svg {
    fill: none;
    height: 18px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 18px;
}

.scenario-search svg {
    color: rgba(168, 179, 199, 0.76);
    flex: 0 0 auto;
    height: 17px;
    width: 17px;
}

.scenario-search input {
    background: transparent;
    border: 0;
    color: var(--tl-text);
    font-size: 0.9rem;
    min-width: 0;
    outline: 0;
    width: 100%;
}

.scenario-search input::placeholder {
    color: var(--tl-muted);
}

.scenario-sort {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
}

.scenario-sort .form-select {
    font-size: 0.9rem;
    min-height: 38px;
    min-width: 158px;
    padding-bottom: 6px;
    padding-top: 6px;
}

.scenarios-new-button {
    flex: 0 0 auto;
    min-height: 38px;
    padding-bottom: 6px;
    padding-top: 6px;
}

.scenarios-list {
    display: grid;
    gap: 8px;
}

.scenario-section {
    margin-top: 18px;
}

.scenario-section:first-of-type {
    margin-top: 0;
}

.scenario-section-header {
    margin-bottom: 9px;
}

.section-subtitle {
    color: var(--tl-muted);
    font-size: 0.84rem;
}

.scenario-count {
    align-items: center;
    border: 1px solid rgba(168, 179, 199, 0.18);
    border-radius: 999px;
    color: var(--tl-muted);
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 800;
    height: 22px;
    justify-content: center;
    margin-left: 6px;
    min-width: 28px;
    padding: 0 8px;
    vertical-align: 1px;
}

.scenario-row {
    align-items: center;
    background-color: rgba(23, 32, 51, 0.72);
    border: 1px solid rgba(168, 179, 199, 0.13);
    border-radius: var(--tl-radius);
    display: grid;
    gap: 14px;
    grid-template-columns: 28px minmax(220px, 1fr) minmax(90px, auto) 36px;
    min-height: 64px;
    padding: 10px 13px;
}

.scenario-row:hover {
    background-color: rgba(30, 41, 59, 0.72);
    border-color: rgba(199, 164, 107, 0.24);
}

.scenario-compare-check {
    cursor: pointer;
    display: inline-flex;
    margin: 0;
}

.scenario-compare-check input {
    display: none;
}

.scenario-compare-check span {
    border: 1px solid rgba(168, 179, 199, 0.46);
    border-radius: 6px;
    display: inline-block;
    height: 18px;
    position: relative;
    width: 18px;
}

.scenario-compare-check input:checked + span {
    background-color: var(--tl-aurum);
    border-color: var(--tl-aurum);
}

.scenario-compare-check input:checked + span::after {
    border: solid #111827;
    border-width: 0 2px 2px 0;
    content: "";
    height: 9px;
    left: 6px;
    position: absolute;
    top: 2px;
    transform: rotate(45deg);
    width: 5px;
}

.benchmark-mode-control {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.benchmark-mode-control .form-select {
    min-width: 190px;
}

.benchmark-below-range-option {
    align-items: center;
    color: var(--tl-muted);
    display: inline-flex;
    font-size: 0.82rem;
    gap: 6px;
}

.scenario-row-main {
    min-width: 0;
}

.scenario-row-title {
    align-items: center;
    display: flex;
    gap: 8px;
    min-width: 0;
}

.scenario-name-link {
    color: var(--tl-text);
    font-size: 0.96rem;
    font-weight: 850;
    overflow: hidden;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.scenario-name-link:hover,
.scenario-name-link:focus {
    color: var(--tl-aurum-hover);
}

.scenario-status-badge {
    border: 1px solid rgba(168, 179, 199, 0.18);
    border-radius: 999px;
    color: var(--tl-muted);
    flex: 0 0 auto;
    font-size: 0.66rem;
    font-weight: 850;
    line-height: 1;
    padding: 4px 7px;
    text-transform: uppercase;
}

.scenario-status-badge.is-shared {
    border-color: rgba(147, 197, 253, 0.26);
    color: #93c5fd;
}

.scenario-status-badge.is-published {
    border-color: rgba(52, 211, 153, 0.28);
    color: #6ee7b7;
}

.scenario-row-date {
    color: var(--tl-muted);
    font-size: 0.78rem;
    margin-top: 3px;
}

.scenario-row-fare {
    color: var(--tl-text);
    font-size: 0.94rem;
    font-weight: 850;
    text-align: right;
    white-space: nowrap;
}

.scenario-menu {
    justify-self: end;
}

.delete-scenario-modal .modal-body p {
    line-height: 1.5;
}

.delete-scenario-name {
    overflow-wrap: anywhere;
}

.scenarios-footer {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: 14px;
}

.scenario-tip {
    align-items: center;
    background-color: transparent;
    border: 1px solid rgba(168, 179, 199, 0.12);
    border-radius: var(--tl-radius);
    color: var(--tl-muted);
    display: flex;
    flex: 1 1 auto;
    font-size: 0.8rem;
    gap: 8px;
    min-height: 38px;
    padding: 8px 10px;
}

.scenario-tip.is-muted {
    border-color: transparent;
    flex: 0 1 auto;
    min-height: 0;
    padding-left: 0;
}

.scenario-tip span {
    align-items: center;
    border: 1px solid rgba(147, 197, 253, 0.34);
    border-radius: 50%;
    color: var(--tl-blue);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.72rem;
    height: 18px;
    justify-content: center;
    width: 18px;
}

.comparison-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.comparison-actions[hidden],
.benchmark-below-range-option[hidden],
.scenario-tip[hidden] {
    display: none;
}

.comparison-selection-count {
    color: var(--tl-text);
    font-size: 0.86rem;
    font-weight: 800;
    white-space: nowrap;
}

.scenario-empty {
    background-color: var(--tl-surface);
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    padding: 48px 18px;
    text-align: center;
}

.scenario-empty-compact {
    color: var(--tl-muted);
    padding: 18px;
}

.monitoring-page {
    text-align: left;
}

.monitoring-create-form {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(160px, 220px) minmax(240px, 1fr) auto;
}

.monitoring-create-actions {
    align-self: end;
}

.monitoring-list {
    display: grid;
    gap: 12px;
}

.monitoring-row-wrap {
    align-items: stretch;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.monitoring-row {
    align-items: center;
    background-color: var(--tl-surface);
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    box-shadow: var(--tl-shadow);
    color: var(--tl-text);
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 16px;
    text-decoration: none;
}

.monitoring-row-actions {
    align-items: center;
    display: flex;
    justify-content: center;
}

.monitoring-copy-form,
.monitoring-delete-form {
    display: flex;
}

.monitoring-row-actions .monitoring-copy-form,
.monitoring-row-actions .monitoring-delete-form,
.monitoring-row-actions .dropdown-item {
    width: 100%;
}

.monitoring-row:hover,
.monitoring-row:focus {
    border-color: rgba(199, 164, 107, 0.38);
    color: var(--tl-text);
}

.monitoring-row-main {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.monitoring-sync-note {
    border: 1px solid var(--tl-border);
    border-radius: 999px;
    color: var(--tl-muted);
    display: inline-flex;
    font-size: 0.82rem;
    margin-top: 10px;
    padding: 4px 10px;
}

.monitoring-sync-note.is-stale {
    background: rgba(199, 164, 107, 0.12);
    border-color: rgba(199, 164, 107, 0.42);
    color: var(--tl-warning);
}

.monitoring-row-main strong {
    font-size: 1.05rem;
}

.monitoring-row-main span,
.monitoring-row-status span {
    color: var(--tl-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.monitoring-row-status {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.monitoring-row-status span {
    background-color: rgba(15, 23, 42, 0.72);
    border: 1px solid rgba(168, 179, 199, 0.16);
    border-radius: 999px;
    padding: 5px 9px;
}

.monitoring-workspace {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: 230px minmax(0, 1fr);
}

.monitoring-sidebar {
    background-color: rgba(17, 26, 44, 0.88);
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    box-shadow: var(--tl-shadow);
    padding: 14px;
    position: sticky;
    top: calc(var(--global-header-height, 72px) + 18px);
}

.monitoring-sidebar-meta {
    border-bottom: 1px solid rgba(168, 179, 199, 0.16);
    display: grid;
    gap: 4px;
    margin-bottom: 12px;
    padding-bottom: 12px;
}

.monitoring-sidebar-meta strong {
    color: var(--tl-aurum);
    font-size: 0.76rem;
    text-transform: uppercase;
}

.monitoring-sidebar-meta span {
    color: var(--tl-muted);
    font-size: 0.86rem;
    font-weight: 720;
}

.monitoring-sidebar nav {
    display: grid;
    gap: 6px;
}

.monitoring-sidebar a {
    border: 1px solid transparent;
    border-radius: 8px;
    color: var(--tl-muted);
    font-size: 0.9rem;
    font-weight: 760;
    padding: 9px 10px;
    text-decoration: none;
}

.monitoring-sidebar a:hover,
.monitoring-sidebar a:focus,
.monitoring-sidebar a.active {
    background-color: rgba(199, 164, 107, 0.12);
    border-color: rgba(199, 164, 107, 0.34);
    color: var(--tl-text);
}

.monitoring-sidebar-toggle {
    clip: rect(0 0 0 0);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.monitoring-sidebar-button {
    display: none;
    margin-bottom: 14px;
}

.monitoring-content {
    min-width: 0;
}

.monitoring-concept-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.monitoring-concept-grid div {
    background-color: rgba(15, 23, 42, 0.54);
    border: 1px solid rgba(168, 179, 199, 0.16);
    border-radius: var(--tl-radius);
    display: grid;
    gap: 4px;
    padding: 12px;
}

.monitoring-concept-grid span,
.monitoring-concept-grid small {
    color: var(--tl-muted);
    font-size: 0.76rem;
    font-weight: 720;
}

.monitoring-concept-grid strong {
    color: var(--tl-text);
    font-size: 0.98rem;
    overflow-wrap: anywhere;
}

.monitoring-kpi-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.monitoring-kpi-grid-wide {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.monitoring-kpi-card {
    background-color: rgba(15, 23, 42, 0.54);
    border: 1px solid rgba(168, 179, 199, 0.16);
    border-radius: var(--tl-radius);
    display: grid;
    gap: 10px;
    padding: 14px;
}

.monitoring-kpi-card > span {
    color: var(--tl-muted);
    font-size: 0.78rem;
    font-weight: 760;
    text-transform: uppercase;
}

.monitoring-kpi-card > strong {
    color: var(--tl-text);
    font-size: 1.24rem;
    font-weight: 840;
}

.monitoring-kpi-card dl {
    display: grid;
    gap: 6px;
    margin: 0;
}

.monitoring-kpi-card dl div {
    display: flex;
    gap: 8px;
    justify-content: space-between;
}

.monitoring-kpi-card dt,
.monitoring-kpi-card dd {
    color: var(--tl-muted);
    font-size: 0.78rem;
    margin: 0;
}

.monitoring-kpi-card dd {
    color: var(--tl-text);
    font-weight: 780;
    text-align: right;
}

.monitoring-chart-card {
    margin-bottom: 18px;
}

.monitoring-chart-wrap {
    height: 340px;
    min-height: 280px;
}

.monitoring-metric-select {
    max-width: 260px;
}

.monitoring-deep-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.monitoring-overview,
.monitoring-months,
.monitoring-editor,
.monitoring-projection-settings {
    margin-bottom: 18px;
}

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

.monitoring-month-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.monitoring-month-chip {
    background-color: rgba(15, 23, 42, 0.54);
    border: 1px solid rgba(168, 179, 199, 0.16);
    border-radius: var(--tl-radius);
    color: var(--tl-text);
    display: grid;
    gap: 4px;
    min-height: 62px;
    padding: 10px 12px;
    text-decoration: none;
}

.monitoring-month-chip:hover,
.monitoring-month-chip:focus,
.monitoring-month-chip.active {
    border-color: rgba(199, 164, 107, 0.42);
    color: var(--tl-text);
}

.monitoring-month-chip.active {
    background-color: rgba(199, 164, 107, 0.14);
}

.monitoring-month-chip span {
    color: var(--tl-muted);
    font-size: 0.78rem;
    font-weight: 750;
}

.monitoring-month-chip.is-completed span {
    color: var(--tl-saved-hover);
}

.monitoring-month-chip.is-partial span {
    color: var(--tl-aurum-hover);
}

.monitoring-table {
    margin-bottom: 0;
}

.monitoring-table th {
    color: var(--tl-muted);
    font-size: 0.78rem;
    text-transform: uppercase;
}

.monitoring-table .numeric {
    text-align: right;
    white-space: nowrap;
}

.monitoring-input {
    min-width: 140px;
}

.monitoring-settings-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.monitoring-settings-panel {
    background-color: rgba(15, 23, 42, 0.42);
    border: 1px solid rgba(168, 179, 199, 0.14);
    border-radius: var(--tl-radius);
    padding: 14px;
}

.monitoring-settings-panel h3 {
    color: var(--tl-blue);
    font-size: 0.92rem;
    font-weight: 820;
    margin: 0 0 12px;
}

.monitoring-seasonality-group + .monitoring-seasonality-group {
    margin-top: 16px;
}

.monitoring-inline-heading {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin-bottom: 10px;
}

.monitoring-inline-heading strong,
.monitoring-mileage-grid span,
.monitoring-revenue-grid span,
.monitoring-behavior-list span,
.monitoring-mini-grid span {
    color: var(--tl-muted);
    font-size: 0.76rem;
    font-weight: 760;
}

.monitoring-mini-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.monitoring-mini-grid label,
.monitoring-mileage-grid label,
.monitoring-behavior-list label {
    display: grid;
    gap: 5px;
}

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

.monitoring-holidays-input {
    min-height: 112px;
}

.monitoring-holiday-grid {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(140px, 0.35fr) minmax(180px, 1fr) 72px;
}

.monitoring-holiday-grid > span,
.monitoring-rule-control span {
    color: var(--tl-muted);
    font-size: 0.76rem;
    font-weight: 760;
}

.monitoring-remove-check {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 32px;
}

.monitoring-rule-control {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(160px, 0.4fr) minmax(180px, 0.6fr);
    margin: 0;
}

.monitoring-revenue-grid {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(120px, 1fr) minmax(90px, 0.5fr) minmax(80px, 0.45fr);
}

.monitoring-behavior-list {
    display: grid;
    gap: 10px;
}

.monitoring-trace-cell {
    min-width: 220px;
}

.monitoring-trace-cell strong,
.monitoring-trace-cell small {
    display: block;
}

.monitoring-trace-cell small {
    color: var(--tl-muted);
    font-size: 0.76rem;
    margin-top: 4px;
}

.workspace-admin-page {
    text-align: left;
}

.workspace-admin-header {
    align-items: flex-end;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 24px;
}

.workspace-admin-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 18px;
}

.workspace-admin-actions {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 18px;
}

.workspace-admin-form {
    display: grid;
    gap: 10px;
}

.workspace-admin-inline-panel {
    background-color: rgba(17, 26, 44, 0.58);
    border: 1px solid rgba(168, 179, 199, 0.16);
    border-radius: var(--tl-radius);
    padding: 12px;
}

.workspace-role-form {
    align-items: center;
    display: flex;
    gap: 8px;
    min-width: 240px;
}

.workspace-role-form .form-select {
    min-width: 120px;
}

.workspace-admin-table .btn-sm,
.workspace-role-form .btn-sm {
    min-height: 32px;
    padding: 5px 10px;
}

.workspace-admin-summary {
    display: grid;
    gap: 8px;
    min-height: 120px;
}

.workspace-admin-label,
.workspace-admin-slug {
    color: var(--tl-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.workspace-admin-summary strong {
    color: var(--tl-text);
    font-size: 1.35rem;
    font-weight: 850;
}

.workspace-admin-section {
    margin-bottom: 18px;
}

.workspace-admin-section-header {
    align-items: end;
    display: flex;
    justify-content: space-between;
    margin-bottom: 14px;
}

.workspace-admin-table {
    border-radius: var(--tl-radius);
    overflow: hidden;
}

.workspace-admin-table th {
    color: var(--tl-muted);
    font-size: 0.78rem;
    text-transform: uppercase;
}

.workspace-role-badge {
    border: 1px solid rgba(168, 179, 199, 0.24);
    border-radius: 999px;
    color: var(--tl-muted);
    display: inline-flex;
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1;
    padding: 6px 9px;
    text-transform: uppercase;
}

.workspace-role-admin,
.workspace-role-superadmin {
    border-color: rgba(199, 164, 107, 0.34);
    color: var(--tl-aurum-hover);
}

.workspace-role-editor {
    border-color: rgba(147, 197, 253, 0.28);
    color: #93c5fd;
}

.workspace-role-viewer {
    border-color: rgba(52, 211, 153, 0.28);
    color: #6ee7b7;
}

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

@media (max-width: 920px) {
    .workspace-admin-actions,
    .workspace-admin-grid,
    .workspace-admin-roadmap {
        grid-template-columns: 1fr;
    }

    .workspace-role-form {
        align-items: stretch;
        flex-direction: column;
        min-width: 0;
    }
}

.fare-card {
    background: linear-gradient(90deg, rgba(17, 26, 44, 0.96), rgba(23, 32, 51, 0.92));
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    box-shadow: 0 10px 28px rgba(3, 7, 18, 0.18);
    padding: 14px 18px;
}

.fare-bar {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 86px;
    text-align: left;
}

.fare-bar-icon {
    align-items: center;
    background-color: rgba(199, 164, 107, 0.16);
    border-radius: 999px;
    color: var(--tl-aurum-hover);
    display: inline-flex;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.fare-bar-icon svg {
    fill: none;
    height: 25px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    width: 25px;
}

.fare-bar-current {
    border-right: 1px solid rgba(168, 179, 199, 0.24);
    padding-right: 24px;
}

.fare-bar-content {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.fare-bar-topline {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    min-width: 0;
}

.kpi-config-button {
    height: 36px;
    width: 36px;
}

.kpi-toolbar {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 4px;
}

.kpi-collapse-button {
    height: 36px;
    width: 36px;
}

.fare-bar.is-collapsed {
    min-height: 52px;
    padding-bottom: 10px;
    padding-top: 10px;
}

.fare-bar.is-collapsed .fare-bar-icon,
.fare-bar.is-collapsed .fare-bar-metrics {
    display: none;
}

.fare-bar.is-collapsed .fare-bar-content {
    gap: 0;
}

.fare-bar.is-collapsed .kpi-collapse-button svg {
    transform: rotate(180deg);
}

.fare-bar-metrics {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.fare-label {
    color: var(--tl-muted);
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0;
}

.fare-value {
    color: var(--tl-aurum-hover);
    font-size: 1.75rem;
    font-weight: 850;
    line-height: 1.1;
}

.fare-value span {
    color: var(--tl-muted);
    font-size: 0.88rem;
    font-weight: 650;
    margin-left: 6px;
}

.fare-metric {
    background-color: rgba(15, 23, 42, 0.46);
    border: 1px solid rgba(168, 179, 199, 0.14);
    border-radius: var(--tl-radius);
    min-width: 0;
    padding: 10px 12px;
}

.fare-metric span {
    color: var(--tl-muted);
    display: block;
    font-size: 0.84rem;
    font-weight: 750;
    margin-bottom: 6px;
}

.fare-metric strong {
    color: var(--tl-text);
    display: block;
    font-size: 1.08rem;
    font-weight: 780;
    overflow-wrap: anywhere;
}

.fare-metric small {
    color: var(--tl-muted);
    font-size: 0.86rem;
    font-weight: 650;
}

.kpi-config-modal .modal-header,
.kpi-config-modal .modal-footer {
    border-color: rgba(168, 179, 199, 0.18);
}

.kpi-config-count {
    color: var(--tl-muted);
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    margin-top: 3px;
}

.kpi-config-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kpi-option {
    align-items: center;
    background-color: rgba(15, 23, 42, 0.54);
    border: 1px solid rgba(168, 179, 199, 0.16);
    border-radius: var(--tl-radius);
    cursor: pointer;
    display: flex;
    gap: 10px;
    min-height: 44px;
    padding: 9px 11px;
    text-align: left;
}

.kpi-option:hover,
.kpi-option:focus-within {
    border-color: rgba(199, 164, 107, 0.34);
}

.kpi-option span {
    color: var(--tl-text);
    font-size: 0.88rem;
    font-weight: 740;
}

.kpi-option-input:disabled + span {
    color: rgba(168, 179, 199, 0.52);
}

.kpi-config-error {
    color: #FCA5A5;
    font-size: 0.84rem;
    font-weight: 700;
    min-height: 20px;
    padding-top: 10px;
    text-align: left;
}

body {
    --ai-panel-width: clamp(320px, 28vw, 400px);
}

.quality-bar-footer {
    display: flex;
    align-items: stretch;
    max-width: none;
    padding-inline: 0;
}

.quality-bar-footer .quality-bar-tabs {
    flex: 1;
    min-width: 0;
    margin: 0;
}

@media (min-width: 1200px) {
    .quality-bar-footer.container {
        --quality-footer-width: 1140px;
        --quality-available-width: 100vw;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: var(--quality-footer-width);
        padding-inline: 24px;
        padding-right: max(24px, calc(150px - (var(--quality-available-width) - min(var(--quality-available-width), var(--quality-footer-width))) / 2));
    }

    .quality-bar-footer .quality-bar-tabs {
        display: grid;
        grid-column: span 2;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: none;
    }

    .quality-bar-footer .quality-checklist-toggle {
        justify-self: start;
    }

    .quality-bar-footer .quality-panel-toggle {
        justify-self: end;
        margin-inline: 0;
    }

    .quality-bar-footer .ai-chat-launcher {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
    }

    .quality-panel-collapse[data-panel="checklist"] {
        left: max(24px, calc((100% - 1140px) / 2 + 24px));
    }
}

@media (min-width: 1400px) {
    .quality-bar-footer.container {
        --quality-footer-width: 1320px;
    }

    .quality-panel-collapse[data-panel="checklist"] {
        left: max(24px, calc((100% - 1320px) / 2 + 24px));
    }
}

@media (min-width: 1200px) {
    body.ai-chat-open .quality-bar-footer.container {
        --quality-footer-width: 1504px;
        --quality-available-width: calc(100vw - var(--ai-panel-width));
    }

    body.ai-chat-open .quality-panel-collapse[data-panel="checklist"] {
        left: max(24px, calc((100% - 1504px) / 2 + 24px));
    }
}

.ai-chat-launcher {
    align-items: center;
    background: rgba(199, 164, 107, 0.1);
    border: 0;
    border-left: 1px solid var(--tl-border);
    border-radius: 0;
    color: var(--tl-aurum-hover);
    display: inline-flex;
    flex-shrink: 0;
    gap: 9px;
    min-height: 46px;
    padding: 8px 20px;
}

.ai-chat-launcher:hover,
.ai-chat-launcher[aria-expanded="true"] {
    background: rgba(199, 164, 107, 0.18);
    box-shadow: inset 0 2px var(--tl-aurum);
}

.ai-chat-launcher:focus-visible {
    outline: 2px solid var(--tl-aurum);
    outline-offset: -3px;
}

.ai-chat-launcher svg {
    fill: none;
    height: 20px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
    width: 20px;
}

.ai-chat-launcher span {
    font-size: 0.9rem;
    font-weight: 850;
}

.ai-chat-window {
    background: linear-gradient(180deg, #172033, #0F172A);
    border: 0;
    border-left: 1px solid var(--tl-border);
    border-radius: 0;
    box-shadow: -12px 0 32px rgba(3, 7, 18, 0.18);
    color: var(--tl-text);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    position: fixed;
    top: var(--global-header-height);
    right: 0;
    height: calc(100vh - var(--global-header-height));
    height: calc(100dvh - var(--global-header-height));
    overflow: hidden;
    text-align: left;
    width: var(--ai-panel-width);
    z-index: 1040;
}

@media (min-width: 992px) {
    body.ai-chat-open > main.container {
        max-width: 100%;
        width: calc(100% - var(--ai-panel-width));
        margin-left: 0;
        margin-right: var(--ai-panel-width);
    }

    body.ai-chat-open .quality-status-bar {
        right: var(--ai-panel-width);
    }
}

@media (max-width: 991px) {
    body.ai-chat-open {
        overflow: hidden;
    }

    .ai-chat-window {
        width: 100%;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    body.ai-chat-open .calculation-workspace {
        grid-template-columns: minmax(0, 1fr);
    }

    body.ai-chat-open .calculation-sidebar {
        max-height: none;
        overflow-x: auto;
    }

    body.ai-chat-open .calculation-tabs {
        flex-direction: row;
        min-width: max-content;
    }
}

@media (max-width: 480px) {
    .quality-bar-footer [data-checklist-summary],
    .quality-bar-footer [data-warning-summary] {
        display: none !important;
    }
}

.ai-chat-header {
    align-items: center;
    border-bottom: 1px solid rgba(168, 179, 199, 0.16);
    display: flex;
    justify-content: space-between;
    padding: 14px 14px 12px;
}

.ai-chat-header div {
    display: grid;
    gap: 2px;
}

.ai-chat-header strong {
    color: var(--tl-aurum-hover);
    font-size: 0.96rem;
}

.ai-chat-header span {
    color: var(--tl-muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.ai-chat-body {
    display: grid;
    align-content: start;
    gap: 10px;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    overflow-wrap: anywhere;
    padding: 14px;
}

.ai-chat-message {
    display: flex;
}

.ai-chat-message span {
    border-radius: 14px;
    display: inline-block;
    font-size: 0.86rem;
    line-height: 1.45;
    max-width: 88%;
    padding: 10px 12px;
}

.ai-chat-message.is-assistant {
    justify-content: flex-start;
}

.ai-chat-message.is-assistant span {
    background-color: rgba(30, 41, 59, 0.88);
    border: 1px solid rgba(168, 179, 199, 0.14);
    color: var(--tl-text);
}

.ai-chat-message.is-user {
    justify-content: flex-end;
}

.ai-chat-message.is-user span {
    background-color: rgba(199, 164, 107, 0.2);
    border: 1px solid rgba(199, 164, 107, 0.28);
    color: var(--tl-aurum-hover);
}

.ai-chat-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.ai-chat-chips button {
    background-color: rgba(15, 23, 42, 0.72);
    border: 1px solid rgba(168, 179, 199, 0.18);
    border-radius: 999px;
    color: var(--tl-muted);
    font-size: 0.76rem;
    font-weight: 760;
    padding: 7px 10px;
}

.ai-chat-chips button:hover,
.ai-chat-chips button:focus {
    border-color: rgba(199, 164, 107, 0.38);
    color: var(--tl-aurum-hover);
}

.ai-chat-footer {
    border-top: 1px solid rgba(168, 179, 199, 0.16);
    display: grid;
    gap: 9px;
    padding: 12px;
    padding-bottom: max(12px, env(safe-area-inset-bottom));
}

.ai-chat-feedback,
.ai-chat-quota,
.ai-chat-note {
    margin: 0;
    color: var(--tl-muted);
    font-size: 0.76rem;
    line-height: 1.5;
}

.ai-chat-quota,
.ai-response-label {
    color: var(--tl-aurum-hover);
    font-size: 0.76rem;
}

.ai-document-source {
    border-top: 1px solid var(--tl-border);
    padding-top: 10px;
    font-size: 0.8rem;
    overflow-wrap: anywhere;
}

.ai-document-source summary {
    cursor: pointer;
    color: var(--tl-aurum-hover);
}

.ai-document-source p {
    color: var(--tl-muted);
    margin-block: 8px;
}

.ai-document-source blockquote {
    border-left: 2px solid var(--tl-aurum);
    padding-left: 10px;
    white-space: pre-wrap;
}

.ai-analyst-response .ai-answer {
    margin: 0;
}

.ai-compare-select {
    width: 100%;
}

.ai-analyst-form {
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.ai-analyst-response {
    background-color: rgba(15, 23, 42, 0.52);
    border: 1px solid rgba(168, 179, 199, 0.16);
    border-radius: var(--tl-radius);
    display: grid;
    gap: 12px;
    padding: 12px;
}

.ai-answer {
    color: var(--tl-text);
    font-size: 0.92rem;
    line-height: 1.55;
}

.ai-details {
    display: grid;
    gap: 10px;
}

.ai-details article {
    border-top: 1px solid rgba(168, 179, 199, 0.14);
    padding-top: 10px;
}

.ai-details strong {
    color: var(--tl-aurum-hover);
}

.ai-details p {
    color: var(--tl-muted);
    margin: 4px 0 8px;
}

.ai-details ul {
    display: grid;
    gap: 5px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ai-details li {
    display: flex;
    gap: 8px;
    justify-content: space-between;
}

.ai-details li span,
.ai-sources span {
    color: var(--tl-muted);
    font-size: 0.78rem;
    font-weight: 720;
}

.ai-sources {
    border-top: 1px solid rgba(168, 179, 199, 0.14);
    display: grid;
    gap: 5px;
    padding-top: 10px;
}

.text-muted {
    color: var(--tl-muted) !important;
}

.form-check-input {
    background-color: #111A2C;
    border-color: var(--tl-border);
}

.form-check-input:checked {
    background-color: var(--tl-aurum);
    border-color: var(--tl-aurum);
}

.modal-content {
    background-color: var(--tl-surface);
    border: 1px solid var(--tl-border);
    color: var(--tl-text);
}

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

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

@media (max-width: 720px) {
    .fare-bar {
        grid-template-columns: 1fr;
    }

    .fare-bar-icon {
        display: none;
    }

    .fare-bar-metrics,
    .kpi-config-grid {
        grid-template-columns: 1fr;
    }

    .fare-bar-topline {
        align-items: flex-start;
    }

    .ai-analyst-form {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .ai-chat-launcher {
        padding-inline: 12px;
        gap: 6px;
    }

    .quality-status-bar {
        bottom: 0;
    }

    .quality-panel-collapse {
        max-height: min(62vh, 480px);
    }

    .quality-panel-collapse.show {
        height: auto;
    }

    .quality-bar-tabs > button { flex: 1; padding: 8px 10px; gap: 5px; }
    .quality-bar-tabs .quality-panel-text { gap: 3px; }
    .quality-bar-tabs .quality-panel-text span { display: inline; white-space: normal; }
    .quality-bar-tabs [data-checklist-summary] { flex-basis: 100%; }

    .quality-panel-toggle,
    .quality-panel.is-clear .quality-panel-toggle {
        grid-template-columns: minmax(0, 1fr) auto 16px;
        min-height: 36px;
        padding: 7px 10px;
    }

    .quality-panel.is-clear .quality-panel-toggle {
        grid-template-columns: minmax(0, 1fr);
    }

    .quality-panel.is-clear.has-details .quality-panel-toggle { grid-template-columns: minmax(0, 1fr) auto 16px; }

    .quality-panel-text {
        min-width: 0;
    }

    .quality-panel-text span {
        display: none;
    }

    .quality-panel-action {
        font-size: 0.74rem;
    }

    .quality-warning-item dl {
        flex-wrap: wrap;
    }
}

.capital-frame {
    background-color: var(--tl-bg);
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    display: block;
    min-height: 360px;
    overflow: hidden;
    width: 100%;
}

.capital-only-body main {
    min-height: 0;
}

.capital-section-card {
    overflow: visible;
}

.capital-fullscreen-link {
    min-height: 34px;
    padding: 0.32rem 0.7rem;
}

.capital-only-view .section-card {
    box-shadow: none;
    margin-bottom: 0 !important;
}

.capital-only-view .section-title {
    margin-bottom: 12px;
}

.capital-primary-tabs {
    background-color: rgba(17, 26, 44, 0.54);
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    display: inline-flex;
    gap: 4px;
    margin-bottom: 14px !important;
    padding: 4px;
}

.capital-primary-tabs .nav-link {
    border: 1px solid transparent;
    border-radius: calc(var(--tl-radius) - 2px);
    min-height: 34px;
    padding: 6px 12px;
}

.capital-subtabs {
    border-bottom: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.capital-subtabs .nav-link {
    background-color: rgba(15, 23, 42, 0.46);
    border: 1px solid rgba(168, 179, 199, 0.14);
    border-radius: 999px;
    font-size: 0.82rem;
    min-height: 30px;
    padding: 4px 10px;
}

.capital-subtabs .nav-link.active {
    background-color: rgba(199, 164, 107, 0.12);
    border-color: rgba(199, 164, 107, 0.36);
}

.capital-tabs-toolbar {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.capital-tabs-toolbar .capital-subtabs {
    flex: 1 1 auto;
}

.capital-manual-controls {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 10px;
}

.capital-manual-controls .form-check-label {
    color: var(--tl-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.remuneration-factor-input {
    margin: 0 auto;
    max-width: 112px;
}

.remuneration-factor-value {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    justify-content: center;
    min-height: 32px;
}

.capital-summary-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 14px;
}

.capital-summary-card {
    background-color: rgba(17, 26, 44, 0.74);
    border: 1px solid rgba(168, 179, 199, 0.14);
    border-radius: var(--tl-radius);
    min-width: 0;
    padding: 10px 12px;
}

.capital-summary-card span {
    color: var(--tl-muted);
    display: block;
    font-size: 0.72rem;
    font-weight: 750;
    margin-bottom: 4px;
}

.capital-summary-card strong {
    color: var(--tl-text);
    display: block;
    font-size: 0.96rem;
    font-weight: 850;
    overflow-wrap: anywhere;
}

.capital-breakdown-table {
    margin-bottom: 0;
    table-layout: fixed;
}

.capital-summary-table {
    min-width: 860px;
}

.capital-detail-table {
    min-width: 720px;
}

.capital-assets-table {
    min-width: 760px;
}

.capital-breakdown-table th {
    line-height: 1.2;
    white-space: normal;
}

.capital-breakdown-table td {
    line-height: 1.25;
}

.capital-summary-table th:nth-child(n+2),
.capital-summary-table td:nth-child(n+2),
.capital-detail-table th:nth-child(n+2),
.capital-detail-table td:nth-child(n+2) {
    text-align: right;
}

.capital-depreciation-summary-table th:first-child,
.capital-depreciation-summary-table td:first-child {
    width: 20%;
}

.capital-depreciation-summary-table th:nth-child(2),
.capital-depreciation-summary-table td:nth-child(2) {
    width: 8%;
}

.capital-depreciation-summary-table th:nth-child(3),
.capital-depreciation-summary-table td:nth-child(3),
.capital-depreciation-summary-table th:nth-child(4),
.capital-depreciation-summary-table td:nth-child(4) {
    width: 9%;
}

.capital-depreciation-summary-table th:nth-child(5),
.capital-depreciation-summary-table td:nth-child(5),
.capital-depreciation-summary-table th:nth-child(7),
.capital-depreciation-summary-table td:nth-child(7) {
    width: 13%;
}

.capital-depreciation-summary-table th:nth-child(6),
.capital-depreciation-summary-table td:nth-child(6),
.capital-depreciation-summary-table th:nth-child(8),
.capital-depreciation-summary-table td:nth-child(8) {
    width: 14%;
}

.capital-remuneration-summary-table th:first-child,
.capital-remuneration-summary-table td:first-child {
    width: 24%;
}

.capital-remuneration-summary-table th:nth-child(2),
.capital-remuneration-summary-table td:nth-child(2) {
    width: 9%;
}

.capital-remuneration-summary-table th:nth-child(3),
.capital-remuneration-summary-table td:nth-child(3) {
    width: 17%;
}

.capital-remuneration-summary-table th:nth-child(4),
.capital-remuneration-summary-table td:nth-child(4) {
    width: 18%;
}

.capital-remuneration-summary-table th:nth-child(5),
.capital-remuneration-summary-table td:nth-child(5),
.capital-remuneration-summary-table th:nth-child(6),
.capital-remuneration-summary-table td:nth-child(6) {
    width: 16%;
}

.capital-breakdown-table .form-control,
.capital-breakdown-table .form-select {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
}

.capital-section-row td {
    background-color: rgba(147, 197, 253, 0.08) !important;
    border-top: 1px solid rgba(147, 197, 253, 0.16);
    color: var(--tl-blue);
    font-weight: 800;
}

.capital-subtotal-row td,
.capital-total-row td {
    background-color: rgba(199, 164, 107, 0.10) !important;
    border-top: 1px solid rgba(199, 164, 107, 0.28);
    font-weight: 850;
}

.capital-total-row td {
    background-color: rgba(199, 164, 107, 0.16) !important;
}

@media (max-width: 992px) {
    .capital-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .capital-tabs-toolbar,
    .capital-manual-controls {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 576px) {
    .capital-summary-grid {
        grid-template-columns: 1fr;
    }

    .capital-primary-tabs {
        display: flex;
    }
}

.detailed-demand-scroll {
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    overflow-x: auto;
    padding-bottom: 8px;
}

.detailed-demand-scroll::-webkit-scrollbar {
    height: 10px;
}

.detailed-demand-scroll::-webkit-scrollbar-track {
    background-color: rgba(17, 26, 44, 0.8);
    border-radius: 999px;
}

.detailed-demand-scroll::-webkit-scrollbar-thumb {
    background-color: rgba(199, 164, 107, 0.62);
    border-radius: 999px;
}

.detailed-demand-table {
    margin-bottom: 0;
    min-width: 1790px;
    table-layout: fixed;
}

.detailed-demand-table th,
.detailed-demand-table td {
    min-width: 112px;
    padding: 10px 6px;
    white-space: nowrap;
}

.detailed-demand-table th:first-child,
.detailed-demand-table td:first-child {
    min-width: 142px;
    width: 142px;
}

.detailed-demand-table th:nth-child(2),
.detailed-demand-table td:nth-child(2) {
    min-width: 96px;
    width: 96px;
}

.detailed-demand-table th:nth-child(n+3):nth-child(-n+14),
.detailed-demand-table td:nth-child(n+3):nth-child(-n+14) {
    min-width: 112px;
    width: 112px;
}

.detailed-demand-table th:nth-last-child(2),
.detailed-demand-table td:nth-last-child(2) {
    min-width: 160px;
    width: 160px;
}

.detailed-demand-table th:last-child,
.detailed-demand-table td:last-child {
    min-width: 58px;
    width: 58px;
}

.detailed-demand-table .month-passengers,
.detailed-demand-table .discount-percent,
.detailed-demand-table .passenger-type,
.detailed-demand-table .equivalent-result {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
}

.detailed-demand-table .passenger-type {
    min-width: 0;
}
/* Relatório técnico para instrução de processo administrativo */
.simulator-intro {
    align-items: center;
    display: flex;
    gap: 24px;
    justify-content: space-between;
}

.simulator-kicker {
    color: var(--tl-aurum);
    display: block;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.simulator-current-fare {
    background: var(--tl-surface-alt);
    border: 1px solid rgba(199, 164, 107, 0.3);
    border-radius: 12px;
    min-width: 190px;
    padding: 14px 18px;
    text-align: right;
}

.simulator-current-fare span,
.simulator-result span,
.simulator-detail-list span {
    color: var(--tl-muted);
    display: block;
    font-size: 0.78rem;
}

.simulator-current-fare strong {
    color: var(--tl-aurum);
    display: block;
    font-size: 1.45rem;
    margin-top: 2px;
}

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

.simulator-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.simulator-card-wide {
    grid-column: 1 / -1;
}

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

.simulator-card-heading {
    align-items: flex-start;
    display: flex;
    gap: 12px;
}

.simulator-card-heading h3 {
    color: var(--tl-text);
    font-size: 1rem;
    font-weight: 800;
    margin: 1px 0 3px;
}

.simulator-card-heading p {
    color: var(--tl-muted);
    font-size: 0.82rem;
    margin: 0;
}

.simulator-step {
    align-items: center;
    background: rgba(199, 164, 107, 0.14);
    border: 1px solid rgba(199, 164, 107, 0.34);
    border-radius: 50%;
    color: var(--tl-aurum);
    display: inline-flex;
    flex: 0 0 30px;
    font-size: 0.8rem;
    font-weight: 800;
    height: 30px;
    justify-content: center;
}

.simulator-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.simulator-result {
    background: var(--tl-surface-alt);
    border: 1px solid var(--tl-border);
    border-radius: 12px;
    margin-top: 2px;
    padding: 18px;
}

.simulator-result-primary {
    border-color: rgba(199, 164, 107, 0.34);
}

.simulator-result strong {
    color: var(--tl-text);
    display: block;
    font-size: 1.65rem;
    margin: 3px 0;
}

.simulator-result-primary strong {
    color: var(--tl-aurum);
}

.simulator-result small {
    color: var(--tl-muted);
}

.simulator-detail-list {
    border-top: 1px solid var(--tl-border);
    display: grid;
    gap: 10px;
    padding-top: 14px;
}

.simulator-detail-list > div {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.simulator-detail-list strong {
    color: var(--tl-text);
    font-size: 0.85rem;
}

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

.simulator-detail-grid > div {
    border-bottom: 1px solid var(--tl-border);
    padding-bottom: 10px;
}

.simulator-note {
    color: var(--tl-muted);
    font-size: 0.78rem;
    line-height: 1.5;
    padding: 14px 4px 0;
}

@media (max-width: 900px) {
    .simulator-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .simulator-intro {
        align-items: stretch;
        flex-direction: column;
    }

    .simulator-current-fare {
        text-align: left;
    }

    .simulator-input-grid,
    .simulator-detail-grid {
        grid-template-columns: 1fr;
    }
}

.report-body main {
    max-width: 1240px;
    text-align: left;
}

.report-toolbar {
    display: flex;
    justify-content: space-between;
    margin: 0 auto 18px;
    max-width: 980px;
}

.report-model-editor {
    background: #111827;
    border: 1px solid #2c3750;
    border-radius: 8px;
    color: #e5e7eb;
    margin: 0 auto 18px;
    max-width: 980px;
    padding: 14px 16px;
}

.report-model-editor summary {
    color: #d7b66d;
    cursor: pointer;
    font-weight: 700;
}

.report-model-editor form {
    display: grid;
    gap: 14px;
    margin-top: 16px;
}

.report-editor-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.report-editor-grid--files {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.report-editor-texts {
    display: grid;
    gap: 12px;
}

.report-model-editor label {
    display: grid;
    gap: 6px;
}

.report-model-editor label span,
.report-placeholder-list span {
    color: #aeb8ca;
    font-size: 0.82rem;
    font-weight: 700;
}

.report-model-editor input,
.report-model-editor textarea {
    background: #0d1424;
    border: 1px solid #2c3750;
    border-radius: 6px;
    color: #f8fafc;
    padding: 9px 10px;
    width: 100%;
}

.report-model-editor textarea {
    min-height: 92px;
    resize: vertical;
}

.report-placeholder-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.report-placeholder-list code {
    background: #1b2537;
    border: 1px solid #344158;
    border-radius: 4px;
    color: #f6d58a;
    padding: 3px 6px;
}

.report-annex-picker {
    border: 1px solid #2c3750;
    border-radius: 6px;
    display: grid;
    gap: 10px;
    padding: 12px;
}

.report-annex-picker > div:first-child {
    display: grid;
    gap: 3px;
}

.report-annex-picker > div:first-child strong {
    color: #e5e7eb;
}

.report-annex-picker > div:first-child span {
    color: #aeb8ca;
    font-size: 0.82rem;
}

.report-annex-picker-list {
    display: grid;
    gap: 8px;
}

.report-annex-picker-item {
    align-items: center;
    background: #0d1424;
    border: 1px solid #2c3750;
    border-radius: 6px;
    display: grid;
    gap: 10px;
    grid-template-columns: auto 72px minmax(0, 1fr);
    padding: 9px 10px;
}

.report-annex-picker-item input[type="checkbox"] {
    height: 18px;
    margin: 0;
    width: 18px;
}

.report-model-editor .report-annex-order {
    padding: 6px 8px;
}

.report-annex-picker-item span {
    display: grid;
    gap: 2px;
}

.report-annex-picker-item strong {
    color: #f8fafc;
    font-size: 0.88rem;
    overflow-wrap: anywhere;
}

.report-annex-picker-item small {
    color: #aeb8ca;
    font-size: 0.75rem;
}

.technical-report {
    background: #fff;
    box-shadow: 0 18px 55px rgba(3, 7, 18, 0.4);
    color: #172033;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10.5pt;
    line-height: 1.45;
    margin: 0 auto;
    max-width: 980px;
    padding: 18mm 17mm;
}

.technical-report h1 {
    color: #0f172a;
    font-size: 20pt;
    line-height: 1.18;
    margin: 4px 0 7px;
}

.technical-report h2 {
    border-bottom: 1px solid #a8b3c7;
    color: #0f172a;
    font-size: 13pt;
    margin: 24px 0 10px;
    padding-bottom: 5px;
}

.technical-report h3 {
    color: #334155;
    font-size: 10.5pt;
    margin: 16px 0 7px;
}

.report-header {
    align-items: flex-start;
    border-bottom: 3px solid #c7a46b;
    display: grid;
    gap: 28px;
    grid-template-columns: 1fr 220px;
    padding-bottom: 16px;
}

.report-logo {
    grid-column: 1 / -1;
}

.report-logo img {
    display: block;
    max-height: 78px;
    max-width: 240px;
    object-fit: contain;
}

.report-letterhead {
    margin-top: 22px;
    text-align: left;
}

.report-letterhead p,
.report-introduction p {
    margin: 0 0 10px;
}

.report-justified-text {
    text-align: justify;
}

.report-header p,
.report-footer p {
    margin: 0;
}

.report-kicker {
    color: #8a642d;
    font-size: 8.5pt;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.report-identification {
    border-left: 1px solid #cbd5e1;
    display: grid;
    gap: 2px;
    padding-left: 16px;
}

.report-identification span {
    color: #64748b;
    font-size: 8pt;
    margin-top: 5px;
    text-transform: uppercase;
}

.technical-report table {
    border-collapse: collapse;
    margin-bottom: 12px;
    width: 100%;
}

.technical-report th,
.technical-report td {
    border: 1px solid #cbd5e1;
    padding: 6px 8px;
    vertical-align: top;
}

.technical-report thead th {
    background: #e9eef5;
    color: #0f172a;
    font-size: 8.5pt;
    text-transform: uppercase;
}

.technical-report tfoot th {
    background: #f1f5f9;
}

.technical-report .numeric {
    text-align: right;
    white-space: nowrap;
}

.calculation-table td:nth-child(1) {
    width: 26%;
}

.calculation-table td:nth-child(2) {
    width: 52%;
}

.calculation-table small {
    color: #64748b;
    display: block;
    font-size: 8pt;
    margin-top: 3px;
}

.calculation-table .fare-result td {
    background: #fff8e8;
    border-color: #c7a46b;
    font-weight: 700;
}

.report-result-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, 1fr);
}

.report-result-grid div {
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
    padding: 12px;
}

.report-result-grid span {
    color: #64748b;
    display: block;
    font-size: 8pt;
    text-transform: uppercase;
}

.report-result-grid strong {
    color: #0f172a;
    display: block;
    font-size: 14pt;
    margin-top: 4px;
}

.report-result-grid .primary {
    background: #fff8e8;
    border-color: #c7a46b;
}

.report-footer {
    border-top: 1px solid #cbd5e1;
    color: #475569;
    margin-top: 30px;
    padding-top: 12px;
}

.signature-line {
    border-top: 1px solid #334155;
    display: grid;
    gap: 3px;
    margin: 46px auto 0;
    padding-top: 5px;
    text-align: center;
    width: 55%;
}

.signature-line strong {
    color: #172033;
    font-weight: 700;
}

.signature-line span {
    color: #64748b;
}

@media (max-width: 720px) {
    .report-editor-grid,
    .report-editor-grid--files,
    .report-header,
    .report-result-grid {
        grid-template-columns: 1fr;
    }

    .technical-report {
        padding: 24px 16px;
    }
}

@media print {
    @page {
        margin: 12mm;
        size: A4 portrait;
    }

    .report-body {
        background: #fff !important;
    }

    .report-body nav,
    .report-body > header,
    .report-toolbar,
    .report-model-editor {
        display: none !important;
    }

    .report-body main {
        margin: 0;
        max-width: none;
        min-height: 0;
        padding: 0 !important;
    }

    .technical-report {
        box-shadow: none;
        font-size: 9pt;
        max-width: none;
        padding: 0;
    }

    .technical-report section,
    .technical-report table,
    .report-result-grid {
        break-inside: avoid;
    }

    .technical-report h2,
    .technical-report h3 {
        break-after: avoid;
    }
}
/* Monitoring accents: scoped so scenario screens retain the champagne palette. */
.monitoring-page {
    --monitoring-accent: #167F6B;
    --monitoring-accent-hover: #22A58B;
    --monitoring-accent-soft: #79D2BD;
}

.monitoring-page :is(.btn-warning, .btn-primary, .btn-success, .btn-purple) {
    --bs-btn-active-bg: var(--monitoring-accent-hover);
    --bs-btn-active-border-color: var(--monitoring-accent-hover);
    --bs-btn-disabled-bg: var(--monitoring-accent);
    --bs-btn-disabled-border-color: var(--monitoring-accent);
    background-color: var(--monitoring-accent);
    border-color: var(--monitoring-accent);
    color: #FFFFFF;
}

.monitoring-page :is(.btn-warning, .btn-primary, .btn-success, .btn-purple):is(:hover, :focus, :active) {
    background-color: var(--monitoring-accent-hover);
    border-color: var(--monitoring-accent-hover);
    color: #071E19;
}

.monitoring-page :is(.btn-outline-warning, .btn-outline-light, .btn-outline-primary, .btn-outline-secondary, .btn-outline-info, .btn-secondary) {
    background-color: transparent;
    border-color: var(--monitoring-accent-hover);
    color: var(--monitoring-accent-soft);
}

.monitoring-page :is(.btn-outline-warning, .btn-outline-light, .btn-outline-primary, .btn-outline-secondary, .btn-outline-info, .btn-secondary):is(:hover, :focus, :active) {
    background-color: var(--monitoring-accent-hover);
    border-color: var(--monitoring-accent-hover);
    color: #071E19;
}

.monitoring-page .monitoring-sidebar-meta strong { color: var(--monitoring-accent-hover); }
.monitoring-page .monitoring-sidebar a:is(:hover, :focus, .active) {
    background-color: rgba(22, 127, 107, .14);
    border-color: rgba(34, 165, 139, .5);
}
.monitoring-page .monitoring-row:is(:hover, :focus) { border-color: var(--monitoring-accent-hover); }
.monitoring-page :is(.form-control, .form-select):focus {
    border-color: var(--monitoring-accent-hover);
    box-shadow: 0 0 0 .2rem rgba(34, 165, 139, .14);
}
.monitoring-page .monitoring-month-chip:is(:hover, :focus, .active) { border-color: var(--monitoring-accent-hover); }
.monitoring-page .monitoring-month-chip.active { background-color: rgba(22, 127, 107, .14); }

.monitoring-page .monitoring-actuals-entry .nav-link.active,
.monitoring-page .monitoring-calendar-switch button:is([aria-pressed="true"], [aria-selected="true"]) {
    background: var(--monitoring-accent);
    border-color: var(--monitoring-accent);
    color: #FFFFFF;
}
.monitoring-page .monitoring-calendar-switch button:hover { background: var(--monitoring-accent-hover); color: #071E19; }
.monitoring-page .monitoring-projection-toggle[aria-pressed] {
    border-color: #9270CB;
    color: #CDB8EF;
    background: transparent;
}
.monitoring-page .monitoring-projection-toggle[aria-pressed="true"] { background: rgba(146, 112, 203, .14); }
.monitoring-page .monitoring-projection-toggle[aria-pressed]:hover { background: rgba(146, 112, 203, .26); border-color: #CDB8EF; color: #E9DDFB; }
.monitoring-page .monitoring-projection-toggle[aria-pressed]:focus-visible { outline-color: #CDB8EF; }
.monitoring-page .monitoring-calendar-dot { background: var(--monitoring-accent-hover); }
.monitoring-page .monitoring-daily-calendar .monitoring-calendar-day.is-selected {
    background: rgba(22, 127, 107, .10);
    border-color: var(--monitoring-accent-hover);
    box-shadow: inset 0 0 0 1px var(--monitoring-accent-hover);
}
.monitoring-page :is(.btn, .monitoring-projection-toggle, .monitoring-calendar-switch button, .monitoring-calendar-day, .monitoring-sidebar a, .monitoring-info-button):focus-visible {
    outline: 2px solid var(--monitoring-accent-hover);
    outline-offset: 3px;
    box-shadow: none;
}
