/* Self-hosted fonts (SIL OFL) - no third-party requests */
@font-face{font-family:'Sora';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/sora-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Sora';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/sora-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/sora-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/sora-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/inter-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/inter-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/inter-latin-700-normal.woff2') format('woff2')}
/* FAAUK Hub Design System V1 - SIGNED OFF 2026-07-22. Single source of truth for all UI. */
:root{
  --primary:#001FC7; --primary-hover:#0018A8; --primary-deep:#030B51; --accent-soft:#B2C9E7; --on-primary:#FFFFFF;
  --canvas:#FFFFFF; --canvas-soft:#F2F4F9;
  --ink:#0A102E; --ink-mid:#2A3050; --body:#4A5168; --body-mid:#8A90A5; --mute:#C6CBD9; --line:#E2E6EF;
  --ok:#1E7A46; --warn:#B8860B; --danger:#C4342B; --done:#0E7C86;
  --r-sm:6px; --r-md:12px; --r-pill:9999px;
  --shadow-1:0 1px 3px rgba(3,11,81,.10); --shadow-2:0 8px 28px rgba(3,11,81,.16);
  --s-xxs:2px; --s-xs:4px; --s-sm:8px; --s-md:12px; --s-lg:16px; --s-xl:24px; --s-2xl:32px; --s-3xl:48px; --s-4xl:64px;
  --font-display:'Sora',Inter,system-ui,sans-serif; --font-body:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--canvas);color:var(--body);font:400 16px/24px var(--font-body)}
h1,h2,h3,.display{font-family:var(--font-display);color:var(--ink);margin:0;font-weight:500}
.eyebrow{font:500 13px/13px var(--font-display);letter-spacing:1px;text-transform:uppercase;color:var(--primary)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--r-md);font:600 16px/24px var(--font-body);padding:var(--s-md) var(--s-xl);border:1px solid transparent;cursor:pointer;text-decoration:none}
.btn-primary{background:var(--primary);color:var(--on-primary)} .btn-primary:hover{background:var(--primary-hover)}
.btn-secondary{background:var(--primary-deep);color:var(--on-primary)}
.btn-tertiary{background:var(--canvas);color:var(--ink);border-color:var(--ink)}
.btn-text{background:transparent;color:var(--primary);font:700 14px/14px var(--font-body);padding:var(--s-sm) var(--s-lg)}
.btn-sm{font:700 14px/14px var(--font-body);padding:var(--s-sm) var(--s-lg)}
.btn:disabled{background:var(--mute);color:#fff;cursor:not-allowed}
.card{border-radius:var(--r-md);padding:var(--s-xl)}
.card-content{background:var(--canvas-soft);color:var(--ink)}
.card-dark{background:var(--primary-deep);color:#fff}
.field label{display:block;font:600 13px/18px var(--font-body);color:var(--ink-mid);margin-bottom:var(--s-xs)}
.input{width:100%;background:var(--canvas);color:var(--ink);border:1px solid var(--body-mid);border-radius:var(--r-sm);font:400 16px/24px var(--font-body);padding:var(--s-md) var(--s-lg)}
.input:focus{outline:2px solid var(--primary);outline-offset:0;border-color:var(--primary)}
.input.err{border-color:var(--danger);outline:2px solid rgba(196,52,43,.2)}
.errmsg{font:400 13px/18px var(--font-body);color:var(--danger);margin-top:var(--s-xs)}
.pill{display:inline-flex;align-items:center;gap:6px;background:var(--canvas-soft);color:var(--ink);border-radius:var(--r-pill);font:400 14px/20px var(--font-body);padding:var(--s-xs) var(--s-md)}
.dot{width:9px;height:9px;border-radius:50%}
.rag-ok{background:#E7F2EB;color:var(--ok)} .rag-warn{background:#F7EFD9;color:#8a6508}
.rag-danger{background:#F9E4E2;color:var(--danger)} .rag-done{background:#E0F0F1;color:var(--done)} .rag-na{background:var(--canvas-soft);color:var(--body-mid)}
.av{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:600 13px/13px var(--font-body);color:#fff;background:var(--primary);object-fit:cover}
.toast{position:fixed;bottom:24px;right:24px;display:flex;gap:10px;align-items:center;background:var(--primary-deep);color:#fff;border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:var(--s-md) var(--s-lg);font:500 15px/22px var(--font-body);z-index:80}
