
:root{
  --bg:#090a0d;--shell:#0d0f14;--panel:#11141b;--panel-2:#151923;--card:#171b25;
  --border:rgba(255,255,255,.085);--border-strong:rgba(255,255,255,.16);
  --text:#f5f7fb;--muted:#a6afbf;--dim:#687385;--accent:#6d70ff;--accent-2:#58a6ff;
  --success:#24d18e;--warning:#f8b84e;--danger:#ff6b6b;--radius:16px;
  --shadow:0 18px 48px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.035);
}
*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-feature-settings:"cv01","ss03"}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.sr-only{position:absolute;left:-9999px}.mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.muted{color:var(--muted)}.dim{color:var(--dim)}.small{font-size:13px}.tiny{font-size:11px}.app-shell{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh;background:radial-gradient(circle at 20% -10%,rgba(109,112,255,.16),transparent 34rem),var(--bg)}.sidebar{position:sticky;top:0;height:100vh;padding:18px;border-right:1px solid var(--border);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));display:flex;flex-direction:column;gap:18px}.brand{height:44px;display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:-.04em}.mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 0 28px rgba(109,112,255,.35)}.nav-group{display:grid;gap:6px}.nav-label{margin:12px 10px 6px;color:var(--dim);text-transform:uppercase;letter-spacing:.12em;font:11px JetBrains Mono,monospace}.nav-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--muted);font-weight:550;font-size:14px}.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.06);color:var(--text)}.sidebar-card{margin-top:auto;border:1px solid var(--border);border-radius:14px;padding:14px;background:rgba(255,255,255,.035)}.workspace{min-width:0;padding:24px 28px 44px}.topbar{height:54px;display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.crumb{color:var(--muted);font:13px JetBrains Mono,monospace}.user-chip{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.035)}.avatar{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#222a3a;color:#fff;font-weight:700}.page-title{font-size:34px;line-height:1.05;letter-spacing:-.055em;margin:0 0 8px}.page-subtitle{margin:0;color:var(--muted);line-height:1.55;max-width:820px}.grid{display:grid;gap:16px}.cols-2{grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr)}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));box-shadow:var(--shadow)}.pad{padding:18px}.section{margin-top:18px}.row{display:flex;align-items:center;justify-content:space-between;gap:14px}.stack{display:grid;gap:12px}.divider{height:1px;background:var(--border);margin:14px 0}.btn{border:1px solid var(--border-strong);border-radius:10px;background:rgba(255,255,255,.045);color:var(--text);padding:9px 12px;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.btn.primary{background:var(--accent);border-color:rgba(255,255,255,.18);color:white}.btn.success{background:rgba(36,209,142,.16);border-color:rgba(36,209,142,.42);color:#b8f8dc}.btn.ghost{background:transparent}.field{display:grid;gap:7px}.field label{font-size:13px;color:var(--muted);font-weight:600}.input{width:100%;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.045);color:var(--text);padding:11px 12px;outline:none}.input:focus{border-color:rgba(109,112,255,.55);box-shadow:0 0 0 3px rgba(109,112,255,.14)}.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% -10%,rgba(109,112,255,.20),transparent 30rem),var(--bg)}.login-card{width:min(1040px,100%);display:grid;grid-template-columns:360px minmax(0,1fr);overflow:hidden;border:1px solid var(--border);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.018));box-shadow:0 28px 90px rgba(0,0,0,.45)}.login-panel{padding:34px}.login-aside{padding:34px;border-left:1px solid var(--border);background:rgba(255,255,255,.025)}.login-title{font-size:30px;letter-spacing:-.055em;margin:18px 0 8px}.pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:999px;padding:5px 9px;color:var(--muted);font:11px JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.metric{padding:14px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.03)}.metric b{display:block;font-size:24px;letter-spacing:-.05em}.cert-rail{display:flex;align-items:center;gap:12px;overflow:auto;padding:12px 0}.badge{position:relative;flex:0 0 122px;height:150px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#1b2230,#111722);display:grid;align-content:space-between;justify-items:center;text-align:center;padding:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.badge .vendor{font:10px JetBrains Mono,monospace;letter-spacing:.1em;color:var(--dim);text-transform:uppercase}.badge .code{font-size:22px;font-weight:760;letter-spacing:-.05em;white-space:nowrap}.badge .name{font-size:12px;color:var(--muted);min-height:28px}.badge .status{font-size:12px;color:var(--muted)}.badge.done{border-color:rgba(36,209,142,.48);background:linear-gradient(180deg,rgba(36,209,142,.22),#121b18)}.badge.active{border-color:rgba(109,112,255,.58);background:linear-gradient(180deg,rgba(109,112,255,.20),#121624)}.badge.locked{opacity:.48;filter:grayscale(.8)}.check{position:absolute;right:10px;top:10px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(36,209,142,.18);color:var(--success);font-size:13px}.connector{--p:0;position:relative;flex:0 0 62px;height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.connector:after{content:"";position:absolute;inset:0 auto 0 0;width:calc(var(--p)*1%);border-radius:999px;background:linear-gradient(90deg,var(--success),var(--accent-2));box-shadow:0 0 18px rgba(36,209,142,.36);background-size:180% 100%;animation:flow 2.5s linear infinite}@keyframes flow{to{background-position:180% 0}}.branch-map{display:grid;grid-template-columns:1fr 92px 1fr;gap:14px;align-items:center}.branch-options{display:grid;gap:12px}.joiner{height:230px;position:relative}.joiner:before{content:"";position:absolute;inset:12px 42px;border:1px solid rgba(255,255,255,.14);border-left:0;border-radius:0 24px 24px 0}.joiner:after{content:"";position:absolute;right:0;top:50%;width:48px;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--success),var(--accent-2))}.meter{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.meter span{display:block;height:100%;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,var(--success),var(--accent-2))}.exam-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.timer{font:32px JetBrains Mono,monospace;letter-spacing:-.05em}.question-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.qdot{height:34px;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.035);color:var(--muted)}.qdot.active{background:rgba(109,112,255,.18);color:var(--text);border-color:rgba(109,112,255,.55)}.option{width:100%;text-align:left;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.03);color:var(--text);padding:14px;cursor:pointer}.option.selected{border-color:rgba(109,112,255,.65);background:rgba(109,112,255,.16)}.score-table{display:grid;gap:8px}.score-row{display:grid;grid-template-columns:1fr 64px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.certificate{background:#f8fbff;color:#08172a;border-radius:18px;padding:34px;border:10px solid #e2ebf8;box-shadow:0 24px 70px rgba(0,0,0,.25)}.cert-name{font-size:42px;font-weight:760;letter-spacing:-.055em}.toast{position:fixed;right:20px;bottom:20px;border:1px solid var(--border-strong);border-radius:12px;padding:12px 14px;background:var(--panel-2);box-shadow:var(--shadow);z-index:100}.admin-list{display:grid;gap:10px}.admin-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--border);border-radius:12px;padding:12px;background:rgba(255,255,255,.025)}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.workspace{padding:20px}.cols-2,.cols-3,.exam-layout,.login-card,.branch-map{grid-template-columns:1fr}.login-aside{border-left:0;border-top:1px solid var(--border)}.joiner{display:none}.sidebar-card{margin-top:0}}
