:root{--ink:#172033;--muted:#718096;--line:#e8ecf3;--bg:#f5f7fb;--brand:#645cff;--green:#15a779;--red:#df4b55}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 Inter,Segoe UI,Arial,sans-serif}aside{position:fixed;inset:0 auto 0 0;width:240px;background:#111827;color:white;padding:28px 20px}.brand{display:block;color:white;text-decoration:none;font-size:25px;font-weight:800}.brand span{color:#817aff}.brand.big{color:var(--ink);font-size:34px}.person{margin:40px 0 24px;padding:15px;background:#1e293b;border-radius:12px}.person b,.person small,td small{display:block}.person small{color:#94a3b8}nav a{display:block;color:#b8c2d5;text-decoration:none;padding:11px 13px;border-radius:9px;margin:3px 0}nav a:hover{background:#273449;color:white}main{margin-left:240px;padding:42px;max-width:1500px;min-height:100vh}.auth{margin:0;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#e8e5ff,transparent 35%),var(--bg)}.login-card{width:min(430px,92vw);padding:40px;background:white;border-radius:22px;box-shadow:0 25px 70px #4b557326}.login-card h1{margin:28px 0 4px}.hint{display:block;margin-top:18px;color:var(--muted)}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}header h1{font-size:30px;margin:4px 0}header p,section p{color:var(--muted);margin:0}header small,.module-head small{color:var(--brand);font-weight:800;letter-spacing:1.5px}a{color:var(--brand)}section{background:white;border:1px solid var(--line);padding:24px;border-radius:16px;margin:18px 0}section h2{margin-top:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stats article{background:white;border:1px solid var(--line);border-radius:16px;padding:24px}.stats b{display:block;font-size:32px}.stats span{color:var(--muted)}button,.button{border:0;border-radius:10px;background:var(--brand);color:white;padding:11px 18px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}button.secondary,.button.secondary{background:#eef0ff;color:var(--brand)}button.danger,.danger{color:var(--red)}button.link{background:transparent;padding:5px}.grid2{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);gap:20px}.inline{display:flex;gap:10px}.inline input{margin:0}form label{display:block;font-weight:650;margin:12px 0}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #dce1ea;border-radius:9px;background:white;margin-top:5px;font:inherit}textarea{min-height:80px}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:12px;text-transform:uppercase}.badge{padding:5px 9px;border-radius:20px;font-size:12px;font-weight:700}.badge.done{background:#e4f8f0;color:#087b58}.badge.wait{background:#fff0ea;color:#b34e28}.empty{text-align:center;color:var(--muted);padding:28px}.empty-card{padding:50px;text-align:center;background:white;border:1px dashed #ccd3df;border-radius:16px;color:var(--muted)}.flash{padding:12px 16px;border-radius:10px;margin-bottom:15px}.flash.ok{background:#daf8ed;color:#087b58}.flash.error{background:#ffe6e8;color:#a82430}.user-row,.item{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid var(--line)}.grow{flex:1}.grow small,.grow b,.grow em{display:block}.avatar,.type{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#eeeefe;color:var(--brand);font-weight:800}.type.material{background:#e5f8f1;color:var(--green)}.type.test{background:#fff3da;color:#b17200}details summary{cursor:pointer}.module-head{display:flex;justify-content:space-between}.add{margin-top:16px;color:var(--brand)}.add form{color:var(--ink);max-width:500px}.question{padding:16px 0;border-bottom:1px solid var(--line)}.question ol{color:var(--muted)}.course{max-width:850px}.course>h2{margin-top:28px}.lesson{display:flex;align-items:center;gap:16px;padding:18px;background:white;border:1px solid var(--line);border-radius:13px;margin:10px 0;text-decoration:none;color:var(--ink)}.lesson:hover{border-color:#aaa5ff}.lesson.locked{opacity:.48;cursor:not-allowed}.lesson.complete .step{background:var(--green)}.step{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:white}.lesson em{font-size:12px;color:var(--green);font-style:normal}.lesson-view{max-width:900px}.video{aspect-ratio:16/9;margin-bottom:20px}.video iframe{width:100%;height:100%;border:0;border-radius:13px}.download{text-align:center;padding:50px}.download>span{font-size:60px;color:var(--brand)}.quiz fieldset{border:0;padding:16px 0;border-bottom:1px solid var(--line)}.quiz legend{font-weight:700}.quiz fieldset label{font-weight:400}.quiz input[type=radio]{width:auto;margin-right:10px}.result{text-align:center;padding:35px}.result>b{font-size:68px;color:var(--brand)}.result.failed>b{color:var(--red)}.result .button{margin:8px}@media(max-width:850px){aside{position:static;width:auto}main{margin:0;padding:22px}.stats,.grid2{grid-template-columns:1fr}header{display:block}.inline{display:block}}
