:root{--bg:#f3f6f5;--surface:#fff;--surface-soft:#f6f8f7;--ink:#172437;--muted:#6f7a87;--line:#e3e9e7;--purple:#17b198;--purple-dark:#10937f;--purple-soft:#e3f7f3;--accent-focus:#17b1982b;--accent-shadow:#17b19833;--green:#2e9b70;--green-soft:#e6f6ef;--coral:#df725d;--coral-soft:#feeee9;--blue:#4585d8;--blue-soft:#e9f2fe;--amber:#c58a30;--amber-soft:#fff3db;--navy:#1b293d;--navy-soft:#26374d;--shadow:0 1px 2px #17243708, 0 12px 36px #1724370e}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:Avenir Next,Segoe UI Variable Text,Segoe UI,Arial,sans-serif;font-size:14px}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:wait;opacity:.68;transform:none!important}.app-shell{min-height:100vh}.app-shell.theme-purple{--purple:#7b5ce1;--purple-dark:#6042bd;--purple-soft:#f0ecff;--accent-focus:#7b5ce12e;--accent-shadow:#6042bd33}.app-shell.theme-green{--purple:#41a86f;--purple-dark:#2e8655;--purple-soft:#e8f6ed;--accent-focus:#41a86f2b;--accent-shadow:#2e86552e}.sidebar{border-right:1px solid var(--line);z-index:20;background:#fff;flex-direction:column;width:238px;min-height:100vh;padding:27px 18px 20px;display:flex;position:fixed;top:0;left:0}.brand{letter-spacing:-.8px;align-items:center;gap:10px;padding:0 8px;font-size:21px;font-weight:800;display:flex}.brand-mark{background:var(--purple);color:#fff;border-radius:10px 10px 10px 4px;justify-content:center;align-items:center;width:37px;height:37px;display:inline-flex}.main-nav{margin-top:44px}.nav-caption{color:#a1a3aa;letter-spacing:.08em;text-transform:uppercase;margin:0 11px 10px;font-size:10px;font-weight:700}.nav-link{color:#696c75;border-radius:10px;align-items:center;gap:12px;min-height:44px;margin:3px 0;padding:0 12px;font-weight:600;transition:all .18s;display:flex}.nav-link:hover{color:var(--ink);background:#f7f6fb}.nav-link.active{background:var(--purple-soft);color:var(--purple-dark)}.nav-link.active:before{background:var(--purple);content:"";border-radius:0 4px 4px 0;width:3px;height:24px;position:absolute;left:0}.nav-badge{background:var(--coral-soft);color:var(--coral);border-radius:20px;margin-left:auto;padding:2px 7px;font-size:11px}.sidebar-spacer{flex:1}.profile-card{cursor:pointer;text-align:left;background:#f8f8fa;border:0;border-radius:12px;align-items:center;gap:10px;width:100%;margin-top:14px;padding:10px;display:flex}.profile-copy{flex-direction:column;flex:1;min-width:0;display:flex}.profile-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.profile-copy small{color:var(--muted);margin-top:2px;font-size:10px}.mobile-header,.mobile-nav{display:none}.mobile-profile{cursor:pointer;background:0 0;border:0;padding:0}.main-content{min-height:100vh;margin-left:238px}.page-wrap{max-width:1480px;margin:0 auto;padding:39px 42px 60px}.narrow-page{max-width:1120px}.page-header{justify-content:space-between;align-items:flex-end;min-height:78px;margin-bottom:28px;display:flex}.page-header h1{letter-spacing:-.9px;margin:5px 0 7px;font-size:29px;line-height:1.15}.eyebrow{color:var(--purple);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.page-subtitle{color:var(--muted);margin:0;font-size:13px}.header-actions{gap:9px;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 15px;font-size:12px;font-weight:750;transition:all .18s;display:inline-flex}.button-primary{background:var(--purple);box-shadow:0 4px 12px var(--accent-shadow);color:#fff}.button-primary:hover{background:var(--purple-dark);transform:translateY(-1px)}.button-secondary{border-color:var(--line);color:#4e5159;background:#fff}.button-secondary:hover{border-color:#d3d1db}.button-small{height:36px;padding:0 12px}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:15px}.panel-heading{justify-content:space-between;align-items:center;padding:22px 24px 17px;display:flex}.panel-heading h2,.subsection-heading h2{letter-spacing:-.35px;margin:3px 0 0;font-size:16px}.section-kicker{color:#9a9ca5;letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:9px;font-weight:800}.text-link{color:var(--purple);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;font-size:11px;font-weight:750;display:inline-flex}.stat-grid{grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:15px;display:grid}.stat-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;grid-template-columns:42px 1fr auto;align-items:center;gap:13px;min-height:92px;padding:16px;display:grid}.stat-card>div{flex-direction:column;display:flex}.stat-card>div strong{letter-spacing:-.6px;font-size:22px}.stat-card>div span{color:var(--muted);font-size:10px}.stat-icon{border-radius:11px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.icon-violet{background:var(--purple-soft);color:var(--purple)}.icon-coral{background:var(--coral-soft);color:var(--coral)}.icon-green{background:var(--green-soft);color:var(--green)}.icon-blue{background:var(--blue-soft);color:var(--blue)}.trend{border-radius:20px;align-self:end;padding:4px 7px;font-size:9px;font-weight:700}.trend.neutral{color:#858791;background:#f2f3f5}.trend.warning{background:var(--coral-soft);color:var(--coral)}.trend.success{background:var(--green-soft);color:var(--green)}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(310px,.8fr);gap:15px;display:grid}.side-stack{gap:15px;display:grid}.lesson-list{padding:0 15px 12px}.lesson-row{border-top:1px solid #f0f0f2;grid-template-columns:48px 9px 38px minmax(160px,1fr) auto 30px;align-items:center;gap:13px;min-height:82px;padding:0 8px;display:grid;position:relative}.lesson-row.next{background:#fbfaff;border:1px solid #ece7ff;border-radius:11px;margin:2px 0;padding-left:7px}.lesson-time{flex-direction:column;display:flex}.lesson-time strong{font-size:13px}.lesson-time span,.lesson-info span{color:var(--muted);margin-top:3px;font-size:9px}.timeline-dot{border-radius:50%;width:7px;height:7px}.dot-violet{background:var(--purple)}.dot-coral{background:var(--coral)}.dot-blue{background:var(--blue)}.dot-green{background:var(--green)}.avatar{border-radius:11px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:10px;font-weight:800;display:inline-flex}.avatar-purple,.avatar-violet{background:var(--purple-soft);color:var(--purple)}.avatar-coral{background:var(--coral-soft);color:var(--coral)}.avatar-blue{background:var(--blue-soft);color:var(--blue)}.avatar-green{background:var(--green-soft);color:var(--green)}.avatar-amber{background:var(--amber-soft);color:var(--amber)}.avatar-pink{color:#c75e91;background:#fceaf3}.lesson-info{flex-direction:column;display:flex}.lesson-info strong{font-size:12px}.lesson-status{color:#92949c;font-size:9px;font-weight:700}.status-live{background:var(--coral-soft);color:var(--coral);border-radius:20px;padding:5px 9px}.icon-button{color:#9a9ca4;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}.icon-button:hover{color:var(--ink);background:#f4f4f6}.success-pill{background:var(--green-soft);color:var(--green);border-radius:20px;align-items:center;gap:4px;padding:5px 8px;font-size:9px;font-weight:800;display:inline-flex}.progress-panel{padding-bottom:18px}.progress-score{align-items:baseline;gap:8px;padding:4px 22px 10px;display:flex}.progress-score strong{letter-spacing:-1px;font-size:28px}.progress-score span{color:var(--muted);font-size:10px}.progress-track{background:#ececf0;border-radius:10px;height:7px;margin:0 22px 17px;overflow:hidden}.progress-track span{background:linear-gradient(90deg, var(--purple), #8c77e7);border-radius:inherit;height:100%;display:block}.mini-metrics{grid-template-columns:repeat(3,1fr);gap:6px;padding:0 18px;display:grid}.mini-metrics div{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:4px;font-size:8px;display:flex}.mini-metrics div:first-child svg{color:var(--green)}.mini-metrics div:nth-child(2) svg{color:var(--amber)}.mini-metrics div:nth-child(3) svg{color:var(--coral)}.mini-metrics strong{color:var(--ink)}.count-chip{background:var(--coral-soft);color:var(--coral);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:10px;font-weight:800;display:inline-flex}.attention-list{padding:0 13px 10px}.attention-list a{border-top:1px solid #f0f0f2;grid-template-columns:34px 1fr 18px;align-items:center;gap:10px;min-height:62px;padding:7px 5px;display:grid}.attention-list a:hover strong{color:var(--purple)}.attention-list a>span:nth-child(2){flex-direction:column;display:flex}.attention-list strong{font-size:10px}.attention-list small{color:var(--muted);margin-top:3px;font-size:8px}.attention-icon{border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.attention-icon.coral{background:var(--coral-soft);color:var(--coral)}.attention-icon.amber{background:var(--amber-soft);color:var(--amber)}.attention-icon.blue{background:var(--blue-soft);color:var(--blue)}.table-panel,.materials-panel{overflow:hidden}.toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:65px;padding:13px 18px;display:flex}.search-box{background:var(--surface-soft);border:1px solid var(--line);color:#a0a2aa;border-radius:9px;align-items:center;gap:8px;width:min(320px,55%);height:38px;padding:0 12px;display:flex}.search-box input{color:var(--ink);background:0 0;border:0;outline:0;width:100%;font-size:11px}.table-head,.student-row{grid-template-columns:1.6fr 1fr .8fr 1fr 34px;align-items:center;gap:20px;padding:0 21px;display:grid}.table-head{color:#9b9da5;letter-spacing:.04em;text-transform:uppercase;background:#fbfbfc;height:42px;font-size:9px;font-weight:750}.student-row{border-top:1px solid #f0f0f2;min-height:73px}.student-name{align-items:center;gap:12px;display:flex}.student-name>span:last-child{flex-direction:column;display:flex}.student-name strong{font-size:11px}.student-name small{color:var(--muted);margin-top:3px;font-size:9px}.cell-muted{color:#676a72;font-size:10px}.inline-progress{color:var(--green);align-items:center;gap:7px;display:flex}.inline-progress strong{color:var(--ink);font-size:10px}.tiny-progress{background:#eeeff1;border-radius:10px;width:62px;height:5px;overflow:hidden}.tiny-progress i{background:var(--purple);height:100%;display:block}.homework-state,.assignment-status{border-radius:20px;justify-self:start;padding:5px 9px;font-size:9px;font-weight:750;display:inline-block}.state-сдано,.status-проверено{background:var(--green-soft);color:var(--green)}.state-проверить,.status-на-проверке{background:var(--purple-soft);color:var(--purple)}.state-не-сдано,.state-просрочено{background:var(--coral-soft);color:var(--coral)}.calendar-panel{overflow:hidden}.calendar-toolbar{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;min-height:65px;padding:12px 18px;display:grid}.calendar-toolbar>.button{justify-self:end}.segmented{background:#f2f3f5;border-radius:8px;width:fit-content;padding:3px;display:flex}.segmented button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;height:29px;padding:0 12px;font-size:9px;font-weight:700}.segmented button.active{color:var(--ink);background:#fff;box-shadow:0 1px 4px #14141e14}.calendar-title{align-items:center;gap:12px;display:flex}.calendar-title strong{font-size:13px}.week-calendar{grid-template-columns:55px repeat(7,1fr);display:grid;overflow-x:auto}.week-corner{border-bottom:1px solid var(--line)}.day-header{border-bottom:1px solid var(--line);border-left:1px solid #f1f1f3;flex-direction:column;justify-content:center;align-items:center;gap:3px;height:59px;display:flex}.day-header span{color:var(--muted);text-transform:uppercase;font-size:8px}.day-header strong{justify-content:center;align-items:center;width:27px;height:27px;font-size:13px;display:flex}.day-header.active strong{background:var(--purple);color:#fff;border-radius:50%}.time-axis{grid-row:2;grid-template-rows:repeat(11,48px);display:grid}.time-axis span{color:#a1a3aa;text-align:right;padding:7px 8px 0 0;font-size:8px}.calendar-grid{grid-area:2/2/auto/9;grid-template-rows:repeat(22,24px);grid-template-columns:repeat(7,minmax(110px,1fr));display:grid;position:relative}.grid-cell{border-top:1px solid #f0f0f2;border-left:1px solid #f0f0f2;grid-column:auto}.calendar-event{z-index:2;border-left:3px solid;border-radius:7px;flex-direction:column;margin:2px 5px;padding:7px 8px;display:flex;overflow:hidden}.calendar-event strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.calendar-event span{opacity:.75;margin-top:2px;font-size:8px}.event-violet{background:var(--purple-soft);color:var(--purple)}.event-coral{background:var(--coral-soft);color:var(--coral)}.event-blue{background:var(--blue-soft);color:var(--blue)}.event-green{background:var(--green-soft);color:var(--green)}.event-amber{background:var(--amber-soft);color:var(--amber)}.event-pink{color:#c75e91;background:#fceaf3}.now-line{background:var(--coral);z-index:4;align-self:start;width:100%;height:1px;margin-top:11px;position:relative}.now-line i{background:var(--coral);border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;left:-3px}.assignment-summary{grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:15px;display:grid}.assignment-summary article{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:13px;padding:14px 17px;display:flex}.assignment-summary article>div{flex-direction:column;display:flex}.assignment-summary strong{font-size:18px}.assignment-summary small{color:var(--muted);font-size:9px}.assignment-row{border-top:1px solid #f0f0f2;grid-template-columns:40px minmax(180px,1.5fr) 1fr .7fr .7fr .8fr 30px;align-items:center;gap:18px;min-height:76px;padding:0 20px;display:grid}.assignment-icon{background:var(--purple-soft);color:var(--purple);border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.assignment-main,.assignment-row>div{flex-direction:column;display:flex}.assignment-row strong{font-size:10px}.assignment-row small,.assignment-row span:not(.assignment-status){color:var(--muted);margin-bottom:3px;font-size:8px}.status-активно{background:var(--blue-soft);color:var(--blue)}.view-toggle{border:1px solid var(--line);border-radius:8px;padding:2px;display:flex}.view-toggle button{color:var(--muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:32px;height:30px;display:flex}.view-toggle button.active{background:var(--purple-soft);color:var(--purple)}.folder-grid{grid-template-columns:repeat(4,1fr);gap:12px;padding:20px;display:grid}.folder-card{border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr auto;min-height:123px;padding:15px;display:grid}.folder-card>strong,.folder-card>small{grid-column:1/3}.folder-card>strong{align-self:end;margin-top:18px;font-size:11px}.folder-card>small{color:var(--muted);margin-top:3px;font-size:8px}.folder-icon{align-items:center;display:flex}.folder-violet{color:#8b73e9}.folder-coral{color:#e98a76}.folder-blue{color:#68a0e9}.folder-green{color:#59b78d}.subsection-heading{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 20px 10px;display:flex}.file-list{padding:0 20px 16px}.file-list article{border-top:1px solid #f0f0f2;grid-template-columns:38px 1fr auto 30px;align-items:center;gap:12px;min-height:62px;display:grid}.file-list article>span:nth-child(2){flex-direction:column;display:flex}.file-list strong{font-size:10px}.file-list small,.file-list article>span:nth-child(3){color:var(--muted);margin-top:3px;font-size:8px}.file-icon{border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.file-icon.pdf{background:var(--coral-soft);color:var(--coral)}.file-icon.image{background:var(--blue-soft);color:var(--blue)}.file-icon.doc{background:var(--purple-soft);color:var(--purple)}.settings-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.settings-card{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:13px;grid-template-columns:42px 1fr auto;align-items:center;gap:13px;padding:17px;display:grid}.settings-card>span:nth-child(2){flex-direction:column;display:flex}.settings-card strong{font-size:12px}.settings-card small{color:var(--muted);margin-top:3px;font-size:9px}.auth-page{background:#fff;grid-template-columns:minmax(420px,.92fr) minmax(460px,1.08fr);min-height:100vh;display:grid}.auth-card{flex-direction:column;justify-content:center;padding:48px clamp(40px,8vw,120px);display:flex}.auth-brand{padding:0;position:absolute;top:40px;left:clamp(40px,8vw,120px)}.auth-content{width:100%;max-width:440px;margin:0 auto}.auth-content h1{letter-spacing:-1.4px;margin:11px 0 12px;font-size:clamp(30px,3vw,42px);line-height:1.08}.auth-content>p:not(.eyebrow){color:var(--muted);margin:0;font-size:14px}.auth-aside{color:#fff;background:linear-gradient(145deg,#5f46c8 0%,#785fdf 58%,#8d75e7 100%);justify-content:center;align-items:center;min-height:calc(100vh - 32px);margin:16px;padding:clamp(50px,8vw,110px);display:flex;position:relative;overflow:hidden}.auth-aside:before,.auth-aside:after{content:"";border:1px solid #ffffff24;border-radius:50%;width:420px;height:420px;position:absolute;top:-160px;right:-170px}.auth-aside:after{width:560px;height:560px;inset:auto auto -250px -230px}.auth-aside>div{z-index:1;max-width:550px;position:relative}.auth-aside h2{letter-spacing:-1.8px;margin:16px 0 35px;font-size:clamp(31px,4vw,54px);line-height:1.08}.auth-aside ul{gap:14px;margin:0;padding:0;list-style:none;display:grid}.auth-aside li{align-items:center;gap:10px;font-size:14px;display:flex}.auth-aside li:before{content:"✓";background:#ffffff3d;border:1px solid #ffffff47;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;display:grid}.auth-form{gap:15px;margin-top:30px;display:grid}.form-field{flex-direction:column;gap:7px;display:flex}.form-field>span:first-child{color:#4f5159;font-size:11px;font-weight:750}.form-field input,.form-field textarea,.form-field select{color:var(--ink);background:#fff;border:1px solid #dfe0e5;border-radius:10px;outline:0;width:100%;transition:border-color .16s,box-shadow .16s}.form-field input{height:46px;padding:0 13px}.form-field select{height:46px;padding:0 12px}.form-field textarea{resize:vertical;min-height:104px;padding:12px 13px}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--purple);box-shadow:0 0 0 3px #6f55d91f}.form-field small,.form-hint{color:var(--muted);font-size:10px;line-height:1.45}.form-hint{background:#f7f5ff;border:1px solid #e8e2ff;border-radius:10px;margin:0;padding:11px 13px}.field-error{color:#c65249!important;font-size:10px!important;font-weight:600!important}.form-message{background:var(--coral-soft);color:#b84f42;border-radius:9px;margin:0;padding:10px 12px;font-size:11px}.auth-submit{width:100%;height:47px;margin-top:5px;font-size:13px}.auth-switch{color:var(--muted);text-align:center;font-size:12px!important}.auth-switch a{color:var(--purple);font-weight:750}.back-link{color:var(--muted);align-items:center;gap:4px;margin-bottom:17px;font-size:11px;display:inline-flex}.back-link:hover{color:var(--purple)}.form-page-header{min-height:auto;margin-bottom:20px}.student-form{padding:27px}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-field-wide{grid-column:1/-1}.student-form-section{border-top:1px solid var(--line);margin-top:2px;padding-top:21px;scroll-margin-top:24px}.student-form-section>span{color:var(--ink);font-size:13px;font-weight:800}.student-form-section>p{color:var(--muted);margin:5px 0 0;font-size:9px}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;margin-top:25px;padding-top:20px;display:flex}.saved-in-postgres{color:var(--green);align-items:center;gap:6px;font-size:10px;font-weight:700;display:inline-flex}.saved-in-postgres:before{background:var(--green);content:"";border-radius:50%;width:6px;height:6px}.empty-state{text-align:center;flex-direction:column;align-items:center;min-height:390px;padding:70px 24px;display:flex}.empty-avatar{background:var(--purple-soft);color:var(--purple);border-radius:16px;justify-content:center;align-items:center;width:54px;height:54px;display:flex}.empty-state h2{margin:18px 0 7px;font-size:17px}.empty-state p{color:var(--muted);max-width:340px;margin:0 0 20px;font-size:11px}.state-empty{color:#72757e;background:#f1f2f4}.student-name:hover strong{color:var(--purple)}.student-profile-hero{grid-template-columns:auto 1fr auto;align-items:center;gap:22px;margin-bottom:16px;padding:25px;display:grid}.profile-avatar-large{color:#fff;background:linear-gradient(145deg,#7158dc,#8f7be4);border-radius:20px;justify-content:center;align-items:center;width:72px;height:72px;font-size:22px;font-weight:800;display:flex}.student-profile-title h1{letter-spacing:-.8px;margin:6px 0 4px;font-size:27px}.student-profile-title p{color:var(--muted);margin:0;font-size:10px}.active-chip,.archived-chip{text-transform:uppercase;border-radius:20px;padding:4px 8px;font-size:9px;font-weight:800;display:inline-block}.active-chip{background:var(--green-soft);color:var(--green)}.archived-chip{color:#757880;background:#eff0f2}.student-profile-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.student-payment-link.has-attention{color:#b95746;border-color:#efc9c0}.payment-alert-count{background:var(--coral);color:#fff;border-radius:20px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:8px;display:inline-flex}.student-portal-panel{grid-template-columns:48px minmax(220px,.8fr) minmax(360px,1.2fr);align-items:center;gap:17px;margin-bottom:16px;padding:20px 22px;display:grid}.student-portal-icon{background:var(--purple-soft);color:var(--purple);border-radius:13px;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.student-portal-copy h2{margin:4px 0;font-size:15px}.student-portal-copy>p:not(.section-kicker){color:var(--muted);margin:0;font-size:9px;line-height:1.45}.student-portal-link{min-width:0}.student-portal-link>div{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.student-portal-link form{display:contents}.portal-reset-button{color:var(--muted)}.student-detail-grid{grid-template-columns:.9fr 1.1fr;gap:16px;display:grid}.student-payment-panel{grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:15px;margin-bottom:16px;padding:18px 20px;display:grid}.student-payment-panel.is-configured{background:linear-gradient(125deg,#fff 55%,#f2fbf7);border-color:#d9ece3}.student-payment-icon{background:var(--purple-soft);color:var(--purple);border-radius:13px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.student-payment-panel.is-configured .student-payment-icon{background:var(--green-soft);color:var(--green)}.student-payment-copy{min-width:0}.student-payment-copy h2{margin:3px 0;font-size:16px}.student-payment-copy>p:last-child{color:var(--muted);margin:0;font-size:9px}.student-payment-total{border-left:1px solid var(--line);flex-direction:column;min-width:130px;padding-left:20px;display:flex}.student-payment-total span{color:var(--muted);font-size:9px}.student-payment-total strong{margin-top:4px;font-size:17px}.payment-page-terms{margin-bottom:16px}.payment-page-metrics{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:2px;padding-top:16px;display:grid}.payment-page-metrics article{background:#fafafb;border:1px solid #eeeef1;border-radius:11px;align-items:center;gap:11px;min-height:63px;padding:11px 13px;display:flex}.payment-page-metrics article.needs-attention{background:var(--coral-soft);border-color:#f2d2ca}.payment-metric-icon{color:var(--purple);background:#fff;border-radius:9px;flex:none;justify-content:center;align-items:center;width:35px;height:35px;display:flex}.payment-page-metrics article.needs-attention .payment-metric-icon{color:var(--coral)}.payment-page-metrics article>div{flex-direction:column;min-width:0;display:flex}.payment-page-metrics small{color:var(--muted);font-size:8px}.payment-page-metrics strong{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;overflow:hidden}.payment-ledger-panel{margin-bottom:16px;overflow:hidden}.payment-ledger-heading{gap:18px}.payment-attention-chip,.payment-ok-chip{border-radius:20px;flex:none;align-items:center;gap:5px;padding:6px 9px;font-size:9px;font-weight:800;display:inline-flex}.payment-attention-chip{background:var(--coral-soft);color:#bd5b49}.payment-ok-chip{background:var(--green-soft);color:var(--green)}.payment-entry-list{border-top:1px solid var(--line);padding:0 20px 14px}.payment-entry{border-top:1px solid #f0f0f2;grid-template-columns:42px 8px minmax(160px,1fr) auto minmax(240px,auto);align-items:center;gap:12px;min-height:78px;padding:10px 5px;display:grid}.payment-entry:first-child{border-top:0}.payment-entry-overdue{background:linear-gradient(90deg,#fff7f4,#0000 72%)}.payment-entry-today{background:linear-gradient(90deg,#fffaf0,#0000 72%)}.payment-entry-date{background:var(--purple-soft);color:var(--purple);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;width:42px;height:46px;display:flex}.payment-entry-date strong{font-size:13px;line-height:1}.payment-entry-date span{text-transform:uppercase;margin-top:4px;font-size:8px}.payment-entry-overdue .payment-entry-date{background:var(--coral-soft);color:var(--coral)}.payment-entry-today .payment-entry-date{background:var(--amber-soft);color:var(--amber)}.payment-timeline-dot{background:#d8d4ec;border:2px solid #fff;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 1px #d8d4ec}.payment-entry-overdue .payment-timeline-dot{background:var(--coral);box-shadow:0 0 0 1px var(--coral)}.payment-entry-today .payment-timeline-dot{background:var(--amber);box-shadow:0 0 0 1px var(--amber)}.payment-entry-received .payment-timeline-dot{background:var(--green);box-shadow:0 0 0 1px var(--green)}.payment-entry-copy{flex-direction:column;min-width:0;display:flex}.payment-entry-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.payment-entry-copy span{color:var(--muted);margin-top:4px;font-size:8px}.payment-entry-amount{white-space:nowrap;font-size:12px}.payment-entry-status{flex-direction:column;align-items:flex-end;gap:7px;display:flex}.payment-due-label{color:var(--muted);align-items:center;gap:4px;font-size:8px;font-weight:750;display:inline-flex}.payment-entry-overdue .payment-due-label{color:#bd5b49}.payment-entry-today .payment-due-label{color:var(--amber)}.payment-entry-actions{gap:6px;display:flex}.payment-entry-actions form,.payment-entry-status>form{display:contents}.payment-status-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:4px;height:29px;padding:0 8px;font-size:8px;font-weight:750;display:inline-flex}.payment-status-button.is-received{color:var(--green);border-color:#cfe8dc}.payment-status-button.is-received:hover{background:var(--green-soft)}.payment-status-button.is-waived{color:#777a82}.payment-status-button.is-waived:hover{background:#f4f4f6}.payment-status-chip{border-radius:20px;align-items:center;gap:4px;padding:5px 8px;font-size:8px;font-weight:800;display:inline-flex}.payment-status-chip.is-received{background:var(--green-soft);color:var(--green)}.payment-status-chip.is-waived{color:#73767e;background:#f0f1f3}.payment-reset-button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:8px;display:inline-flex}.payment-reset-button:hover{color:var(--purple)}.payment-ledger-empty{color:#aaa7b6;text-align:center;flex-direction:column;align-items:center;min-height:170px;padding:32px 20px;display:flex}.payment-ledger-empty strong{color:var(--ink);margin-top:10px;font-size:11px}.payment-ledger-empty p{color:var(--muted);max-width:480px;margin:5px 0 0;font-size:9px;line-height:1.45}.payment-history{border-top:1px solid var(--line)}.payment-history summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:51px;padding:0 24px;list-style:none;display:flex}.payment-history summary::-webkit-details-marker{display:none}.payment-history summary>span{color:var(--muted);align-items:center;gap:7px;font-size:10px;font-weight:750;display:inline-flex}.payment-history summary small{color:var(--muted);background:#f0f1f3;border-radius:20px;padding:3px 7px;font-size:8px}.payment-history-list{border-top:1px solid var(--line)}.payment-history-list .payment-entry{opacity:.84}.student-info-panel,.student-lessons-panel{overflow:hidden}.contact-list{padding:0 20px 20px;display:grid}.contact-list>div{border-top:1px solid var(--line);grid-template-columns:38px 1fr;align-items:center;gap:12px;min-height:68px;display:grid}.contact-list>div>span:last-child{flex-direction:column;min-width:0;display:flex}.contact-list small{color:var(--muted);margin-bottom:4px;font-size:9px}.contact-list strong{overflow-wrap:anywhere;font-size:11px}.contact-icon{background:var(--purple-soft);color:var(--purple);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.notes-row{padding-top:15px;align-items:start!important}.notes-row strong{font-weight:550;line-height:1.5}.compact-empty{color:#a1a3aa;text-align:center;flex-direction:column;align-items:center;min-height:220px;padding:45px 20px;display:flex}.compact-empty strong{color:var(--ink);margin-top:12px;font-size:12px}.compact-empty p{color:var(--muted);margin:5px 0 0;font-size:9px}.dashboard-empty{justify-content:center;min-height:320px}.profile-lesson-list{padding:0 17px 16px}.profile-lesson-list article{border-top:1px solid var(--line);grid-template-columns:40px 1fr 32px;align-items:center;gap:12px;min-height:70px;display:grid}.profile-lesson-list article>div:nth-child(2){flex-direction:column;display:flex}.profile-lesson-list article>div:nth-child(2) strong{font-size:11px}.profile-lesson-list article>div:nth-child(2) span{color:var(--muted);margin-top:4px;font-size:9px}.profile-lesson-date{background:var(--purple-soft);color:var(--purple);border-radius:9px;flex-direction:column;justify-content:center;align-items:center;width:38px;height:42px;display:flex}.profile-lesson-date strong{font-size:13px}.profile-lesson-date span{text-transform:uppercase;font-size:8px}.archive-zone{border-top:1px solid #e2e3e7;justify-content:space-between;align-items:center;margin-top:26px;padding:22px 4px 0;display:flex}.archive-zone strong{font-size:11px}.archive-zone p{color:var(--muted);margin:4px 0 0;font-size:9px}.button-danger-soft{background:var(--coral-soft);color:#b95b4a;border-color:#f5d8d1}.archive-list{margin-top:15px;overflow:hidden}.archive-list summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:55px;padding:0 20px;list-style:none;display:flex}.archive-list summary::-webkit-details-marker{display:none}.archive-list summary span{color:var(--muted);align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.archive-list summary small{color:var(--muted);background:#f0f1f3;border-radius:20px;padding:3px 8px}.archive-list>div{border-top:1px solid var(--line);padding:0 18px 12px}.archive-list article{border-top:1px solid #f1f1f3;justify-content:space-between;align-items:center;min-height:64px;display:flex}.archive-list article:first-child{border-top:0}.archive-list article>a{align-items:center;gap:11px;font-size:11px;display:flex}.lesson-student-chip{background:var(--purple-soft);border-radius:12px;align-items:center;gap:11px;margin-bottom:23px;padding:12px;display:flex}.lesson-student-chip>span{background:var(--purple);color:#fff;text-transform:uppercase;border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;font-size:10px;font-weight:800;display:flex}.lesson-student-chip>div{flex-direction:column;display:flex}.lesson-student-chip small{color:var(--muted);font-size:8px}.lesson-student-chip strong{margin-top:2px;font-size:11px}.real-calendar-toolbar{grid-template-columns:1fr auto 1fr}.calendar-zone{color:var(--muted);justify-self:end;font-size:9px}.real-calendar-grid{grid-template-rows:repeat(24,24px)}.calendar-panel .time-axis{grid-template-rows:repeat(12,48px)}.calendar-empty{color:#a1a3aa;pointer-events:none;grid-area:1/1/25/8;justify-content:center;align-items:center;font-size:10px;display:flex}.upcoming-panel{margin-top:16px;overflow:hidden}.upcoming-list{padding:0 20px 16px}.upcoming-list>a{border-top:1px solid var(--line);grid-template-columns:44px 1fr auto 18px;align-items:center;gap:14px;min-height:70px;display:grid}.upcoming-list>a>span:nth-child(2){flex-direction:column;display:flex}.upcoming-list>a>span:nth-child(2) strong{font-size:11px}.upcoming-list>a>span:nth-child(2) small{color:var(--muted);margin-top:4px;font-size:9px}.upcoming-date{background:var(--purple-soft);color:var(--purple);border-radius:9px;flex-direction:column;justify-content:center;align-items:center;height:44px;display:flex}.upcoming-date strong{font-size:13px}.upcoming-date small{text-transform:uppercase;font-size:8px}.upcoming-time{color:var(--muted);font-size:10px}.assignment-builder-page{max-width:1050px}.assignment-builder{gap:18px;display:grid}.assignment-settings{padding:24px}.builder-section-head{justify-content:space-between;align-items:end;margin-top:7px;display:flex}.builder-section-head h2{margin:4px 0 0;font-size:20px}.builder-section-head>strong{color:var(--muted);font-size:10px}.question-editor-list{gap:14px;display:grid}.question-editor{border:1px solid var(--line);background:#fff;border-radius:14px;padding:21px;position:relative}.question-editor-head{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr auto 30px;align-items:center;gap:11px;margin-bottom:20px;padding-bottom:15px;display:grid}.question-number{background:var(--purple-soft);color:var(--purple);border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:850;display:flex}.question-editor-head>div{flex-direction:column;display:flex}.question-editor-head strong{font-size:11px}.question-editor-head small{color:var(--muted);margin-top:3px;font-size:8px}.points-field{color:var(--muted);align-items:center;gap:7px;font-size:9px;display:flex}.points-field input{border:1px solid var(--line);border-radius:8px;width:58px;height:34px;padding:0 7px}.question-editor .form-field textarea{min-height:76px}.field-hint{color:var(--muted);font-size:9px;line-height:1.4}.choice-editor,.matching-editor{gap:9px;margin-top:16px;display:grid}.editor-label{color:#4f5159;font-size:10px;font-weight:750}.choice-row{grid-template-columns:18px 1fr 30px;align-items:center;gap:9px;display:grid}.choice-row>input:last-of-type,.matching-row input{border:1px solid #dfe0e5;border-radius:9px;outline:0;width:100%;height:41px;padding:0 12px}.choice-row>input:last-of-type:focus,.matching-row input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #6f55d91a}.text-button{color:var(--purple);cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:5px;padding:5px 0;font-size:9px;font-weight:750;display:inline-flex}.matching-head,.matching-row{grid-template-columns:1fr 1fr 30px;gap:10px;display:grid}.matching-head span{color:var(--muted);font-size:8px}.question-type-mark{color:#aaa7b6;align-items:center;gap:5px;margin-top:17px;font-size:8px;display:flex}.question-add-panel{background:#f2f0fb;border:1px dashed #cfc8ed;border-radius:13px;align-items:center;gap:18px;margin-bottom:82px;padding:15px 18px;display:flex}.question-add-panel>span{color:#625a80;white-space:nowrap;font-size:10px;font-weight:750}.question-add-panel>div{flex-wrap:wrap;gap:7px;display:flex}.question-add-panel button{color:#5f5681;cursor:pointer;background:#fff;border:1px solid #ded9f1;border-radius:8px;align-items:center;gap:6px;height:34px;padding:0 10px;font-size:9px;font-weight:700;display:inline-flex}.builder-actions{border:1px solid var(--line);z-index:5;background:#fff;border-radius:13px;align-items:center;gap:9px;padding:13px 15px;display:flex;position:sticky;bottom:12px;box-shadow:0 8px 28px #28233c17}.builder-actions>div{flex-direction:column;flex:1;display:flex}.builder-actions strong{font-size:10px}.builder-actions span{color:var(--muted);margin-top:3px;font-size:8px}.assignment-template-toolbar{justify-content:flex-end;align-items:center;min-height:52px;margin-top:-70px;padding-bottom:18px;display:flex}.assignment-template-toolbar>span{color:var(--green);margin-right:12px;font-size:9px;font-weight:700}.assignment-template-toolbar .button{background:#ffffffeb;box-shadow:0 5px 18px #2d273d0f}.assignment-template-toolbar .button small{background:var(--purple-soft);color:var(--purple);border-radius:20px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:8px;font-weight:800;display:inline-flex}.assignment-template-backdrop{z-index:210;background:#231e2d5c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.assignment-template-dialog{background:#fff;border:1px solid #ded9e8;border-radius:19px;width:100%;max-width:610px;max-height:calc(100vh - 40px);padding:24px;overflow-y:auto;box-shadow:0 24px 80px #251c3f38}.assignment-template-library{max-width:760px}.assignment-template-dialog-head{justify-content:space-between;align-items:flex-start;display:flex}.assignment-template-dialog-head>div{align-items:center;gap:11px;display:flex}.assignment-template-dialog-head>div>span{background:var(--purple-soft);color:var(--purple);border-radius:10px;justify-content:center;align-items:center;width:39px;height:39px;display:flex}.assignment-template-dialog-head>div>div{flex-direction:column;display:flex}.assignment-template-dialog-head strong{font-size:13px}.assignment-template-dialog-head small{color:var(--muted);margin-top:3px;font-size:8px}.assignment-template-dialog-head>button{color:#696570;cursor:pointer;background:#f3f2f5;border:0;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.assignment-template-fields,.assignment-template-filters{grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;display:grid}.assignment-template-fields .form-field-wide{grid-column:1/-1}.assignment-template-filters{border:1px solid var(--line);background:#f8f7fa;border-radius:12px;margin-top:19px;padding:14px}.assignment-template-list{gap:9px;max-height:430px;margin-top:14px;padding-right:3px;display:grid;overflow-y:auto}.assignment-template-card{border:1px solid var(--line);color:inherit;cursor:pointer;text-align:left;background:#fff;border-radius:12px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:13px;transition:all .16s;display:grid}.assignment-template-card:hover{background:var(--purple-soft);border-color:#d8cff9;transform:translateY(-1px)}.assignment-template-card-icon{background:var(--purple-soft);color:var(--purple);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.assignment-template-card-copy{flex-direction:column;min-width:0;display:flex}.assignment-template-card-copy small{color:var(--purple);font-size:8px;font-weight:750}.assignment-template-card-copy strong{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;overflow:hidden}.assignment-template-card-copy>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:8px;overflow:hidden}.assignment-template-use{color:var(--purple);font-size:9px;font-weight:800}.assignment-template-empty{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:190px;padding:24px;display:flex}.assignment-template-empty svg{color:var(--purple)}.assignment-template-empty strong{color:var(--ink);margin-top:10px;font-size:12px}.assignment-template-empty span{max-width:340px;margin-top:5px;font-size:9px;line-height:1.6}.assignment-template-message{margin:15px 0 0}.assignment-template-dialog-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.assignment-real-list{overflow:hidden}.assignment-real-row{border-top:1px solid var(--line);grid-template-columns:40px minmax(180px,1.5fr) .8fr .8fr .8fr .6fr;align-items:center;gap:16px;min-height:78px;padding:0 20px;display:grid}.assignment-real-row:first-child{border-top:0}.assignment-real-row:hover{background:#fbfaff}.assignment-real-row>div{flex-direction:column;display:flex}.assignment-real-row strong{font-size:10px}.assignment-real-row small,.assignment-real-row .assignment-main span{color:var(--muted);margin-bottom:4px;font-size:8px}.status-published{background:var(--green-soft);color:var(--green)}.status-draft{color:#777a82;background:#f0f1f3}.status-closed{background:var(--coral-soft);color:var(--coral)}.assignment-detail-header{align-items:center}.assignment-detail-header>div{max-width:720px}.assignment-detail-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex;max-width:none!important}.assignment-detail-actions form{display:contents}.assignment-detail-actions .button{white-space:nowrap}.assignment-detail-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:15px;display:grid}.assignment-detail-stats article{border:1px solid var(--line);color:var(--purple);background:#fff;border-radius:12px;align-items:center;gap:11px;padding:15px;display:flex}.assignment-detail-stats article>div{flex-direction:column;display:flex}.assignment-detail-stats small{color:var(--muted);font-size:8px}.assignment-detail-stats strong{color:var(--ink);margin-top:3px;font-size:10px}.share-panel{grid-template-columns:.8fr 1.2fr;align-items:center;gap:24px;margin-bottom:15px;padding:22px;display:grid}.share-panel h2{margin:5px 0;font-size:16px}.share-panel p:not(.eyebrow){color:var(--muted);margin:0;font-size:9px}.share-link{grid-template-columns:1fr auto;gap:8px;display:grid}.share-link input{border:1px solid var(--line);color:#696b74;background:#f7f7f9;border-radius:9px;min-width:0;height:40px;padding:0 11px;font-size:9px}.group-share-panel{margin-bottom:15px;overflow:hidden}.group-share-list{border-top:1px solid var(--line);padding:0 20px 14px}.group-share-list article{border-top:1px solid var(--line);grid-template-columns:minmax(130px,.45fr) minmax(300px,1fr);align-items:center;gap:18px;min-height:68px;padding:10px 2px;display:grid}.group-share-list article:first-child{border-top:0}.group-share-list article>strong{font-size:10px}.groups-page{max-width:1260px}.group-manager{gap:28px;display:grid}.group-create-panel{overflow:hidden}.group-create-panel>.panel-heading{border-bottom:1px solid var(--line)}.group-card-icon{background:var(--purple-soft);color:var(--purple);border-radius:10px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.group-form{padding:20px 24px 23px}.group-form-fields{grid-template-columns:1fr 1fr;gap:15px;display:grid}.group-member-picker{border:0;margin:19px 0 0;padding:0}.group-member-picker legend{color:#4f5159;margin-bottom:9px;font-size:11px;font-weight:750}.group-member-picker>div{flex-wrap:wrap;gap:8px;display:flex}.group-member-picker label{cursor:pointer;position:relative}.group-member-picker input{opacity:0;pointer-events:none;position:absolute}.group-member-picker span{border:1px solid var(--line);color:#696c75;background:#f7f7f9;border-radius:20px;padding:8px 12px;font-size:9px;font-weight:700;transition:all .16s;display:inline-flex}.group-member-picker input:checked+span{background:var(--purple-soft);color:var(--purple-dark);border-color:#d8cff9}.group-form-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:18px;padding-top:16px;display:flex}.group-form-actions>span{color:var(--muted);font-size:9px}.group-list-heading h2{margin:4px 0 0;font-size:18px}.group-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.group-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:15px;padding:19px;overflow:hidden}.group-card-head{grid-template-columns:40px 1fr auto;align-items:center;gap:12px;display:grid}.group-card-head>div{flex-direction:column;display:flex}.group-card-head strong{font-size:13px}.group-card-head small{color:var(--muted);margin-top:3px;font-size:9px}.group-count{background:var(--coral-soft);color:var(--coral);border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;font-size:9px;font-weight:800;display:flex}.group-member-chips{flex-wrap:wrap;gap:6px;min-height:25px;margin:15px 0;display:flex}.group-member-chips>span{background:var(--surface-soft);color:#686b73;border-radius:20px;padding:6px 9px;font-size:8px}.group-editor{border-top:1px solid var(--line);margin:0 -19px -19px;padding:0 19px}.group-editor>summary{color:var(--purple);cursor:pointer;align-items:center;gap:6px;padding:14px 0;font-size:9px;font-weight:750;list-style:none;display:flex}.group-editor>summary::-webkit-details-marker{display:none}.group-edit-form{border-top:1px solid var(--line);margin:0 -19px;padding:18px 19px}.group-delete-form{border-top:1px solid var(--line);padding:10px 0 12px}.danger-text{color:var(--coral)}.group-empty{min-height:240px}.assignment-question-preview,.attempt-history{margin-bottom:15px;overflow:hidden}.assignment-question-preview>article{border-top:1px solid var(--line);grid-template-columns:32px 1fr 20px;align-items:center;gap:13px;min-height:66px;padding:0 20px;display:grid}.assignment-question-preview>article>span{background:var(--purple-soft);color:var(--purple);border-radius:8px;justify-content:center;align-items:center;height:28px;font-size:9px;font-weight:800;display:flex}.assignment-question-preview>article>div{flex-direction:column;display:flex}.assignment-question-preview small{color:var(--muted);font-size:8px}.assignment-question-preview strong{margin-top:4px;font-size:10px}.attempt-history>article{border-top:1px solid var(--line);grid-template-columns:35px 82px 1fr auto auto;align-items:center;gap:12px;min-height:68px;padding:0 20px;display:grid}.attempt-history>article span{color:var(--muted);font-size:9px}.attempt-history>article strong{font-size:12px}.attempt-history>article small,.attempt-history time{color:var(--muted);font-size:8px}.attempt-history>article .button{min-height:34px;padding:0 12px}.edit-locked-panel{text-align:center;flex-direction:column;align-items:center;padding:42px 28px;display:flex}.edit-locked-panel h2{margin:13px 0 7px}.edit-locked-panel p{color:var(--muted);max-width:620px;margin:0 auto 18px;font-size:10px;line-height:1.6}.public-work-page{background:#f7f7fa;min-height:100vh}.public-work-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:66px;padding:0 max(24px,50vw - 425px);display:flex}.public-work-header .brand{padding:0;font-size:17px}.public-work-header .brand-mark{width:34px;height:34px}.public-work-header>span{color:var(--muted);font-size:9px;font-weight:700}.public-work-wrap{max-width:850px;margin:0 auto;padding:45px 22px 80px}.work-intro{text-align:center;margin-bottom:27px}.work-intro h1{letter-spacing:-1px;margin:8px 0 10px;font-size:32px}.work-intro>p:not(.eyebrow){color:var(--muted);max-width:620px;margin:0 auto;font-size:12px;line-height:1.6}.work-student-badge{border:1px solid var(--line);background:#fff;border-radius:40px;align-items:center;gap:9px;margin-bottom:20px;padding:6px 14px 6px 6px;display:inline-flex}.work-student-badge>span{background:var(--purple);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:9px;font-weight:800;display:flex}.work-student-badge>div{text-align:left;flex-direction:column;display:flex}.work-student-badge small{color:var(--muted);font-size:7px}.work-student-badge strong{margin-top:2px;font-size:9px}.work-meta{justify-content:center;gap:17px;margin-top:18px;display:flex}.work-meta span{color:#777982;align-items:center;gap:6px;font-size:9px;display:flex}.attempt-form{gap:14px;display:grid}.attempt-question{border:1px solid var(--line);background:#fff;border-radius:14px;padding:22px}.attempt-question-head{justify-content:space-between;align-items:center;display:flex}.attempt-question-head>span{background:var(--purple-soft);color:var(--purple);border-radius:9px;justify-content:center;align-items:center;width:31px;height:31px;font-size:10px;font-weight:850;display:flex}.attempt-question-head>div{gap:8px;display:flex}.attempt-question-head small,.attempt-question-head strong{font-size:8px}.attempt-question-head small{color:var(--muted)}.attempt-question h2{margin:18px 0;font-size:14px;line-height:1.45}.attempt-choices{gap:8px;display:grid}.attempt-choices label{cursor:pointer;background:#fafafa;border:1px solid #e8e8ec;border-radius:10px;align-items:center;gap:10px;min-height:44px;padding:8px 12px;display:flex}.attempt-choices label:has(input:checked){background:var(--purple-soft);border-color:#cec5ef}.attempt-choices span{font-size:10px}.attempt-text-answer,.fill-blank-question input,.attempt-matching select,.attempt-long-answer{background:#fff;border:1px solid #dfe0e5;border-radius:9px;outline:0;padding:0 11px}.attempt-text-answer,.fill-blank-question input,.attempt-matching select{height:42px}.attempt-text-answer{width:100%}.attempt-long-answer{resize:vertical;width:100%;min-height:150px;padding:12px;line-height:1.6}.attempt-text-answer:focus,.fill-blank-question input:focus,.attempt-matching select:focus,.attempt-long-answer:focus{border-color:var(--purple);box-shadow:0 0 0 3px #6f55d91a}.fill-blank-question{margin-top:12px;font-size:14px;font-weight:650;line-height:3.5}.fill-blank-question input{text-align:center;width:145px;margin:0 6px;font-size:11px}.attempt-matching{gap:8px;margin-top:18px;display:grid}.attempt-matching label{background:#fafafa;border-radius:10px;grid-template-columns:1fr 18px 1fr;align-items:center;gap:10px;padding:8px 10px;display:grid}.attempt-matching strong{font-size:10px}.attempt-matching svg{color:var(--muted)}.attempt-submit-panel{color:#fff;background:#282436;border-radius:14px;justify-content:space-between;align-items:center;margin-top:4px;padding:17px 19px;display:flex}.attempt-submit-panel>div{align-items:center;gap:10px;display:flex}.attempt-submit-panel>div>span{flex-direction:column;display:flex}.attempt-submit-panel strong{font-size:10px}.attempt-submit-panel small{color:#b9b5c5;margin-top:3px;font-size:8px}.work-result{border:1px solid var(--line);text-align:center;background:#fff;border-radius:18px;padding:40px}.result-icon{background:var(--purple-soft);color:var(--purple);border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;display:inline-flex}.work-result h1{color:var(--purple);letter-spacing:-2px;margin:10px 0 0;font-size:56px}.work-result.pending-review h1{letter-spacing:-1px;font-size:38px}.work-result h2{margin:2px 0 9px;font-size:19px}.work-result>p:not(.eyebrow):not(.result-finished){color:var(--muted);font-size:11px}.result-progress{background:#ececf1;border-radius:10px;max-width:520px;height:9px;margin:25px auto;overflow:hidden}.result-progress span{background:linear-gradient(90deg, var(--purple), #8d77e6);border-radius:inherit;height:100%;display:block}.result-breakdown{border:1px solid var(--line);text-align:left;border-radius:12px;max-width:650px;margin:25px auto;overflow:hidden}.result-breakdown article{border-top:1px solid var(--line);grid-template-columns:28px 1fr auto;align-items:center;gap:11px;min-height:61px;padding:10px 14px;display:grid}.result-breakdown article:first-child{border-top:0}.result-breakdown article>span{border-radius:8px;justify-content:center;align-items:center;height:28px;display:flex}.result-breakdown .correct>span{background:var(--green-soft);color:var(--green)}.result-breakdown .incorrect>span{background:var(--coral-soft);color:var(--coral)}.result-breakdown .pending>span{background:var(--purple-soft);color:var(--purple)}.result-breakdown article>div{flex-direction:column;display:flex}.result-breakdown small{color:var(--muted);font-size:8px}.result-breakdown strong{margin-top:3px;font-size:9px}.result-breakdown article p{color:var(--purple);margin:5px 0 0;font-size:8px}.result-breakdown b{text-align:right;font-size:10px}.result-breakdown .pending b{color:var(--purple);font-size:8px}.result-retry{margin:0 auto}.result-finished{color:var(--muted);background:#f6f6f8;border-radius:9px;margin:0;padding:10px 14px;font-size:9px;display:inline-block}.review-page{max-width:1050px}.review-answer-list{gap:14px;display:grid}.review-answer{border:1px solid var(--line);background:#fff;border-radius:14px;padding:20px;overflow:hidden}.review-answer.manual{border-color:#d7cff4;box-shadow:0 6px 20px #513ca00f}.review-answer-head{grid-template-columns:32px 1fr auto;align-items:center;gap:12px;display:grid}.review-answer-head>span{background:var(--purple-soft);color:var(--purple);border-radius:8px;justify-content:center;align-items:center;height:30px;font-size:9px;font-weight:800;display:flex}.review-answer-head>div{flex-direction:column;display:flex}.review-answer-head small{color:var(--muted);font-size:8px}.review-answer-head strong{margin-top:3px;font-size:11px}.auto-score{background:var(--green-soft);color:var(--green);border-radius:20px;align-items:center;gap:5px;padding:7px 10px;font-size:9px;display:flex}.review-response,.review-correct{background:#f8f8fa;border-radius:10px;margin-top:16px;padding:13px 15px}.review-response small,.review-correct small{color:var(--muted);font-size:8px}.review-response p,.review-correct p{white-space:pre-wrap;margin:5px 0 0;font-size:10px;line-height:1.6}.review-correct{background:var(--green-soft)}.manual-review-fields{grid-template-columns:125px 1fr;align-items:start;gap:14px;margin-top:16px;display:grid}.manual-review-fields textarea{min-height:86px}.points-review-field input{font-size:17px;font-weight:800}.review-submit-panel{border:1px solid var(--line);z-index:5;background:#fff;border-radius:13px;justify-content:space-between;align-items:center;margin-top:18px;padding:14px 16px;display:flex;position:sticky;bottom:12px;box-shadow:0 8px 28px #28233c17}.review-submit-panel>div{flex-direction:column;display:flex}.review-submit-panel strong{font-size:10px}.review-submit-panel span{color:var(--muted);margin-top:3px;font-size:8px}.materials-page{max-width:1320px}.material-upload-form{grid-template-columns:1.15fr 1.35fr 1fr 1.25fr 1fr auto;align-items:end;gap:14px;margin-bottom:16px;padding:20px;display:grid}.material-upload-intro{align-items:center;gap:12px;display:flex}.material-upload-intro>span{background:var(--purple-soft);color:var(--purple);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.material-upload-intro h2{margin:3px 0;font-size:14px}.material-upload-intro p:last-child{color:var(--muted);margin:0;font-size:8px}.material-file-field input{padding:7px;font-size:9px}.material-file-field input::file-selector-button{background:var(--purple-soft);color:var(--purple);cursor:pointer;border:0;border-radius:7px;height:30px;margin-right:8px;padding:0 10px;font-size:9px;font-weight:750}.material-upload-button{white-space:nowrap}.material-upload-message{grid-column:2/-1;margin:0}.materials-no-students{min-height:170px;margin-bottom:16px}.material-library-panel{overflow:hidden}.material-library-empty{min-height:280px}.real-material-list{border-top:1px solid var(--line)}.real-material-list article{border-top:1px solid var(--line);grid-template-columns:42px minmax(190px,1.5fr) 1fr 1.2fr auto auto;align-items:center;gap:14px;min-height:74px;padding:10px 22px;display:grid}.real-material-list article:first-child{border-top:0}.real-material-icon{background:var(--purple-soft);color:var(--purple);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.real-material-copy,.real-material-list article>div:not(.real-material-copy){flex-direction:column;min-width:0;display:flex}.real-material-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.real-material-list strong{font-size:10px}.real-material-list small,.real-material-list span,.real-material-list time{color:var(--muted);font-size:8px}.real-material-copy span{margin-top:4px}.assignment-materials-panel{margin-bottom:15px;overflow:hidden}.assignment-materials-panel>article{border-top:1px solid var(--line);grid-template-columns:36px 1fr auto;align-items:center;gap:12px;min-height:62px;padding:8px 20px;display:grid}.assignment-materials-panel>article>span{background:var(--amber-soft);color:var(--amber);border-radius:9px;justify-content:center;align-items:center;height:34px;display:flex}.assignment-materials-panel>article>div{flex-direction:column;display:flex}.assignment-materials-panel>article strong{font-size:10px}.assignment-materials-panel>article small{color:var(--muted);margin-top:3px;font-size:8px}.student-portal-page{background:#f6f7fa;min-height:100vh}.student-portal-header{border-bottom:1px solid var(--line);z-index:10;background:#fffffff5;justify-content:space-between;align-items:center;height:68px;padding:0 max(24px,50vw - 560px);display:flex;position:sticky;top:0}.student-portal-header .brand{padding:0;font-size:18px}.student-portal-header .brand-mark{width:35px;height:35px}.student-portal-header>span{color:var(--muted);font-size:10px;font-weight:700}.student-portal-wrap{max-width:1120px;margin:0 auto;padding:36px 22px 70px}.student-portal-hero{color:#fff;background:linear-gradient(135deg,#302a45,#514271);border-radius:19px;align-items:center;gap:18px;min-height:150px;margin-bottom:15px;padding:27px 31px;display:flex;position:relative;overflow:hidden}.student-portal-hero:after{content:"";background:radial-gradient(circle,#ffffff29,#0000 68%);width:280px;height:280px;position:absolute;top:-130px;right:-60px}.portal-avatar{background:#ffffff29;border:1px solid #fff3;border-radius:19px;justify-content:center;align-items:center;width:68px;height:68px;font-size:20px;font-weight:850;display:flex}.student-portal-hero h1{letter-spacing:-.8px;margin:5px 0 6px;font-size:29px}.student-portal-hero>div>p:not(.eyebrow){color:#d7d2e5;margin:0;font-size:11px}.student-portal-hero .eyebrow{color:#cfc4ff}.portal-stat-grid{grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:15px;display:grid}.portal-stat-grid article{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:42px 1fr;align-items:center;gap:12px;min-height:83px;padding:14px 16px;display:grid}.portal-stat-grid article>div{flex-direction:column;display:flex}.portal-stat-grid strong{font-size:19px}.portal-stat-grid small{color:var(--muted);margin-top:2px;font-size:9px}.student-portal-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:start;gap:15px;display:grid}.portal-assignment-panel,.portal-lessons-panel{overflow:hidden}.portal-assignment-list{border-top:1px solid var(--line)}.portal-assignment-row{border-top:1px solid var(--line);grid-template-rows:auto auto;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:82px;padding:13px 21px;display:grid}.portal-assignment-row:first-child{border-top:0}.portal-assignment-row:hover{background:#fbfaff}.portal-assignment-row.is-closed{background:#fafafa}.portal-assignment-icon{border-radius:11px;grid-row:1/3;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.portal-assignment-icon.todo{background:var(--purple-soft);color:var(--purple)}.portal-assignment-icon.pending{background:var(--coral-soft);color:var(--coral)}.portal-assignment-icon.reviewed{background:var(--green-soft);color:var(--green)}.portal-assignment-icon.closed{color:#8b8d94;background:#eff0f2}.portal-assignment-copy{flex-direction:column;grid-row:1/3;min-width:0;display:flex}.portal-assignment-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.portal-assignment-copy span{color:var(--muted);margin-top:5px;font-size:8px}.portal-status{white-space:nowrap;border-radius:20px;padding:5px 8px;font-size:8px;font-weight:750}.portal-status-todo{background:var(--purple-soft);color:var(--purple)}.portal-status-review{background:var(--coral-soft);color:var(--coral)}.portal-status-done{background:var(--green-soft);color:var(--green)}.portal-status-closed{color:#85878e;background:#eff0f2}.portal-assignment-row>svg{display:none}.attempts-left{color:var(--muted);grid-column:3;justify-self:end;font-size:7px}.portal-empty{min-height:260px}.portal-side-stack{gap:15px;display:grid}.portal-lesson-list{border-top:1px solid var(--line);padding:0 18px 12px}.portal-lesson-list article{border-top:1px solid var(--line);grid-template-columns:42px 1fr 30px;align-items:center;gap:11px;min-height:68px;display:grid}.portal-lesson-list article:first-child{border-top:0}.portal-lesson-date{background:var(--blue-soft);color:var(--blue);border-radius:9px;flex-direction:column;justify-content:center;align-items:center;height:42px;display:flex}.portal-lesson-date strong{font-size:13px}.portal-lesson-date small{text-transform:uppercase;font-size:7px}.portal-lesson-list article>div{flex-direction:column;display:flex}.portal-lesson-list article>div strong{font-size:10px}.portal-lesson-list article>div span{color:var(--muted);margin-top:4px;font-size:8px}.portal-materials-panel{overflow:hidden}.portal-material-list{border-top:1px solid var(--line);padding:0 16px 10px}.portal-material-list a{border-top:1px solid var(--line);grid-template-columns:32px 1fr 18px;align-items:center;gap:10px;min-height:58px;display:grid}.portal-material-list a:first-child{border-top:0}.portal-material-list a>span{background:var(--amber-soft);color:var(--amber);border-radius:8px;justify-content:center;align-items:center;height:31px;display:flex}.portal-material-list a>div{flex-direction:column;min-width:0;display:flex}.portal-material-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.portal-material-list small{color:var(--muted);margin-top:3px;font-size:7px}.portal-material-list a>svg{color:var(--muted)}.portal-material-empty{min-height:170px}@media (max-width:1150px){.page-wrap{padding-left:27px;padding-right:27px}.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.side-stack,.folder-grid{grid-template-columns:repeat(2,1fr)}.material-upload-form{grid-template-columns:repeat(3,1fr)}.material-upload-intro{grid-column:1/-1}.material-file-field{grid-column:span 2}.material-upload-button{width:100%}.real-material-list{overflow-x:auto}.real-material-list article{min-width:900px}.assignment-row{grid-template-columns:40px 1.5fr 1fr .7fr .8fr 30px}.assignment-row>div:nth-of-type(3){display:none}}@media (max-width:900px){.student-portal-grid{grid-template-columns:1fr}.portal-side-stack{grid-template-columns:1fr 1fr}.group-card-grid{grid-template-columns:1fr}}@media (max-width:760px){body{padding-bottom:68px}.sidebar{display:none}.mobile-header{border-bottom:1px solid var(--line);z-index:20;background:#fffffff0;justify-content:space-between;align-items:center;height:64px;padding:0 18px;display:flex;position:sticky;top:0;left:0;right:0}.mobile-header .brand{padding:0;font-size:18px}.mobile-header .brand-mark{width:34px;height:34px}.mobile-nav{border-top:1px solid var(--line);padding:8px 5px max(8px, env(safe-area-inset-bottom));z-index:30;background:#fffffff7;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav a{color:#92949c;flex-direction:column;align-items:center;gap:3px;font-size:8px;display:flex}.mobile-nav a.active{color:var(--purple)}.main-content{margin-left:0}.page-wrap{padding:25px 15px 35px}.page-header{flex-direction:column;align-items:flex-start;gap:17px}.page-header h1{font-size:25px}.header-actions{width:100%}.header-actions .button{flex:1}.stat-grid{grid-template-columns:1fr 1fr}.stat-card{grid-template-columns:37px 1fr;gap:9px;min-height:85px;padding:12px}.stat-card .stat-icon{width:37px;height:37px}.stat-card .trend{display:none}.stat-card>div strong{font-size:18px}.side-stack{grid-template-columns:1fr}.lesson-row{grid-template-columns:43px 7px 34px 1fr 26px;gap:8px;min-height:76px}.lesson-row .avatar{width:34px;height:34px}.lesson-status{display:none}.table-panel{overflow-x:auto}.student-table{min-width:720px}.assignment-summary{grid-template-columns:1fr}.assignment-list{min-width:760px}.assignment-row{grid-template-columns:40px 1.5fr 1fr .7fr .8fr 30px}.folder-grid{grid-template-columns:1fr 1fr;padding:14px}.toolbar{padding:12px}.search-box{width:68%}.material-upload-form{grid-template-columns:1fr;align-items:stretch;padding:17px}.material-upload-intro,.material-file-field,.material-upload-message{grid-column:auto}.real-material-list article{min-width:760px}.calendar-panel{overflow-x:auto}.calendar-toolbar{min-width:760px}.week-calendar{min-width:830px}.settings-grid{grid-template-columns:1fr}.auth-page{min-height:calc(100vh - 68px);display:block}.auth-card{min-height:calc(100vh - 68px);padding:115px 24px 48px}.auth-brand{top:28px;left:24px}.auth-aside{display:none}.form-grid{grid-template-columns:1fr}.form-field-wide{grid-column:auto}.student-form{padding:20px}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}.student-profile-hero{grid-template-columns:auto 1fr;align-items:start;padding:19px}.profile-avatar-large{border-radius:15px;width:54px;height:54px}.student-profile-actions{grid-column:1/-1;width:100%}.student-profile-actions .button,.student-profile-actions form{flex:1}.student-profile-actions form .button{width:100%}.student-portal-panel{grid-template-columns:46px 1fr;align-items:start;padding:18px}.student-portal-link{grid-column:1/-1;width:100%}.student-portal-link>div{flex-direction:column;align-items:flex-start;gap:8px}.student-detail-grid{grid-template-columns:1fr}.student-payment-panel{grid-template-columns:42px minmax(0,1fr);align-items:start}.student-payment-panel .button{grid-column:1/-1;width:100%}.student-payment-total{border-left:0;border-top:1px solid var(--line);grid-column:1/-1;padding:12px 0 0}.student-payment-icon{width:42px;height:42px}.payment-page-metrics{grid-template-columns:1fr}.payment-ledger-heading{flex-direction:column;align-items:flex-start}.payment-entry-list{padding:0 13px 12px}.payment-entry{grid-template-columns:38px 7px minmax(0,1fr) auto;gap:9px;padding:11px 2px}.payment-entry-date{width:38px;height:42px}.payment-entry-status{grid-column:3/-1;align-items:flex-start}.payment-entry-actions{flex-wrap:wrap}.payment-entry-amount{grid-area:1/4}.payment-history summary{padding:0 17px}.archive-zone{flex-direction:column;align-items:flex-start;gap:15px}.archive-zone form,.archive-zone .button{width:100%}.upcoming-list>a{grid-template-columns:42px 1fr 18px}.upcoming-time{display:none}.question-editor{padding:17px}.question-editor-head{grid-template-columns:32px 1fr auto 28px}.points-field span{display:none}.question-add-panel{flex-direction:column;align-items:flex-start}.question-add-panel>div{grid-template-columns:1fr 1fr;width:100%;display:grid}.question-add-panel button{justify-content:center}.assignment-template-toolbar{flex-direction:column-reverse;align-items:stretch;gap:8px;margin-top:0;padding-bottom:0}.assignment-template-toolbar>span{text-align:center;margin:0}.assignment-template-toolbar .button{width:100%}.assignment-template-dialog{max-height:calc(100vh - 24px);padding:18px}.assignment-template-fields,.assignment-template-filters{grid-template-columns:1fr}.assignment-template-fields .form-field-wide{grid-column:auto}.assignment-template-card{grid-template-columns:38px minmax(0,1fr)}.assignment-template-card-icon{width:38px;height:38px}.assignment-template-use{grid-column:2}.assignment-template-dialog-actions .button{flex:1}.builder-actions{flex-direction:column;align-items:stretch}.builder-actions>div{display:none}.builder-actions .button{width:100%}.assignment-real-list{overflow-x:auto}.assignment-real-row{min-width:720px}.assignment-detail-stats{grid-template-columns:1fr}.assignment-detail-actions{justify-content:stretch;width:100%}.assignment-detail-actions .button{flex:1}.share-panel,.share-link{grid-template-columns:1fr}.share-link .button{width:100%}.attempt-history>article{grid-template-columns:30px 1fr auto;padding:10px 14px}.attempt-history>article small{grid-column:2}.attempt-history>article time{display:none}.attempt-history>article .button{grid-area:1/3/3}.group-form{padding:17px}.group-form-fields{grid-template-columns:1fr}.group-form-actions{flex-direction:column;align-items:stretch;gap:12px}.group-form-actions .button{width:100%}.group-share-list{padding:0 14px 12px}.group-share-list article{grid-template-columns:1fr;align-items:stretch}.group-share-list .share-link{width:100%}.public-work-header{padding:0 16px}.public-work-wrap{padding:28px 13px 55px}.work-intro h1{font-size:26px}.work-meta{flex-direction:column;align-items:center;gap:8px}.attempt-question{padding:17px}.attempt-submit-panel{flex-direction:column;align-items:stretch;gap:14px}.attempt-submit-panel .button{width:100%}.attempt-matching label{grid-template-columns:1fr}.attempt-matching svg{transform:rotate(90deg)}.work-result{padding:28px 16px}.work-result h1{font-size:48px}.manual-review-fields{grid-template-columns:1fr}.review-submit-panel{flex-direction:column;align-items:stretch;gap:12px}.review-submit-panel .button{width:100%}.student-portal-header{padding:0 16px}.student-portal-wrap{padding:22px 13px 50px}.student-portal-hero{align-items:flex-start;padding:23px 20px}.portal-avatar{border-radius:14px;width:52px;height:52px}.student-portal-hero h1{font-size:23px}.portal-stat-grid{grid-template-columns:1fr}.portal-stat-grid article{min-height:72px}.portal-side-stack{grid-template-columns:1fr}.portal-assignment-row{grid-template-columns:38px minmax(0,1fr);gap:9px;padding:13px 14px}.portal-assignment-icon{grid-row:1/3;width:38px;height:38px}.portal-assignment-copy{grid-area:1/2}.portal-status{grid-area:2/2;justify-self:start}.attempts-left{display:none}}@media (max-width:430px){.stat-grid,.folder-grid{grid-template-columns:1fr}.mini-metrics{padding:0 10px}}.notification-settings-panel{margin-bottom:22px;padding:24px}.telegram-bot-status{border-radius:20px;align-items:center;gap:5px;padding:7px 10px;font-size:8px;font-weight:800;display:inline-flex}.telegram-bot-status.is-ready{background:var(--green-soft);color:var(--green)}.telegram-bot-status.is-draft{background:var(--coral-soft);color:var(--coral)}.notification-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.notification-summary article{color:var(--purple);background:#faf9fc;border:1px solid #e7e3ed;border-radius:13px;align-items:center;gap:11px;padding:13px 15px;display:flex}.notification-summary article div{flex-direction:column;display:flex}.notification-summary article strong{color:var(--ink);font-size:17px}.notification-summary article small{color:var(--muted);margin-top:2px;font-size:8px}.notification-settings-form{border-top:1px solid var(--line);padding-top:18px}.settings-switch-row{cursor:pointer;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:12px;display:grid}.settings-switch-row>input{opacity:0;width:1px;height:1px;position:absolute}.settings-switch{background:#d9d5df;border-radius:20px;width:40px;height:23px;padding:3px;transition:all .18s}.settings-switch:after{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:all .18s;display:block;box-shadow:0 1px 4px #251e3638}.settings-switch-row>input:checked+.settings-switch{background:var(--purple)}.settings-switch-row>input:checked+.settings-switch:after{transform:translate(17px)}.settings-switch-row>input:focus-visible+.settings-switch{box-shadow:0 0 0 3px #6c4fd32b}.settings-switch-row>span:last-child{flex-direction:column;display:flex}.settings-switch-row strong{font-size:10px}.settings-switch-row small{color:var(--muted);margin-top:3px;font-size:8px;line-height:1.5}.notification-time-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:17px;padding-left:52px;display:grid}.notification-time-options label{border:1px solid var(--line);cursor:pointer;background:#fafafa;border-radius:11px;align-items:flex-start;gap:9px;padding:12px;display:flex}.notification-time-options input{accent-color:var(--purple);margin-top:2px}.notification-time-options span{flex-direction:column;display:flex}.notification-time-options strong{font-size:9px}.notification-time-options small{color:var(--muted);margin-top:3px;font-size:7px}.telegram-setup-note{color:#8a6335;background:#fff8ef;border:1px solid #f2dfc3;border-radius:11px;align-items:flex-start;gap:8px;margin:16px 0 0 52px;padding:11px 12px;font-size:8px;line-height:1.55;display:flex}.telegram-setup-note svg{flex:none}.settings-form-actions{justify-content:space-between;align-items:center;gap:18px;margin-top:18px;display:flex}.settings-form-actions>span{color:var(--muted);font-size:8px}.secondary-settings-grid{margin-top:0}.settings-navigation-grid{margin-bottom:22px}.settings-card{transition:border-color .18s,box-shadow .18s,transform .18s}.settings-card.is-active:hover{border-color:color-mix(in srgb, var(--purple) 34%, var(--line));box-shadow:0 8px 24px var(--accent-shadow);transform:translateY(-1px)}.settings-card.is-active>svg{color:var(--purple)}.settings-card.is-unavailable{cursor:default;opacity:.68}.settings-card.is-unavailable em{color:#8b8e96;background:#f1f2f4;border-radius:20px;padding:5px 7px;font-size:7px;font-style:normal;font-weight:750}.workspace-storage-panel,.appearance-settings-panel{margin-bottom:22px;scroll-margin-top:22px}.workspace-storage-panel .panel-heading,.appearance-settings-panel .panel-heading{padding-bottom:19px}.appearance-settings-panel .panel-heading>svg{color:var(--purple)}.storage-limit-badge{background:var(--purple-soft);color:var(--purple-dark);border-radius:20px;padding:7px 10px;font-size:8px;font-weight:800}.storage-usage-summary{border:1px solid var(--line);background:#f8f9fa;border-radius:14px;grid-template-columns:minmax(170px,.65fr) minmax(280px,1.35fr);align-items:center;gap:26px;margin:0 24px;padding:18px 20px;display:grid}.storage-usage-copy{flex-direction:column;display:flex}.storage-usage-copy strong{color:var(--ink);letter-spacing:-.6px;font-size:24px}.storage-usage-copy strong span{color:var(--muted);font-size:14px;font-weight:650}.storage-usage-copy small{color:var(--muted);margin-top:5px;font-size:8px}.storage-battery{grid-template-columns:minmax(0,1fr) 5px;align-items:center;gap:4px;min-width:0;display:grid}.storage-battery-body{background:#e5e7ea;border:2px solid #cbd0d5;border-radius:8px;height:32px;padding:3px;overflow:hidden}.storage-battery-body>span{background:var(--green);border-radius:4px;min-width:0;height:100%;transition:width .25s;display:block}.storage-battery>i{background:#cbd0d5;border-radius:0 3px 3px 0;width:5px;height:13px}.storage-battery.is-warning .storage-battery-body>span{background:var(--amber)}.storage-battery.is-critical .storage-battery-body>span{background:var(--coral)}.storage-breakdown{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 24px 0;display:grid}.storage-breakdown article{border:1px solid var(--line);border-radius:12px;grid-template-columns:37px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 13px;display:grid}.storage-breakdown-icon{background:var(--purple-soft);color:var(--purple);border-radius:10px;justify-content:center;align-items:center;width:37px;height:37px;display:flex}.storage-breakdown article>div{flex-direction:column;min-width:0;display:flex}.storage-breakdown strong{font-size:9px}.storage-breakdown small{color:var(--muted);margin-top:3px;font-size:7px}.storage-breakdown b{color:#555962;white-space:nowrap;font-size:9px}.storage-policy-note{border-top:1px solid var(--line);color:var(--muted);margin:16px 24px 0;padding:14px 0 20px;font-size:8px;line-height:1.55}.appearance-description{color:var(--muted);margin:-7px 24px 16px;font-size:9px;line-height:1.55}.color-scheme-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 24px 24px;display:grid}.color-scheme-grid form{min-width:0}.color-scheme-option{--scheme-accent:#17b198;--scheme-soft:#e3f7f3;border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:13px;grid-template-columns:45px minmax(0,1fr) 22px;align-items:center;gap:10px;width:100%;min-height:76px;padding:11px;transition:all .18s;display:grid}.color-scheme-option.scheme-teal{--scheme-accent:#17b198;--scheme-soft:#e3f7f3}.color-scheme-option.scheme-purple{--scheme-accent:#7b5ce1;--scheme-soft:#f0ecff}.color-scheme-option.scheme-green{--scheme-accent:#2f926b;--scheme-soft:#e5f5ed}.color-scheme-option:hover{border-color:color-mix(in srgb, var(--scheme-accent) 38%, var(--line));transform:translateY(-1px)}.color-scheme-option.is-selected{background:var(--scheme-soft);border-color:var(--scheme-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--scheme-accent) 13%, transparent)}.color-scheme-preview{border:1px solid color-mix(in srgb, var(--scheme-accent) 18%, var(--line));background:#fff;border-radius:10px;justify-content:center;align-items:flex-end;gap:3px;width:45px;height:45px;padding:8px;display:flex}.color-scheme-preview i{background:var(--scheme-accent);border-radius:3px;width:7px;display:block}.color-scheme-preview i:first-child{opacity:.42;height:15px}.color-scheme-preview i:nth-child(2){height:25px}.color-scheme-preview i:nth-child(3){opacity:.7;height:20px}.color-scheme-option>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.color-scheme-option strong{font-size:9px}.color-scheme-option small{color:var(--muted);margin-top:3px;font-size:7px;line-height:1.4}.color-scheme-check{background:var(--scheme-accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.color-scheme-option:not(.is-selected) .color-scheme-check{background:#f0f1f3}.telegram-connect-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:15px;display:grid}.telegram-connect-card{background:linear-gradient(135deg,#eff8ff,#f7fbff);border:1px solid #cfe6f7;border-radius:15px;grid-template-columns:43px minmax(0,1fr);align-items:center;gap:13px;padding:15px 18px;display:grid}.telegram-connect-card .button{grid-column:1/-1;width:100%}.telegram-connect-card>span{color:#fff;background:#229ed9;border-radius:12px;justify-content:center;align-items:center;width:43px;height:43px;display:flex}.telegram-connect-card.is-connected{background:linear-gradient(135deg,#f0faf6,#f8fcfa);border-color:#cde9dc}.telegram-connect-card.is-connected>span{background:var(--green)}.telegram-connect-card>div{flex-direction:column;min-width:0;display:flex}.telegram-connect-card strong{font-size:10px}.telegram-connect-card p{color:var(--muted);margin:4px 0 0;font-size:8px;line-height:1.45}.telegram-connect-card small{color:var(--coral);margin-top:4px;font-size:8px}.board-create-panel{margin-bottom:24px;padding:24px}.board-create-fields{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:14px;display:grid}.board-create-form{flex-direction:column;gap:18px;display:flex}.board-create-form select{border:1px solid var(--line);color:var(--ink);font:inherit;background:#fff;border-radius:10px;width:100%;min-height:42px;padding:0 12px}.board-save-choice{cursor:pointer;background:#faf9fc;border:1px solid #e6e2ed;border-radius:13px;align-items:center;gap:12px;padding:14px 16px;display:flex}.board-save-choice>input{opacity:0;width:1px;height:1px;position:absolute}.board-save-choice-control{background:#d9d5df;border-radius:20px;flex:0 0 38px;height:22px;padding:3px;transition:all .18s}.board-save-choice-control:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .18s;display:block;box-shadow:0 1px 4px #251e3638}.board-save-choice>input:checked+.board-save-choice-control{background:var(--purple)}.board-save-choice>input:checked+.board-save-choice-control:after{transform:translate(16px)}.board-save-choice>input:focus-visible+.board-save-choice-control{box-shadow:0 0 0 3px #6c4fd32e}.board-save-choice>span:last-child{flex-direction:column;display:flex}.board-save-choice strong{align-items:center;gap:6px;font-size:10px;display:flex}.board-save-choice small{color:var(--muted);margin-top:4px;font-size:8px;line-height:1.45}.board-create-actions{justify-content:space-between;align-items:center;gap:18px;display:flex}.board-create-actions p{color:var(--muted);max-width:560px;margin:0;font-size:8px;line-height:1.5}.boards-list-section{margin-top:30px}.boards-list-heading{justify-content:space-between;align-items:end;margin-bottom:13px;display:flex}.boards-list-heading h2{margin:4px 0 0;font-size:18px}.board-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.board-card{border:1px solid var(--line);color:inherit;background:#fff;border-radius:14px;grid-template-columns:42px minmax(0,1fr) auto 20px;align-items:center;gap:12px;min-height:90px;padding:15px 16px;transition:all .16s;display:grid}.board-card:hover{border-color:#cfc4e8;transform:translateY(-1px);box-shadow:0 9px 24px #33284e14}.board-card-icon{background:var(--purple-soft);color:var(--purple);border-radius:11px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.board-card-copy{flex-direction:column;min-width:0;display:flex}.board-card-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.board-card-copy span{color:var(--muted);margin-top:4px;font-size:8px}.board-card-copy small{color:#96919c;align-items:center;gap:4px;margin-top:7px;font-size:7px;display:flex}.board-persistence-badge{white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:6px 8px;font-size:7px;font-weight:750;display:flex}.board-persistence-badge.is-on{background:var(--green-soft);color:var(--green)}.board-persistence-badge.is-off{color:#77727e;background:#f0eef3}.boards-empty,.board-target-empty{min-height:200px}.portal-boards-panel{overflow:hidden}.portal-board-list{border-top:1px solid var(--line)}.portal-board-list>a{border-top:1px solid var(--line);color:inherit;grid-template-columns:34px minmax(0,1fr) auto 16px;align-items:center;gap:9px;padding:12px 17px;display:grid}.portal-board-list>a:first-child{border-top:0}.portal-board-list>a:hover{background:#fbfaff}.portal-board-list>a>span{background:var(--purple-soft);color:var(--purple);border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.portal-board-list>a>div{flex-direction:column;min-width:0;display:flex}.portal-board-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.portal-board-list small{color:var(--muted);margin-top:3px;font-size:7px}.portal-board-list em{white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:5px 7px;font-size:7px;font-style:normal;font-weight:750;display:flex}.portal-board-list em.is-on{background:var(--green-soft);color:var(--green)}.portal-board-list em.is-off{color:#77727e;background:#f0eef3}.portal-board-empty{min-height:150px}.lesson-board-page{color:#292631;z-index:100;background:#f9f9fb;position:fixed;inset:0;overflow:hidden}.board-header{z-index:12;background:#fffffff7;border-bottom:1px solid #e8e6ed;grid-template-columns:38px minmax(180px,1fr) auto auto auto auto;align-items:center;gap:12px;height:64px;padding:0 18px;display:grid;position:absolute;top:0;left:0;right:0}.board-back{color:#55515e;border:1px solid #e3e0e8;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.board-back:hover{color:var(--purple);background:#f5f2fb;border-color:#d6cdec}.board-lesson-copy{flex-direction:column;min-width:0;display:flex}.board-lesson-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.board-lesson-copy span{color:var(--muted);margin-top:3px;font-size:8px}.board-realtime{color:#716d77;white-space:nowrap;background:#f0eef3;border-radius:20px;align-items:center;gap:6px;padding:6px 9px;font-size:8px;font-weight:750;display:flex}.board-realtime.is-online{background:var(--green-soft);color:var(--green)}.board-realtime.is-offline{background:var(--coral-soft);color:var(--coral)}.board-realtime-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.board-realtime.is-connecting .board-realtime-dot{animation:1.1s ease-in-out infinite board-pulse}.board-realtime-avatars{margin-left:2px;display:flex}.board-realtime-avatars i{color:#fff;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:21px;height:21px;margin-left:-5px;font-size:7px;font-style:normal;display:flex}.board-realtime-avatars i:first-child{margin-left:0}.board-save-status{border-radius:20px;align-items:center;gap:5px;padding:7px 10px;font-size:8px;font-weight:750;display:flex}.board-save-status.is-saved{background:var(--green-soft);color:var(--green)}.board-save-status.is-loading,.board-save-status.is-saving,.board-save-status.is-dirty{background:var(--purple-soft);color:var(--purple)}.board-save-status.is-error{background:var(--coral-soft);color:var(--coral)}.board-save-status.is-session{color:#716d77;background:#f0eef3}.board-persistence-toggle{color:#6d6874;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:7px;padding:5px 2px;font-size:8px;font-weight:750;display:flex}.board-persistence-toggle>span{background:#d8d4dc;border-radius:20px;width:35px;height:20px;padding:3px;transition:all .18s}.board-persistence-toggle>span:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:all .18s;display:block;box-shadow:0 1px 4px #251e3640}.board-persistence-toggle.is-on{color:var(--green)}.board-persistence-toggle.is-on>span{background:var(--green)}.board-persistence-toggle.is-on>span:after{transform:translate(15px)}.board-persistence-toggle:disabled{cursor:wait;opacity:.65}.board-persistence-readonly{color:#716d77;white-space:nowrap;background:#f0eef3;border-radius:20px;padding:7px 9px;font-size:8px;font-weight:750}.board-persistence-readonly.is-on{background:var(--green-soft);color:var(--green)}.board-person{color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#2f2a3a;border-radius:20px;max-width:160px;padding:8px 12px;font-size:8px;font-weight:750;overflow:hidden}.spin{animation:.8s linear infinite board-spin}@keyframes board-spin{to{transform:rotate(360deg)}}@keyframes board-pulse{50%{opacity:.3;transform:scale(.72)}}.board-toolbar{z-index:10;background:#fffffff7;border:1px solid #dedbe5;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:6px;display:flex;position:absolute;top:80px;left:16px;box-shadow:0 10px 30px #2d25451c}.board-toolbar button,.board-zoom button{color:#6f6b77;cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex}.board-toolbar button:hover,.board-zoom button:hover{color:var(--purple);background:#f2eff9}.board-toolbar button.active{background:var(--purple);color:#fff}.board-toolbar button:disabled{cursor:default;opacity:.28}.board-tool-separator{background:#e9e6ed;width:25px;height:1px;margin:3px 0}.board-stylebar{z-index:9;background:#fffffff7;border:1px solid #dedbe5;border-radius:12px;align-items:center;gap:12px;padding:7px 9px;display:flex;position:absolute;top:80px;left:72px;box-shadow:0 8px 24px #2d254514}.board-colors{gap:5px;display:flex}.board-colors button{cursor:pointer;border:2px solid #fff;border-radius:50%;width:20px;height:20px;padding:0;box-shadow:0 0 0 1px #ddd9e4}.board-colors button.active{transform:scale(1.08);box-shadow:0 0 0 2px #9d8bd7}.board-stylebar select{color:#5d5965;background:#f5f4f7;border:0;border-radius:7px;height:28px;padding:0 8px;font-size:8px}.board-surface{touch-action:none;width:100%;height:calc(100% - 64px);position:absolute;top:64px;left:0;right:0}.board-surface.tool-pen,.board-surface.tool-line,.board-surface.tool-rectangle,.board-surface.tool-ellipse{cursor:crosshair}.board-surface.tool-hand{cursor:grab}.board-surface.tool-eraser{cursor:cell}.board-surface .selected{filter:drop-shadow(0 0 3px #6c4fd37a);outline-offset:4px;outline:2px dashed #8b72db}.board-remote-cursor{filter:drop-shadow(0 2px 3px #261e362e)}.board-text{cursor:move;paint-order:stroke;stroke:#ffffffb8;stroke-width:4px}.board-formula-object{cursor:move;overflow:visible}.board-formula{background:#ffffffeb;border:1px solid #0000;border-radius:9px;align-items:center;min-width:100px;min-height:64px;padding:8px 13px;display:inline-flex}.board-formula .katex-display{margin:0}.board-formula-object.selected .board-formula{border-color:#8e78d6;box-shadow:0 0 0 3px #6c4fd31f}.formula-error{color:var(--coral);font-size:12px}.board-zoom{z-index:10;background:#fffffff7;border:1px solid #dedbe5;border-radius:11px;align-items:center;gap:3px;padding:4px;display:flex;position:absolute;bottom:17px;left:16px;box-shadow:0 8px 24px #2d254514}.board-zoom button{width:31px;height:31px}.board-zoom span{color:#686370;text-align:center;min-width:42px;font-size:8px;font-weight:750}.board-hint{color:#e8e5ef;z-index:8;background:#2f2a3ae6;border-radius:20px;padding:8px 14px;font-size:8px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.formula-dialog-backdrop{z-index:200;background:#231e2d57;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.formula-dialog{background:#fff;border:1px solid #ded9e8;border-radius:19px;width:100%;max-width:610px;padding:24px;overflow:hidden;box-shadow:0 24px 80px #251c3f38}.formula-dialog-head{justify-content:space-between;align-items:flex-start;display:flex}.formula-dialog-head>div{align-items:center;gap:11px;display:flex}.formula-dialog-head>div>span{background:var(--purple-soft);color:var(--purple);border-radius:10px;justify-content:center;align-items:center;width:39px;height:39px;display:flex}.formula-dialog-head>div>div{flex-direction:column;display:flex}.formula-dialog-head strong{font-size:13px}.formula-dialog-head small{color:var(--muted);margin-top:3px;font-size:8px}.formula-dialog-head>button{color:#696570;cursor:pointer;background:#f3f2f5;border:0;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.formula-input{flex-direction:column;gap:7px;margin-top:21px;display:flex}.formula-input>span,.formula-presets>span{color:#585360;font-size:8px;font-weight:800}.formula-input textarea{color:#312b3c;resize:vertical;background:#f8f7fa;border:1px solid #dedbe4;border-radius:10px;min-height:82px;padding:13px;font-family:SFMono-Regular,Consolas,monospace;font-size:13px}.formula-input textarea:focus{border-color:#9c89db;outline:none;box-shadow:0 0 0 3px #6c4fd31a}.formula-preview{background:linear-gradient(145deg,#faf9fc,#f3f0fa);border:1px solid #e5e0ee;border-radius:12px;justify-content:center;align-items:center;min-height:100px;margin-top:12px;padding:14px;font-size:24px;display:flex;overflow-x:auto}.formula-preview .katex-display{margin:0}.formula-presets{margin-top:16px}.formula-presets>div{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.formula-presets button{color:#615181;cursor:pointer;background:#f3f0fa;border:1px solid #e2dcef;border-radius:20px;padding:7px 10px;font-size:8px}.formula-presets button:hover{background:var(--purple);border-color:var(--purple);color:#fff}.formula-help{color:var(--muted);margin:13px 0 0;font-size:8px;line-height:1.7}.formula-help code{color:#574b71;background:#f0eef4;border-radius:4px;padding:2px 4px}.formula-dialog-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}@media (max-width:760px){.notification-summary,.notification-time-options{grid-template-columns:1fr}.notification-time-options{padding-left:0}.telegram-setup-note{margin-left:0}.settings-form-actions{flex-direction:column;align-items:stretch}.storage-usage-summary{grid-template-columns:1fr;gap:14px;margin:0 16px;padding:16px}.storage-breakdown{grid-template-columns:1fr;padding:12px 16px 0}.storage-policy-note{margin-left:16px;margin-right:16px}.color-scheme-grid{grid-template-columns:1fr;padding:0 16px 20px}.appearance-description{margin-left:16px;margin-right:16px}.telegram-connect-grid{grid-template-columns:1fr}.telegram-connect-card{align-items:start}.board-create-fields,.board-card-grid{grid-template-columns:1fr}.board-create-actions{flex-direction:column;align-items:stretch}.board-card{grid-template-columns:42px minmax(0,1fr) 18px}.board-persistence-badge{grid-column:2;justify-self:start}.lesson-board-page{bottom:0}.board-header{grid-template-columns:36px minmax(100px,1fr) auto auto;gap:8px;height:60px;padding:0 10px}.board-realtime{gap:0;padding:8px;font-size:0}.board-realtime-dot{width:7px;height:7px}.board-realtime-avatars,.board-person,.board-save-status{display:none}.board-persistence-toggle{gap:0;font-size:0}.board-persistence-readonly{padding:7px;font-size:0}.board-persistence-readonly:after{content:"Сессия";font-size:7px}.board-persistence-readonly.is-on:after{content:"Сохранение"}.board-toolbar{flex-direction:row;max-width:calc(100vw - 16px);top:68px;left:8px;right:8px;overflow-x:auto}.board-toolbar button{flex:0 0 34px;width:34px;height:34px}.board-tool-separator{flex:0 0 1px;width:1px;height:25px;margin:4px 3px}.board-stylebar{top:116px;left:8px}.board-surface{height:calc(100% - 60px);top:60px}.board-hint{display:none}.formula-dialog{max-height:calc(100vh - 24px);padding:18px;overflow-y:auto}.formula-dialog-actions .button{flex:1}}.chats-page{max-width:1180px}.chat-directory-section{margin-top:4px}.chat-directory-panel{overflow:hidden}.chat-directory-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:15px 17px;display:flex}.chat-directory-search{color:#92949c;background:#f7f7f9;border:1px solid #e6e5e9;border-radius:10px;flex:1;align-items:center;gap:8px;max-width:520px;min-height:40px;padding:0 11px;display:flex}.chat-directory-search:focus-within{color:var(--purple);background:#fff;border-color:#a794e4;box-shadow:0 0 0 3px #6f55d917}.chat-directory-search input{background:0 0;border:0;outline:none;flex:1;min-width:0}.chat-directory-filters{background:#f3f2f5;border-radius:9px;gap:3px;padding:3px;display:flex}.chat-directory-filters button{color:#777983;cursor:pointer;background:0 0;border:0;border-radius:7px;height:32px;padding:0 11px;font-size:9px;font-weight:750}.chat-directory-filters button.active{color:var(--purple);background:#fff;box-shadow:0 1px 5px #28233414}.chat-directory-error{margin:0 17px 12px}.chat-directory-list{border-top:1px solid var(--line);display:grid}.chat-directory-row{border:0;border-top:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;grid-template-columns:44px minmax(0,1fr) auto 20px;align-items:center;gap:13px;width:100%;min-height:78px;padding:14px 17px;transition:all .16s;display:grid}.chat-directory-row:first-child{border-top:0}.chat-directory-row:hover{background:#fbfaff}.chat-directory-row:disabled{cursor:wait;opacity:.72}.chat-directory-icon{background:var(--purple-soft);color:var(--purple);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.chat-directory-icon.group{background:var(--blue-soft);color:var(--blue)}.chat-directory-copy{flex-direction:column;min-width:0;display:flex}.chat-directory-copy strong{font-size:12px}.chat-directory-copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:9px;overflow:hidden}.chat-directory-meta{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.chat-directory-meta small{color:#6d6875;background:#f1eff6;border-radius:20px;padding:5px 8px;font-size:8px;font-weight:750}.chat-directory-meta time{color:#9a9ca5;font-size:8px}.chats-empty{min-height:210px}.chat-room-page{max-width:1080px;padding-top:30px;padding-bottom:30px}.chat-room{flex-direction:column;height:calc(100vh - 60px);min-height:620px;max-height:880px;display:flex;overflow:hidden}.chat-room-header{border-bottom:1px solid var(--line);flex:none;grid-template-columns:36px 42px minmax(0,1fr);align-items:center;gap:11px;min-height:72px;padding:10px 17px;display:grid}.chat-back-button{color:#777983;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.chat-back-button:hover{color:var(--purple);background:#f4f2f8}.chat-room-avatar{background:var(--purple-soft);color:var(--purple);border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.chat-room-header>div{flex-direction:column;min-width:0;display:flex}.chat-room-header h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;overflow:hidden}.chat-room-header p{color:var(--muted);margin:4px 0 0;font-size:9px}.chat-message-list{background:linear-gradient(#faf9fc,#f7f7f9);flex-direction:column;flex:1;gap:8px;padding:22px clamp(16px,5vw,58px);display:flex;overflow-y:auto}.chat-empty{color:var(--muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:220px;display:flex}.chat-empty>span{background:var(--purple-soft);color:var(--purple);border-radius:15px;justify-content:center;align-items:center;width:54px;height:54px;margin-bottom:12px;display:flex}.chat-empty strong{color:var(--ink);font-size:13px}.chat-empty p{margin:5px 0 0;font-size:9px;line-height:1.5}.chat-message{background:#fff;border:1px solid #e8e7eb;border-radius:5px 14px 14px;flex-direction:column;align-self:flex-start;min-width:90px;max-width:min(72%,580px);padding:10px 12px 7px;transition:background .18s,border-color .18s,box-shadow .18s;display:flex;box-shadow:0 2px 9px #2a25340a}.chat-message.own{background:#ede8ff;border-color:#ded4ff;border-radius:14px 5px 14px 14px;align-self:flex-end}.group-chat .chat-message{cursor:context-menu}.chat-sender-name{color:var(--purple);margin-bottom:4px;font-size:8px;font-weight:800}.chat-message>p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:11px;line-height:1.48}.chat-message>time{color:#96919d;align-self:flex-end;margin:5px 0 0 12px;font-size:7px}.chat-reply-quote{border:0;border-left:3px solid var(--purple);cursor:pointer;text-align:left;background:#6f55d912;border-radius:4px 8px 8px 4px;flex-direction:column;max-width:100%;margin:0 0 7px;padding:6px 8px;display:flex}.chat-message.own .chat-reply-quote{background:#ffffff85}.chat-reply-quote strong{color:var(--purple);font-size:8px}.chat-reply-quote span{color:#686570;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:2px;font-size:8px;overflow:hidden}.chat-reactions{align-self:flex-start;gap:4px;margin-top:6px;display:flex}.chat-message.own .chat-reactions{align-self:flex-end}.chat-reactions button{color:#77727d;cursor:pointer;background:#ffffffa8;border:1px solid #e3e0e8;border-radius:14px;justify-content:center;align-items:center;gap:3px;min-width:30px;height:25px;padding:0 7px;font-size:13px;display:inline-flex;position:relative}.chat-reactions button:hover{background:#fff;border-color:#c6b9ec}.chat-reactions button.active{background:var(--purple-soft);border-color:#c6b8ee;box-shadow:inset 0 0 0 1px #6f55d90d}.chat-reactions button:disabled{cursor:wait;opacity:.7}.chat-reactions b{color:var(--purple);font-size:8px}.chat-reactions i{background:var(--purple);border-radius:50%;width:3px;height:3px;animation:.8s infinite chat-recording-pulse;position:absolute;top:3px;right:3px}.chat-context-menu{z-index:80;background:#fff;border:1px solid #e0dce8;border-radius:11px;width:198px;padding:5px;position:fixed;overflow:hidden;box-shadow:0 12px 34px #231d3033}.chat-context-menu>button{color:#48444f;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;width:100%;min-height:34px;padding:0 9px;font-size:10px;font-weight:750;display:flex}.chat-context-menu>button:hover{background:var(--purple-soft);color:var(--purple)}.chat-context-menu>div{border-top:1px solid #eeecf1;gap:4px;margin-top:4px;padding:5px 3px 1px;display:flex}.chat-context-menu>div button{cursor:pointer;background:#f7f6f9;border:1px solid #0000;border-radius:8px;flex:1;height:31px;font-size:15px}.chat-context-menu>div button:hover{background:var(--purple-soft);border-color:#d6ccef}.chat-file-attachment{background:#ffffff94;border:1px solid #705e9b21;border-radius:10px;grid-template-columns:35px minmax(0,1fr) 17px;align-items:center;gap:9px;min-width:250px;margin:1px 0 2px;padding:8px;display:grid}.chat-file-attachment>span{background:var(--purple-soft);color:var(--purple);border-radius:9px;justify-content:center;align-items:center;height:35px;display:flex}.chat-file-attachment>div{flex-direction:column;min-width:0;display:flex}.chat-file-attachment strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.chat-file-attachment small{color:var(--muted);margin-top:3px;font-size:7px}.chat-file-attachment>svg{color:var(--purple)}.chat-voice-attachment{grid-template-columns:22px minmax(190px,300px);align-items:center;gap:8px;margin:1px 0 2px;display:grid}.chat-voice-attachment>svg{color:var(--purple)}.chat-voice-attachment audio{width:270px;max-width:100%;height:34px}.chat-voice-attachment small{color:var(--muted);grid-column:2;font-size:7px}.chat-expired-attachment{color:#8c8991;background:#f4f3f6bf;border:1px dashed #d8d6dc;border-radius:9px;align-items:center;gap:9px;min-width:210px;padding:9px 10px;display:flex}.chat-expired-attachment>span{flex-direction:column;display:flex}.chat-expired-attachment strong{font-size:9px}.chat-expired-attachment small{margin-top:2px;font-size:7px}.chat-composer{border-top:1px solid var(--line);background:#fff;flex:none;padding:10px 15px 11px}.chat-replying-to{border:1px solid #e1d9f4;border-left:3px solid var(--purple);background:#f6f3fc;border-radius:9px;grid-template-columns:18px minmax(0,1fr) 28px;align-items:center;gap:9px;max-width:560px;margin:0 88px 8px;padding:7px 8px;display:grid}.chat-replying-to>svg{color:var(--purple)}.chat-replying-to>span{flex-direction:column;min-width:0;display:flex}.chat-replying-to strong{color:var(--purple);font-size:8px}.chat-replying-to small{color:#706c77;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:8px;overflow:hidden}.chat-replying-to>button{color:#85818c;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:flex}.chat-replying-to>button:hover{color:var(--coral);background:#fff}.chat-composer-row{align-items:flex-end;gap:6px;display:flex}.chat-tool-button,.chat-send-button{cursor:pointer;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:flex}.chat-tool-button{color:#706c77;background:#f4f3f6}.chat-tool-button:hover{background:var(--purple-soft);color:var(--purple)}.chat-tool-button.recording{background:var(--coral-soft);color:var(--coral)}.chat-send-button{background:var(--purple);color:#fff}.chat-send-button:hover{background:var(--purple-dark)}.chat-composer textarea{resize:vertical;background:#f7f7f9;border:1px solid #e6e5e9;border-radius:11px;flex:1;min-height:40px;max-height:110px;padding:10px 12px;line-height:1.45}.chat-composer textarea:focus{background:#fff;border-color:#a894e4;outline:none;box-shadow:0 0 0 3px #6f55d917}.chat-storage-note{color:#a09da6;margin:6px 0 0 88px;font-size:7px;display:block}.chat-pending-attachment{background:#f5f3fa;border:1px solid #e4dfef;border-radius:10px;grid-template-columns:20px minmax(0,1fr) 28px;align-items:center;gap:8px;max-width:520px;margin:0 88px 8px;padding:7px 8px;display:grid}.chat-pending-attachment>svg{color:var(--purple)}.chat-pending-attachment>span{flex-direction:column;min-width:0;display:flex}.chat-pending-attachment strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.chat-pending-attachment small{color:var(--muted);margin-top:2px;font-size:7px}.chat-pending-attachment>button{color:#8c8992;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:flex}.chat-pending-attachment>button:hover{background:var(--coral-soft);color:var(--coral)}.chat-recording-indicator{background:#fff5f2;border:1px solid #f7d9d2;border-radius:10px;grid-template-columns:9px auto 1fr;align-items:center;gap:4px 9px;max-width:420px;margin:0 88px 8px;padding:8px 10px;display:grid}.chat-recording-indicator>span{background:var(--coral);border-radius:50%;width:8px;height:8px;animation:1.2s infinite chat-recording-pulse}.chat-recording-indicator strong{color:var(--coral);font-size:9px}.chat-recording-indicator small{color:var(--muted);font-size:7px}.chat-composer-error{margin:0 88px 7px}@keyframes chat-recording-pulse{50%{opacity:.35;transform:scale(.8)}}.student-chat-page{background:var(--bg);min-height:100vh}.student-chat-wrap{max-width:1000px;margin:0 auto;padding:25px 24px}.student-chat-wrap .chat-room{height:calc(100vh - 116px)}.portal-chats-panel{overflow:hidden}.portal-chat-list{border-top:1px solid var(--line)}.portal-chat-list>a{border-top:1px solid var(--line);grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:9px;padding:12px 17px;display:grid}.portal-chat-list>a:first-child{border-top:0}.portal-chat-list>a:hover{background:#fbfaff}.portal-chat-list>a>span{background:var(--purple-soft);color:var(--purple);border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.portal-chat-list>a>div{flex-direction:column;min-width:0;display:flex}.portal-chat-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.portal-chat-list small{color:var(--muted);margin-top:3px;font-size:7px}.portal-chat-list>a>svg{color:#9b98a1}.portal-chat-empty{min-height:145px}@media (max-width:760px){.chat-directory-toolbar{flex-direction:column;align-items:stretch}.chat-directory-search{max-width:none}.chat-directory-filters button{flex:1}.chat-directory-row{grid-template-columns:40px minmax(0,1fr) 18px;gap:10px;padding:12px}.chat-directory-icon{width:40px;height:40px}.chat-directory-meta{display:none}.chat-room-page{padding:0 0 78px}.chat-room{border:0;border-radius:0;height:calc(100vh - 78px);min-height:500px;max-height:none}.chat-room-header{min-height:63px;padding:8px 10px}.chat-message-list{padding:15px 10px}.chat-message{max-width:88%}.chat-file-attachment{min-width:210px}.chat-voice-attachment{grid-template-columns:20px minmax(170px,240px)}.chat-voice-attachment audio{width:220px}.chat-composer{padding:8px 8px 9px}.chat-tool-button,.chat-send-button{width:38px;height:38px}.chat-composer textarea{min-height:38px}.chat-storage-note{margin-left:82px}.chat-pending-attachment,.chat-recording-indicator,.chat-composer-error,.chat-replying-to{margin-left:82px;margin-right:0}.student-chat-wrap{padding:0}.student-chat-wrap .chat-room{height:calc(100vh - 66px)}}::selection{background:color-mix(in srgb, var(--purple) 20%, transparent);color:var(--ink)}body{font-feature-settings:"kern" 1, "liga" 1;letter-spacing:-.01em}.sidebar{background:linear-gradient(#1b293d 0%,#172437 100%);border-right:0;width:252px;padding:24px 17px 18px;box-shadow:10px 0 36px #1724370f}.main-content{margin-left:252px}.workspace-brand{color:#fff;gap:12px;padding:4px 10px}.workspace-brand .brand-mark{background:var(--purple);box-shadow:0 9px 24px var(--accent-shadow);border-radius:12px 12px 12px 5px;width:40px;height:40px}.workspace-brand-copy{flex-direction:column;line-height:1;display:flex}.workspace-brand-copy strong{letter-spacing:-.8px;font-size:21px}.workspace-brand-copy small{color:#8fa2b5;letter-spacing:.08em;text-transform:uppercase;margin-top:5px;font-size:8px;font-weight:650}.sidebar .main-nav{margin-top:38px}.sidebar .nav-caption{color:#718398;margin-left:13px}.sidebar .nav-link{color:#b9c5d1;border:1px solid #0000;border-radius:11px;min-height:45px;margin:4px 0;padding:0 13px;font-weight:620;position:relative}.sidebar .nav-link:hover{color:#fff;background:#ffffff0e}.sidebar .nav-link.active{background:color-mix(in srgb, var(--purple) 15%, transparent);border-color:color-mix(in srgb, var(--purple) 24%, transparent);color:color-mix(in srgb, var(--purple) 68%, white)}.sidebar .nav-link.active:before{display:none}.sidebar .profile-card{color:#dfe7ee;background:#ffffff0f;border:1px solid #ffffff12;border-radius:14px;padding:11px}.sidebar .profile-card:hover{background:#ffffff17}.sidebar .profile-copy small{color:#8394a6}.sidebar .avatar-purple{background:color-mix(in srgb, var(--purple) 16%, transparent);color:color-mix(in srgb, var(--purple) 66%, white)}.page-wrap{max-width:1460px;padding:44px 48px 72px}.page-header{align-items:center;min-height:82px;margin-bottom:25px}.page-header h1{letter-spacing:-1.35px;margin:7px 0 8px;font-size:clamp(29px,3vw,36px);font-weight:700;line-height:1.1}.eyebrow{color:var(--purple-dark);letter-spacing:.12em;font-size:10px}.page-subtitle{color:#74808d;font-size:13px;line-height:1.5}.header-actions{gap:10px}.button{border-radius:11px;height:44px;padding:0 18px;font-size:12px;font-weight:700}.button-primary{box-shadow:0 9px 22px var(--accent-shadow)}.button-primary:hover{box-shadow:0 12px 26px var(--accent-shadow)}.button-secondary{border-color:#dfe6e4;box-shadow:0 2px 8px #17243706}.button-secondary:hover{background:#f9fbfa;border-color:#cbd6d3}.button-small{height:38px}.panel{box-shadow:var(--shadow);border-color:#17243713;border-radius:20px}.panel-heading{padding:24px 25px 18px}.panel-heading.compact{padding:22px 23px 15px}.panel-heading h2,.subsection-heading h2{letter-spacing:-.45px;font-size:17px;font-weight:700}.section-kicker{color:#95a09f;letter-spacing:.12em}.text-link{color:var(--purple-dark)}.dashboard-header{color:#fff;background:linear-gradient(135deg,#1b293d 0%,#22354c 100%);border-radius:25px;align-items:center;min-height:166px;margin-bottom:18px;padding:30px 32px;position:relative;overflow:hidden}.dashboard-header:before{background:radial-gradient(circle, color-mix(in srgb, var(--purple) 24%, transparent) 0%, transparent 68%);content:"";pointer-events:none;width:420px;height:330px;position:absolute;top:-150px;right:-70px}.dashboard-header:after{content:"";pointer-events:none;border:1px solid #ffffff13;border-radius:50%;width:220px;height:220px;position:absolute;top:-140px;right:120px}.dashboard-header>*{z-index:1;position:relative}.dashboard-header .eyebrow{color:color-mix(in srgb, var(--purple) 68%, white)}.dashboard-header h1{color:#fff;margin-top:9px;font-size:clamp(30px,3.4vw,42px)}.dashboard-header .page-subtitle{color:#b6c2ce;max-width:680px}.dashboard-header .button-primary{background:var(--purple);box-shadow:0 10px 24px var(--accent-shadow)}.dashboard-header .button-secondary{box-shadow:none;color:#fff;background:#ffffff13;border-color:#ffffff29}.dashboard-header .button-secondary:hover{background:#ffffff1f;border-color:#ffffff40}.stat-grid{gap:15px;margin-bottom:17px}.stat-card{border-color:#17243712;border-radius:18px;gap:14px;min-height:106px;padding:19px}.stat-card>div strong{color:var(--ink);letter-spacing:-.9px;font-size:25px;font-weight:720}.stat-card>div span{margin-top:2px;font-size:10px}.stat-icon{border-radius:13px;width:46px;height:46px}.trend{padding:5px 8px}.dashboard-grid,.side-stack{gap:17px}.lesson-row{min-height:86px}.lesson-row.next{background:#f2fbf8;border-color:#d7eee8;border-radius:13px}.progress-track span,.tiny-progress i{background:linear-gradient(90deg, var(--purple), color-mix(in srgb, var(--purple) 58%, white))}.table-panel,.materials-panel,.calendar-panel,.chat-directory-panel{border-radius:20px}.toolbar,.calendar-toolbar,.chat-directory-toolbar{min-height:68px}.table-head{background:#f6f8f7}.student-row,.chat-directory-row{transition:background .16s,transform .16s}.student-row:hover,.chat-directory-row:hover{background:#f5fbf9}.search-box,.chat-directory-search{background:#f4f7f6;border-color:#e1e7e5;border-radius:11px}.search-box:focus-within,.chat-directory-search:focus-within{border-color:var(--purple);box-shadow:0 0 0 4px var(--accent-focus)}:where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select){border-radius:11px}.group-card,.student-card,.assignment-card,.material-upload-form,.settings-card{box-shadow:var(--shadow);border-color:#17243713;border-radius:18px}.group-card-icon,.chat-room-avatar,.chat-directory-icon,.real-material-icon{border-radius:13px}.chat-message-list{background:linear-gradient(#f8faf9,#f2f6f4)}.chat-message{border-color:#e0e8e5;border-radius:6px 16px 16px;box-shadow:0 4px 16px #1724370a}.chat-message.own{background:color-mix(in srgb, var(--purple) 11%, white);border-color:color-mix(in srgb, var(--purple) 25%, white);border-radius:16px 6px 16px 16px}.chat-composer textarea{background:#f3f7f5;border-color:#dfe7e4}.chat-composer textarea:focus{border-color:var(--purple);box-shadow:0 0 0 4px var(--accent-focus)}.auth-page{background:#f5f7f6}.auth-card{background:#fff}.auth-aside{background:linear-gradient(145deg,#1b293d 0%,#233950 100%);border-radius:28px}.auth-aside:before,.auth-aside:after{border-color:color-mix(in srgb, var(--purple) 22%, transparent)}.auth-aside .eyebrow{color:color-mix(in srgb, var(--purple) 68%, white)}.auth-aside li:before{background:color-mix(in srgb, var(--purple) 20%, transparent);border-color:color-mix(in srgb, var(--purple) 34%, transparent);color:color-mix(in srgb, var(--purple) 58%, white)}.auth-content h1{color:var(--ink);font-weight:700}.student-portal-header{border-bottom-color:var(--line);background:#fff;box-shadow:0 5px 24px #1724370a}.form-field input:focus,.form-field textarea:focus,.form-field select:focus,.choice-row>input:last-of-type:focus,.matching-row input:focus,.attempt-text-answer:focus,.fill-blank-question input:focus,.attempt-matching select:focus,.attempt-long-answer:focus{border-color:var(--purple);box-shadow:0 0 0 4px var(--accent-focus)}.assignment-template-card:hover{border-color:color-mix(in srgb, var(--purple) 34%, var(--line))}.group-member-picker input:checked+span{border-color:color-mix(in srgb, var(--purple) 42%, var(--line))}.group-member-picker input:focus-visible+span{outline:3px solid var(--accent-focus)}.chat-message.highlighted{border-color:var(--purple);box-shadow:0 0 0 4px var(--accent-focus), 0 4px 16px #17243714}.chat-reply-quote{background:color-mix(in srgb, var(--purple) 8%, transparent)}.chat-reactions button.active{border-color:color-mix(in srgb, var(--purple) 44%, var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--purple) 8%, transparent)}.chat-file-attachment:hover{border-color:color-mix(in srgb, var(--purple) 38%, transparent)}@media (max-width:1100px){.page-wrap{padding-left:30px;padding-right:30px}.dashboard-header{flex-direction:column;align-items:flex-start;gap:22px}.dashboard-header .header-actions{width:100%}}@media (max-width:760px){.sidebar{display:none}.main-content{margin-left:0}.mobile-header{color:#fff;background:#1b293d;border-bottom:0}.mobile-header .brand-mark{background:var(--purple)}.mobile-header .avatar-purple{background:color-mix(in srgb, var(--purple) 16%, transparent);color:color-mix(in srgb, var(--purple) 66%, white)}.mobile-nav{background:#fffffff5;border-top-color:#dfe7e4;box-shadow:0 -8px 28px #17243712}.page-wrap{padding:24px 15px 92px}.page-header{align-items:flex-start;min-height:auto}.page-header h1{font-size:29px}.dashboard-header{border-radius:19px;margin:0 0 15px;padding:25px 21px}.dashboard-header h1{font-size:31px}.dashboard-header .header-actions{grid-template-columns:1fr 1fr;display:grid}.dashboard-header .button{padding:0 10px}.panel,.stat-card,.group-card,.settings-card{border-radius:16px}.auth-aside{display:none}}
