:root {
    color-scheme: dark;
    font-family: Inter, "Segoe UI", Arial, sans-serif;
    background: #050912;
    color: #f2f6fb;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
}

html {
    min-width: 320px;
    scroll-behavior: smooth;
    background: #050912;
}

body {
    min-width: 320px;
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    background: #050912;
}

button,
a {
    font: inherit;
}

a {
    color: inherit;
    text-decoration: none;
}

button:focus-visible,
a:focus-visible {
    outline: 2px solid #65bfff;
    outline-offset: 3px;
}

::selection {
    background: rgba(84, 183, 255, .28);
    color: #fff;
}

#blazor-error-ui {
    display: none;
}

#blazor-error-ui.show,
#blazor-error-ui[style*="display: block"] {
    display: block;
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1000;
    max-width: min(460px, calc(100% - 2rem));
    padding: .9rem 2.5rem .9rem 1rem;
    border: 1px solid #723d28;
    border-radius: .65rem;
    background: #2d1812;
    color: #ffe9de;
    box-shadow: 0 18px 46px rgba(0, 0, 0, .4);
}

#blazor-error-ui .reload {
    color: #ffc071;
    text-decoration: underline;
}

#blazor-error-ui .dismiss {
    position: absolute;
    top: .65rem;
    right: .8rem;
    cursor: pointer;
}

.admin-maintenance-status { font-size: 1.45rem !important; }.admin-maintenance-status.enabled { color: #ff9b92; }.admin-maintenance-status.disabled { color: #8cdda2; }.admin-stats article p { color: #a7bbce; }.admin-maintenance-button { border: 0; border-radius: 7px; padding: 10px 14px; background: #ff9b92; color: #281012; font-weight: 700; cursor: pointer; }.admin-maintenance-button:disabled { opacity: .65; cursor: wait; }

.admin-login, .admin-page { min-height: 100vh; color: #e8f0f8; background: #07101b; }.admin-login { display: grid; place-items: center; padding: 24px; }.admin-login-card { width: min(100%, 360px); padding: 30px; border: 1px solid #29425b; border-radius: 14px; background: #0c1a29; }.admin-login-card h1 { margin: 0 0 24px; font-size: 1.5rem; }.admin-login-card label, .admin-login-card input { display: block; width: 100%; }.admin-login-card label { margin-bottom: 8px; color: #a7bbce; font-size: .85rem; }.admin-login-card input { box-sizing: border-box; padding: 11px 12px; border: 1px solid #3b5875; border-radius: 7px; background: #07101b; color: inherit; }.admin-login-card button, .admin-header button { border: 0; border-radius: 7px; padding: 10px 14px; background: #eda52d; color: #16130c; font-weight: 700; cursor: pointer; }.admin-login-card button { width: 100%; margin-top: 18px; }.admin-error { color: #ff9b92; font-size: .85rem; }.admin-header { padding: 15px clamp(18px, 5vw, 54px); border-bottom: 1px solid #29425b; display: flex; align-items: center; justify-content: space-between; }.admin-header a { color: inherit; }.admin-header form { margin: 0; }.admin-page main { max-width: 1040px; margin: 0 auto; padding: 48px clamp(18px, 5vw, 54px); }.admin-page h1 { margin: 0 0 28px; }.admin-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }.admin-stats article { padding: 24px; border: 1px solid #29425b; border-radius: 12px; background: #0c1a29; }.admin-stats span, .admin-stats strong { display: block; }.admin-stats span { color: #a7bbce; }.admin-stats strong { margin-top: 10px; font-size: 2.3rem; }.admin-link { display: inline-block; margin-top: 28px; color: #75c9ff; }.admin-table-wrap { overflow-x: auto; border: 1px solid #29425b; border-radius: 10px; }.admin-table-wrap table { width: 100%; border-collapse: collapse; text-align: left; }.admin-table-wrap th, .admin-table-wrap td { padding: 13px 16px; border-bottom: 1px solid #20374d; white-space: nowrap; }.admin-table-wrap th { color: #a7bbce; font-size: .78rem; }.admin-table-wrap tr:last-child td { border-bottom: 0; } @media (max-width: 560px) { .admin-stats { grid-template-columns: 1fr; } }
