:root {
    --rs-bg: #070a12;
    --rs-surface: #0d1424;
    --rs-surface-2: #111a30;
    --rs-line: #1c2740;
    --rs-accent: #ff5a36;
    --rs-accent-2: #38bdf8;
    --rs-glow: 0 0 0 1px rgba(255,90,54,.25), 0 8px 32px -8px rgba(255,90,54,.25);
}

html, body {
    font-family: Inter, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    background: var(--rs-bg);
    color: #e6edf7;
}

body {
    background:
        radial-gradient(900px 500px at 85% -10%, rgba(255,90,54,.10), transparent 60%),
        radial-gradient(800px 500px at -10% 110%, rgba(56,189,248,.08), transparent 60%),
        var(--rs-bg);
    background-attachment: fixed;
}

h1:focus { outline: none; }

.rs-appbar { border-bottom: 1px solid var(--rs-line); backdrop-filter: blur(8px); }
.rs-appbar.mud-appbar { background: rgba(10,15,28,.85) !important; }
.rs-drawer { border-right: 1px solid var(--rs-line); }
.rs-main { min-height: 100vh; }
.rs-logo { color: var(--rs-accent); filter: drop-shadow(0 0 8px rgba(255,90,54,.7)); }
.rs-title { letter-spacing: .18em; font-weight: 800 !important; }
.rs-title span { color: var(--rs-accent); }

.mud-nav-link.active:not(.mud-nav-link-disabled) {
    background: linear-gradient(90deg, rgba(255,90,54,.16), transparent) !important;
    border-left: 3px solid var(--rs-accent);
    color: #fff !important;
}
.mud-nav-link { border-radius: 0 8px 8px 0 !important; margin-right: 8px; }

.rs-card.mud-paper, .rs-card {
    background: linear-gradient(180deg, var(--rs-surface-2), var(--rs-surface)) !important;
    border: 1px solid var(--rs-line);
    border-radius: 12px;
    overflow: hidden;
}
.rs-card-head {
    display: flex; align-items: center; gap: .6rem;
    padding: .9rem 1.1rem;
    border-bottom: 1px solid var(--rs-line);
    background: rgba(255,255,255,.02);
}
.rs-card-head .rs-sub { color: #8b98ad; font-size: .8rem; margin-left: auto; }

.rs-stat { padding: 1rem 1.2rem; }
.rs-stat .rs-num { font-size: 2rem; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; }
.rs-stat .rs-label { color: #8b98ad; font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; }

.rs-table .mud-table-container { background: transparent; }
.rs-table .mud-table-root .mud-table-head .mud-table-cell {
    color: #8b98ad; font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700;
    background: rgba(255,255,255,.02);
}
.rs-table .mud-table-cell { border-bottom: 1px solid #141d33; }
.rs-mono { font-family: ui-monospace, 'JetBrains Mono', Menlo, Consolas, monospace; font-size: .82rem; }

.rs-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: .5rem; background: #5b6679; }
.rs-dot.on { background: #34d399; box-shadow: 0 0 0 0 rgba(52,211,153,.7); animation: rs-pulse 2s infinite; }
@keyframes rs-pulse { 70% { box-shadow: 0 0 0 8px rgba(52,211,153,0); } 100% { box-shadow: 0 0 0 0 rgba(52,211,153,0); } }

.rs-empty { padding: 2.5rem 1rem; text-align: center; color: #8b98ad; }

.rs-error { max-width: 560px; margin: 8vh auto; padding: 2.2rem; text-align: center; }
.rs-error .rs-code { font-size: 5rem; font-weight: 800; line-height: 1; color: var(--rs-accent); text-shadow: 0 0 30px rgba(255,90,54,.5); letter-spacing: .05em; }

.rs-static-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 1rem; }

#blazor-error-ui {
    color-scheme: dark only;
    background: #2a0f12; color: #ffd9d4; border-top: 1px solid #f87171;
    bottom: 0; box-shadow: 0 -1px 2px rgba(0,0,0,0.4);
    box-sizing: border-box; display: none; left: 0; padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed; width: 100%; z-index: 10000;
}
#blazor-error-ui .dismiss { cursor: pointer; position: absolute; right: 0.75rem; top: 0.5rem; }
#blazor-error-ui a { color: var(--rs-accent); }

.blazor-error-boundary { background: #b32121; padding: 1rem 1rem 1rem 1rem; color: white; border-radius: 8px; }
.blazor-error-boundary::after { content: "An error has occurred." }
