.student-course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.student-course-card{background:#fff;border:1px solid #e1e7f0;border-radius:14px;flex-direction:column;gap:12px;padding:20px;transition:transform .15s,box-shadow .15s;display:flex}.student-course-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px #172b4d12}.student-course-card-top{color:#2f6bff;justify-content:space-between;align-items:center;display:flex}.student-course-card h2{letter-spacing:-.045em;margin:0;font-size:1.12rem}.student-course-card p{color:#6f7b91;min-height:38px;margin:0;font-size:.78rem;line-height:1.55}.course-progress{gap:7px;margin-top:auto;display:grid}.course-progress>div:first-child{color:#6f7b91;justify-content:space-between;font-size:.7rem;display:flex}.course-progress strong{color:#172033}.progress-track{background:#e9edf4;border-radius:8px;height:7px;overflow:hidden}.progress-track i{background:#2f6bff;border-radius:8px;height:100%;display:block}.student-course-meta{color:#6f7b91;justify-content:space-between;gap:8px;font-size:.68rem;display:flex}.student-course-meta span{align-items:center;gap:4px;display:flex}.student-course-layout{grid-template-columns:290px minmax(0,1fr);align-items:start;gap:20px;display:grid}.student-tree{padding:15px;position:sticky;top:20px}.student-tree-head{color:#2d62d4;align-items:center;gap:8px;padding:5px 7px 14px;font-size:.82rem;display:flex}.tree-module{border-top:1px solid #edf0f5;padding:13px 0 0}.tree-module h2{color:#526078;margin:0 7px 8px;font-size:.76rem}.tree-lesson,.tree-task{text-align:left;color:#526078;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.tree-lesson{padding:9px 7px;font-size:.75rem;font-weight:800}.tree-lesson>span,.tree-task>span{align-items:center;gap:6px;display:flex}.tree-lesson small{color:#8a94a5;font-size:.62rem;font-weight:600}.tree-lesson:hover,.tree-lesson.selected,.tree-task:hover,.tree-task.selected{color:#285ed4;background:#eef3ff}.tree-lesson.locked{color:#9aa4b3}.tree-task{padding:7px 7px 7px 26px;font-size:.7rem}.student-workspace{gap:16px;min-width:0;display:grid}.course-description{color:#6f7b91;max-width:620px;margin:9px 0 0;font-size:.78rem}.course-progress-pill{color:#285ed4;background:#edf2ff;border-radius:10px;align-items:center;gap:10px;padding:10px 13px;display:flex}.course-progress-pill strong{font-size:1.2rem}.course-progress-pill span{color:#526078;font-size:.68rem}.lesson-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.lesson-heading .due{align-items:center;gap:4px;display:flex}.lesson-content{min-height:300px}.lesson-content h2{margin:0 0 18px;font-size:1.4rem}.student-task{max-width:none}.student-task>p{white-space:pre-wrap}.reviewer-comment{color:#526078;background:#f2f6ff;border-left:3px solid #7ba5ff;padding:10px 13px;font-size:.76rem}.reviewer-comment strong{color:#315fc6}.reviewer-comment p{margin:5px 0 0;line-height:1.5}.locked-lesson,.unavailable-course{color:#6f7b91;place-items:start;gap:9px;display:grid}.locked-lesson h2,.unavailable-course h2{color:#172033;margin:0}.locked-lesson p,.unavailable-course p{margin:0;font-size:.8rem}.locked-lesson svg,.unavailable-course svg{color:#8a94a5}.empty-state{place-items:center;gap:7px;display:grid}.empty-state svg{color:#2f6bff}.empty-state p{margin:0}.runner-actions .runner-save:disabled{opacity:.55}@media (width<=1050px){.student-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-course-layout{grid-template-columns:1fr}.student-tree{position:static}}@media (width<=600px){.student-course-grid{grid-template-columns:1fr}.course-progress-pill{justify-content:center;width:100%}.student-course-meta{flex-wrap:wrap}.tree-lesson{padding:11px 7px}.lesson-content,.student-task{padding:18px}}.sidebar nav a.active{color:#fff;background:#29466f}.quick-actions{gap:9px;display:grid}.quick-actions a{justify-content:flex-start}.pagination{color:#6f7b91;justify-content:center;align-items:center;gap:16px;padding:18px 0 2px;font-size:.75rem;display:flex}.pagination button{min-height:35px}.attendance-tools{color:#6f7b91;justify-content:space-between;align-items:center;margin:14px 0;font-size:.75rem;display:flex}.entity-row{border-top:1px solid #edf0f5;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;display:flex}.entity-row strong{font-size:.82rem;display:block}.entity-row small{color:#6f7b91;margin-top:3px;font-size:.7rem;display:block}.row-actions{align-items:center;gap:2px;display:flex}.settings-form{gap:14px;display:grid}.settings-form h2,.panel>h2{letter-spacing:-.045em;margin:0 0 5px;font-size:1.1rem}.settings-form label{color:#526078;gap:7px;font-size:.76rem;font-weight:800;display:grid}.settings-form input,.editor-form input,.editor-form select,.editor-form textarea{color:#172033;border:1px solid #e1e7f0;border-radius:8px;padding:9px}.settings-form button{justify-self:start}.reset-form{background:#f7f9ff;border-radius:9px;padding:12px}.reset-form strong{font-size:.76rem}.review-detail{gap:12px;width:100%;display:grid}.review-code-grid{grid-template-columns:2fr 1fr 1fr;gap:9px;display:grid}.review-code-grid small{color:#6f7b91;margin-bottom:4px;font-size:.68rem;display:block}.review-code-grid pre{max-width:none;min-height:62px;margin:0;overflow:auto}.review-detail textarea{resize:vertical;border:1px solid #e1e7f0;border-radius:8px;width:100%;min-height:70px;padding:9px}.empty-state{text-align:center;color:#6f7b91;padding:22px;font-size:.8rem}.check-line{color:#6f7b91;align-items:center;gap:7px;font-size:.75rem;display:flex}.check-line input{accent-color:#2f6bff}.editor-form{background:#f8faff;border-radius:9px;padding:12px}.editor-lesson{display:block}.editor-lesson>.row-actions{justify-content:flex-end;margin-top:8px}.task-chip{color:#526078;background:#f2f5fa;border-radius:6px;align-items:center;gap:4px;width:max-content;max-width:100%;margin-top:4px;padding:4px 6px;font-size:.7rem;display:flex}.task-chip button{min-height:22px;padding:0 5px;font-size:.65rem}.add-form{border:1px dashed #c2ccdd;border-radius:8px;padding:11px}.add-form textarea{min-height:55px}.modal h2{margin:0}.import-label{cursor:pointer;width:max-content}.import-preview{background:#fbfcff;border:1px solid #e1e7f0;border-radius:9px;margin-top:10px;padding:12px;font-size:.74rem;line-height:1.8}.invalid-row{color:#b34d3d}.code-list{color:#176e56;background:#f2faf6;border-radius:9px;gap:5px;margin-top:10px;padding:12px;font-size:.78rem;display:grid}.code-list code{background:#fff;border-radius:5px;padding:3px 6px;font-family:Source Code Pro,monospace}.form-success,.form-error{margin:0 0 12px}.header-actions form{margin:0}.lesson-row .task-form{width:100%}*{box-sizing:border-box}body{color:#172033;background:#f4f7fb;min-width:320px;margin:0;font-family:Manrope,Inter,system-ui,sans-serif}button{cursor:pointer}a{color:inherit;text-decoration:none}.inline-form{flex-wrap:wrap;align-items:center;gap:9px;margin:14px 0;display:flex}.inline-form input,.course-nav input{color:#172033;border:1px solid #e1e7f0;border-radius:9px;flex:1;min-width:160px;padding:10px 12px}.course-nav form{gap:9px;margin-bottom:18px;display:grid}.content-card{border-top:1px solid #e1e7f0;padding:18px 0}.content-card h3{margin:0;font-size:1rem}.runner-save{color:#aebfdc}.review-card pre{white-space:pre-wrap;background:#f4f6fa;border-radius:7px;max-width:550px;padding:9px;font-size:.72rem}.editor-input{border:1px solid #e1e7f0;border-radius:8px;margin-bottom:8px;padding:9px;font-size:1.2rem;font-weight:800;display:block}.editor-title textarea,.lesson-form textarea,.task-form textarea{resize:vertical;border:1px solid #e1e7f0;border-radius:8px;width:100%;min-height:70px;padding:9px;display:block}.assignment-box{background:#f5f8ff;border-radius:9px;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;padding:12px;font-size:.75rem;display:flex}.assignment-box label{align-items:center;gap:5px;display:flex}.lesson-form,.task-form{gap:8px;margin:12px 0;display:grid}.lesson-form input,.lesson-form select,.task-form input{border:1px solid #e1e7f0;border-radius:8px;padding:9px}.content-heading{justify-content:space-between;align-items:center;display:flex}.markdown-preview{background:#fbfcfe;border:1px solid #e1e7f0;border-radius:8px;padding:12px;font-size:.82rem;line-height:1.5}.markdown-preview img{max-width:100%;height:auto}.markdown-preview p{margin:5px 0}.form-success{color:#168567;font-size:.8rem}:root{--ink:#172033;--muted:#6f7b91;--navy:#172b4d;--blue:#2f6bff;--line:#e1e7f0;--panel:#fff;--green:#168567}.auth-page{background:#fff;grid-template-columns:minmax(380px,1.12fr) minmax(420px,.88fr);min-height:100vh;display:grid}.auth-intro{background:var(--navy);color:#f7faff;flex-direction:column;justify-content:space-between;min-height:100vh;padding:48px clamp(34px,7vw,112px);display:flex;position:relative;overflow:hidden}.auth-intro:after{content:"";border:1px solid #bdd3ff29;border-radius:50%;width:440px;height:440px;position:absolute;bottom:-190px;right:-220px;box-shadow:0 0 0 70px #bdd3ff0a,0 0 0 140px #bdd3ff06}.brand{z-index:1;align-items:center;gap:10px;font-size:1.05rem;font-weight:800;display:flex;position:relative}.brand-mark{background:var(--blue);color:#fff;border-radius:11px;place-items:center;width:36px;height:36px;display:grid}.auth-intro h1{letter-spacing:-.065em;max-width:660px;margin:.5rem 0 1.2rem;font-size:clamp(2.5rem,5vw,4.7rem);line-height:1.04}.eyebrow{text-transform:uppercase;letter-spacing:.11em;color:var(--muted);margin:0 0 .55rem;font-size:.7rem;font-weight:800}.auth-intro .eyebrow{color:#94b4ef}.intro-copy{color:#c0ceea;max-width:480px;font-size:1.05rem;line-height:1.7}.intro-stat{z-index:1;align-items:center;gap:16px;display:flex;position:relative}.intro-stat strong{color:#82a9ff;letter-spacing:-.06em;font-size:3.2rem}.intro-stat span{color:#c0ceea;font-size:.85rem;line-height:1.4}.auth-card{place-items:center;padding:44px;display:grid}.auth-card-inner{width:100%;max-width:388px}.auth-card h2{letter-spacing:-.05em;margin:0 0 2rem;font-size:2rem}.role-switch{background:#f0f3f8;border-radius:12px;grid-template-columns:1fr 1fr;margin-bottom:28px;padding:4px;display:grid}.role-switch button{color:var(--muted);background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:11px 8px;font-size:.84rem;font-weight:700;display:flex}.role-switch .selected{color:var(--ink);background:#fff;box-shadow:0 2px 8px #182c5510}.auth-card form{gap:17px;display:grid}.auth-card label,.modal label{color:#4b5870;gap:8px;font-size:.82rem;font-weight:700;display:grid}.auth-card input,.modal input,.modal select{border:1px solid var(--line);color:var(--ink);border-radius:10px;outline:none;padding:13px 14px}.auth-card input:focus,.modal input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2f6bff16}.primary,.secondary,.ghost{border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 15px;font-size:.84rem;font-weight:800;display:inline-flex}.primary{background:var(--blue);color:#fff;box-shadow:0 5px 13px #2f6bff2b}.primary:hover{background:#245de5}.secondary{color:#2659cb;background:#edf2ff}.ghost{color:#53617a;background:0 0}.ghost:hover{background:#f1f4f8}.auth-submit{width:100%;margin-top:6px}.auth-hint{color:var(--muted);margin:17px 0 0;font-size:.76rem;line-height:1.55}.form-error{color:#b34d3d;margin:0;font-size:.8rem}.app-shell{min-height:100vh;display:flex}.sidebar{color:#d6e0f3;z-index:5;background:#152746;flex-direction:column;width:245px;padding:28px 16px;display:flex;position:fixed;inset:0 auto 0 0}.side-brand{color:#fff;margin-bottom:38px;padding:0 11px}.side-top{align-items:center;display:flex}.close-menu,.mobile-menu{display:none}.sidebar nav{gap:5px;display:grid}.sidebar nav a{color:#aebfdc;border-radius:9px;align-items:center;gap:12px;padding:11px 12px;font-size:.86rem;font-weight:700;display:flex}.sidebar nav a:hover,.sidebar nav .nav-active{color:#fff;background:#29466f}.side-bottom{margin-top:auto}.profile{align-items:center;gap:10px;padding:13px 10px;display:flex}.profile strong{color:#fff;font-size:.78rem;display:block}.profile small{color:#aebfdc;font-size:.67rem}.avatar{color:#245bd8;background:#dce7ff;border-radius:50%;flex:none;place-items:center;width:35px;height:35px;font-size:.72rem;font-weight:800;display:grid}.avatar.coral{color:#c6533d;background:#ffe3df}.avatar.blue{color:#2d63da;background:#e5edff}.sign-out{color:#aebfdc;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:12px 10px;font-size:.82rem;font-weight:700;display:flex}.workspace{width:calc(100% - 245px);max-width:1600px;margin-left:245px;padding:42px clamp(26px,4.6vw,76px)}.page-header{justify-content:space-between;align-items:end;gap:22px;margin-bottom:32px;display:flex}.page-header h1{letter-spacing:-.06em;margin:0;font-size:clamp(1.85rem,3.4vw,2.7rem);line-height:1.05}.header-actions{gap:9px;display:flex}.metrics{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px;display:grid}.metric{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;min-height:138px;padding:21px;display:flex}.metric strong{letter-spacing:-.07em;font-size:2rem}.metric span{color:#516078;margin-top:7px;font-size:.78rem}.metric small{color:var(--muted);margin-top:auto;font-size:.7rem}.metric .positive{color:var(--green)}.two-col{grid-template-columns:1.18fr .82fr;gap:22px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;padding:24px}.panel-heading{justify-content:space-between;align-items:start;gap:15px;margin-bottom:20px;display:flex}.panel-heading h2,.editor h2,.modal h2,.attendance h2,.review-card h2,.student-progress h2{letter-spacing:-.045em;margin:0;font-size:1.2rem}.panel-heading a{color:#2b61d6;align-items:center;gap:3px;font-size:.76rem;font-weight:800;display:flex}.lesson-list{display:grid}.lesson-row{border-top:1px solid #edf0f5;align-items:center;gap:12px;padding:12px 0;display:flex}.lesson-index{color:#2c62dc;background:#eef3ff;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;font-size:.75rem;font-weight:800;display:grid}.lesson-index.locked{color:#8f98a7;background:#f2f3f5}.lesson-row div{flex:1;gap:3px;display:grid}.lesson-row strong,.editor-lessons strong{font-size:.82rem}.lesson-row small,.editor-lessons small{color:var(--muted);font-size:.69rem}.badge{white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:.67rem;font-weight:800}.badge.success{color:#168567;background:#e5f7f0}.badge.muted{color:#758095;background:#eff1f4}.badge.warning{color:#a96f0e;background:#fff2dc}.attention-item{border-top:1px solid #edf0f5;align-items:center;gap:11px;padding:15px 0;display:flex}.attention-item div{flex:1}.attention-item strong{font-size:.82rem;display:block}.attention-item small{color:var(--muted);font-size:.68rem}.table-panel{padding:0;overflow:hidden}.table-tools{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.tabs{gap:4px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:8px 11px;font-size:.76rem;font-weight:800}.tabs .tab-active{color:#285ed4;background:#eaf0ff}.table-wrap{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{text-transform:uppercase;letter-spacing:.07em;color:#7c8799;white-space:nowrap;background:#f9fafc;padding:13px 20px;font-size:.65rem}td{color:#526078;white-space:nowrap;border-top:1px solid #edf0f5;padding:15px 20px;font-size:.78rem}td strong{color:var(--ink);font-size:.8rem;display:block}td small{color:var(--muted);margin-top:3px;font-size:.68rem;display:block}td code{color:#34425c;background:#f2f5fa;border-radius:5px;padding:5px 7px;font-family:Source Code Pro,monospace;font-size:.7rem}.progress-cell{color:#50607a;align-items:center;gap:9px;font-size:.75rem;display:flex}.progress-cell>span{background:#e9edf4;border-radius:10px;width:83px;height:6px;display:block;overflow:hidden}.progress-cell i{background:var(--blue);border-radius:10px;height:100%;display:block}.modal-backdrop{z-index:20;background:#14284774;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;gap:16px;width:min(440px,100%);padding:30px;display:grid;position:relative;box-shadow:0 24px 70px #1428473c}.modal-close{color:var(--muted);background:0 0;border:0;position:absolute;top:13px;right:13px}.course-layout{grid-template-columns:280px 1fr;gap:22px;display:grid}.course-nav h2{letter-spacing:-.05em;margin:0 0 20px;font-size:1.28rem}.module-tree{gap:4px;display:grid}.module-item{text-align:left;color:#536078;background:0 0;border:0;border-radius:8px;justify-content:space-between;gap:7px;padding:11px;font-size:.78rem;font-weight:700;display:flex}.module-item span{color:#929dad;font-size:.65rem;font-weight:600}.module-item.selected{color:#265fd7;background:#eaf0ff}.add-line{color:#2e65d9;background:0 0;border:0;align-items:center;gap:5px;padding:18px 10px 0;font-size:.75rem;font-weight:800;display:flex}.editor-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;padding-bottom:18px;display:flex}.publish-toggle{border:0}.editor-lessons{display:grid}.editor-lessons article{border-bottom:1px solid #edf0f5;align-items:center;gap:12px;padding:17px 0;display:flex}.editor-lessons article div{flex:1;gap:4px;display:grid}.add-lesson{color:#315fc5;background:#f9fbff;border:1px dashed #aebbd2;border-radius:9px;justify-content:center;gap:6px;width:100%;margin-top:18px;padding:11px;font-size:.78rem;font-weight:800;display:flex}.lesson-note{color:#52627d;background:#f3f7ff;border-radius:9px;gap:9px;margin-top:20px;padding:13px;font-size:.74rem;line-height:1.5;display:flex}.review-stack{gap:12px;display:grid}.review-card{border:1px solid var(--line);background:#fff;border-radius:13px;justify-content:space-between;align-items:center;gap:18px;padding:20px;display:flex}.review-main{align-items:center;gap:13px;display:flex}.review-main h2{font-size:.96rem}.review-main p:not(.eyebrow){color:var(--muted);margin:5px 0 0;font-size:.76rem}.review-actions{gap:8px;display:flex}.attendance{max-width:760px}.attendance-info{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding-bottom:17px;display:flex}select{border:1px solid var(--line);color:#425069;background:#fff;border-radius:8px;padding:9px;font-size:.76rem}.attendance-row{border-bottom:1px solid #edf0f5;grid-template-columns:38px 1fr auto 18px 105px;align-items:center;gap:11px;padding:14px 0;font-size:.8rem;display:grid}.attendance-row span:nth-of-type(2){color:var(--muted);font-size:.7rem}.attendance-row input{accent-color:var(--blue);width:16px;height:16px}.attendance-row i{color:var(--green);font-size:.7rem;font-style:normal;font-weight:700}.filters{gap:10px;margin:-10px 0 22px;display:flex}.student-layout{grid-template-columns:minmax(280px,.78fr) minmax(400px,1.22fr);align-items:start;gap:22px;display:grid}.task-panel{border:1px solid var(--line);background:#fff;border-radius:14px;padding:25px}.task-top{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.due{color:var(--muted);font-size:.73rem;font-weight:700}.task-panel h2{letter-spacing:-.05em;margin:0 0 12px;font-size:1.35rem}.task-panel>p{color:#4f5e77;margin-bottom:24px;font-size:.84rem;line-height:1.7}.task-panel code,.example code{background:#f2f5fa;border-radius:4px;padding:1px 4px;font-family:Source Code Pro,monospace;font-size:.78rem}.example{background:#f7f9fc;border:1px solid #e9edf4;border-radius:10px;margin-bottom:15px;padding:14px;font-size:.76rem}.example strong{margin-bottom:10px;font-size:.73rem;display:block}.example div{color:var(--muted);border-top:1px solid #e8edf4;justify-content:space-between;padding:7px 0;display:flex}.hint{color:#4f5e77;background:#f2f6ff;border-left:3px solid #7ba5ff;padding:11px 13px;font-size:.76rem}.hint strong{color:#315fc6}.hint p{margin:6px 0 0;line-height:1.5}.submission-state{color:#5d6c83;gap:9px;margin-top:18px;font-size:.72rem;line-height:1.5;display:flex}.submission-state svg{color:#315fc6;flex:none}.runner{color:#dce6f8;background:#18233a;border:1px solid #263652;border-radius:14px;padding:16px;box-shadow:0 15px 35px #18233a17}.runner-head{justify-content:space-between;align-items:center;padding:2px 4px 13px;display:flex}.runner-head .eyebrow{color:#8498bc;margin-bottom:3px}.runner-head strong{font-size:.8rem}.offline-note{color:#9cb0d3;background:#253652;border-radius:6px;padding:5px 7px;font-size:.65rem}.code-label,.io-label{color:#9db1d3;align-items:center;gap:5px;margin:0 4px 7px;font-family:Source Code Pro,monospace;font-size:.68rem;display:flex}.code-editor{resize:vertical;color:#e8f0ff;background:#111a2c;border:1px solid #2b3b58;border-radius:9px;outline:none;width:100%;min-height:260px;padding:15px;font:500 .83rem/1.65 Source Code Pro,monospace;display:block}.code-editor:focus{border-color:#527df1}.io-grid{grid-template-columns:.6fr 1.4fr;gap:12px;margin-top:14px;display:grid}.io-grid label{color:#9db1d3;gap:7px;font-size:.68rem;display:grid}.io-grid textarea{resize:vertical;color:#e8f0ff;background:#111a2c;border:1px solid #2b3b58;border-radius:8px;width:100%;height:86px;padding:9px;font:500 .75rem Source Code Pro,monospace}.console{color:#b5d9c8;white-space:pre-wrap;background:#0e1524;border:1px solid #2b3b58;border-radius:8px;min-height:86px;margin:0;padding:10px;font:500 .75rem/1.5 Source Code Pro,monospace}.runner-actions{justify-content:flex-end;gap:9px;padding-top:14px;display:flex}.runner .secondary{color:#dbe8ff;background:#253a60}.student-progress{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:24px;padding:22px}.student-progress h2{margin-bottom:16px;font-size:1.2rem}.progress-overall{align-items:center;gap:12px;display:flex}.progress-overall>span{color:var(--muted);font-size:.75rem}.mobile-menu{z-index:4;border:1px solid var(--line);width:39px;height:39px;color:var(--navy);background:#fff;border-radius:8px;position:fixed;top:15px;left:15px}@media (width<=1050px){.metrics{grid-template-columns:repeat(2,1fr)}.student-layout,.two-col,.course-layout{grid-template-columns:1fr}.course-nav{display:none}}@media (width<=760px){.auth-page{grid-template-columns:1fr}.auth-intro{min-height:auto;padding:30px}.auth-intro>div:nth-child(2){margin:58px 0 36px}.auth-intro h1{font-size:2.55rem}.auth-card{padding:34px 23px}.sidebar{transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:12px 0 36px #15274640}.workspace{width:100%;margin:0;padding:70px 17px 28px}.mobile-menu,.close-menu{place-items:center;display:grid}.close-menu{color:#fff;background:0 0;border:0;margin-left:auto}.page-header{flex-direction:column;align-items:start;margin-bottom:24px}.header-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.header-actions button{padding:0 8px}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metric{min-height:121px;padding:15px}.metric strong{font-size:1.65rem}.panel{padding:17px}.table-tools{padding:12px}.table-tools .ghost{font-size:0}.table-tools .ghost svg{margin:0}.review-card{flex-direction:column;align-items:start}.review-actions{width:100%}.review-actions button{flex:1}.attendance-info{flex-direction:column;align-items:start}.attendance-row{grid-template-columns:36px 1fr 18px;gap:8px}.attendance-row span:nth-of-type(2),.attendance-row i{grid-column:2}.attendance-row input{grid-area:1/3}.filters{grid-template-columns:1fr;display:grid}.task-panel{padding:18px}.io-grid{grid-template-columns:1fr}.runner{padding:11px}.code-editor{min-height:215px}.progress-overall{flex-direction:column;align-items:start}.auth-card h2{font-size:1.7rem}.sidebar nav{margin-top:5px}}.runner-head strong{margin-left:6px}.student-app .sidebar,.student-app .workspace{transition:width .2s,margin-left .2s,transform .2s}.student-app .sidebar{width:245px}.student-app .workspace{width:calc(100% - 245px);max-width:none;margin-left:245px}.student-app.student-sidebar-collapsed .sidebar{width:76px;padding-inline:12px}.student-app.student-sidebar-collapsed .workspace{width:calc(100% - 76px);margin-left:76px}.student-app .brand-name,.student-app .nav-label,.student-app .profile-copy{white-space:nowrap;overflow:hidden}.student-app.student-sidebar-collapsed .brand-name,.student-app.student-sidebar-collapsed .nav-label,.student-app.student-sidebar-collapsed .profile-copy{display:none}.student-app.student-sidebar-collapsed .side-top{justify-content:center}.student-app.student-sidebar-collapsed .side-brand{padding:0}.student-app.student-sidebar-collapsed .side-bottom{align-items:center}.student-app.student-sidebar-collapsed .profile{justify-content:center}.student-app.student-sidebar-collapsed .sign-out{justify-content:center;padding-inline:0}.sidebar-collapse{color:#9fb4da;background:0 0;border:0;border-radius:7px;place-items:center;padding:7px;display:grid}.sidebar-collapse:hover,.sidebar-collapse:focus-visible{color:#fff;outline-offset:2px;background:#ffffff18;outline:2px solid #80a8ff}.student-app.student-sidebar-collapsed .sidebar-collapse{display:grid}.student-sidebar-overlay{display:none}.student-course-page{min-height:calc(100vh - 55px)}.student-lesson-header{justify-content:space-between;align-items:end;gap:22px;margin-bottom:24px;display:flex}.student-lesson-header-main{min-width:0}.student-lesson-header-main h1{letter-spacing:-.06em;margin:4px 0 7px;font-size:clamp(1.7rem,3vw,2.8rem)}.student-step-indicator{color:#315fc6;margin:0 0 8px;font-size:.78rem;font-weight:800}.student-back-link{color:#55709b;align-items:center;gap:6px;margin-bottom:17px;font-size:.76rem;font-weight:800;display:inline-flex}.student-back-link:focus-visible,.student-outline button:focus-visible,.student-outline-toggle:focus-visible{outline-offset:2px;outline:3px solid #86a9ff}.student-lesson-due{color:#6f7b91;align-items:center;gap:6px;margin:0;font-size:.74rem;display:flex}.student-lesson-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.student-outline-toggle{align-items:center;gap:7px;display:inline-flex}.student-course-body{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:22px;display:grid}.student-course-body.is-lecture.without-outline,.student-course-body.is-practice{display:block}.student-course-main{min-width:0}.student-outline-backdrop{display:none}.student-outline{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 14px 32px #1527460d}.student-outline-docked{max-height:calc(100vh - 36px);position:sticky;top:18px}.student-outline-drawer{z-index:20;border-width:0 0 0 1px;border-radius:0;width:min(360px,92vw);position:fixed;top:0;bottom:0;right:0;box-shadow:-16px 0 38px #15274626}.student-outline-header{border-bottom:1px solid #e8edf4;justify-content:space-between;align-items:center;min-height:58px;padding:14px 15px;display:flex}.student-outline-title{color:#315fc6;align-items:center;gap:8px;display:inline-flex}.student-outline-close,.student-outline-hide{color:#687995;background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;padding:6px;display:inline-flex}.student-outline-close:hover,.student-outline-hide:hover{color:#315fc6;background:#f0f4fb}.student-outline-scroll{max-height:calc(100vh - 120px);padding:13px 10px;overflow:auto}.student-outline-module+.student-outline-module{margin-top:16px}.student-outline-module h2{color:#687995;letter-spacing:.07em;text-transform:uppercase;margin:0 7px 6px;font-size:.68rem}.student-outline-lesson,.student-outline-task{text-align:left;color:#526078;background:0 0;border:0;border-radius:9px;width:100%}.student-outline-lesson{justify-content:space-between;align-items:center;gap:8px;padding:10px 8px;font-weight:800;display:flex}.student-outline-lesson:hover,.student-outline-task:hover{background:#f5f8ff}.student-outline-lesson.selected{color:#315fc6;background:#edf3ff}.student-outline-lesson.locked{color:#8b96a9}.student-outline-lesson.locked small{color:#b17c30}.student-outline-label{align-items:center;gap:7px;min-width:0;display:flex}.student-outline-label>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-outline-lesson small{color:#8b96a9;flex:none;font-size:.62rem}.student-outline-task{padding:7px 8px 7px 28px;font-size:.73rem;display:block}.student-outline-task span{align-items:center;gap:5px;display:flex}.student-outline-task small{color:#8b96a9;margin:3px 0 0 18px;font-size:.62rem;display:block}.student-lesson-status{white-space:nowrap;align-items:center;gap:3px;font-size:.62rem;font-weight:700;display:inline-flex}.student-lesson-status.completed{color:#2a9271}.student-lesson-status.pending{color:#af7720}.student-lesson-status.revision{color:#bc5948}.student-lesson-status.draft,.student-lesson-status.progress{color:#55709b}.student-outline-task.selected{color:#315fc6;background:#e8f0ff;font-weight:800}.student-outline-check{color:#8490a3;align-items:center;gap:5px;padding:7px 8px 7px 28px;font-size:.7rem;display:flex}.student-outline-check svg{color:#7e91b0}.student-outline-hide{justify-content:center;width:calc(100% - 20px);margin:0 10px 10px;padding:9px}.student-lecture-view{min-height:58vh;padding:clamp(24px,5vw,54px)}.student-lecture-view>h2{letter-spacing:-.05em;margin:18px 0 25px;font-size:clamp(1.5rem,3vw,2.25rem)}.student-lecture-view>.student-content-block{margin-top:18px}.student-lecture-block{scroll-margin-top:24px}.lecture-toc{background:#f8faff;border:1px solid #e4eaf3;border-radius:12px;gap:7px;margin:12px 0 24px;padding:14px 16px;display:grid}.lecture-toc strong{color:#526078;font-size:.75rem}.lecture-toc a{color:#315fc6;font-size:.8rem;font-weight:700;text-decoration:none}.lecture-toc a:hover,.lecture-toc a:focus-visible{text-decoration:underline}.student-lecture-completion{background:#f8faff;border:1px solid #dfe7f3;border-radius:14px;gap:14px;margin-top:28px;padding:18px;display:grid}.student-lecture-completion.is-completed{background:#f1fbf7;border-color:#b8e3d3}.student-completion-copy{align-items:flex-start;gap:10px;display:flex}.student-completion-icon{color:#315fc6;display:inline-flex}.is-completed .student-completion-icon{color:#2a9271}.student-completion-copy strong{color:#1d2b44;display:block}.student-completion-copy p{color:#71809a;margin:4px 0 0;font-size:.8rem;line-height:1.5}.student-lecture-completion>button{justify-self:start;min-height:42px}.student-next-step{color:#315fc6;align-items:center;gap:8px;padding-top:4px;font-size:.78rem;display:flex}.student-next-step span{color:#71809a}.student-next-step-card{background:#f4f8ff;border:1px solid #d7e3fb;border-radius:14px;justify-content:space-between;align-items:center;gap:15px;margin-top:18px;padding:16px 18px;display:flex}.student-next-step-card>div{gap:3px;display:grid}.student-next-step-card strong{color:#1d2b44}.student-next-step-card button{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.student-course-resume{background:#f4f8ff;border-radius:8px;padding:9px 11px;color:#55709b!important;min-height:0!important;margin:0!important;font-size:.74rem!important}.student-course-resume strong{color:#315fc6}.student-workspace-navigation{justify-content:space-between;gap:10px;margin-bottom:12px;display:flex}.student-workspace-navigation button{min-height:38px}.student-progress-summary{color:#71809a;flex-wrap:wrap;gap:8px;margin-top:7px;font-size:.62rem;display:flex}.student-progress-summary span{background:#f2f5fa;border-radius:6px;padding:3px 6px}.student-progress-summary strong{color:#2a4270}.lesson-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-practice-shell{min-width:0}.student-practice-layout{grid-template-columns:minmax(300px,.9fr) minmax(470px,1.1fr);align-items:start;gap:20px;display:grid}.practice-task-column{min-width:0}.practice-task-column h2{letter-spacing:-.05em;margin:17px 0 11px;font-size:clamp(1.35rem,2vw,1.9rem)}.practice-task-column .task-statement{color:#4f5e77;margin-bottom:21px;line-height:1.7}.practice-materials{gap:12px;display:grid}.practice-runner-column{min-width:0;position:sticky;top:18px}.practice-runner-column .runner{min-height:520px}.practice-tabs{display:none}@media (width<=1100px){.student-practice-layout{grid-template-columns:minmax(280px,.85fr) minmax(390px,1.15fr)}.student-course-body{grid-template-columns:265px minmax(0,1fr);gap:15px}}@media (width<=900px){.student-outline-backdrop{z-index:19;background:#0d1d3866;border:0;display:block;position:fixed;inset:0}.student-practice-layout{grid-template-columns:1fr}.practice-tabs{border:1px solid var(--line);background:#eaf0f8;border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:13px;padding:4px;display:grid}.practice-tabs button{color:#687995;background:0 0;border:0;border-radius:7px;padding:10px;font-weight:800}.practice-tabs button.active{color:#315fc6;background:#fff;box-shadow:0 2px 8px #15274614}.student-practice-layout[data-active-tab=task] .practice-runner-column,.student-practice-layout[data-active-tab=runner] .practice-task-column{display:none}.practice-runner-column{position:static}.student-course-body:not(.is-practice){grid-template-columns:1fr}.student-outline-docked{z-index:20;width:min(320px,100vw - 32px);max-height:calc(100vh - 92px);position:fixed;top:76px;left:16px}.student-outline-docked .student-outline-scroll{max-height:calc(100vh - 210px)}.student-course-body.is-lecture{display:block}.student-course-body.is-lecture .student-course-main{width:100%}}@media (width<=760px){.student-app .sidebar{width:245px}.student-app .workspace,.student-app.student-sidebar-collapsed .workspace{width:100%;margin-left:0;padding-top:70px}.student-app.student-sidebar-collapsed .sidebar{width:245px;padding-inline:24px;transform:translate(-100%)}.student-app.student-sidebar-collapsed .sidebar.open{transform:translate(0)}.student-app.student-sidebar-collapsed .brand-name,.student-app.student-sidebar-collapsed .nav-label,.student-app.student-sidebar-collapsed .profile-copy{display:block}.student-app.student-sidebar-collapsed .side-top{justify-content:space-between}.student-app.student-sidebar-collapsed .side-brand{padding:initial}.student-app.student-sidebar-collapsed .side-bottom{align-items:initial}.student-app.student-sidebar-collapsed .profile{justify-content:initial}.student-app.student-sidebar-collapsed .sign-out{justify-content:initial;padding-inline:0}.student-app .sidebar-collapse{display:none}.student-sidebar-overlay{z-index:4;background:#0d1d3870;border:0;display:block;position:fixed;inset:0}.student-lesson-header{flex-direction:column;align-items:flex-start;gap:14px}.student-lesson-header-actions{justify-content:space-between;width:100%}.student-lesson-header-actions .course-progress-pill{max-width:100%}.student-course-body{display:block}.student-outline-drawer{width:100%;max-width:360px}.student-lecture-view{padding:22px 18px}.student-practice-layout{gap:12px}.practice-task-column,.practice-runner-column .runner{padding:17px}.practice-runner-column .runner{min-height:0}.runner-actions{flex-wrap:wrap}.runner-actions button{flex:130px}.student-workspace-navigation{width:100%}.student-workspace-navigation button{flex:1 1 0;padding-inline:8px;font-size:.74rem}.student-next-step-card{flex-direction:column;align-items:flex-start}.student-next-step-card button,.student-lecture-completion>button{justify-content:center;width:100%}.student-progress-summary{width:100%}.student-mobile-action-bar{z-index:2;background:#18233af2;border-top:1px solid #2b3b58;margin:0 -17px;padding:8px 17px;position:sticky;bottom:0}}.console-error{color:#ffb1a7;border-color:#6b3941;margin-top:7px}.runner-local-restore{color:#9ec0ff;background:0 0;border:0;padding:6px 4px;font-size:.72rem;text-decoration:underline}.runner-elapsed{color:#8498bc;margin-top:8px;font-size:.68rem;display:block}.student-mobile-action-bar{display:block}@media (prefers-reduced-motion:reduce){.student-app .sidebar,.student-app .workspace{transition:none}}:root{--ui-bg:#f4f7fb;--ui-surface:#fff;--ui-surface-muted:#f8faff;--ui-text:#17233b;--ui-text-muted:#687790;--ui-border:#dfe6f0;--ui-primary:#2f6bff;--ui-primary-soft:#eaf1ff;--ui-success:#188866;--ui-success-soft:#e6f7f0;--ui-warning:#a66b0e;--ui-warning-soft:#fff3dc;--ui-danger:#ba5040;--ui-danger-soft:#fff0ed;--ui-radius-sm:8px;--ui-radius-md:12px;--ui-radius-lg:16px;--ui-shadow-sm:0 2px 12px #1931570d;--ui-shadow-md:0 18px 50px #1931571c;--ui-focus:0 0 0 3px #2f6bff3d}body{background:var(--ui-bg);color:var(--ui-text)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{min-height:44px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--ui-focus);outline:0}.app-shell{background:var(--ui-bg)}.app-shell .app-sidebar{background:var(--ui-surface);width:260px;color:var(--ui-text);border-right:1px solid var(--ui-border);padding:24px 14px;transition:width .2s,transform .2s;box-shadow:2px 0 18px #19315708}.app-shell .workspace{background:var(--ui-bg);width:calc(100% - 260px);max-width:none;margin-left:260px;padding:34px clamp(20px,4vw,64px) 56px;transition:margin-left .2s,width .2s}.app-shell.sidebar-collapsed .app-sidebar{width:76px;padding-inline:10px}.app-shell.sidebar-collapsed .workspace{width:calc(100% - 76px);margin-left:76px}.app-sidebar .side-brand{color:var(--ui-text);margin-bottom:28px;padding-inline:9px}.app-sidebar .side-top{min-height:44px}.app-sidebar .brand-mark{flex:none}.sidebar-collapse{color:var(--ui-text-muted);border-radius:var(--ui-radius-sm);background:0 0;border:0;place-items:center;min-width:44px;margin-left:auto;display:grid}.sidebar-collapse:hover,.sidebar-collapse:focus-visible{background:var(--ui-primary-soft);color:var(--ui-primary)}.close-menu{color:var(--ui-text-muted)}.app-nav{gap:20px;display:grid;overflow-y:auto}.nav-group{gap:7px;display:grid}.nav-group-label{color:#93a0b4;letter-spacing:.1em;text-transform:uppercase;margin:0 10px;font-size:.64rem;font-weight:800}.nav-group-items{gap:3px;display:grid}.app-sidebar .nav-group-items a{border-radius:var(--ui-radius-sm);min-height:44px;color:var(--ui-text-muted);padding:10px 12px}.app-sidebar .nav-group-items a:hover{color:var(--ui-text);background:#f1f5fb}.app-sidebar .nav-group-items a.nav-active{background:var(--ui-primary-soft);color:#245ddd}.app-sidebar .nav-group-items a svg{flex:none}.app-shell.sidebar-collapsed .brand-name,.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .profile-copy,.app-shell.sidebar-collapsed .nav-group-label{display:none}.app-shell.sidebar-collapsed .side-brand,.app-shell.sidebar-collapsed .side-top,.app-shell.sidebar-collapsed .profile,.app-shell.sidebar-collapsed .sign-out{justify-content:center}.app-shell.sidebar-collapsed .side-brand{padding-inline:0}.app-shell.sidebar-collapsed .sidebar-collapse{margin-left:0}.app-sidebar .profile strong{color:var(--ui-text)}.app-sidebar .profile small{color:var(--ui-text-muted)}.app-sidebar .sign-out{color:var(--ui-text-muted);border-radius:var(--ui-radius-sm);min-height:44px}.app-sidebar .sign-out:hover{color:var(--ui-text);background:#f1f5fb}.breadcrumbs{color:#91a0b4;margin-bottom:22px}.breadcrumbs strong{color:var(--ui-text-muted)}.page-header{margin-bottom:28px}.page-header h1{color:var(--ui-text)}.page-description{color:var(--ui-text-muted)}.panel,.metric,.review-card,.task-panel,.student-progress,.student-course-card,.course-nav,.editor,.attendance{border-color:var(--ui-border);box-shadow:var(--ui-shadow-sm);border-radius:var(--ui-radius-lg)}.primary,.ui-button-primary{background:var(--ui-primary);min-height:44px}.secondary,.ui-button-secondary{background:var(--ui-primary-soft);color:#255cd0;min-height:44px}.ghost,.ui-button-ghost,.danger,.ui-button-danger{min-height:44px}.student-course-card{transition:transform .15s,box-shadow .15s}.student-course-card:hover{box-shadow:var(--ui-shadow-md);transform:translateY(-2px)}.student-course-cta{color:var(--ui-primary);align-items:center;gap:7px;margin-top:18px;font-size:.78rem;font-weight:800;display:inline-flex}.student-course-skeleton{background:linear-gradient(100deg,#fff 30%,#f0f4fb 45%,#fff 60%) 0 0/200% 100%;min-height:250px;animation:1.4s ease-in-out infinite ui-shimmer;overflow:hidden}.student-course-skeleton span{background:#e8edf5;border-radius:5px;width:72%;height:13px;display:block}.student-course-skeleton span:nth-child(2){width:90%;height:26px}.student-course-skeleton span:nth-child(3){width:100%}.student-course-skeleton span:nth-child(4){width:55%;margin-top:auto}.auth-page{background:var(--ui-bg)}.auth-intro{background:#152b50}.auth-intro-copy{z-index:1;position:relative}.auth-benefits{color:#c8d6ef;gap:9px;font-size:.8rem;display:grid}.auth-card{background:var(--ui-surface)}.auth-card-inner{max-width:420px}.auth-card input{background:#fbfcff;min-height:48px}.auth-card .form-error{border-radius:var(--ui-radius-sm);background:var(--ui-danger-soft);border:1px solid #f1d5d0;padding:11px 12px}.auth-card .auth-hint{margin-top:13px}.ui-dialog-overlay{z-index:100;background:#10224273;animation:.15s ui-fade;position:fixed;inset:0}.ui-dialog-content{z-index:101;background:var(--ui-surface);border-radius:var(--ui-radius-lg);width:min(560px,100vw - 32px);max-height:calc(100vh - 32px);box-shadow:var(--ui-shadow-md);padding:28px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.ui-dialog-title{letter-spacing:-.03em;margin:0;padding-right:28px;font-size:1.2rem}.ui-dialog-description{color:var(--ui-text-muted);margin:8px 0 0;font-size:.82rem;line-height:1.5}.ui-dialog-close{border-radius:var(--ui-radius-sm);min-width:44px;color:var(--ui-text-muted);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:14px;right:14px}.ui-dialog-close:hover{background:var(--ui-surface-muted);color:var(--ui-text)}.ui-dialog-content .modal{box-shadow:none;width:auto;padding:0}.ui-button{border-radius:var(--ui-radius-sm);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:800;display:inline-flex}.ui-button:disabled,.primary:disabled,.secondary:disabled,.ghost:disabled,.danger:disabled{opacity:.55;cursor:not-allowed}.ui-badge{border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:.68rem;font-weight:800;display:inline-flex}.ui-badge-success{color:var(--ui-success);background:var(--ui-success-soft)}.ui-badge-warning{color:var(--ui-warning);background:var(--ui-warning-soft)}.ui-badge-danger{color:var(--ui-danger);background:var(--ui-danger-soft)}.ui-badge-info{color:#255cd0;background:var(--ui-primary-soft)}.ui-badge-neutral{color:var(--ui-text-muted);background:#eef2f7}.ui-surface{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-sm)}.ui-progress-wrap{align-items:center;gap:10px;display:flex}.ui-progress{background:#e7edf7;border-radius:999px;flex:1;height:8px;overflow:hidden}.ui-progress span{border-radius:inherit;background:var(--ui-primary);height:100%;display:block}.ui-progress-label{color:var(--ui-text-muted);font-size:.75rem;font-weight:800}.ui-field{color:var(--ui-text-muted);gap:7px;font-size:.76rem;font-weight:800;display:grid}.ui-field small{color:#91a0b4;font-size:.68rem;font-weight:600}.ui-field-error{color:var(--ui-danger)!important}.app-sidebar-overlay{display:none}@keyframes ui-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (width<=760px){.app-shell .app-sidebar{width:270px;transform:translate(-100%);box-shadow:14px 0 36px #1022422e}.app-shell .app-sidebar.open{transform:translate(0)}.app-shell .workspace,.app-shell.sidebar-collapsed .workspace{width:100%;margin-left:0;padding:70px 16px 36px}.app-shell.sidebar-collapsed .app-sidebar{width:270px;padding-inline:14px}.app-shell.sidebar-collapsed .app-sidebar .brand-name,.app-shell.sidebar-collapsed .app-sidebar .nav-label,.app-shell.sidebar-collapsed .app-sidebar .profile-copy,.app-shell.sidebar-collapsed .app-sidebar .nav-group-label{display:block}.app-shell.sidebar-collapsed .sidebar-collapse{display:none}.app-sidebar-overlay{z-index:4;background:#10224273;border:0;display:block;position:fixed;inset:0}.ui-dialog-content{width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:22px 18px}.auth-page{flex-direction:column;min-height:100vh;display:flex}.auth-card{order:1;align-items:start;min-height:62vh;padding:34px 20px}.auth-intro{order:2;min-height:38vh;padding:28px 20px}.auth-intro .auth-intro-copy{margin:24px 0 0}.auth-intro h1{font-size:2.15rem}.intro-copy{font-size:.9rem}}@media (width<=390px){.page-header h1{font-size:1.75rem}.header-actions{grid-template-columns:1fr;display:grid}.metrics{grid-template-columns:1fr}.panel,.task-panel{padding:16px}.table-wrap{overflow:visible}.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{width:100%;display:block}.table-wrap thead{display:none}.table-wrap tbody{gap:10px;display:grid}.table-wrap tr{border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);background:var(--ui-surface);box-shadow:var(--ui-shadow-sm);padding:13px}.table-wrap td{white-space:normal;text-align:right;border:0;justify-content:space-between;align-items:center;gap:12px;padding:5px 0;display:flex}.table-wrap td:first-child{text-align:left;border-bottom:1px solid var(--ui-border);margin-bottom:5px;padding-bottom:9px;display:block}.table-wrap td:nth-child(2):before{content:"Группа"}.table-wrap td:nth-child(3):before{content:"Подгруппа"}.table-wrap td:nth-child(4):before{content:"Статус"}.table-wrap td:nth-child(5):before{content:"Действия"}.table-wrap td:before{color:var(--ui-text-muted);text-align:left;font-size:.68rem;font-weight:800}.table-wrap td button{min-height:40px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
