:root{--navy:#11183d;--purple:#8242d6;--orange:#ff9f1c;--ink:#151a33;--muted:#667085;--line:#e7e5ef;--paper:#fbfaf7;--lav:#f4f0fb;--white:#fff;--green:#149c79}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.topbar{height:82px;padding:0 max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);letter-spacing:.04em}.brand span{background:linear-gradient(135deg,var(--purple),#6930bd);color:#fff;border-radius:10px;padding:10px;font-weight:900}.brand.large{justify-content:center;font-size:1.2rem;margin-bottom:24px}.topbar nav{display:flex;gap:22px}.topbar nav a,.page-head a{color:var(--ink);text-decoration:none;font-weight:700}.shell{max-width:1180px;min-height:calc(100vh - 160px);margin:auto;padding:64px 24px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:34px}.page-head h1{font-size:clamp(2.3rem,5vw,4.4rem);line-height:.96;margin:8px 0 14px;color:var(--navy);letter-spacing:-.055em}.page-head p{color:var(--muted);margin:0}.eyebrow{font-size:.73rem!important;font-weight:900;letter-spacing:.16em;color:var(--purple)!important}.btn{border:0;border-radius:12px;padding:14px 20px;font:inherit;font-weight:850;text-decoration:none;display:inline-block;cursor:pointer}.btn.primary{background:var(--orange);color:var(--navy);box-shadow:0 8px 20px #ff9f1c38}.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:28px}.stats article,.panel,.hero-panel,.empty{background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px;box-shadow:0 14px 40px #151a330b}.stats strong{display:block;font-size:2rem;color:var(--navy)}.stats span,.muted,small{color:var(--muted)}.panel h2{margin-top:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}label{display:block;font-weight:750;font-size:.88rem;margin:14px 0}input,select{width:100%;padding:13px 14px;border:1px solid #d7d5df;border-radius:10px;background:#fff;color:var(--ink);font:inherit;margin-top:7px}input:focus,select:focus{outline:3px solid #8242d622;border-color:var(--purple)}hr{border:0;border-top:1px solid var(--line);margin:28px 0}.auth-card{max-width:470px;margin:30px auto;background:#fff;border:1px solid var(--line);border-radius:26px;padding:38px;box-shadow:0 22px 80px #11183d14}.auth-card.wide{max-width:760px}.auth-card h1{font-size:2.5rem;color:var(--navy);margin:6px 0}.auth-card p{color:var(--muted)}.auth-card .btn{width:100%;margin-top:14px}.install{background:linear-gradient(145deg,#f7f4fb,#fff8ec);padding:20px}.alert{background:#fff0f0;color:#a22626;padding:13px;border-radius:10px;border:1px solid #ffcaca}.course-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.course-row small{display:block;margin-top:5px}.status{font-size:.73rem;text-transform:uppercase;font-weight:900;padding:7px 9px;border-radius:20px;background:#eee}.status.published{background:#dcf7ee;color:#08765a}.status.development{background:#fff1d7;color:#9a5b00}.empty{text-align:center;padding:70px 25px}.orb{width:70px;height:70px;border-radius:22px;margin:0 auto 20px;background:var(--purple);color:#fff;display:grid;place-items:center;font-weight:900;font-size:1.3rem}.hero-panel{background:linear-gradient(125deg,var(--navy),#25245c);color:#fff;padding:42px}.hero-panel h2{font-size:2.4rem;margin:10px 0}.progress{height:10px;background:#ffffff25;border-radius:20px;margin:25px 0;overflow:hidden}.progress span{display:block;height:100%;background:var(--orange)}footer{text-align:center;color:var(--muted);font-size:.82rem;padding:30px}@media(max-width:800px){.stats{grid-template-columns:repeat(2,1fr)}.two-col,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.page-head{align-items:flex-start;flex-direction:column}.topbar nav{gap:12px}.shell{padding-top:38px}}
