:root { --dk-bg:#09090b; --dk-panel:#18181b; --dk-panel-2:#27272a; --dk-line:#3f3f46; --dk-text:#f4f4f5; --dk-muted:#a1a1aa; --dk-accent:#3b82f6; }
* { box-sizing:border-box; }
body { background:radial-gradient(900px circle at 5% -20%,#172554 0%,transparent 48%),var(--dk-bg)!important; color:var(--dk-text)!important; }
.app-shell { min-height:100vh; }
.app-nav { position:sticky!important; top:0; z-index:80; min-height:68px; background:rgba(9,9,11,.93)!important; border-bottom:1px solid rgba(63,63,70,.85)!important; box-shadow:0 8px 30px rgba(0,0,0,.28)!important; backdrop-filter:blur(16px); }
.app-nav .app-brand { color:var(--dk-text)!important; font-size:1.2rem!important; font-weight:800!important; letter-spacing:-.025em; }
.app-nav .nav-link, .app-nav button.nav-link { color:#d4d4d8!important; font-size:.925rem!important; font-weight:600; }
.app-nav .nav-link:hover, .app-nav button.nav-link:hover { color:#93c5fd!important; transform:none!important; }
.app-page { max-width:1200px; margin:0 auto; padding:2.25rem 1rem 4rem; }
.app-section-title, .section-header { letter-spacing:-.035em; }
.app-card { background:linear-gradient(145deg,rgba(39,39,42,.94),rgba(24,24,27,.96)); border:1px solid var(--dk-line); border-radius:16px; box-shadow:0 10px 28px rgba(0,0,0,.2); }
.app-kicker { color:#60a5fa; font-size:.75rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.app-title { margin:.35rem 0 0; color:var(--dk-text); font-size:clamp(2rem,5vw,3rem); font-weight:900; letter-spacing:-.05em; line-height:1; }
.app-subtitle { max-width:650px; margin:.85rem 0 0; color:var(--dk-muted); }
.app-button { display:inline-flex; align-items:center; justify-content:center; border-radius:10px; padding:.7rem 1rem; background:var(--dk-accent); color:white; font-weight:750; text-decoration:none; }
.app-button.secondary { background:transparent; border:1px solid #52525b; color:#e4e4e7; }
.app-field { display:grid; gap:.45rem; color:#e4e4e7; font-size:.875rem; font-weight:700; }
.app-field input,.app-field select { width:100%; border:1px solid #52525b; border-radius:10px; background:#18181b; padding:.75rem .85rem; outline:none; }
.app-field input:focus,.app-field select:focus { border-color:#60a5fa; box-shadow:0 0 0 3px rgba(59,130,246,.18); }
.auth-shell { display:grid; min-height:100vh; place-items:center; padding:1rem; }
.auth-card { width:min(100%,480px); padding:2rem; }
.auth-card h1 { margin:.55rem 0 0; font-size:2rem; font-weight:900; letter-spacing:-.04em; }
.auth-card p { color:var(--dk-muted); }
.auth-card form { display:grid; gap:1rem; margin-top:1.5rem; }
.app-alert { border:1px solid #1d4ed8; border-radius:10px; background:rgba(30,58,138,.25); padding:.8rem 1rem; color:#dbeafe; font-size:.9rem; }
.app-alert.error { border-color:#991b1b; background:rgba(127,29,29,.28); color:#fee2e2; }
input, select, textarea { color:var(--dk-text); }
button, .button { transition:transform .16s ease,filter .16s ease; }
button:hover, .button:hover { filter:brightness(1.08); }
@media (max-width:640px) { .app-nav { min-height:60px; } .app-nav .app-brand { font-size:1rem!important; } .app-page { padding:1.4rem .85rem 3rem; } }
