:root{--bg-1: #22223b;--bg-2: #4a4e69;--surface: #c9ada7;--surface-muted: #dcc3bc;--surface-soft: rgba(255, 255, 255, .34);--ink: #22223b;--ink-soft: #4a4e69;--line: rgba(34, 34, 59, .14);--brand: #22223b;--brand-strong: #4a4e69;--danger: #b42318;--success: #1f7a3a;--shadow-soft: 0 10px 24px rgba(10, 10, 20, .14);--shadow-medium: 0 16px 34px rgba(10, 10, 20, .18);font-family:Segoe UI,Trebuchet MS,Verdana,sans-serif;line-height:1.5;font-weight:400;color:var(--ink);background-color:var(--bg-1);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:inherit;text-decoration:inherit}a:hover{color:inherit}body{margin:0;width:100%;min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at top,rgba(255,255,255,.06),transparent 30%),linear-gradient(135deg,var(--bg-1) 0%,var(--bg-1) 42%,var(--bg-2) 100%)}#root{width:100%;min-height:100vh}.global-error-banner{position:sticky;top:12px;z-index:1000;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px;padding:12px 14px;border-radius:14px;background:#b42318eb;color:#fff;box-shadow:0 12px 28px #0003}.global-error-banner span{overflow-wrap:anywhere}.global-error-banner button{min-height:34px;border:none;background:#ffffff2e;color:#fff;font-weight:700}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--brand);color:#fff;cursor:pointer;transition:background-color .25s ease,border-color .25s ease,transform .25s ease}button:hover{background-color:var(--brand-strong);border-color:transparent;transform:translateY(-1px)}button:focus,button:focus-visible{outline:2px solid rgba(255,255,255,.72);outline-offset:2px}.route-loading-shell{min-height:calc(100vh - 160px);display:grid;place-items:center;padding:24px}.route-loading-card{border:1px solid rgba(34,34,59,.16);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.14),transparent),#c9ada7;color:#22223b;box-shadow:var(--shadow-soft);padding:14px 18px;font-weight:800}.app-top-nav{position:sticky;top:0;z-index:50;background:#c9ada7f0;border-bottom:1px solid rgba(34,34,59,.15);box-shadow:0 10px 24px #0a0a1429;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-top-nav-inner{width:min(1320px,97vw);margin:0 auto;min-height:72px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:10px 8px}.app-top-nav-branding{display:flex;align-items:center;gap:10px;min-width:0}.app-top-nav-logo{width:56px;height:56px;object-fit:contain}.app-top-nav-eyebrow{margin:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#4a4e69;font-weight:700}.app-top-nav-title{margin:2px 0 0;font-size:clamp(1.05rem,2vw,1.35rem);color:#22223b;font-family:Itim,cursive}.app-top-nav-mode-pill{display:inline-flex;margin:8px 0 0;padding:4px 10px;border-radius:999px;background:#22223b1f;color:#22223b;font-size:.78rem;font-weight:700}.app-top-nav-links{display:flex;gap:8px;flex-wrap:wrap}.app-top-nav-links a{text-decoration:none;color:#22223b;font-weight:700;font-size:.9rem;padding:8px 12px;border-radius:10px;transition:background-color .2s ease,color .2s ease}.app-top-nav-links a:hover,.app-top-nav-links a.active{background:#22223b29}.app-top-nav-logout{border:none;border-radius:12px;background:#22223b;color:#fff;font-weight:700;padding:10px 15px;cursor:pointer}.app-top-nav-actions{display:inline-flex;align-items:center;gap:10px}.app-top-nav-exit-demo{border:none;border-radius:12px;background:#22223b1f;color:#22223b;font-weight:700;padding:10px 15px;cursor:pointer}.app-top-nav-logout:hover{background:#4a4e69}.app-top-nav-exit-demo:hover{background:#22223b33}.app-top-nav-spacer{width:1px;height:1px}@media(max-width:980px){.app-top-nav-inner{grid-template-columns:1fr;gap:8px;padding:8px 6px}.app-top-nav-links{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.app-top-nav-links a{white-space:nowrap}.app-top-nav-logout{justify-self:start}.app-top-nav-actions{justify-self:start;flex-wrap:wrap}}.site-footer{border-top:1px solid rgba(34,34,59,.16);background:#c9ada7f0;padding:0}.site-footer-inner{width:min(1320px,97vw);margin:0 auto;padding:18px 14px 20px;display:grid;gap:12px}.site-footer-brand{margin:0;font-size:1rem;font-weight:800;letter-spacing:.08em;color:#22223b}.site-footer-tagline{margin:3px 0 0;font-size:.9rem;color:#3d405c}.site-footer-links{display:flex;flex-wrap:wrap;gap:10px}.site-footer-links a{text-decoration:none;color:#22223b;font-weight:700;font-size:.9rem;padding:8px 12px;border-radius:10px;transition:background-color .2s ease,color .2s ease}.site-footer-links a:hover,.site-footer-links a.active{background:#22223b29}.site-footer-copy{margin:0;color:#484b67;font-size:.84rem}@media(max-width:720px){.site-footer-inner{padding-bottom:94px}}.app-error-boundary{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,rgba(255,255,255,.08),transparent 28%),linear-gradient(135deg,#22223b 0% 42%,#4a4e69)}.app-error-boundary__card{width:min(560px,100%);display:grid;gap:14px;padding:24px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent),#c9ada7;border:1px solid rgba(34,34,59,.14);box-shadow:0 18px 36px #0a0a1433;color:#22223b}.app-error-boundary__eyebrow{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:700;color:#4a4e69}.app-error-boundary__card h1,.app-error-boundary__card p{margin:0}.app-error-boundary__detail{padding:12px 14px;border-radius:14px;background:#22223b14;overflow-wrap:anywhere}.app-error-boundary__actions{display:flex;flex-wrap:wrap;gap:10px}.app-error-boundary__actions button{min-height:42px;border:none;border-radius:999px;padding:0 18px;background:#22223b;color:#fff;font-weight:700}.app-error-boundary__actions button:last-child{background:#4a4e69}@media(max-width:600px){.app-error-boundary{padding:16px}.app-error-boundary__card{padding:20px}}
