@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:DM Sans,system-ui,sans-serif;color:#eef2f8;background:#141821}*{box-sizing:border-box}body{margin:0;background:#141821}button{font:inherit;cursor:pointer}.shell{min-height:100vh;display:flex}aside{width:248px;background:#0e131c;border-right:1px solid #252d3d;padding:28px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;padding:0 12px 42px}.brand-mark{display:grid;place-items:center;background:#9dbaff;color:#172033;width:31px;height:31px;border-radius:9px;font-weight:800}nav{display:grid;gap:8px}nav a{color:#8e9bb4;text-decoration:none;padding:13px 14px;border-radius:10px;display:flex;gap:14px;font-size:14px}nav a.active,nav a:hover{background:#2b3c5e;color:#fff}.user{margin-top:auto;border-top:1px solid #293245;padding:20px 8px 0;display:flex;align-items:center;gap:10px;font-size:12px}.user small,.user b{display:block}.user small{color:#8090a9;margin-top:3px}.user>span{margin-left:auto;color:#91a0b7}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#8eaef7;color:#16233c;font-weight:700}.avatar.small{width:32px;height:32px;font-size:11px}.avatar.green{background:#8ed8b0}main{flex:1;padding:48px 56px;max-width:1500px;margin:auto;width:100%}header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px}h1,h2,p{margin:0}h1{font-size:38px;letter-spacing:-1.5px}.eyebrow{color:#8fa4ca;text-transform:uppercase;letter-spacing:1.3px;font-size:11px;font-weight:700;margin-bottom:8px}.muted{color:#9ba7bd;margin-top:8px}.primary{background:#a7c0ff;color:#17233d;border:0;border-radius:10px;padding:13px 18px;font-weight:700}.ghost,.icon{background:transparent;color:#cfdbf0;border:1px solid #42516b;border-radius:10px;padding:11px 15px}.icon{border:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.stats article,.panel{background:#1c2230;border:1px solid #36445d;border-radius:16px}.stats article{padding:22px}.stats small{color:#9ba7bd;display:block}.stats strong{display:block;font-size:32px;margin:8px 0}.positive{color:#86d9b0;font-size:12px}.warning{color:#edc176;font-size:12px}.grid{display:grid;grid-template-columns:1.45fr 1fr;gap:18px;margin-bottom:18px}.panel{padding:24px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.panel h2{font-size:20px;letter-spacing:-.4px}.course-progress{margin-top:34px}.course-progress div:first-child{display:flex;justify-content:space-between;margin-bottom:11px}.course-progress span{color:#9ba7bd;font-size:13px}.bar,.mini-progress{height:8px;background:#30394c;border-radius:20px;overflow:hidden}.bar i,.mini-progress i{display:block;height:100%;background:#98b7ff;border-radius:20px}.course-meta{display:flex;gap:18px;color:#9ba7bd;font-size:12px;margin-top:22px}.activity{display:flex;gap:12px;padding:17px 0;border-bottom:1px solid #2d3546}.activity:last-child{border-bottom:0}.activity p{font-size:13px;margin:4px 0;color:#d9dfeb}.activity small{color:#8592a9}.dot{width:9px;height:9px;border-radius:50%;margin-top:6px}.blue{background:#8eafff}.amber{background:#e5b965}.purple{background:#c4a2ef}.table-panel{padding-bottom:12px}.table-wrap{overflow:auto;margin-top:22px}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{color:#8090ab;font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:600}th,td{padding:15px 10px;border-top:1px solid #2d3546}td{color:#d9dfeb}td small{color:#8592a9}.person{display:flex;align-items:center;gap:10px}.mini-progress{width:112px;height:6px;display:inline-block;margin-right:8px}.tag{padding:5px 9px;border-radius:99px;font-size:11px}.done{color:#91dfb8;background:#183d34}.review{color:#e9c178;background:#49391f}@media(max-width:900px){aside{width:78px;padding:20px 10px}.brand span:last-child,nav span,.user div:not(.avatar),.user>span{display:none}.brand{padding:0 12px 35px}main{padding:28px 20px}.grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stats article:last-child{grid-column:span 2}}@media(max-width:560px){header{align-items:flex-start;gap:16px;flex-direction:column}.stats{grid-template-columns:1fr}.stats article:last-child{grid-column:auto}.course-meta{flex-direction:column;gap:8px}}.login-panel{max-width:520px;margin:10vh auto;padding:32px}form{display:grid;gap:16px;margin-top:20px}label{display:grid;gap:8px;color:#b8c5dc}input,select,textarea{width:100%;padding:12px;color:#edf2fb;background:#171e2b;border:1px solid #42516b;border-radius:10px;font:inherit}textarea{min-height:120px;resize:vertical}.password-field{display:grid;gap:8px}.password-input{position:relative}.password-input input{padding-right:54px}.password-toggle{position:absolute;right:3px;top:50%;transform:translateY(-50%);display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px;background:transparent;color:#cfdbf0;border:0;border-radius:8px}.password-toggle:focus-visible{outline:2px solid #a7c0ff;outline-offset:-2px}button:disabled{opacity:.55;cursor:wait}nav button{background:transparent;color:#a8b7d1;padding:13px 14px;text-align:left;border:0;border-radius:10px}nav button.active{background:#2b3c5e;color:#fff}main>.panel{margin-bottom:20px}.notice{padding:14px;border:1px solid #42516b;border-radius:10px}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}details{margin:14px 0}summary{cursor:pointer}@media(max-width:900px){aside{width:130px}.brand{font-size:13px;padding:0 0 24px}.brand span:last-child{display:initial}nav button{padding:12px 4px;font-size:12px}.user{display:grid}}
