:root {
    --site-bg: #080b16;
    --site-surface: #11182a;
    --site-surface-2: #18223a;
    --site-border: rgba(148, 163, 184, .18);
    --site-text: #edf2ff;
    --site-muted: #aab6d0;
    --site-primary: #8b5cf6;
    --site-primary-dark: #6d3ed1;
    --site-accent: #22d3ee;
    --site-radius: 1.1rem;
}

html { scroll-behavior: smooth; }
body.min-vh-100 {
    min-height: 100vh;
    color: var(--site-text) !important;
    background: radial-gradient(circle at 8% -10%, rgba(139, 92, 246, .2), transparent 32rem), radial-gradient(circle at 92% 0%, rgba(34, 211, 238, .1), transparent 28rem), var(--site-bg) !important;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.6;
}
.skip-link { position: absolute; z-index: 2000; top: .75rem; left: .75rem; padding: .65rem 1rem; color: #fff; background: var(--site-primary-dark); border-radius: .5rem; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.site-nav { background: rgba(8, 11, 22, .82) !important; border-bottom: 1px solid var(--site-border); box-shadow: 0 .75rem 2rem rgba(0, 0, 0, .16); backdrop-filter: blur(18px); }
.site-nav__inner { min-height: 4.5rem; }
.site-brand { display: inline-flex; align-items: center; gap: .65rem; font-weight: 750; letter-spacing: -.02em; }
.site-brand__logo { display: block; width: 2.15rem; height: 2.15rem; object-fit: cover; border-radius: .7rem; box-shadow: 0 0 .8rem rgba(34, 211, 238, .2); }
.site-nav .nav-link { color: var(--site-muted); border-radius: .55rem; }
.site-nav .nav-link:hover, .site-nav .nav-link:focus { color: #fff; background: rgba(139, 92, 246, .15); }
.site-nav__actions { display: flex; flex: 0 0 auto; flex-wrap: nowrap; align-items: center; gap: 1rem; margin-left: 1rem; }
.site-nav__faq { color: #e2e8f0 !important; }
.site-search { display: flex; flex: 0 1 23rem; gap: .5rem; width: min(100%, 23rem); }
.site-search .form-control { min-width: 0; }
.site-search .form-control, .form-control, .form-select { color: var(--site-text); background-color: rgba(17, 24, 42, .9); border-color: var(--site-border); }
.site-search .form-control { color: #f8fafc !important; background: rgba(24, 34, 58, .96); border: 1px solid rgba(103, 232, 249, .28); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04); }
.site-search .form-control:hover { border-color: rgba(103, 232, 249, .55); background-color: var(--site-surface-2); }
.site-search .form-control::placeholder { color: #f1f5f9 !important; opacity: 1 !important; }
.site-search .form-control:focus, .form-control:focus, .form-select:focus { color: #fff; background-color: var(--site-surface-2); border-color: var(--site-accent); box-shadow: 0 0 0 .2rem rgba(34, 211, 238, .15); }
.site-search .form-control:-webkit-autofill, .site-search .form-control:-webkit-autofill:hover, .site-search .form-control:-webkit-autofill:focus { -webkit-text-fill-color: #fff; -webkit-box-shadow: 0 0 0 1000px var(--site-surface-2) inset; transition: background-color 9999s ease-out; }
.btn-primary { background: linear-gradient(135deg, var(--site-primary), var(--site-primary-dark)); border: 0; }
.btn-primary:hover, .btn-primary:focus { background: linear-gradient(135deg, #9b75ff, var(--site-primary)); }
.month-switch { align-items: center; gap: .5rem; }
.month-switch__button { display: inline-grid; min-height: 2.65rem; place-items: center; padding-inline: .5rem; font-size: 1.2rem; font-weight: 700; border-radius: .7rem; }
.month-switch .col-3 { width: calc(25% - .34rem); }
.month-switch .col-12 { width: 100%; }
.card, .bg-dark.border-secondary, .bg-black.bg-opacity-25 { background: linear-gradient(145deg, rgba(24, 34, 58, .92), rgba(13, 18, 34, .95)) !important; border: 1px solid var(--site-border) !important; border-radius: var(--site-radius) !important; box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .15); }
h1, h2, h3, h4 { letter-spacing: -.025em; }
h1 { font-weight: 800; }
a { color: #67e8f9; }
a:hover { color: #a5f3fc; }
.table { --bs-table-bg: transparent; --bs-table-color: var(--site-text); --bs-table-border-color: var(--site-border); }
.table thead th { color: var(--site-muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.table-hover > tbody > tr:hover > * { --bs-table-accent-bg: rgba(139, 92, 246, .1); }
.dataTables_wrapper { color: var(--site-muted); }
.accordion-item { border-color: var(--site-border) !important; background: transparent; }
.accordion-button { color: var(--site-text); background: var(--site-surface); }
.accordion-button:not(.collapsed) { color: #fff; background: var(--site-surface-2); }
.site-footer { margin-top: 4rem; color: var(--site-muted); border-top: 1px solid var(--site-border); background: rgba(5, 7, 14, .82); }
.site-footer__inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; align-items: center; padding: 1.25rem 1.5rem; }
.site-footer__links { margin: 0; }
.site-footer .nav-link { color: var(--site-muted) !important; }
.site-footer .nav-link:hover, .site-footer .nav-link:focus { color: #fff !important; }
@media (max-width: 991.98px) { .site-nav__actions { display: block; margin-left: 0; } .site-nav__faq { display: inline-block; margin-top: .25rem; } .site-search { width: 100%; padding: .5rem 0 1rem; } }
@media (max-width: 575.98px) { .site-footer__inner { align-items: flex-start; padding-inline: 1rem; } .site-footer__links { display: grid; grid-template-columns: 1fr 1fr; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
