:root{--navy:#102f4f;--teal:#20a49d;--ink:#172738;--muted:#718294;--line:#e2e9ee;--soft:#f4f7f9;--danger:#b63c48}*{box-sizing:border-box}body{margin:0;background:var(--soft);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a{cursor:pointer}a{color:inherit;text-decoration:none}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;padding:28px 22px;background:linear-gradient(180deg,#123657,#092541);color:#fff;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:12px}.brand>b{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#28b8ae,#287fbe);font:800 23px Georgia;color:#fff}.brand span>*{display:block}.brand strong{letter-spacing:.08em}.brand small{font-size:10px;color:#a9c0d2;text-transform:uppercase;margin-top:3px}.sidebar nav{display:grid;gap:6px;margin-top:42px}.sidebar nav a{padding:12px;border-radius:9px;color:#b9ccdc;font-weight:700;font-size:13px}.sidebar nav a.active,.sidebar nav a:hover{background:#ffffff13;color:#fff;box-shadow:inset 3px 0 var(--teal)}.help{margin-top:auto;border:1px solid #ffffff18;background:#ffffff0a;border-radius:14px;padding:16px}.help>*{display:block}.help span{font-size:11px;color:#aac0d2;line-height:1.5;margin:7px 0 12px}.help a{font-size:11px;font-weight:800;border:1px solid #ffffff2b;border-radius:7px;padding:8px;text-align:center}.profile{display:flex;gap:10px;align-items:center;margin-top:15px;padding-top:15px;border-top:1px solid #ffffff1a}.profile i,.topbar>i{width:36px;height:36px;border-radius:50%;background:#d9efec;color:#176c67;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:900}.profile span>*{display:block}.profile span b{font-size:11px}.profile span small{font-size:9px;color:#9db4c6;margin-top:3px}.logout{border:0;background:transparent;color:#9eb5c7;font-size:10px;padding:12px 0}.workspace{margin-left:250px;min-height:100vh}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 4%;position:sticky;top:0;z-index:5}.topbar>div{flex:1}.topbar>div>*{display:block}.topbar b{color:var(--navy)}.topbar small{font-size:9px;color:var(--muted);margin-top:3px}.menu{display:none}.content{width:min(1160px,92%);margin:auto;padding:40px 0 70px}.toast,.alert{padding:12px 15px;border-radius:10px;background:#e2f5ef;color:#117463;border:1px solid #b8e3d7;margin-bottom:20px;font-size:12px;font-weight:700}.toast.error,.alert.error,.alert{background:#fdecef;color:#a62f3b;border-color:#f4cbd1}.welcome,.admin-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}.welcome span,.admin-heading span,.course-hero>span{font-size:9px;letter-spacing:.14em;color:#168e88;font-weight:900}.welcome h1,.admin-heading h1,.course-hero h1{font:700 35px Georgia,serif;color:#15334e;margin:8px 0}.welcome p,.admin-heading p,.course-hero p{color:var(--muted);margin:0}.overall{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 18px;display:flex;gap:10px;align-items:center}.overall b{font:700 28px Georgia;color:var(--teal)}.overall span{letter-spacing:0;color:var(--muted)}.section-title{margin:35px 0 18px}.section-title h2,.panel h2{font:700 23px Georgia,serif;color:#17344e;margin:0}.section-title p{font-size:12px;color:var(--muted);margin:5px 0}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.course-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.course-art{height:120px;background:linear-gradient(135deg,#16466f,#258caa);padding:22px;color:#fff;font:700 20px Georgia;position:relative;overflow:hidden}.course-art:after{content:"";position:absolute;width:180px;height:180px;border:1px solid #ffffff40;border-radius:50%;right:-45px;top:-70px;box-shadow:0 0 0 25px #ffffff0b}.course-card>div:last-child{padding:19px}.course-card small{font-size:8px;color:var(--teal);font-weight:900}.course-card h2{font:700 18px/1.25 Georgia;margin:8px 0}.course-card p{font-size:10px;color:var(--muted);height:30px;overflow:hidden}.course-card label{display:flex;justify-content:space-between;font-size:9px;margin-top:19px}.progress{height:5px;background:#eaf0f2;border-radius:9px;margin:7px 0 16px}.progress i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--teal),#267eb4)}.course-card a{display:block;border-top:1px solid var(--line);padding-top:14px;color:#245b7c;font-size:11px;font-weight:800}.empty{background:#fff;border:1px dashed #bdcbd4;border-radius:14px;text-align:center;padding:40px}.empty>*{display:block}.empty span{font-size:11px;color:var(--muted);margin-top:6px}.tabs{display:flex;gap:5px;overflow:auto;margin-bottom:20px;background:#e9eef2;padding:5px;border-radius:11px}.tabs a{white-space:nowrap;padding:9px 13px;border-radius:8px;color:#617384;font-size:10px;font-weight:800}.tabs a.active{background:#fff;color:var(--navy);box-shadow:0 2px 8px #23415b12}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stats div,.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:21px}.stats span,.stats b{display:block}.stats span{font-size:10px;color:var(--muted)}.stats b{font:700 29px Georgia;color:var(--navy);margin-top:8px}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.quick a{display:flex;gap:11px;align-items:center;border:1px solid var(--line);padding:14px;border-radius:11px}.quick a>b{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:#daf1ee;color:#16776f}.quick span>*{display:block}.quick span{font-size:11px;font-weight:800}.quick small{font-size:8px;font-weight:400;color:var(--muted);margin-top:3px}.admin-columns,.content-editor{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px}.form{display:grid;gap:13px;margin-top:18px}.form label{font-size:10px;font-weight:800;color:#506a7f}.form input,.form select,.form textarea,.course-picker select,.inline-edit input,.enroll select,.review input,.review select{display:block;width:100%;border:1px solid #dce5ea;border-radius:8px;background:#fbfcfd;color:#29445a;padding:10px;margin-top:6px;outline:none}.form textarea{min-height:85px;resize:vertical}.form small{display:block;color:var(--muted);font-size:8px;margin-top:4px}.button{border:0;display:inline-block;text-align:center;border-radius:9px;background:linear-gradient(135deg,#1fa69e,#2585bb);color:#fff;padding:12px 17px;font-weight:800;font-size:11px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.records{display:grid;gap:8px;margin-top:18px}.records article{display:flex;align-items:center;gap:12px;border:1px solid #e7edf1;border-radius:10px;padding:12px}.records article>div{flex:1}.records article div>*{display:block}.records span{font-size:7px;color:#148c84;font-weight:900;text-transform:uppercase}.records b{font-size:11px;margin:4px 0}.records small{font-size:8px;color:var(--muted)}.records a,.records button,.inline-edit button,.enroll button,.review button{border:0;background:#e6f1f6;color:#205d7e;border-radius:7px;padding:8px 10px;font-size:8px;font-weight:900}.enroll{display:flex;gap:5px;width:210px}.enroll select{margin:0;padding:8px;font-size:8px}.course-picker{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:18px}.course-picker label{font-size:10px;font-weight:800}.course-picker select{display:inline-block;width:auto;min-width:260px;margin:0 0 0 10px}.content-editor>section{display:grid;gap:14px}.module-admin{padding:16px}.inline-edit{display:grid;grid-template-columns:55px 1fr 65px;gap:8px}.inline-edit input{margin:0}.lessons article{background:#fafcfd}.module-admin details{margin-top:12px}.module-admin summary{color:#227491;font-size:10px;font-weight:900;cursor:pointer}.compact{padding:12px;background:#f5f8fa;border-radius:10px}.submissions article{display:grid;grid-template-columns:1fr auto;align-items:center}.review{grid-column:1/-1;display:grid;grid-template-columns:150px 1fr 65px;gap:7px}.review input,.review select{margin:0}.back{font-size:10px;font-weight:800;color:#27809d}.course-hero{background:linear-gradient(120deg,#123d61,#0d2e4c);color:#fff;border-radius:18px;padding:30px;margin:20px 0}.course-hero h1{color:#fff}.course-hero p{color:#b8cad7}.learning-layout{display:grid;grid-template-columns:250px 1fr;gap:20px}.module-menu{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;align-self:start;position:sticky;top:94px}.module-menu h3{font-size:10px;text-transform:uppercase;color:var(--muted)}.module-menu a{display:flex;gap:10px;padding:10px 6px;border-top:1px solid #eef2f4;align-items:center}.module-menu a>i{font-style:normal;width:29px;height:29px;background:#dff1ef;color:#19736d;border-radius:8px;display:grid;place-items:center;font-size:9px;font-weight:900}.module-menu span>*{display:block}.module-menu span{font-size:10px;font-weight:800}.module-menu small{font-size:8px;color:var(--muted);margin-top:3px}.lesson-stack{display:grid;gap:18px}.module-block{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.module-block>header span{font-size:8px;color:var(--teal);font-weight:900}.module-block>header h2{font:700 22px Georgia;color:var(--navy);margin:5px 0 15px}.lesson{border-top:1px solid #e9eef1}.lesson summary{display:flex;gap:11px;align-items:center;padding:13px 3px;cursor:pointer;list-style:none}.lesson summary>i{font-style:normal;width:32px;height:32px;border-radius:50%;border:1px solid #d7e3e8;display:grid;place-items:center;color:#1a8b83;font-size:9px}.lesson summary>i.done{background:#dff4ee;border-color:#b8e2d7}.lesson summary span>*{display:block}.lesson summary b{font-size:11px}.lesson summary small{font-size:8px;color:var(--muted);margin-top:3px}.lesson-body{padding:0 0 18px 46px}.video-wrap{aspect-ratio:16/9;background:#0b263e;border-radius:12px;overflow:hidden;margin-bottom:15px}.video-wrap iframe{width:100%;height:100%;border:0}.video-empty{padding:80px 20px;text-align:center;background:#102f4f;color:#aec4d3;border-radius:12px;font-size:11px}.lesson-copy{font-size:12px;line-height:1.65;color:#516677;margin:15px 0}.assignment{background:#edf9f7;border:1px dashed #7ec7bf;border-radius:11px;padding:15px;margin-top:18px}.assignment>span{font-size:8px;color:#13867d;font-weight:900}.assignment h3{margin:5px 0}.assignment p,.assignment small{font-size:10px;color:#557068}.assignment form{display:flex;gap:10px;align-items:center;margin-top:12px}.assignment input{flex:1;font-size:10px}.install,.login{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at top right,#d8f1ee,#eef4f7 50%,#e2ebf0)}.install-card,.login-card{width:min(620px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 25px 60px #173a561c}.login-card{width:min(430px,100%)}.install-card h1,.login-card h1{font:700 30px Georgia;color:var(--navy);margin:28px 0 5px}.install-card>p,.login-card>p{color:var(--muted);font-size:12px}.install-card hr{border:0;border-top:1px solid var(--line);margin:8px 0}.install-card h2{font:700 19px Georgia;margin:0}.install-card form,.login-card form{display:grid;gap:14px;margin-top:22px}.install-card label,.login-card label{font-size:10px;font-weight:800;color:#50697c}.install-card input,.login-card input{display:block;width:100%;margin-top:6px;border:1px solid #d8e2e8;border-radius:9px;padding:11px}.install-card label small{display:block;margin-top:4px;color:var(--muted)}.privacy{display:block;text-align:center;color:#8a99a6;margin-top:18px}.success-box p{font-size:12px;line-height:1.6}.success-box .button{margin-top:12px}
@media(max-width:950px){.course-grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.admin-columns,.content-editor{grid-template-columns:1fr}.learning-layout{grid-template-columns:1fr}.module-menu{position:static}.quick{grid-template-columns:1fr}}
@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:.2s;width:250px}.nav-open .sidebar{transform:translateX(0);box-shadow:15px 0 40px #001b2e55}.workspace{margin:0}.topbar{padding:0 18px}.menu{display:block;border:0;background:#e7f1f4;border-radius:8px;margin-right:12px;padding:8px}.content{width:92%;padding-top:26px}.course-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.welcome{align-items:start}.overall{display:none}.welcome h1,.admin-heading h1{font-size:28px}.admin-heading{display:block}.records article{align-items:flex-start;flex-wrap:wrap}.enroll{width:100%}.submissions article{display:flex}.review{width:100%;grid-template-columns:1fr}.learning-layout{display:block}.module-menu{margin-bottom:15px}.lesson-body{padding-left:0}.assignment form{display:grid}.two{grid-template-columns:1fr}.course-picker select{display:block;width:100%;min-width:0;margin:7px 0 0}.install-card,.login-card{padding:23px}}
