:root {
    --bs-primary: #d97706;
    --bs-primary-rgb: 217, 119, 6;
    --ink: #18212f;
    --muted: #667085;
    --surface: #ffffff;
    --surface-muted: #f7f8fa;
    --line: #e6e8ec;
}

@media (prefers-color-scheme: dark) {
    :root {
        --ink: #edf2f7;
        --muted: #a8b3c2;
        --surface: #101722;
        --surface-muted: #17202d;
        --line: #283446;
    }

    body,
    .card,
    .navbar,
    .empty-state,
    .hero-panel {
        color: var(--ink);
        background-color: var(--surface) !important;
    }

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

    .form-control,
    .form-check-input {
        background-color: var(--surface-muted);
        border-color: var(--line);
        color: var(--ink);
    }
}

body {
    min-height: 100vh;
    color: var(--ink);
    background: var(--surface);
}

a {
    color: #a95803;
}

.site-nav {
    background: var(--surface);
    border-color: var(--line) !important;
}

.navbar-brand {
    color: var(--ink);
    letter-spacing: -0.02em;
}

.navbar-brand span {
    color: #d97706;
}

.hero-panel {
    background: linear-gradient(135deg, #fff7ed 0%, #fffbeb 100%);
    border: 1px solid #fed7aa;
}

.empty-state {
    background: var(--surface-muted);
    border: 1px dashed var(--line);
}

.login-card {
    margin-top: 4vh;
}

.btn-primary {
    --bs-btn-bg: #d97706;
    --bs-btn-border-color: #d97706;
    --bs-btn-hover-bg: #b45309;
    --bs-btn-hover-border-color: #b45309;
    --bs-btn-active-bg: #92400e;
    --bs-btn-active-border-color: #92400e;
}

.table > :not(caption) > * > * {
    padding: .85rem 1rem;
}

.blurred-result {
    display: inline-block;
    filter: blur(5px);
    user-select: none;
}

.result-locked {
    background: rgba(217, 119, 6, .035);
}

.metric-card {
    height: 100%;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: .75rem;
    background: var(--surface-muted);
}

.metric-card span,
.metric-card strong {
    display: block;
}

.metric-card span {
    color: var(--muted);
    font-size: .8rem;
}

.metric-card strong {
    margin-top: .25rem;
    font-size: 1.08rem;
}
