/* ============================================================================
 * Shared base: self-hosted fonts, reset, body ground — loaded by every
 * surface (public site and manager console) before its own stylesheet.
 *
 * Fonts are vendored because the CSP is default-src 'self' with no
 * 'unsafe-inline': fonts.googleapis.com can never load, and inline style
 * attributes never render — all styling in this project lives in class rules.
 * ========================================================================== */

/* ---- Self-hosted Geist (variable, latin subset; OFL licensed) ------------ */

@font-face {
    font-family: 'Geist';
    src: url('../fonts/geist-latin.woff2') format('woff2');
    font-weight: 300 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Geist Mono';
    src: url('../fonts/geist-mono-latin.woff2') format('woff2');
    font-weight: 400 600;
    font-style: normal;
    font-display: swap;
}

/* ---- Ground -------------------------------------------------------------- */

* { box-sizing: border-box; }

html, body { margin: 0; }

body {
    background: #08090a;
    color: #f7f8f8;
    font-family: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

::selection { background: rgba(130, 143, 255, .28); }

/* Thin custom scrollbars on every surface — never the native (white) bar.
   Global (not a marker class) so any scroll container — modal body, drawer,
   dropdown menu, table — is consistent without having to remember a class.
   Every surface loading this sheet is dark (#08090a), so a light-on-transparent
   thumb reads correctly everywhere. .ns-scroll stays valid as a harmless alias. */
* { scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .16) transparent; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .12); border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255, 255, 255, .22); }
