:root{--blue:#2855d9;--ink:#19253d;--muted:#748094;--line:#e7ebf2;--bg:#f6f8fc;--green:#25866b;--radius:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px 'DM Sans',sans-serif}h1,h2,h3,h4,.brand{font-family:Manrope,sans-serif}h1{font-size:30px;letter-spacing:-1px;margin:8px 0 10px}h2{font-size:20px;letter-spacing:-.5px;margin:0}h3{font-size:18px;line-height:1.5;margin:10px 0}p{line-height:1.65}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,.button{cursor:pointer;display:inline-flex;gap:10px;align-items:center;justify-content:center;border:1px solid transparent;background:var(--blue);color:white;padding:12px 20px;border-radius:8px;font-weight:600;font-size:14px;min-height:44px}button:hover,.button:hover{filter:brightness(.95)}button:disabled{cursor:not-allowed;opacity:.5}.secondary{background:white;border-color:var(--line);color:var(--ink)}.quiet{background:transparent;color:var(--muted);border-color:var(--line)}.danger{background:#b63848}.small{padding:8px 14px;min-height:38px}.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sidebar{position:fixed;width:248px;inset:0 auto 0 0;background:white;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:22px;color:var(--ink);letter-spacing:-.8px}.brand-mark{width:38px;height:40px;background:var(--blue);border-radius:10px;color:white;display:grid;place-items:center;font-size:23px;font-weight:800}.brand-sub{font-family:'DM Sans',sans-serif;display:block;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:2.4px;margin-top:3px}.nav-label{color:#98a0af;font-size:11px;font-weight:700;letter-spacing:1.8px;margin:48px 14px 15px}.nav-link{display:flex;align-items:center;gap:13px;padding:13px 15px;border-radius:8px;color:#707a8e;font-size:14px;font-weight:550;margin:4px 0}.nav-link.active{background:#edf2ff;color:var(--blue)}.nav-link:hover{background:#f4f6fb}.nav-end{margin-top:auto}.support{background:#f7f9fe;border:1px solid var(--line);padding:17px;border-radius:10px;margin:20px 2px}.support p{font-size:12px;color:var(--muted);margin:8px 0 15px}.support h4{font-size:13px;margin:8px 0}.support .button{width:100%;font-size:12px;min-height:36px;padding:8px}.workspace{margin-left:248px}.topbar{height:82px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;gap:15px}.crumb{font-size:14px;color:var(--muted);display:flex;gap:12px;align-items:center}.top-right{display:flex;gap:21px;align-items:center}.avatar{width:38px;height:38px;border-radius:50%;background:#ecedfe;color:#5353a0;display:grid;place-items:center;font-size:13px;font-weight:700}.user{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:13px}.user small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.top-icon{border:0;background:none;color:var(--muted);padding:8px;min-height:40px}.content{max-width:1450px;margin:auto;padding:35px 42px 20px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;color:var(--muted);text-transform:uppercase}.muted{color:var(--muted)}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.intro p{font-size:14px;color:var(--muted);margin:0}.date{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:9px}.stats{display:grid;grid-template-columns:repeat(3,1fr);background:white;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:30px;padding:22px 0}.stat{padding:0 26px;display:flex;gap:16px;align-items:center;border-right:1px solid var(--line)}.stat:last-child{border:0}.icon-box{width:46px;height:46px;border-radius:12px;background:#eff3ff;color:var(--blue);display:grid;place-items:center;flex-shrink:0}.icon-box.green{background:#edf8f3;color:var(--green)}.icon-box.purple{background:#f4f0fd;color:#8655c3}.stat-label{font-size:12px;color:var(--muted);margin-bottom:7px}.stat strong{font-family:Manrope,sans-serif;font-size:24px;letter-spacing:-.8px}.stat small{font-size:11px;color:var(--muted);margin-left:7px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:25px 0 17px;gap:15px}.section-heading a{font-size:12px;font-weight:600}.phase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px}.phase-card{position:relative;min-height:280px;display:flex;flex-direction:column}.phase-card.current{border:1px solid #afc2f4;box-shadow:0 3px 9px #203c8010}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.tag{font-size:11px;font-weight:600;border-radius:5px;padding:5px 9px;display:inline-block;background:#eef2f8;color:#7c8494;white-space:nowrap}.tag.blue{color:var(--blue);background:#edf2ff}.tag.green{background:#ebf7f0;color:var(--green)}.tag.red{background:#fff0f0;color:#b63848}.phase-card h3{font-size:20px;margin:0 0 8px}.phase-card p{font-size:13px;color:var(--muted);margin:0 0 23px;min-height:42px}.phase-card .button{width:100%;margin-top:20px}.progress-label{font-size:11px;display:flex;justify-content:space-between;margin-top:auto;margin-bottom:8px;color:var(--muted)}.progress-label strong{color:var(--ink);font-weight:600}.progress{height:6px;background:#edf0f6;border-radius:10px;overflow:hidden}.progress>span{display:block;background:var(--blue);height:100%;border-radius:10px}.lower-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:24px}.lesson-row{display:flex;align-items:center;gap:17px}.lesson-thumb{height:78px;width:94px;flex-shrink:0;background:#edf2ff;color:var(--blue);border-radius:9px;display:grid;place-items:center}.lesson-thumb .icon{width:30px;height:30px}.lesson-row h3{font-size:15px;margin:4px 0}.lesson-row p{font-size:12px;margin:3px 0;color:var(--muted)}.lesson-row .button{margin-left:auto}.continue-footer{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.activity{display:flex;gap:13px;position:relative;padding:0 0 22px}.activity:last-child{padding-bottom:0}.activity .icon-box{width:31px;height:31px;border-radius:50%}.activity .icon{width:15px;height:15px}.activity p{margin:0;font-size:12px;line-height:1.5}.activity small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.notice{margin-top:25px;background:#edf3ff;border:1px solid #dfe8fc;border-radius:11px;padding:17px 20px;display:flex;gap:13px;color:#4e648a;font-size:12px;line-height:1.6}.notice strong{display:block;color:#345286;margin-bottom:2px}.footer{display:flex;justify-content:space-between;color:#99a0ae;font-size:11px;padding:27px 0 8px;border-top:1px solid var(--line);margin-top:30px;gap:20px}.menu-toggle{display:none}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}label{font-size:14px;display:block;color:#526078}input,select,textarea{display:block;width:100%;border:1px solid #dce2ed;border-radius:8px;padding:12px 14px;background:white;color:var(--ink);margin:7px 0 0;min-height:46px}textarea{min-height:110px;resize:vertical}input[type=checkbox],input[type=radio]{width:19px;min-height:19px;display:inline;margin:0 10px 0 0;accent-color:var(--blue)}.full{grid-column:1/-1}.form-actions{display:flex;gap:12px;margin-top:25px;flex-wrap:wrap}.flash{padding:15px 20px;border-radius:9px;background:#edf8f3;color:#216c52;margin-bottom:20px}.flash.error{background:#fff0f0;color:#a22b3d}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--muted);font-size:12px;background:#f8f9fc}th,td{padding:15px 14px;border-bottom:1px solid var(--line);white-space:nowrap}td .button{margin-right:5px}.empty{text-align:center;padding:45px;color:var(--muted)}.auth{max-width:460px;margin:8vh auto;padding:30px}.auth .brand{margin-bottom:35px}.auth .card{padding:32px}.auth label{margin-top:20px}.auth h1{font-size:25px}.auth p{font-size:14px}.auth .button{width:100%}.auth-footer{text-align:center;font-size:12px;color:var(--muted);line-height:1.7;margin-top:24px}.split{display:grid;grid-template-columns:280px 1fr;gap:24px}.chapter-link{display:block;padding:15px;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}.chapter-link.active{background:#edf2ff;color:var(--blue)}.video{width:100%;aspect-ratio:16/9;border:0;border-radius:10px;background:#111827}.question{font-size:21px;line-height:1.6;margin:24px 0}.option{padding:16px;border:1px solid var(--line);border-radius:9px;margin:12px 0;display:flex;align-items:center;cursor:pointer}.option:has(input:checked){border-color:var(--blue);background:#f0f4ff}.exam-nav{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.exam-nav button{padding:8px;width:40px;min-height:40px}.exam-nav button.answered{background:#edf8f3;color:var(--green);border-color:#9bcebb}.exam-head{display:flex;justify-content:space-between;align-items:center}.timer{font-size:18px;font-variant-numeric:tabular-nums;color:var(--blue)}.result{text-align:center;max-width:650px;margin:30px auto}.result .score{font-size:64px;color:var(--blue);font-weight:800;letter-spacing:-3px}.record-area{text-align:center;padding:30px;background:#f8faff;border:1px dashed #ccd9f3;border-radius:12px;margin:20px 0}.record-area audio{width:100%;margin:20px 0}.record-active{background:#ba354b}.inline{display:inline}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block;margin-right:4px}.list-detail{font-size:13px;line-height:1.6;color:var(--muted)}.wide{max-width:950px}.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:20px 0}.toolbar input{max-width:300px;margin:0}.admin .sidebar{overflow-y:auto}.admin .nav-label{margin-top:28px}.admin .nav-link{padding:10px 14px}.admin .nav-end{padding-top:20px}.task-image{max-height:350px;max-width:100%;display:block;margin:20px auto;border-radius:10px}.setup{max-width:850px;margin:45px auto;padding:24px}.setup .brand{margin-bottom:30px}.hint{font-size:12px;color:var(--muted);line-height:1.6}.tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.record-status{min-height:26px}.review-answer{border-bottom:1px solid var(--line);padding:18px 0}.preview-banner{background:#192e5b;color:#e6edff;text-align:center;padding:7px 15px;font-size:12px}.preview-banner a{color:white;text-decoration:underline;margin-left:10px}
@media(min-width:1500px){.content{padding-top:45px}}@media(max-width:1150px){.sidebar{width:220px}.workspace{margin-left:220px}.content{padding:28px 25px}.topbar{padding:0 25px}.phase-grid{gap:12px}.card{padding:19px}.stat{padding:0 17px}.stat small{display:block;margin:4px 0 0}.lower-grid{grid-template-columns:1fr}.lesson-row .button{white-space:nowrap}.date{display:none}}@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:10px 0 40px #15213a30}.workspace{margin:0}.menu-toggle{display:inline-flex}.topbar{height:68px;padding:0 18px}.top-right{gap:8px}.user .user-text{display:none}.content{padding:26px 18px}.intro{margin-bottom:23px}h1{font-size:26px}.stats{padding:17px 0}.stat{display:block;padding:0 14px}.stat .icon-box{display:none}.stat strong{font-size:21px}.stat-label{font-size:11px}.stat small{font-size:10px}.phase-grid{grid-template-columns:1fr}.phase-card{min-height:245px}.phase-card p{min-height:0}.phase-card .card-top{margin-bottom:12px}.phase-card .button{margin-top:16px}.lower-grid{gap:0}.split{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.footer{display:block;line-height:1.9}.lesson-row{flex-wrap:wrap}.lesson-row .button{width:100%;margin:8px 0 0}.crumb{font-size:12px}.toolbar{flex-wrap:wrap}.section-heading h2{font-size:18px}.setup{margin:10px auto}.auth{margin-top:30px;padding:20px}.card{padding:20px}.preview-banner{font-size:11px}}

.sidebar{overflow-y:auto}.brand-sub{letter-spacing:1.8px}.tag,.date,.progress-label,.eyebrow,.nav-label,.activity small,.stat-label,.stat small,.footer,.continue-footer,.hint{font-size:12px}.phase-card p,.lesson-row p,.activity p,.notice{font-size:14px}.section-heading a{font-size:14px}.stat small{margin-left:0;display:block;margin-top:5px}.lesson-row{align-items:center}.continue-footer .icon{vertical-align:middle;width:16px;height:16px}.fields .full{grid-column:1/-1}
@media(max-width:800px){.stat small{font-size:12px}.stat-label{font-size:12px}.intro .eyebrow{font-size:11px}.section-heading{align-items:flex-start}.section-heading>span{max-width:150px;text-align:right}.exam-head{flex-wrap:wrap;gap:12px;margin-bottom:20px}}
.crumb{min-width:0}.crumb>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-right{flex-shrink:0}.brand{flex-shrink:0}.nav-end{padding-top:20px}@media(max-width:800px){.crumb>span:first-of-type,.crumb>span:nth-of-type(2){display:none}.phase-card h3{font-size:20px}.topbar{gap:8px}.user{gap:0}.top-right{gap:6px}.intro{align-items:flex-start;gap:12px}.intro>.button{white-space:normal}.fields{min-width:0}}

.readiness-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-top:1px solid var(--line);padding:20px 0}.readiness-row p{margin:6px 0}.readiness-row a{font-size:14px}.readiness-row .tag{flex-shrink:0}details{margin-top:10px}summary{cursor:pointer;color:var(--blue);font-size:14px}details p{margin:8px 0}.flash li{margin:6px 0}@media(max-width:600px){.readiness-row{flex-direction:column;gap:10px}.intro{flex-wrap:wrap}}
