:root{--primary-900:#173b57;--primary-700:#1d5675;--primary-600:#247ba0;--accent:#35b8b0;--accent-soft:#e8f7f5;--background:#f5f8fa;--surface:#fff;--text-primary:#173042;--text-secondary:#71808c;--text-muted:#9aa5ad;--border:#e5ebef;--success:#2fa36b;--success-soft:#eaf7f0;--warning:#e7a83e;--warning-soft:#fff5e3;--error:#d85b63;--error-soft:#fdedef;--surface-subtle:#f9fbfc;--surface-overlay:#17304273;--sidebar-text:#ffffffb3;--sidebar-muted:#ffffff7a;--sidebar-border:#ffffff1a;--sidebar-active:#35b8b024;--accent-glow:#35b8b03d;--primary-soft:#247ba01a;--primary-wash:#247ba00f;--surface-glass:#ffffffdb;--hero-grid:#173b570d;--hero-glow:#35b8b026;--white-soft:#ffffffe0;--shadow-card:0 8px 30px #173b570f;--shadow-floating:0 20px 60px #173b5729;--chart-1:#247ba0;--chart-2:#2a8f88;--chart-3:#b87822;--chart-4:#775da6;--chart-5:#c75b67;--chart-6:#526d82;--chart-7:#8d6247;--radius-sm:8px;--radius-md:10px;--radius-lg:15px;--radius-xl:20px;color:var(--text-primary);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;font-family:Vazirmatn,Tahoma,sans-serif}.broadcast-page{flex-direction:column;gap:14px;min-height:calc(100vh - 130px);display:flex}.broadcast-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.broadcast-heading h1{margin:2px 0 5px;font-size:1.55rem}.broadcast-heading p:last-child{color:var(--text-secondary);margin:0;font-size:.68rem}.broadcast-heading__icon{width:50px;height:50px;color:var(--primary-700);background:linear-gradient(135deg, var(--primary-soft), var(--accent-soft));border-radius:15px;place-items:center;display:grid}.broadcast-heading__icon svg{width:23px}.broadcast-alert{border-radius:10px;align-items:center;gap:8px;padding:10px 13px;font-size:.62rem;font-weight:650;display:flex}.broadcast-alert svg{width:17px}.broadcast-alert span{flex:1}.broadcast-alert button{color:inherit;background:0 0;border:0;padding:2px;display:grid}.broadcast-alert button svg{width:14px}.broadcast-alert.is-error{color:var(--error);background:var(--error-soft)}.broadcast-alert.is-success{color:var(--success);background:var(--success-soft)}.broadcast-tabs{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-card);border-radius:12px;align-items:center;gap:5px;padding:5px;display:flex}.broadcast-tabs button{min-height:39px;color:var(--text-secondary);background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:0 13px;font-size:.61rem;font-weight:750;display:inline-flex}.broadcast-tabs button svg{width:15px}.broadcast-tabs button b{min-width:19px;height:19px;color:var(--primary-700);background:var(--primary-soft);border-radius:10px;place-items:center;padding-inline:4px;font-size:.47rem;display:grid}.broadcast-tabs button.is-active{color:var(--primary-800);background:var(--primary-soft)}.broadcast-tabs button.primary{color:var(--surface);background:var(--primary-900);margin-right:auto}.broadcast-tabs button.primary:hover{background:var(--primary-600)}.broadcast-composer{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);min-height:650px;box-shadow:var(--shadow-card);grid-template-columns:minmax(310px,42%) minmax(0,1fr);display:grid;overflow:hidden}.broadcast-audience{border-left:1px solid var(--border);background:var(--surface-subtle);flex-direction:column;min-width:0;display:flex}.broadcast-audience>header,.broadcast-copy>header{border-bottom:1px solid var(--border);background:var(--surface);min-height:72px;padding:15px 18px}.broadcast-audience>header,.broadcast-audience>header>div,.broadcast-copy>header>div{align-items:center;gap:10px;display:flex}.broadcast-audience>header>div>span,.broadcast-copy>header>div>span{width:30px;height:30px;color:var(--surface);background:var(--primary-700);border-radius:9px;flex:none;place-items:center;font-size:.62rem;font-weight:800;display:grid}.broadcast-audience header strong,.broadcast-audience header small,.broadcast-copy header strong,.broadcast-copy header small{display:block}.broadcast-audience header strong,.broadcast-copy header strong{font-size:.7rem}.broadcast-audience header small,.broadcast-copy header small{color:var(--text-muted);margin-top:3px;font-size:.51rem}.broadcast-audience>header>em{color:var(--primary-700);background:var(--accent-soft);border-radius:8px;margin-right:auto;padding:5px 8px;font-size:.5rem;font-style:normal;font-weight:800}.broadcast-segments{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;margin:12px 14px 0;padding:4px;display:grid}.broadcast-segments button{min-height:35px;color:var(--text-secondary);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;font-size:.56rem;font-weight:750;display:flex}.broadcast-segments button svg{width:14px}.broadcast-segments button.is-active{color:var(--primary-800);background:var(--primary-soft)}.broadcast-search{border:1px solid var(--border);color:var(--text-muted);background:var(--surface);border-radius:9px;align-items:center;gap:7px;margin:10px 14px;padding:0 10px;display:flex}.broadcast-search:focus-within{border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-soft)}.broadcast-search svg{width:15px}.broadcast-search input{background:0 0;border:0;outline:0;width:100%;height:38px;font-size:.58rem}.broadcast-audience__list{flex:1;max-height:532px;padding:0 14px 14px;overflow-y:auto}.broadcast-class{border:1px solid var(--border);background:var(--surface);border-radius:11px;margin-bottom:9px;overflow:hidden}.broadcast-class>header{border-bottom:1px solid var(--border);background:var(--accent-soft);align-items:center;gap:8px;padding:10px;display:flex}.broadcast-class>header>div{flex:1;min-width:0}.broadcast-class>header strong,.broadcast-class>header small{display:block}.broadcast-class>header strong{font-size:.62rem}.broadcast-class>header small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.47rem;overflow:hidden}.broadcast-class>header em{color:var(--primary-700);font-size:.48rem;font-style:normal;font-weight:750}.check{border:1px solid var(--border);width:20px;height:20px;color:var(--surface);background:var(--surface);border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.check svg{stroke-width:3px;width:12px}.check.is-checked,.broadcast-person.is-selected .check{border-color:var(--primary-600);background:var(--primary-600)}.broadcast-person{border:0;border-bottom:1px solid var(--border);text-align:right;background:0 0;grid-template-columns:20px 31px minmax(0,1fr);align-items:center;gap:8px;width:100%;padding:8px 10px;display:grid}.broadcast-person:last-child{border-bottom:0}.broadcast-person:hover,.broadcast-person.is-selected{background:var(--primary-wash)}.broadcast-person>i{width:31px;height:31px;color:var(--primary-700);background:var(--primary-soft);border-radius:9px;place-items:center;font-size:.61rem;font-style:normal;font-weight:800;display:grid}.broadcast-person strong,.broadcast-person small{display:block}.broadcast-person strong{font-size:.57rem}.broadcast-person small{color:var(--text-muted);margin-top:2px;font-size:.45rem}.broadcast-teacher{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-bottom:5px}.broadcast-copy{flex-direction:column;min-width:0;display:flex}.broadcast-copy>label{margin:16px 20px 0;display:block;position:relative}.broadcast-copy>label>span{margin-bottom:6px;font-size:.61rem;font-weight:750;display:block}.broadcast-copy>label>span b{color:var(--error)}.broadcast-copy input,.broadcast-copy textarea{border:1px solid var(--border);width:100%;color:var(--text-primary);background:var(--surface-subtle);font:inherit;border-radius:10px;outline:0;padding:11px 13px;font-size:.64rem}.broadcast-copy input{height:45px}.broadcast-copy textarea{resize:vertical;min-height:190px;line-height:2}.broadcast-copy input:focus,.broadcast-copy textarea:focus{border-color:var(--primary-600);background:var(--surface);box-shadow:0 0 0 3px var(--primary-soft)}.broadcast-copy>label>small{color:var(--text-muted);background:var(--surface);border-radius:5px;padding:2px 5px;font-size:.43rem;position:absolute;bottom:7px;left:8px}.broadcast-delivery-note{color:var(--primary-800);background:var(--accent-soft);border:1px solid #35b8b047;border-radius:11px;gap:9px;margin:16px 20px;padding:11px 12px;display:flex}.broadcast-delivery-note>svg{flex:none;width:18px}.broadcast-delivery-note strong{font-size:.58rem;display:block}.broadcast-delivery-note p{color:var(--text-secondary);margin:3px 0 0;font-size:.5rem;line-height:1.7}.broadcast-copy>footer{border-top:1px solid var(--border);background:var(--surface-subtle);align-items:center;gap:15px;margin-top:auto;padding:15px 20px;display:flex}.broadcast-copy>footer>div{flex:1;align-items:center;gap:9px;min-width:0;display:flex}.broadcast-copy>footer>div>span{width:35px;height:35px;color:var(--primary-700);background:var(--primary-soft);border-radius:10px;flex:none;place-items:center;display:grid}.broadcast-copy>footer svg{width:16px}.broadcast-copy>footer strong,.broadcast-copy>footer small{display:block}.broadcast-copy>footer strong{font-size:.55rem}.broadcast-copy>footer small{color:var(--text-muted);margin-top:3px;font-size:.44rem}.broadcast-copy>footer button{flex:none;gap:6px;min-height:42px;font-size:.57rem}.broadcast-inbox{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);min-height:610px;box-shadow:var(--shadow-card);grid-template-columns:minmax(270px,34%) minmax(0,1fr);display:grid;overflow:hidden}.broadcast-inbox>aside{border-left:1px solid var(--border)}.broadcast-inbox>aside>header{border-bottom:1px solid var(--border);min-height:67px;padding:14px 17px}.broadcast-inbox>aside>header strong,.broadcast-inbox>aside>header small{display:block}.broadcast-inbox>aside>header strong{font-size:.69rem}.broadcast-inbox>aside>header small{color:var(--text-muted);margin-top:3px;font-size:.49rem}.broadcast-message-row{border:0;border-bottom:1px solid var(--border);text-align:right;background:0 0;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;width:100%;min-height:76px;padding:10px 13px;display:grid;position:relative}.broadcast-message-row:hover,.broadcast-message-row.is-active{background:var(--surface-subtle)}.broadcast-message-row.is-active{box-shadow:inset -3px 0 var(--primary-600)}.broadcast-message-row>i{width:36px;height:36px;color:var(--primary-700);background:var(--primary-soft);border-radius:11px;place-items:center;font-size:.67rem;font-style:normal;font-weight:800;display:grid}.broadcast-message-row>span{min-width:0}.broadcast-message-row>span>span{justify-content:space-between;gap:7px;display:flex}.broadcast-message-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:.59rem;overflow:hidden}.broadcast-message-row time{color:var(--text-muted);flex:none;font-size:.43rem}.broadcast-message-row small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:.48rem;display:block;overflow:hidden}.broadcast-message-row>em{background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;bottom:10px;left:12px}.broadcast-message-row.is-unread strong{color:var(--primary-700)}.broadcast-inbox>main{background:linear-gradient(180deg, var(--surface-subtle), var(--surface));min-width:0}.broadcast-detail-empty,.broadcast-empty{min-height:250px;color:var(--text-muted);text-align:center;align-content:center;place-items:center;gap:7px;padding:20px;font-size:.55rem;display:grid}.broadcast-detail-empty{min-height:100%}.broadcast-detail-empty>span{width:62px;height:62px;color:var(--primary-700);background:var(--primary-soft);border-radius:20px;place-items:center;margin-bottom:6px;display:grid}.broadcast-detail-empty svg,.broadcast-empty svg{width:27px}.broadcast-detail-empty h2{color:var(--text-primary);margin:3px 0;font-size:.85rem}.broadcast-detail-empty p{color:var(--text-secondary);margin:0;font-size:.57rem}.broadcast-detail{max-width:760px;margin:0 auto;padding:clamp(22px,5vw,48px)}.broadcast-back{color:var(--primary-700);background:0 0;border:0;align-items:center;gap:4px;margin-bottom:15px;font-size:.55rem;display:none}.broadcast-back svg{width:15px}.broadcast-detail>header{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding-bottom:20px;display:flex}.broadcast-detail>header>span{width:45px;height:45px;color:var(--surface);background:var(--primary-700);border-radius:14px;flex:none;place-items:center;display:grid}.broadcast-detail>header>span svg{width:20px}.broadcast-detail>header>div{flex:1;min-width:0}.broadcast-detail>header p{color:var(--primary-600);margin:0 0 4px;font-size:.51rem;font-weight:750}.broadcast-detail>header h2{margin:0 0 6px;font-size:1rem}.broadcast-detail>header small{color:var(--text-muted);font-size:.49rem}.broadcast-detail>header>em{color:var(--success);background:var(--success-soft);border-radius:8px;align-items:center;gap:4px;padding:5px 8px;font-size:.47rem;font-style:normal;font-weight:700;display:flex}.broadcast-detail>header>em svg{width:13px}.broadcast-detail__body{white-space:pre-wrap;overflow-wrap:anywhere;min-height:230px;padding:25px 4px;font-size:.7rem;line-height:2.25}.broadcast-detail>footer{border:1px solid var(--border);background:var(--surface);border-radius:11px;gap:9px;padding:12px;display:flex}.broadcast-detail>footer>svg{width:17px;color:var(--primary-600);flex:none}.broadcast-detail>footer strong,.broadcast-detail>footer small{display:block}.broadcast-detail>footer strong{font-size:.55rem}.broadcast-detail>footer small{color:var(--text-muted);margin-top:4px;font-size:.47rem;line-height:1.7}@media (max-width:980px){.broadcast-composer{grid-template-columns:1fr}.broadcast-audience{border-left:0;border-bottom:1px solid var(--border)}.broadcast-audience__list{max-height:430px}.broadcast-copy{min-height:570px}}@media (max-width:720px){.broadcast-page{min-height:calc(100vh - 90px)}.broadcast-heading h1{font-size:1.2rem}.broadcast-heading__icon{width:43px;height:43px}.broadcast-tabs button{padding-inline:9px}.broadcast-tabs button.primary{font-size:0}.broadcast-tabs button.primary svg{margin:0}.broadcast-inbox{min-height:68vh;display:block}.broadcast-inbox>aside{border-left:0;min-height:68vh}.broadcast-inbox.has-detail>aside{display:none}.broadcast-inbox>main{min-height:68vh;display:none}.broadcast-inbox.has-detail>main{display:block}.broadcast-back{display:flex}.broadcast-detail{padding:20px 16px}.broadcast-copy>footer{flex-direction:column;align-items:stretch}.broadcast-copy>footer button{justify-content:center}.broadcast-composer{border-radius:14px}}@media (max-width:480px){.broadcast-heading p:last-child{max-width:260px;line-height:1.7}.broadcast-audience>header,.broadcast-copy>header{padding-inline:13px}.broadcast-audience>header>em{display:none}.broadcast-copy>label,.broadcast-delivery-note{margin-inline:14px}.broadcast-class>header em,.broadcast-detail>header>em{display:none}}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{background:var(--background);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:inherit;text-decoration:none}svg{stroke-width:1.8px;width:20px;height:20px}h1,h2,p{margin-top:0}.eyebrow{color:var(--primary-600);letter-spacing:.01em;margin:0 0 6px;font-size:.78rem;font-weight:700}.primary-button,.secondary-button{border-radius:var(--radius-md);border:1px solid #0000;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 18px;font-weight:700;transition:background .2s,color .2s,transform .2s;display:inline-flex}.primary-button{color:var(--surface);background:var(--primary-900)}.primary-button:hover{background:var(--primary-600)}.secondary-button{color:var(--primary-900);background:var(--accent-soft)}.secondary-button:hover{color:var(--primary-600)}.outline-button{border:1px solid var(--border);border-radius:var(--radius-md);min-height:44px;color:var(--text-primary);background:0 0;justify-content:center;align-items:center;padding:0 18px;font-weight:700;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.outline-button:hover{border-color:var(--primary-600);color:var(--primary-600);background:var(--surface)}.link-button{color:var(--primary-600);background:0 0;border:0;align-items:center;gap:5px;padding:4px;font-weight:650;display:inline-flex}.link-button svg{width:16px}.login-page{background:var(--surface);direction:ltr;grid-template-columns:minmax(420px,46%) 1fr;min-height:100vh;display:grid}.login-intro{color:var(--surface);background:var(--primary-900);direction:rtl;position:relative;overflow:hidden}.login-intro:before,.login-intro:after{content:"";border:1px solid var(--sidebar-border);border-radius:50%;position:absolute}.login-intro:before{width:520px;height:520px;top:-190px;left:-260px}.login-intro:after{width:360px;height:360px;box-shadow:0 0 0 80px var(--sidebar-border);bottom:-120px;right:-160px}.login-intro__content{z-index:1;flex-direction:column;justify-content:space-between;min-height:100%;padding:clamp(36px,6vw,76px);display:flex;position:relative}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand__mark{width:43px;height:43px;color:var(--primary-900);background:var(--accent);border-radius:13px;flex:none;place-items:center;display:grid}.brand__mark svg{stroke-width:2px;width:25px;height:25px}.brand strong,.brand small{display:block}.brand strong{font-size:1.18rem}.brand small{color:var(--sidebar-muted);margin-top:1px;font-size:.72rem;font-weight:500}.brand--light strong{color:var(--surface)}.login-intro__message{max-width:560px;margin-block:80px}.login-kicker{border:1px solid var(--sidebar-border);border-radius:var(--radius-sm);color:var(--accent);background:var(--sidebar-active);margin-bottom:24px;padding:7px 12px;font-size:.8rem;font-weight:700;display:inline-block}.login-intro h1{letter-spacing:-.045em;max-width:520px;margin-bottom:20px;font-size:clamp(2rem,3.2vw,3.65rem);line-height:1.45}.login-intro__message p{max-width:480px;color:var(--sidebar-text);font-size:1.05rem;line-height:2}.login-proof{color:var(--sidebar-text);flex-wrap:wrap;gap:22px;font-size:.78rem;display:flex}.login-proof span:before{background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 5px var(--accent-glow);content:"";border-radius:50%;margin-left:8px;display:inline-block}.login-form-section{background:var(--surface);direction:rtl;place-items:center;padding:42px clamp(24px,6vw,96px);display:grid}.login-card{width:100%;max-width:440px}.login-card header{margin-bottom:32px}.login-card h2{margin-bottom:10px;font-size:clamp(1.65rem,2.4vw,2.15rem)}.login-card header>p:last-child{color:var(--text-secondary);line-height:1.8}.mobile-brand-mark{display:none}.field{color:var(--text-primary);margin-bottom:19px;font-size:.88rem;font-weight:650;display:block}.field>span:first-child{margin-bottom:8px;display:block}.field__control{border:1px solid var(--border);border-radius:var(--radius-md);min-height:50px;color:var(--text-muted);background:var(--surface-subtle);align-items:center;padding-inline:14px;transition:border .2s,box-shadow .2s;display:flex}.field__control:focus-within{border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-soft)}.field__control input{width:100%;min-width:0;color:var(--text-primary);text-align:right;direction:ltr;background:0 0;border:0;outline:0;padding:12px}.field__control button{color:var(--text-muted);background:0 0;border:0;place-items:center;padding:5px;display:grid}.field__control button svg,.field__control>svg{width:19px}.form-options{justify-content:space-between;align-items:center;gap:12px;margin:4px 0 26px;font-size:.8rem;display:flex}.checkbox{color:var(--text-secondary);align-items:center;gap:8px;display:flex}.checkbox input{width:16px;height:16px;accent-color:var(--primary-900)}.primary-button--wide{justify-content:space-between;width:100%;min-height:52px;padding-inline:22px}.form-alert{border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);background:var(--error-soft);margin-bottom:18px;padding:12px 14px;font-size:.85rem}.form-success{border:1px solid var(--success);border-radius:var(--radius-md);color:var(--success);background:var(--success-soft);align-items:center;gap:8px;padding:12px 14px;font-size:.82rem;font-weight:650;display:flex}.form-success svg{width:18px}.login-help{color:var(--text-muted);text-align:center;margin:24px 0 0;font-size:.78rem}.login-card--roles{max-width:520px}.role-selector{border:0;margin:0 0 22px;padding:0}.role-selector legend{color:var(--text-primary);margin-bottom:10px;font-size:.88rem;font-weight:650}.role-selector>div{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.role-option{border:1px solid var(--border);border-radius:var(--radius-md);min-height:76px;color:var(--text-secondary);background:var(--surface-subtle);flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:8px 4px;font-size:.72rem;font-weight:650;transition:border-color .2s,color .2s,background .2s,transform .2s;display:flex}.role-option:hover{border-color:var(--primary-600);color:var(--primary-600);transform:translateY(-1px)}.role-option--active{border-color:var(--accent);color:var(--primary-900);background:var(--accent-soft);box-shadow:0 0 0 2px var(--hero-glow)}.role-option svg{width:21px;height:21px}.login-form-links{color:var(--text-muted);justify-content:space-between;align-items:center;gap:16px;margin-top:20px;font-size:.75rem;display:flex}.login-form-links .link-button{font-size:inherit;font-weight:500}.login-form-links a:hover{color:var(--primary-600)}.login-intro--platform{background:var(--text-primary)}.platform-access-badge{border-radius:var(--radius-sm);color:var(--primary-900);background:var(--accent-soft);align-items:center;gap:6px;margin-bottom:18px;padding:6px 10px;font-size:.72rem;font-weight:750;display:inline-flex}.platform-access-badge svg{width:15px;height:15px}.platform-login-note{border-radius:var(--radius-md);color:var(--text-secondary);background:var(--background);align-items:center;gap:9px;margin-top:18px;padding:11px 12px;font-size:.72rem;line-height:1.7;display:flex}.platform-login-note svg{width:17px;color:var(--primary-600);flex:none}.landing-page{background:var(--surface);min-height:100vh;overflow:hidden}.landing-container{width:min(1180px,100% - 48px);margin-inline:auto}.landing-header{z-index:20;border-bottom:1px solid var(--border);background:var(--surface-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:relative}.landing-header__inner{justify-content:space-between;align-items:center;gap:28px;min-height:78px;display:flex}.landing-brand{align-items:center;gap:11px;min-width:max-content;display:flex}.landing-brand strong,.landing-brand small{display:block}.landing-brand strong{font-size:1.04rem}.landing-brand small{color:var(--text-muted);margin-top:2px;font-size:.64rem}.landing-nav{color:var(--text-secondary);align-items:center;gap:clamp(20px,3vw,40px);margin-inline:auto;font-size:.82rem;font-weight:600;display:flex}.landing-nav a{padding-block:28px;position:relative}.landing-nav a:after{background:var(--accent);content:"";border-radius:2px;width:0;height:2px;transition:width .2s;position:absolute;bottom:19px;right:50%;transform:translate(50%)}.landing-nav a:hover{color:var(--primary-900)}.landing-nav a:hover:after{width:20px}.landing-login{border-radius:var(--radius-md);min-height:42px;color:var(--surface);background:var(--primary-900);align-items:center;gap:8px;padding:0 16px;font-size:.78rem;font-weight:700;display:inline-flex}.landing-login:hover{background:var(--primary-600)}.landing-login svg{width:16px}.landing-hero{background-color:var(--background);background-image:linear-gradient(var(--hero-grid) 1px, transparent 1px), linear-gradient(90deg, var(--hero-grid) 1px, transparent 1px);background-size:44px 44px;padding:clamp(76px,9vw,128px) 0 clamp(90px,10vw,140px);position:relative}.landing-hero:before{background:radial-gradient(circle, var(--hero-glow), transparent 68%);content:"";border-radius:50%;width:620px;height:620px;position:absolute;top:-190px;right:-120px}.landing-hero__grid{grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr);align-items:center;gap:clamp(54px,7vw,96px);display:grid;position:relative}.landing-hero__copy{z-index:2;position:relative}.hero-badge{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--primary-600);background:var(--surface);box-shadow:var(--shadow-card);align-items:center;gap:7px;margin-bottom:23px;padding:7px 11px;font-size:.73rem;font-weight:700;display:inline-flex}.hero-badge svg{width:15px}.landing-hero h1{color:var(--primary-900);letter-spacing:-.06em;margin-bottom:24px;font-size:clamp(2.7rem,5vw,5rem);line-height:1.28}.landing-hero h1 em{color:var(--primary-600);font-style:normal}.landing-hero__copy>p{max-width:600px;color:var(--text-secondary);margin-bottom:31px;font-size:clamp(.96rem,1.4vw,1.08rem);line-height:2.05}.hero-actions{flex-wrap:wrap;gap:11px;display:flex}.hero-actions>*{min-height:50px;padding-inline:21px}.hero-primary{justify-content:space-between;min-width:170px}.hero-primary svg{width:17px}.hero-trust{color:var(--text-secondary);flex-wrap:wrap;gap:17px;margin-top:28px;font-size:.7rem;display:flex}.hero-trust span{align-items:center;gap:5px;display:flex}.hero-trust svg{width:14px;height:14px;color:var(--success);stroke-width:2.5px}.hero-product{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);min-height:475px;box-shadow:var(--shadow-floating);position:relative;overflow:visible;transform:perspective(1200px)rotateY(-2deg)rotateX(1deg)}.hero-product__top{border-bottom:1px solid var(--border);align-items:center;gap:6px;height:43px;padding-inline:15px;display:flex}.hero-product__top>span{background:var(--border);border-radius:50%;width:7px;height:7px}.hero-product__top>span:nth-child(2){background:var(--accent)}.hero-product__top>span:nth-child(3){background:var(--primary-600)}.hero-product__top b{color:var(--text-muted);margin-right:auto;font-size:.62rem;font-weight:600}.hero-product__body{border-radius:0 0 var(--radius-xl) var(--radius-xl);grid-template-columns:88px 1fr;min-height:430px;display:grid;overflow:hidden}.hero-product__body aside{background:var(--primary-900);flex-direction:column;align-items:center;gap:17px;padding:21px 12px;display:flex}.hero-product__body aside i{background:var(--sidebar-text);opacity:.42;border-radius:8px;height:5px;margin-inline:auto;display:block}.mock-logo{border-radius:var(--radius-sm);width:31px;height:31px;color:var(--primary-900);background:var(--accent);place-items:center;margin-bottom:13px;display:grid}.mock-logo svg{width:18px}.mock-main{background:var(--background);padding:25px}.mock-main>header{justify-content:space-between;align-items:center;margin-bottom:23px;display:flex}.mock-main header small,.mock-main header strong{display:block}.mock-main header small{color:var(--text-muted);margin-bottom:4px;font-size:.58rem}.mock-main header strong{font-size:.84rem}.mock-avatar{background:var(--accent-soft);border-radius:50%;width:30px;height:30px}.mock-metrics{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.mock-metrics article{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:34px 1fr;padding:12px;display:grid}.mock-metrics small{color:var(--text-muted);align-self:end;font-size:.5rem}.mock-metrics strong{align-self:start;font-size:.82rem}.mock-icon{border-radius:var(--radius-sm);grid-row:1/3;align-self:center;place-items:center;width:28px;height:28px;display:grid}.mock-icon svg{width:14px}.mock-icon--blue{color:var(--primary-600);background:var(--primary-soft)}.mock-icon--teal{color:var(--accent);background:var(--accent-soft)}.mock-icon--navy{color:var(--primary-900);background:var(--primary-wash)}.mock-panels{grid-template-columns:1.45fr .8fr;gap:11px;margin-top:12px;display:grid}.mock-panels>article{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:190px;padding:15px}.mock-panels>article>strong{font-size:.62rem;display:block}.mock-chart div{border-bottom:1px solid var(--border);background-image:repeating-linear-gradient(to top, var(--border) 0, var(--border) 1px, transparent 1px, transparent 31px);justify-content:space-around;align-items:end;height:125px;margin-top:15px;display:flex}.mock-chart i{background:var(--primary-600);opacity:.8;border-radius:4px 4px 0 0;width:9%}.mock-attendance{flex-direction:column;display:flex}.mock-attendance b{color:var(--primary-900);margin:31px 0 9px;font-size:1.9rem}.mock-attendance>span{background:var(--border);border-radius:9px;height:6px;overflow:hidden}.mock-attendance>span i{background:var(--accent);width:94%;height:100%;display:block}.mock-attendance small{color:var(--text-muted);margin-top:9px;font-size:.5rem}.hero-float-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-glass);min-width:215px;box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-items:center;gap:10px;padding:13px;display:flex;position:absolute;bottom:33px;left:-35px;transform:translateZ(30px)}.hero-float-card>span{border-radius:var(--radius-sm);width:35px;height:35px;color:var(--accent);background:var(--accent-soft);place-items:center;display:grid}.hero-float-card svg{width:17px}.hero-float-card strong,.hero-float-card small{display:block}.hero-float-card strong{font-size:.66rem}.hero-float-card small{color:var(--text-muted);margin-top:4px;font-size:.53rem}.landing-proof-section{border-block:1px solid var(--border);background:var(--surface)}.proof-grid{min-height:94px;color:var(--primary-900);justify-content:center;align-items:center;gap:clamp(10px,2.4vw,30px);font-size:.8rem;font-weight:750;display:flex}.proof-grid p{color:var(--text-muted);margin:0 0 0 24px;font-size:.67rem;font-weight:500}.proof-grid i{background:var(--border);width:24px;height:1px}.landing-section{padding:clamp(80px,9vw,124px) 0;scroll-margin-top:70px}.landing-section--soft{background:var(--background)}.section-heading{text-align:center;max-width:690px;margin:0 auto 50px}.section-kicker{color:var(--primary-600);margin-bottom:13px;font-size:.75rem;font-weight:750;display:block}.section-heading h2,.workflow-copy h2{color:var(--primary-900);letter-spacing:-.035em;margin-bottom:14px;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.5}.section-heading p,.workflow-copy>p{color:var(--text-secondary);font-size:.9rem;line-height:2}.feature-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.feature-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-height:220px;padding:27px;transition:transform .2s,box-shadow .2s,border-color .2s}.feature-card:hover{border-color:var(--accent);box-shadow:var(--shadow-card);transform:translateY(-4px)}.feature-card>span{border-radius:var(--radius-md);width:44px;height:44px;color:var(--primary-600);background:var(--primary-soft);place-items:center;margin-bottom:24px;display:grid}.feature-card:nth-child(2n)>span{color:var(--accent);background:var(--accent-soft)}.feature-card h3{margin:0 0 10px;font-size:.96rem}.feature-card p{color:var(--text-secondary);margin:0;font-size:.78rem;line-height:1.95}.workflow-grid{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:center;gap:clamp(60px,9vw,130px);display:grid}.workflow-copy ul{color:var(--text-secondary);gap:11px;margin:27px 0 0;padding:0;font-size:.78rem;list-style:none;display:grid}.workflow-copy li{align-items:center;gap:8px;display:flex}.workflow-copy li svg{width:16px;color:var(--success)}.workflow-steps{gap:13px;margin:0;padding:0;list-style:none;display:grid;position:relative}.workflow-steps:before{background:var(--border);content:"";width:1px;position:absolute;top:40px;bottom:40px;right:33px}.workflow-steps li{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-height:115px;box-shadow:var(--shadow-card);grid-template-columns:66px 1fr;align-items:center;gap:18px;padding:20px;display:grid;position:relative}.workflow-steps b{z-index:1;border:5px solid var(--surface);width:47px;height:47px;color:var(--primary-900);background:var(--accent-soft);border-radius:50%;place-items:center;font-size:.76rem;display:grid;position:relative}.workflow-steps h3{margin:0 0 6px;font-size:.92rem}.workflow-steps p{color:var(--text-secondary);margin:0;font-size:.74rem;line-height:1.8}.audience-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.audience-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-height:245px;padding:26px 23px;position:relative;overflow:hidden}.audience-card:after{background:var(--accent-soft);content:"";opacity:.7;border-radius:50%;width:110px;height:110px;position:absolute;bottom:-45px;left:-35px}.audience-card>svg{width:27px;height:27px;color:var(--primary-600);margin-bottom:37px}.audience-card h3{margin:0 0 9px;font-size:.96rem}.audience-card p{min-height:65px;color:var(--text-secondary);margin-bottom:22px;font-size:.73rem;line-height:1.85}.audience-card>span{color:var(--primary-600);align-items:center;gap:6px;font-size:.7rem;font-weight:700;display:flex}.audience-card>span svg{width:14px}.landing-contact{background:var(--background);padding:clamp(80px,9vw,120px) 0;scroll-margin-top:70px;position:relative;overflow:hidden}.landing-contact:before{background:radial-gradient(circle, var(--hero-glow), transparent 67%);content:"";border-radius:50%;width:560px;height:560px;position:absolute;top:-250px;left:-170px}.landing-contact__grid{grid-template-columns:minmax(0,1fr) minmax(390px,.78fr);align-items:center;gap:clamp(55px,9vw,125px);display:grid;position:relative}.landing-contact__copy h2{max-width:620px;color:var(--primary-900);letter-spacing:-.035em;margin:0 0 17px;font-size:clamp(1.9rem,3.2vw,3rem);line-height:1.5}.landing-contact__copy>p{max-width:650px;color:var(--text-secondary);margin-bottom:25px;font-size:.9rem;line-height:2.1}.landing-contact__copy ul{color:var(--text-secondary);gap:12px;margin:0;padding:0;font-size:.78rem;list-style:none;display:grid}.landing-contact__copy li{align-items:center;gap:9px;display:flex}.landing-contact__copy li svg{width:17px;color:var(--success)}.landing-contact__form-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-floating);padding:32px}.landing-contact__form-card>header{margin-bottom:25px}.landing-contact__form-card>header span{color:var(--primary-600);font-size:.7rem;font-weight:750}.landing-contact__form-card h3{margin:7px 0 6px;font-size:1.35rem}.landing-contact__form-card header p{color:var(--text-muted);margin:0;font-size:.7rem}.contact-request-form{gap:17px;display:grid}.contact-request-form label>span:first-child{color:var(--text-primary);margin-bottom:8px;font-size:.72rem;font-weight:700;display:block}.contact-input{border:1px solid var(--border);border-radius:var(--radius-md);min-height:52px;color:var(--text-muted);background:var(--surface-subtle);align-items:center;gap:9px;padding-inline:14px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex}.contact-input:focus-within{border-color:var(--primary-600);background:var(--surface);box-shadow:0 0 0 3px var(--primary-soft)}.contact-input svg{flex:none;width:18px}.contact-input input{width:100%;min-width:0;color:var(--text-primary);background:0 0;border:0;outline:0;padding:12px 3px;font-size:.82rem}.contact-input input::placeholder{color:var(--text-muted)}.contact-submit{border-radius:var(--radius-md);min-height:52px;color:var(--surface);background:var(--primary-900);border:0;justify-content:space-between;align-items:center;gap:15px;padding-inline:18px;font-size:.78rem;font-weight:750;transition:background .2s,transform .2s;display:flex}.contact-submit:hover{background:var(--primary-600);transform:translateY(-1px)}.contact-submit svg{width:18px}.contact-request-form>small{color:var(--text-muted);text-align:center;font-size:.58rem;line-height:1.7}.contact-form-error{color:var(--error);background:var(--error-soft);border-radius:9px;margin:-4px 0 0;padding:10px 12px;font-size:.63rem;line-height:1.8}.contact-form-success{border-radius:var(--radius-lg);background:var(--success-soft);border:1px solid #2fa36b3d;align-items:center;gap:17px;min-height:245px;padding:23px;display:flex}.contact-form-success>span{width:47px;height:47px;color:var(--success);background:var(--surface);border-radius:50%;flex:none;place-items:center;display:grid}.contact-form-success>span svg{width:24px}.contact-form-success h3{margin:0 0 8px;font-size:1rem}.contact-form-success p{color:var(--text-secondary);margin:0;font-size:.7rem;line-height:1.9}.contact-form-success button{color:var(--primary-600);background:0 0;border:0;margin-top:13px;padding:0;font-size:.64rem;font-weight:700}.landing-cta{background:var(--surface);padding:0 0 82px}.landing-cta__inner{border-radius:var(--radius-xl);min-height:235px;color:var(--surface);background:var(--primary-900);justify-content:space-between;align-items:center;gap:35px;padding:46px clamp(30px,5vw,68px);display:flex;position:relative;overflow:hidden}.landing-cta__inner:after{border:1px solid var(--sidebar-border);width:340px;height:340px;box-shadow:0 0 0 60px var(--sidebar-border);content:"";border-radius:50%;position:absolute;bottom:-150px;left:-80px}.landing-cta__inner>*{z-index:1;position:relative}.landing-cta span{color:var(--accent);font-size:.74rem;font-weight:700}.landing-cta h2{max-width:650px;margin:10px 0 0;font-size:clamp(1.55rem,2.7vw,2.45rem);line-height:1.55}.cta-button{border-radius:var(--radius-md);min-width:175px;min-height:50px;color:var(--primary-900);background:var(--accent);justify-content:space-between;align-items:center;gap:24px;padding:0 18px;font-size:.78rem;font-weight:750;display:inline-flex}.cta-button svg{width:17px}.landing-footer{border-top:1px solid var(--border);background:var(--surface)}.landing-footer__inner{min-height:115px;color:var(--text-muted);justify-content:space-between;align-items:center;gap:25px;font-size:.68rem;display:flex}.landing-footer p{margin:0}.landing-footer__nav{align-items:center;gap:22px;display:flex}.landing-footer__nav a:hover{color:var(--primary-600)}.landing-brand--footer strong{color:var(--text-primary)}.contact-page__hero{background-color:var(--background);background-image:linear-gradient(var(--hero-grid) 1px, transparent 1px), linear-gradient(90deg, var(--hero-grid) 1px, transparent 1px);background-size:44px 44px;min-height:calc(100vh - 194px);padding:clamp(65px,8vw,110px) 0;position:relative;overflow:hidden}.contact-page__hero:before{background:radial-gradient(circle, var(--hero-glow), transparent 68%);content:"";border-radius:50%;width:640px;height:640px;position:absolute;top:-230px;right:-130px}.contact-page__grid{grid-template-columns:minmax(0,1fr) minmax(380px,.7fr);align-items:center;gap:clamp(55px,9vw,130px);display:grid;position:relative}.contact-page__copy h1{max-width:690px;color:var(--primary-900);letter-spacing:-.055em;margin:0 0 20px;font-size:clamp(2.25rem,4.6vw,4.3rem);line-height:1.35}.contact-page__copy>p{max-width:670px;color:var(--text-secondary);margin-bottom:31px;font-size:.96rem;line-height:2.1}.contact-promises{grid-template-columns:repeat(3,1fr);gap:11px;display:grid}.contact-promises article{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-glass);min-height:145px;padding:17px}.contact-promises article>span{width:36px;height:36px;color:var(--primary-600);background:var(--primary-soft);border-radius:10px;place-items:center;margin-bottom:16px;display:grid}.contact-promises svg{width:18px}.contact-promises strong,.contact-promises small{display:block}.contact-promises strong{margin-bottom:6px;font-size:.72rem}.contact-promises small{color:var(--text-muted);font-size:.57rem;line-height:1.75}.contact-page__card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-floating);padding:34px}.contact-card-icon{width:48px;height:48px;color:var(--primary-900);background:var(--accent);border-radius:14px;place-items:center;margin-bottom:20px;display:grid}.contact-card-icon svg{width:24px}.contact-page__card h2{margin:0 0 5px;font-size:1.35rem}.contact-page__card>p{color:var(--text-muted);margin:0 0 24px;font-size:.7rem}.contact-form-success--compact{min-height:285px}.contact-requests-heading{align-items:center}.contact-pending-count{border-radius:var(--radius-lg);background:var(--primary-soft);border:1px solid #247ba026;grid-template-columns:38px 1fr;align-items:center;gap:2px 10px;min-width:155px;padding:12px 15px;display:grid}.contact-pending-count>svg{width:23px;color:var(--primary-600);grid-row:1/3}.contact-pending-count b{font-size:1.15rem}.contact-pending-count small{color:var(--text-secondary);font-size:.52rem}.contact-requests-panel{padding:0;overflow:hidden}.contact-requests-panel>.panel__header{background:var(--surface-subtle);padding:18px 20px}.contact-request-list{display:grid}.contact-request-row{border-top:1px solid var(--border);border-right:3px solid var(--accent);grid-template-columns:44px minmax(170px,1fr) minmax(170px,.8fr) minmax(210px,auto);align-items:center;gap:14px;min-height:91px;padding:14px 20px;display:grid}.contact-request-row:first-child{border-top:0}.contact-request-row.is-handled{border-right-color:var(--border);background:var(--surface-subtle);opacity:.78}.contact-request-avatar{width:42px;height:42px;color:var(--primary-600);background:var(--primary-soft);border-radius:12px;place-items:center;display:grid}.contact-request-avatar svg{width:19px}.contact-request-person strong{margin-bottom:5px;font-size:.68rem;display:block}.contact-request-person a{width:max-content;color:var(--primary-600);align-items:center;gap:5px;font-size:.6rem;display:flex}.contact-request-person a svg{width:13px}.contact-request-date,.contact-request-status{color:var(--text-muted);align-items:center;gap:8px;display:flex}.contact-request-date>svg,.contact-request-status>svg{flex:none;width:18px}.contact-request-date small,.contact-request-date strong,.contact-request-status small,.contact-request-status strong{display:block}.contact-request-date small{font-size:.46rem}.contact-request-date strong{color:var(--text-secondary);margin-top:2px;font-size:.54rem;font-weight:600}.contact-request-status{color:var(--success);justify-self:end}.contact-request-status strong{font-size:.58rem}.contact-request-status small{color:var(--text-muted);margin-top:3px;font-size:.45rem}.contact-handle-button{white-space:nowrap;justify-self:end;gap:6px;font-size:.57rem}.contact-handle-button svg{width:16px}.auth-loading,.not-found{min-height:100vh;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:13px;padding:24px;display:flex}.auth-loading svg{color:var(--accent);animation:1s linear infinite spin}.not-found>svg{width:52px;height:52px;color:var(--accent)}.not-found h1{color:var(--text-primary);margin:5px 0 0}.not-found p{margin-bottom:12px}.app-shell{direction:rtl;min-height:100vh;padding-right:270px}.sidebar{z-index:30;width:270px;color:var(--surface);background:var(--primary-900);flex-direction:column;padding:26px 18px 20px;display:flex;position:fixed;inset:0 0 0 auto}.sidebar .brand{border-bottom:1px solid var(--sidebar-border);padding:0 8px 26px}.sidebar__nav{gap:5px;margin-top:24px;display:grid;overflow-y:auto}.nav-item{border-radius:var(--radius-md);min-height:45px;color:var(--sidebar-text);text-align:right;background:0 0;border:0;align-items:center;gap:13px;padding:0 14px;font-size:.88rem;font-weight:600;transition:color .2s,background .2s;display:flex}.nav-item:hover{color:var(--surface);background:var(--sidebar-border)}.nav-item--active{color:var(--accent);background:var(--sidebar-active)}.nav-item svg{width:19px}.nav-item--button{width:100%}.sidebar__footer{border-top:1px solid var(--sidebar-border);gap:5px;margin-top:auto;padding-top:18px;display:grid}.sidebar__close,.mobile-menu-button,.sidebar-backdrop{display:none}.teacher-sidebar{width:286px;padding-bottom:18px}.teacher-app-shell{padding-right:286px}.teacher-sidebar .brand{padding-bottom:20px}.teacher-sidebar__context{border:1px solid var(--sidebar-border);border-radius:var(--radius-md);background:#ffffff0a;align-items:center;gap:11px;margin:15px 5px 0;padding:11px 12px;display:flex}.teacher-sidebar__context>span{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--accent);background:var(--sidebar-active);flex:none;place-items:center;display:grid}.teacher-sidebar__context svg{width:17px;height:17px}.teacher-sidebar__context small,.teacher-sidebar__context strong{display:block}.teacher-sidebar__context small{color:var(--sidebar-muted);margin-bottom:2px;font-size:.65rem}.teacher-sidebar__context strong{text-overflow:ellipsis;white-space:nowrap;max-width:185px;font-size:.76rem;overflow:hidden}.teacher-sidebar__nav{scrollbar-width:thin;scrollbar-color:var(--sidebar-border) transparent;gap:4px;margin-top:14px;padding-left:2px}.nav-group{border-radius:var(--radius-md)}.nav-group--active{background:#ffffff08}.nav-group--active>.nav-group__trigger{color:var(--accent)}.nav-group__trigger{justify-content:flex-start}.nav-group__chevron{height:16px;margin-inline-start:auto;transition:transform .2s;width:16px!important}.nav-group__chevron--open{transform:rotate(180deg)}.nav-submenu{border-right:1px solid var(--sidebar-border);gap:2px;margin:1px 22px 5px 0;padding:3px 12px 3px 0;display:grid}.nav-subitem{border-radius:var(--radius-sm);min-height:34px;color:var(--sidebar-muted);align-items:center;padding:6px 10px;font-size:.75rem;transition:color .2s,background .2s;display:flex}.nav-subitem:hover{color:var(--surface);background:var(--sidebar-border)}.nav-subitem--active{color:var(--accent);background:var(--sidebar-active)}.nav-subitem--class{align-content:center;gap:1px;display:grid}.nav-subitem--class strong{font-size:.75rem;font-weight:650}.nav-subitem--class small{color:inherit;opacity:.72;font-size:.64rem}.nav-subitem--with-icon{gap:8px}.nav-subitem--with-icon svg{width:15px;height:15px}.main-content{min-width:0}.topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;min-height:82px;padding:12px clamp(24px,4vw,52px);display:flex}.topbar .eyebrow{color:var(--text-secondary);margin:0}.topbar__actions{align-items:center;gap:18px;display:flex}.icon-button{border:1px solid var(--border);border-radius:var(--radius-md);width:42px;height:42px;color:var(--text-secondary);background:var(--surface);place-items:center;display:grid;position:relative}.notification-dot{border:2px solid var(--surface);background:var(--error);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:9px}.notification-badge{border:2px solid var(--surface);min-width:20px;height:20px;color:var(--surface);background:var(--error);border-radius:999px;place-items:center;padding:0 5px;font-size:.62rem;font-weight:800;line-height:1;display:grid;position:absolute;top:-6px;right:-6px}.profile-chip{border-right:1px solid var(--border);align-items:center;gap:10px;padding-right:17px;display:flex}.profile-chip strong,.profile-chip small{display:block}.profile-chip strong{font-size:.85rem}.profile-chip small{color:var(--text-muted);margin-top:2px;font-size:.71rem}.avatar{width:40px;height:40px;color:var(--primary-900);background:var(--accent-soft);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.avatar--small{width:30px;height:30px;font-size:.73rem}.teacher-topbar{min-height:88px}.teacher-topbar__identity h1{color:var(--text-primary);margin:0 0 5px;font-size:1.05rem;font-weight:800}.teacher-topbar__identity p{color:var(--text-secondary);align-items:center;gap:8px;margin:0;font-size:.74rem;display:flex}.teacher-topbar__identity p i{background:var(--accent);border-radius:50%;width:4px;height:4px}.teacher-profile-chip{border-radius:var(--radius-md);transition:background .2s}.teacher-profile-chip:hover{background:var(--surface-subtle)}.teacher-topbar .icon-button{transition:color .2s,border-color .2s,background .2s}.teacher-topbar .icon-button:hover{color:var(--primary-600);background:var(--primary-wash);border-color:#247ba040}.page-content{padding:34px clamp(24px,4vw,52px) 56px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.page-heading h1{margin-bottom:6px;font-size:clamp(1.55rem,2.2vw,2rem)}.page-heading h1 bdi{overflow-wrap:anywhere;unicode-bidi:isolate}.page-heading p:last-child{color:var(--text-secondary);margin-bottom:0;font-size:.88rem}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:18px;display:grid}.metric-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow-card);align-items:center;gap:15px;padding:20px;display:flex}.metric-card__icon{border-radius:13px;flex:none;place-items:center;width:48px;height:48px;display:grid}.metric-card__icon--blue{color:var(--primary-600);background:var(--primary-soft)}.metric-card__icon--teal{color:var(--accent);background:var(--accent-soft)}.metric-card__icon--navy{color:var(--primary-900);background:var(--primary-wash)}.metric-card__icon--success{color:var(--success);background:var(--success-soft)}.metric-card p{color:var(--text-secondary);white-space:nowrap;margin-bottom:3px;font-size:.76rem}.metric-card strong{margin-left:9px;font-size:1.45rem}.metric-card small{color:var(--success);white-space:nowrap;font-size:.68rem}.role-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.role-metric-grid .metric-card{align-items:flex-start;min-height:132px;padding:22px;transition:border-color .2s,box-shadow .2s,transform .2s}.role-metric-grid .metric-card>div{min-width:0;padding-top:1px}.role-metric-grid .metric-card strong{margin:0 0 7px;font-size:1.18rem;line-height:1.45;display:block}.role-metric-grid .metric-card small{color:var(--text-secondary);overflow-wrap:anywhere;white-space:normal;font-size:.72rem;line-height:1.75;display:block}.role-metric-grid a.metric-card:hover{border-color:#247ba03d;transform:translateY(-2px);box-shadow:0 13px 34px #173b571a}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:18px;display:grid}.panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow-card);padding:22px}.panel__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:21px;display:flex}.panel__header h2{margin-bottom:3px;font-size:1rem}.panel__header p{color:var(--text-muted);margin:0;font-size:.72rem}.panel-icon{border-radius:var(--radius-md);width:38px;height:38px;color:var(--primary-600);background:var(--primary-soft);place-items:center;display:grid}.class-list{display:grid}.class-row{border-top:1px solid var(--border);grid-template-columns:50px 22px minmax(150px,1fr) minmax(125px,.7fr) auto;align-items:center;min-height:69px;font-size:.8rem;display:grid}.class-row time{color:var(--primary-900);direction:ltr;font-weight:750}.class-row__line{align-self:stretch;position:relative}.class-row__line:before{background:var(--border);content:"";width:1px;position:absolute;inset:0 50% 0 auto}.class-row__line i{z-index:1;border:3px solid var(--surface);background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 1px var(--accent);border-radius:50%;position:absolute;top:calc(50% - 5px);right:calc(50% - 5px)}.class-row__subject strong,.class-row__subject span{display:block}.class-row__subject span{color:var(--text-muted);margin-top:3px;font-size:.7rem}.class-row__teacher{color:var(--text-secondary);align-items:center;gap:8px;display:flex}.status-badge{border-radius:var(--radius-sm);width:max-content;color:var(--text-secondary);background:var(--background);align-items:center;padding:5px 9px;font-size:.67rem;font-weight:700;display:inline-flex}.status-badge--live{color:var(--success);background:var(--success-soft)}.attendance-score{justify-content:space-between;align-items:baseline;margin:31px 0 14px;display:flex}.attendance-score strong{color:var(--primary-900);font-size:2.6rem}.attendance-score span{color:var(--text-secondary);font-size:.76rem}.progress-track{background:var(--border);direction:ltr;border-radius:20px;height:9px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--accent);height:100%;display:block}.attendance-legend{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:23px;display:grid}.attendance-legend span{color:var(--text-muted);font-size:.67rem}.attendance-legend strong{color:var(--text-primary);margin:5px 14px 0 0;font-size:.85rem;display:block}.dot{border-radius:50%;width:7px;height:7px;margin-left:6px;display:inline-block}.dot--success{background:var(--success)}.dot--error{background:var(--error)}.dot--warning{background:var(--warning)}.task-list{margin:0;padding:0;list-style:none;display:grid}.task-list li{border-top:1px solid var(--border);grid-template-columns:9px 1fr 28px;align-items:center;gap:11px;min-height:61px;display:grid}.task-list li>span:last-child{border-radius:var(--radius-sm);width:27px;height:27px;color:var(--text-secondary);background:var(--background);place-items:center;font-size:.7rem;font-weight:750;display:grid}.task-list strong,.task-list small{display:block}.task-list strong{font-size:.76rem}.task-list small{color:var(--text-muted);margin-top:3px;font-size:.66rem}.task-dot{border-radius:50%;width:8px;height:8px}.task-dot--error{background:var(--error)}.task-dot--warning{background:var(--warning)}.performance-panel{grid-column:1/-1}.panel select{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--surface);padding:7px 10px;font-size:.72rem}.chart{border-bottom:1px solid var(--border);background-image:repeating-linear-gradient(to top, var(--border) 0, var(--border) 1px, transparent 1px, transparent 42px);justify-content:space-around;align-items:end;height:190px;padding:15px 20px 28px;display:flex}.chart>span{border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--primary-soft);align-items:flex-end;width:8%;max-width:54px;display:flex;position:relative}.chart>span i{border-radius:var(--radius-sm);background:var(--primary-600);width:100%;height:7px;display:block}.chart small{color:var(--text-muted);white-space:nowrap;font-size:.65rem;font-style:normal;position:absolute;top:calc(100% + 9px);right:50%;transform:translate(50%)}.schools-panel{min-height:320px}.school-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.school-card{border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:13px;padding:18px;display:flex}.school-card__icon{width:42px;height:42px;color:var(--primary-600);background:var(--primary-soft);border-radius:var(--radius-md);place-items:center;display:grid}.school-card div{flex:1;min-width:0}.school-card h2{margin-bottom:4px;font-size:.9rem}.school-card p{color:var(--text-muted);margin:0;font-size:.7rem}.school-card div>small{color:var(--primary-600);margin-bottom:4px;font-size:.62rem;font-weight:750;display:block}.school-card p{align-items:center;gap:5px;margin-top:4px;display:flex}.school-card p svg{width:13px;height:13px}.institution-form-panel{margin-bottom:18px;padding:0;overflow:hidden}.institution-form-panel>.panel__header{border-bottom:1px solid var(--border);margin:0;padding:22px}.institution-form-panel>form{padding:22px}.institution-type-selector{border:0;margin:0 0 20px;padding:0}.institution-type-selector legend{margin-bottom:9px;font-size:.82rem;font-weight:700}.institution-type-selector>div{grid-template-columns:repeat(2,minmax(0,230px));gap:10px;display:grid}.institution-type{border:1px solid var(--border);border-radius:var(--radius-md);min-height:68px;color:var(--text-secondary);background:var(--surface-subtle);text-align:right;align-items:center;gap:11px;padding:12px 14px;transition:border-color .2s,color .2s,background .2s;display:flex}.institution-type>svg{flex:none;width:24px;height:24px}.institution-type strong,.institution-type small{display:block}.institution-type strong{color:var(--text-primary);margin-bottom:3px;font-size:.8rem}.institution-type small{color:var(--text-muted);font-size:.63rem}.institution-type--active{border-color:var(--accent);color:var(--primary-700);background:var(--accent-soft);box-shadow:0 0 0 2px var(--hero-glow)}.institution-fields{grid-template-columns:minmax(220px,1.5fr) minmax(160px,.7fr) minmax(160px,.7fr);gap:14px;display:grid}.institution-fields .field,.manager-fields .field{margin-bottom:0}.institution-fields .field__control input:not([dir=ltr]),.manager-fields .field__control input:not([dir=ltr]){direction:rtl}.managers-section{border:1px solid var(--border);border-radius:var(--radius-lg);margin-top:24px;overflow:hidden}.managers-section>header{border-bottom:1px solid var(--border);background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.managers-section>header>div{align-items:center;gap:11px;display:flex}.managers-section h3{margin:0 0 3px;font-size:.86rem}.managers-section p{color:var(--text-muted);margin:0;font-size:.68rem}.managers-section .secondary-button{min-height:40px;font-size:.7rem}.manager-list{gap:12px;padding:16px;display:grid}.manager-form-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.manager-form-card>header{border-bottom:1px solid var(--border);min-height:44px;color:var(--primary-700);background:var(--primary-wash);justify-content:space-between;align-items:center;padding:7px 14px;font-size:.72rem;display:flex}.manager-form-card>header button{color:var(--error);background:0 0;border:0;align-items:center;gap:5px;padding:5px;font-size:.65rem;display:inline-flex}.manager-form-card>header button svg{width:14px}.manager-fields{grid-template-columns:repeat(4,minmax(150px,1fr));align-items:start;gap:12px;padding:15px;display:grid}.manager-fields .field{font-size:.73rem}.manager-fields .field__control{min-height:45px}.manager-fields .password-generator{margin:4px 0 0}.manager-fields .manager-description-field{grid-column:1/-1}.institution-form-actions{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.institution-form-actions .primary-button{min-width:230px}.institution-receipt{margin:0 0 18px}.institution-receipt dl{grid-template-columns:repeat(2,minmax(0,1fr))}.institution-receipt dl div{align-items:flex-start}.institution-receipt dd{text-align:left;gap:4px;display:grid}.institution-receipt dd span:last-child{color:var(--primary-700)}.schools-notice{margin-bottom:18px}.institution-inline-alert{margin:18px 22px 0}.field__control--textarea{align-items:flex-start;padding-block:10px}.field__control--textarea textarea{resize:vertical;width:100%;min-width:0;color:var(--text-primary);direction:rtl;background:0 0;border:0;outline:0;padding:2px 10px;line-height:1.8}.field__control--textarea>svg{flex:none;margin-top:4px}.institution-address-field,.institution-description-field{grid-column:1/-1}.institution-description-field>span:first-child small{color:var(--text-muted);font-size:.62rem;font-weight:500}.institution-edit-panel>form{border-bottom:1px solid var(--border)}.school-managers-editor{background:var(--surface-subtle);padding:22px}.school-managers-editor>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.school-managers-editor>header>div{align-items:center;gap:10px;display:flex}.school-managers-editor>header .secondary-button{gap:6px;min-height:39px;font-size:.68rem}.school-managers-editor>header svg{color:var(--primary-600)}.school-managers-editor h3{margin:0 0 3px;font-size:.88rem}.school-managers-editor p{color:var(--text-muted);margin:0;font-size:.68rem}.school-import-panel{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--surface) 0%, var(--accent-soft) 145%);box-shadow:var(--shadow-card);border:1px solid #35b8b047;margin-bottom:18px;overflow:hidden}.school-import-panel__header{padding:20px 22px 15px}.school-import-panel__title{align-items:center;gap:13px;display:flex}.school-import-panel__title>span{width:46px;height:46px;color:var(--surface);background:var(--primary-900);border-radius:13px;flex:none;place-items:center;display:grid;box-shadow:0 8px 20px #173b5729}.school-import-panel__title>span svg{width:23px}.school-import-panel__title-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.school-import-panel__title-line h2{margin:0;font-size:1rem}.school-import-panel__title-line small{color:var(--success);background:var(--success-soft);border-radius:999px;align-items:center;gap:4px;padding:4px 7px;font-size:.56rem;font-weight:750;display:inline-flex}.school-import-panel__title-line small svg{width:13px}.school-import-panel__title p{color:var(--text-secondary);margin:4px 0 0;font-size:.68rem}.school-import-steps{border-block:1px solid var(--border);background:#ffffffad;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.school-import-steps article{border-left:1px solid var(--border);align-items:center;gap:9px;min-height:72px;padding:12px 18px;display:flex}.school-import-steps article:last-child{border-left:0}.school-import-steps b{width:28px;height:28px;color:var(--primary-700);background:var(--primary-soft);border-radius:50%;flex:none;place-items:center;font-size:.66rem;display:grid}.school-import-steps span,.school-import-steps strong,.school-import-steps small{display:block}.school-import-steps strong{font-size:.67rem}.school-import-steps small{color:var(--text-muted);margin-top:3px;font-size:.55rem;line-height:1.6}.school-import-actions{grid-template-columns:auto minmax(220px,1fr) auto;align-items:stretch;gap:10px;padding:17px 22px 12px;display:grid}.school-import-actions button{gap:7px;min-height:47px;padding-inline:14px;font-size:.65rem}.school-import-actions button svg{width:17px}.school-import-picker{border:1px dashed var(--border);border-radius:var(--radius-md);min-width:0;min-height:47px;color:var(--text-secondary);background:var(--surface);cursor:pointer;align-items:center;gap:8px;padding:7px 12px;font-size:.63rem;transition:border-color .18s,background .18s;display:flex;overflow:hidden}.school-import-picker:hover{border-color:var(--primary-600);background:var(--primary-wash)}.school-import-picker--selected{border-style:solid;border-color:var(--accent);color:var(--text-primary);background:var(--accent-soft)}.school-import-picker input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.school-import-picker svg{width:18px;color:var(--primary-600);flex:none}.school-import-picker span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.school-import-picker small{color:var(--text-muted);white-space:nowrap;margin-right:auto;font-size:.54rem}.school-import-security{color:var(--text-muted);align-items:flex-start;gap:7px;margin:0;padding:0 22px 17px;font-size:.56rem;line-height:1.75;display:flex}.school-import-security svg{width:15px;color:var(--success);flex:none}.school-import-message{align-items:center;gap:7px;margin:0 22px 17px;display:flex}.school-import-message svg{flex:none;width:17px}.school-import-preview{border-top:1px solid var(--border);background:var(--surface);margin-top:3px}.school-import-preview>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:67px;padding:12px 22px;display:flex}.school-import-preview>header>div{align-items:center;gap:9px;display:flex}.school-import-preview>header>div>svg{width:20px;color:var(--primary-600)}.school-import-preview>header h3{margin:0 0 3px;font-size:.82rem}.school-import-preview>header p{color:var(--text-muted);margin:0;font-size:.59rem}.school-import-preview>header>button{width:30px;height:30px;color:var(--text-muted);background:0 0;border:0;place-items:center;display:grid}.school-import-preview>header>button svg{width:16px}.school-import-preview__metrics{background:var(--surface-subtle);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 22px;display:grid}.school-import-preview__metrics article{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:9px;padding:10px 12px;display:flex}.school-import-preview__metrics svg{width:19px}.school-import-preview__metrics strong,.school-import-preview__metrics small{display:block}.school-import-preview__metrics strong{font-size:.82rem}.school-import-preview__metrics small{color:var(--text-muted);margin-top:1px;font-size:.55rem}.school-import-metric--new svg{color:var(--success)}.school-import-metric--duplicate svg{color:var(--warning)}.school-import-metric--invalid svg{color:var(--error)}.school-import-preview__table-wrap{border-block:1px solid var(--border);max-height:390px;overflow:auto}.school-import-preview__table{border-collapse:collapse;width:100%;min-width:800px;font-size:.61rem}.school-import-preview__table th{z-index:1;color:var(--text-secondary);background:var(--surface-subtle);text-align:right;padding:9px 11px;font-size:.56rem;position:sticky;top:0}.school-import-preview__table td{border-top:1px solid var(--border);vertical-align:middle;padding:10px 11px}.school-import-preview__table td:first-child span,.school-import-preview__table td:first-child small{white-space:nowrap;display:block}.school-import-preview__table td:first-child small{color:var(--text-muted);margin-top:2px}.school-import-preview__table td:last-child{min-width:260px}.school-import-preview__table td:last-child>small{color:var(--text-secondary);margin-top:5px;line-height:1.65;display:block}.school-import-status{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 7px;font-size:.52rem;font-weight:750;display:inline-flex}.school-import-status--new{color:var(--success);background:var(--success-soft)}.school-import-status--duplicate{color:#94691e;background:var(--warning-soft)}.school-import-status--invalid{color:var(--error);background:var(--error-soft)}.school-import-preview>footer{justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;display:flex}.school-import-preview>footer p{color:var(--text-secondary);align-items:flex-start;gap:6px;margin:0;font-size:.58rem;line-height:1.7;display:flex}.school-import-preview>footer p svg{width:15px;color:var(--success);flex:none}.school-import-preview>footer>div{flex:none;gap:8px;display:flex}.school-import-preview>footer button{gap:6px;min-height:40px;padding-inline:13px;font-size:.6rem}.school-import-preview>footer button svg{width:15px}.school-import-result{border-radius:var(--radius-md);background:var(--success-soft);border:1px solid #2fa36b4d;margin:0 22px 18px;overflow:hidden}.school-import-result--partial{background:var(--warning-soft);border-color:#e7a83e59}.school-import-result>header{align-items:center;gap:9px;padding:12px 14px;display:flex}.school-import-result>header>svg{width:20px;color:var(--success);flex:none}.school-import-result--partial>header>svg{color:var(--warning)}.school-import-result>header strong,.school-import-result>header small{display:block}.school-import-result>header strong{font-size:.68rem}.school-import-result>header small{color:var(--text-secondary);margin-top:3px;font-size:.57rem}.school-import-failures{background:#ffffff94;border-top:1px solid #e7a83e40;max-height:220px;overflow-y:auto}.school-import-failures article{border-top:1px solid var(--border);grid-template-columns:minmax(150px,.35fr) 1fr;gap:12px;padding:9px 13px;display:grid}.school-import-failures article:first-child{border-top:0}.school-import-failures span{flex-wrap:wrap;align-items:center;gap:6px;font-size:.58rem;display:flex}.school-import-failures span bdi{color:var(--primary-700)}.school-import-failures p{color:var(--error);margin:0;font-size:.56rem;line-height:1.7}.school-people-editor{border-top:1px solid var(--border);background:var(--surface);padding:22px}.school-people-editor__heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.school-people-editor__heading h3{margin:0 0 4px;font-size:.94rem}.school-people-editor__heading p{color:var(--text-muted);margin:0;font-size:.68rem}.school-people-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.school-people-group{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.school-people-group>header{border-bottom:1px solid var(--border);background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:10px;min-height:66px;padding:10px 14px;display:flex}.school-people-group>header>div{align-items:center;gap:9px;display:flex}.school-people-group>header svg{width:19px;color:var(--primary-600)}.school-people-group>header h4{margin:0 0 2px;font-size:.78rem}.school-people-group>header p{color:var(--text-muted);margin:0;font-size:.61rem}.school-people-group>header .secondary-button{gap:5px;min-height:36px;padding-inline:10px;font-size:.62rem}.school-people-empty,.school-people-loading{min-height:76px;color:var(--text-muted);text-align:center;justify-content:center;align-items:center;gap:7px;margin:0;padding:14px;font-size:.64rem;display:flex}.school-people-loading svg{width:17px;color:var(--primary-600)}.school-people-list{display:grid}.school-people-list article{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:9px 13px;display:flex}.school-people-list article:first-child{border-top:0}.school-people-list article>span:last-child{color:var(--text-secondary);justify-items:end;gap:3px;font-size:.62rem;display:grid}.school-people-list .table-user small{max-width:260px}.account-state{color:var(--text-muted);font-size:.58rem}.account-state--active{color:var(--success)}.school-person-form{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin-top:16px;overflow:hidden}.school-person-form>header{border-bottom:1px solid var(--border);background:var(--primary-wash);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.school-person-form>header h3{margin:0 0 3px;font-size:.84rem}.school-person-form>header p{color:var(--text-muted);margin:0;font-size:.64rem}.school-person-form>header button{width:28px;height:28px;color:var(--text-muted);background:0 0;border:0;place-items:center;display:grid}.school-person-form>header button svg{width:16px}.school-person-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:16px;display:grid}.school-person-fields .field{margin-bottom:0}.school-person-fields .school-person-field--wide{grid-column:1/-1}.school-person-form>footer{border-top:1px solid var(--border);background:var(--surface-subtle);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.school-person-receipt{margin-top:16px}.school-people-list .school-person-row{align-items:stretch;gap:0;padding:0;display:grid}.school-person-row__main{justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:9px 13px;display:flex}.school-person-row__main>span:last-child{color:var(--text-secondary);justify-items:end;gap:3px;font-size:.62rem;display:grid}.student-guardians{border-top:1px dashed var(--border);background:var(--surface-subtle);gap:8px;padding:10px 13px 12px;display:grid}.student-guardians__heading{color:var(--text-muted);justify-content:space-between;align-items:center;gap:10px;font-size:.61rem;display:flex}.student-guardians__heading span{align-items:center;gap:5px;display:inline-flex}.student-guardians__heading svg{width:14px;color:var(--primary-600)}.student-guardian{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.student-guardian>span{color:var(--text-secondary);gap:2px;font-size:.62rem;display:grid}.student-guardian>span:first-child{grid-template-columns:auto 1fr;align-items:center}.student-guardian>span:first-child svg{width:17px;color:var(--success);grid-row:1/3;margin-inline-end:3px}.student-guardian small{color:var(--text-muted)}.student-guardians>.password-generator{justify-self:start}.guardian-form-section{padding:0 16px 16px}.guardian-form-section>header{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 0 10px;display:flex}.guardian-form-section>header h4{margin:0 0 2px;font-size:.76rem}.guardian-form-section>header p{color:var(--text-muted);margin:0;font-size:.61rem}.guardian-form-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);margin-top:10px;overflow:hidden}.guardian-form-card__heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:9px 13px;font-size:.68rem;display:flex}.guardian-form-card__heading button{width:26px;height:26px;color:var(--error);background:0 0;border:0;place-items:center;display:grid}.guardian-form-card__heading svg{width:15px}.guardian-form-card .school-person-fields{padding:13px}.school-manager-rows{gap:8px;margin-top:15px;display:grid}.school-manager-rows article{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.school-manager-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.school-manager-rows .outline-button,.school-manager-rows .danger-button{gap:6px;min-height:38px;padding-inline:12px;font-size:.68rem}.school-manager-rows .outline-button svg,.school-manager-rows .danger-button svg{width:15px}.manager-edit-form{border:1px solid var(--primary-600);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card);margin-top:14px;overflow:hidden}.manager-edit-form>header{border-bottom:1px solid var(--border);background:var(--primary-wash);justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.manager-edit-form>header button{color:var(--text-muted);background:0 0;border:0;place-items:center;padding:4px;display:grid}.manager-edit-form>.manager-fields{padding:16px}.manager-edit-form>footer{border-top:1px solid var(--border);background:var(--surface-subtle);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.manager-edit-form>footer button{gap:6px;min-height:40px;font-size:.68rem}.field--invalid .field__control{border-color:var(--error);box-shadow:0 0 0 3px #d85b631a}.field-error{color:var(--error);margin-top:5px;font-size:.61rem;font-weight:600;display:block}.field-hint{color:var(--text-muted);margin-top:5px;font-size:.61rem;font-weight:500;line-height:1.7;display:block}.institution-code-field .field__control input{text-transform:uppercase}.institution-code-field--readonly .field__control{background:var(--surface-subtle)}.institution-code-field--readonly .field__control input{color:var(--text-secondary);cursor:default}.manager-conflict-summary{border:1px solid var(--warning);border-radius:var(--radius-sm);background:var(--warning-soft);margin:14px 0;padding:12px;color:#94691e!important;display:block!important}.manager-conflict-summary>strong{margin-bottom:8px;font-size:.72rem}.manager-conflict-summary p{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:10px;margin:6px 0 0;font-size:.68rem;display:flex}.manager-conflict-summary p span{color:var(--error);font-weight:700}.school-card--managed{grid-template-columns:42px minmax(0,1fr) auto;align-items:start;display:grid}.school-card--managed>.status-badge{align-self:start}.school-card--managed>footer{border-top:1px solid var(--border);grid-column:1/-1;gap:7px;margin:5px -2px -2px;padding-top:12px;display:flex}.school-card--managed>footer button{flex:1;gap:6px;min-height:38px;padding-inline:8px;font-size:.65rem}.school-card--managed>footer svg{width:15px}.school-card__address{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.7;overflow:hidden;display:-webkit-box!important}.school-card--inactive{background:var(--surface-subtle)}.school-card--inactive .school-card__icon{color:var(--text-muted);background:var(--background)}.danger-button{border-radius:var(--radius-md);min-height:42px;color:var(--error);background:var(--error-soft);border:1px solid #d85b6340;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-weight:700;transition:border-color .2s,background .2s;display:inline-flex}.danger-button:hover{border-color:var(--error)}.danger-button:disabled{color:var(--text-muted);border-color:var(--border);background:var(--background)}.user-count{border:1px solid var(--border);border-radius:var(--radius-md);min-height:40px;color:var(--text-secondary);background:var(--surface);white-space:nowrap;align-items:center;gap:8px;padding:0 13px;font-size:.76rem;font-weight:700;display:inline-flex}.user-count svg{width:18px;color:var(--primary-600)}.users-alert{margin-bottom:18px}.users-layout{grid-template-columns:minmax(330px,.72fr) minmax(0,1.55fr);align-items:start;gap:18px;display:grid}.user-form-panel{position:sticky;top:18px}.user-form-panel .field{margin-bottom:15px;font-size:.8rem}.user-form-panel .field__control{min-height:46px}.user-form-panel .field__control input:not([dir=ltr]){direction:rtl}.field__control select{width:100%;min-width:0;color:var(--text-primary);background:0 0;border:0;outline:0;padding:11px 10px;font-size:.8rem}.password-generator{color:var(--primary-600);background:0 0;border:0;align-items:center;gap:7px;margin:-3px 0 17px;padding:4px 0;font-size:.72rem;font-weight:700;display:inline-flex}.password-generator svg{width:16px}.compact-empty{min-height:250px}.compact-empty p{color:var(--text-muted);font-size:.75rem}.credential-receipt{border:1px solid var(--success);border-radius:var(--radius-md);background:var(--success-soft);margin-top:18px;padding:16px}.credential-receipt>div:first-child{color:var(--success);align-items:center;gap:10px;display:flex}.credential-receipt>div:first-child>svg{width:22px}.credential-receipt strong,.credential-receipt small{display:block}.credential-receipt strong{font-size:.8rem}.credential-receipt small{color:var(--text-secondary);margin-top:3px;font-size:.66rem}.credential-receipt dl{gap:7px;margin:14px 0;display:grid}.credential-receipt dl div{border-radius:var(--radius-sm);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.credential-receipt dt{color:var(--text-muted);font-size:.68rem}.credential-receipt dd{-webkit-user-select:all;user-select:all;margin:0;font-family:Consolas,monospace;font-size:.75rem;font-weight:700}.credential-receipt .outline-button{width:100%;min-height:38px;font-size:.7rem}.credential-receipt .outline-button svg{width:16px}.users-list-panel{min-height:470px}.users-table-wrap{max-width:100%;overflow-x:auto}.users-table{border-collapse:collapse;width:100%;font-size:.75rem}.users-table th{color:var(--text-muted);text-align:right;white-space:nowrap;padding:0 11px 12px;font-size:.66rem;font-weight:700}.users-table td{border-top:1px solid var(--border);color:var(--text-secondary);vertical-align:middle;white-space:nowrap;padding:13px 11px}.table-user{align-items:center;gap:9px;min-width:190px;display:flex}.table-user>b{width:34px;height:34px;color:var(--primary-900);background:var(--accent-soft);border-radius:50%;flex:none;place-items:center;display:grid}.table-user strong,.table-user small{display:block}.table-user strong{color:var(--text-primary);font-size:.76rem}.table-user small{color:var(--text-muted);text-align:right;margin-top:3px;font-size:.62rem}.users-table code{color:var(--primary-700);background:var(--primary-wash);border-radius:6px;padding:5px 7px;font-family:Consolas,monospace;font-size:.7rem}.role-badge{border-radius:var(--radius-sm);color:var(--primary-700);background:var(--primary-soft);padding:5px 8px;font-size:.66rem;font-weight:700;display:inline-flex}.role-badge--teacher{color:var(--success);background:var(--success-soft)}.role-badge--parent{color:#94691e;background:var(--warning-soft)}.role-badge--student{color:#76538e;background:#f5eef9}.empty-state{min-height:270px;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state>svg{width:42px;height:42px;color:var(--accent);margin-bottom:16px}.empty-state h1,.empty-state h2{color:var(--text-primary)}.empty-state h2{font-size:1rem}.placeholder-page{min-height:60vh}.placeholder-page .eyebrow,.placeholder-page h1{margin-bottom:8px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.manager-students-page{gap:18px;display:grid}.manager-students-heading{align-items:center;margin-bottom:0}.manager-students-count{border:1px solid var(--border);border-radius:var(--radius-md);min-height:48px;color:var(--text-secondary);background:var(--surface);box-shadow:var(--shadow-card);align-items:center;gap:8px;padding:0 15px;font-size:.7rem;display:flex}.manager-students-count svg{width:20px;color:var(--primary-600)}.manager-students-count strong{color:var(--text-primary);font-size:1rem}.manager-students-panel{padding:0;overflow:hidden}.manager-students-toolbar{justify-content:space-between;align-items:center;gap:15px;padding:20px 22px 14px;display:flex}.manager-students-toolbar h2{margin:0 0 4px;font-size:.95rem}.manager-students-toolbar p{color:var(--text-muted);margin:0;font-size:.67rem}.manager-students-filters{border-block:1px solid var(--border);background:var(--surface-subtle);grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;align-items:end;gap:13px;padding:15px 22px;display:grid}.manager-students-filters label>span{color:var(--text-secondary);margin-bottom:6px;font-size:.62rem;font-weight:700;display:block}.manager-students-filters label>div{border:1px solid var(--border);border-radius:var(--radius-md);min-height:43px;color:var(--text-muted);background:var(--surface);align-items:center;padding-inline:11px;transition:border-color .2s,box-shadow .2s;display:flex}.manager-students-filters label>div:focus-within{border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-soft)}.manager-students-filters label svg{flex:none;width:17px}.manager-students-filters input{width:100%;min-width:0;color:var(--text-primary);background:0 0;border:0;outline:0;padding:9px;font-size:.72rem}.manager-students-filters>p{border-radius:var(--radius-md);min-height:43px;color:var(--primary-700);background:var(--primary-wash);white-space:nowrap;align-items:center;gap:6px;margin:0;padding-inline:12px;font-size:.62rem;display:flex}.manager-students-filters>p svg{width:16px}.manager-students-state{margin:15px 22px 0}.manager-students-list{gap:13px;padding:18px 22px 22px;display:grid}.manager-students-empty{min-height:260px;color:var(--text-muted);text-align:center;place-items:center;padding:30px;display:grid}.manager-students-empty svg{width:32px;color:var(--primary-600);margin-bottom:9px}.manager-students-empty strong{color:var(--text-primary);font-size:.78rem}.manager-students-empty p{margin:5px 0 0;font-size:.64rem}.manager-student-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.manager-student-card>header{border-bottom:1px solid var(--border);background:var(--surface-subtle);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:72px;padding:12px 15px;display:grid}.manager-student-avatar{width:42px;height:42px;color:var(--primary-900);background:var(--accent-soft);border-radius:50%;place-items:center;font-size:.9rem;font-weight:800;display:grid}.manager-student-card>header h3{margin:0 0 4px;font-size:.8rem}.manager-student-card>header p{color:var(--text-muted);align-items:center;gap:5px;margin:0;font-size:.61rem;display:flex}.manager-student-card>header p svg{width:13px}.account-state-pill{color:var(--text-muted);background:var(--background);white-space:nowrap;border-radius:999px;align-items:center;padding:5px 8px;font-size:.55rem;font-weight:750;display:inline-flex}.account-state-pill--active{color:var(--success);background:var(--success-soft)}.manager-student-details{border-bottom:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.manager-student-details>div{border-left:1px solid var(--border);min-width:0;padding:12px 15px}.manager-student-details>div:last-child{border-left:0}.manager-student-details dt{color:var(--text-muted);align-items:center;gap:5px;margin-bottom:5px;font-size:.56rem;display:flex}.manager-student-details dt svg{width:14px;color:var(--primary-600)}.manager-student-details dd{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.67rem;font-weight:700;overflow:hidden}.manager-student-description{border-bottom:1px solid var(--border);color:var(--text-secondary);background:var(--primary-wash);margin:0;padding:10px 15px;font-size:.61rem;line-height:1.75}.manager-student-guardians{padding:12px 15px 15px}.manager-student-guardians>header{align-items:center;gap:7px;margin-bottom:9px;display:flex}.manager-student-guardians>header svg{width:17px;color:var(--success)}.manager-student-guardians>header strong,.manager-student-guardians>header small{display:block}.manager-student-guardians>header strong{font-size:.66rem}.manager-student-guardians>header small{color:var(--text-muted);margin-top:2px;font-size:.54rem}.manager-student-guardians>article{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);grid-template-columns:26px minmax(170px,1fr) minmax(320px,1.3fr) auto;align-items:center;gap:10px;margin-top:7px;padding:10px 11px;display:grid}.manager-student-guardians>article>svg{width:19px;color:var(--primary-600)}.manager-student-guardians>article>div strong,.manager-student-guardians>article>div small{display:block}.manager-student-guardians>article>div strong{font-size:.64rem}.manager-student-guardians>article>div small{color:var(--text-muted);margin-top:3px;font-size:.55rem}.manager-student-guardians article dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.manager-student-guardians article dl div{min-width:0}.manager-student-guardians article dt{color:var(--text-muted);font-size:.51rem}.manager-student-guardians article dd{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:.58rem;overflow:hidden}.manager-student-no-guardian{border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);background:var(--surface-subtle);text-align:center;margin:0;padding:12px;font-size:.59rem}.teacher-classes-heading{align-items:center}.teacher-classes-summary{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card);align-items:center;gap:16px;padding:13px 16px;display:flex}.teacher-classes-summary span{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:7px;font-size:.74rem;display:flex}.teacher-classes-summary span svg{width:17px;color:var(--primary-600)}.teacher-classes-summary b{color:var(--text-primary);font-size:.88rem}.teacher-classes-summary>i{background:var(--border);width:1px;height:25px}.teacher-classes-panel{padding:0;overflow:hidden}.teacher-classes-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding:21px 22px;display:flex}.teacher-classes-toolbar h2{margin:0 0 3px;font-size:.98rem}.teacher-classes-toolbar p{color:var(--text-muted);margin:0;font-size:.7rem}.teacher-class-search{border:1px solid var(--border);border-radius:var(--radius-md);width:min(300px,100%);min-height:43px;color:var(--text-muted);background:var(--surface-subtle);align-items:center;padding-inline:12px;transition:border-color .2s,box-shadow .2s;display:flex}.teacher-class-search:focus-within{border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-soft)}.teacher-class-search svg{flex:none;width:17px}.teacher-class-search input{width:100%;min-width:0;color:var(--text-primary);background:0 0;border:0;outline:0;padding:10px;font-size:.75rem}.teacher-class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:22px;display:grid}.teacher-class-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-rows:100px 1fr auto;min-width:0;transition:border-color .2s,transform .2s,box-shadow .2s;display:grid;position:relative;overflow:hidden}.teacher-class-card:hover{border-color:#247ba047;transform:translateY(-2px);box-shadow:0 16px 38px #173b5717}.teacher-class-card__visual{color:var(--surface);background:linear-gradient(135deg, var(--primary-900), var(--primary-700));justify-content:space-between;align-items:center;padding:18px;display:flex;position:relative;overflow:hidden}.teacher-class-card__visual:after{content:"";border:1px solid #ffffff24;border-radius:50%;width:120px;height:120px;position:absolute;top:-48px;left:-28px;box-shadow:0 0 0 25px #ffffff0a}.teacher-class-card__visual--1{background:linear-gradient(135deg,#176b70,#35a49d)}.teacher-class-card__visual--2{background:linear-gradient(135deg,#45526f,#7684a0)}.teacher-class-card__visual>span{background:#ffffff1c;border:1px solid #fff3;border-radius:15px;place-items:center;width:48px;height:48px;font-size:1.3rem;font-weight:850;display:grid}.teacher-class-card__visual>svg{opacity:.72;width:25px;height:25px}.teacher-class-card__body{padding:18px 18px 15px}.teacher-class-card__body>p{color:var(--text-muted);margin:0 0 10px;font-size:.65rem}.teacher-class-card__body h2{color:var(--primary-900);margin:0 0 4px;font-size:1.08rem}.teacher-class-card__body>strong{color:var(--text-secondary);font-size:.78rem;font-weight:650}.teacher-class-card__meta{border-top:1px solid var(--border);flex-wrap:wrap;gap:12px;margin-top:18px;padding-top:14px;display:flex}.teacher-class-card__meta span{color:var(--text-muted);align-items:center;gap:5px;font-size:.65rem;display:flex}.teacher-class-card__meta svg{width:14px;color:var(--primary-600)}.teacher-class-card__link{border-top:1px solid var(--border);min-height:48px;color:var(--primary-700);background:var(--surface-subtle);justify-content:space-between;align-items:center;padding-inline:18px;font-size:.72rem;font-weight:750;transition:color .2s,background .2s;display:flex}.teacher-class-card__link:hover{color:var(--surface);background:var(--primary-900)}.teacher-class-card__link svg{width:16px;transition:transform .2s}.teacher-class-card__link:hover svg{transform:translate(-3px)}.teacher-inline-state{min-height:270px;color:var(--text-secondary);text-align:right;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex}.teacher-inline-state>svg{width:36px;height:36px;color:var(--accent)}.teacher-inline-state strong,.teacher-inline-state p{display:block}.teacher-inline-state strong{color:var(--text-primary);margin-bottom:5px;font-size:.85rem}.teacher-inline-state p{margin:0;font-size:.72rem}.teacher-inline-state .outline-button{gap:7px;margin-right:14px;font-size:.7rem}.teacher-inline-state .outline-button svg{width:15px}.teacher-inline-state--error>svg{color:var(--error)}.teacher-class-card--loading{background:linear-gradient(100deg, var(--surface-subtle) 35%, var(--background) 50%, var(--surface-subtle) 65%);background-size:300% 100%;border:0;min-height:330px;animation:1.4s ease-in-out infinite teacher-skeleton}.teacher-workspace-page{gap:18px;display:grid}.workspace-breadcrumb{color:var(--text-muted);align-items:center;gap:7px;font-size:.68rem;display:flex}.workspace-breadcrumb a:hover{color:var(--primary-600)}.workspace-breadcrumb svg{width:13px}.workspace-breadcrumb span{color:var(--text-secondary)}.workspace-hero{border-radius:var(--radius-lg);min-height:154px;color:var(--surface);box-shadow:var(--shadow-card);background:linear-gradient(120deg,#173b57 0%,#1c536f 72%,#226f83 100%);justify-content:space-between;align-items:center;gap:24px;padding:27px 30px;display:flex;position:relative;overflow:hidden}.workspace-hero:after{content:"";border:1px solid #ffffff1a;border-radius:50%;width:250px;height:250px;position:absolute;top:-115px;left:-85px;box-shadow:0 0 0 45px #ffffff08}.workspace-hero__identity{z-index:1;align-items:center;gap:19px;min-width:0;display:flex;position:relative}.workspace-hero__mark{width:62px;height:62px;color:var(--primary-900);background:var(--accent);border:1px solid #ffffff2e;border-radius:18px;flex:none;place-items:center;display:grid;box-shadow:0 9px 30px #0000001f}.workspace-hero__mark svg{width:31px;height:31px}.workspace-hero__identity p{color:#ffffff9e;margin:0 0 5px;font-size:.68rem}.workspace-hero__identity h1{align-items:center;gap:10px;margin:0;font-size:clamp(1.35rem,2.1vw,1.85rem);display:flex}.workspace-hero__identity h1 i{background:var(--accent);border-radius:50%;width:5px;height:5px}.workspace-hero__meta{color:#ffffffad;flex-wrap:wrap;gap:16px;margin-top:13px;font-size:.68rem;display:flex}.workspace-hero__meta span{align-items:center;gap:6px;display:flex}.workspace-hero__meta svg{width:15px;color:var(--accent)}.workspace-hero__action{z-index:1;border-radius:var(--radius-md);white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff2b;align-items:center;gap:8px;min-height:44px;padding-inline:16px;font-size:.7rem;font-weight:750;transition:background .2s,transform .2s;display:inline-flex;position:relative}.workspace-hero__action:hover{background:#ffffff2b;transform:translateY(-1px)}.workspace-hero__action svg{width:17px;color:var(--accent)}.workspace-tabs{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card);scrollbar-width:thin;align-items:center;gap:4px;padding:5px;display:flex;overflow-x:auto}.workspace-tab{border-radius:var(--radius-sm);min-width:max-content;min-height:43px;color:var(--text-secondary);justify-content:center;align-items:center;gap:7px;padding-inline:15px;font-size:.7rem;font-weight:700;transition:color .2s,background .2s;display:inline-flex;position:relative}.workspace-tab svg{width:16px}.workspace-tab:hover{color:var(--primary-700);background:var(--primary-wash)}.workspace-tab--active{color:var(--primary-900);background:var(--accent-soft)}.workspace-tab--active:after{background:var(--accent);content:"";border-radius:2px;height:2px;position:absolute;bottom:-5px;left:17px;right:17px}.workspace-tab--disabled{opacity:.45;cursor:not-allowed}.workspace-content-panel{padding:0;overflow:hidden}.workspace-content-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding:21px 22px;display:flex}.workspace-content-header h2{margin:0 0 3px;font-size:1rem}.workspace-content-header p:last-child{color:var(--text-muted);margin:0;font-size:.7rem}.workspace-student-list{display:grid}.workspace-student-row{border-top:1px solid var(--border);min-height:66px;color:var(--text-secondary);grid-template-columns:55px minmax(230px,1fr) minmax(150px,.55fr) 100px;align-items:center;gap:15px;padding-inline:22px;font-size:.72rem;display:grid}.workspace-student-row--head{min-height:43px;color:var(--text-muted);background:var(--surface-subtle);border-top:0;font-size:.63rem;font-weight:700}.workspace-student-index{color:var(--text-muted)}.workspace-student-identity{align-items:center;gap:10px;min-width:0;display:flex}.workspace-student-identity>b{width:36px;height:36px;color:var(--primary-900);background:var(--accent-soft);border-radius:50%;flex:none;place-items:center;display:grid}.workspace-student-identity strong,.workspace-student-identity small{display:block}.workspace-student-identity strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.workspace-student-identity small{color:var(--text-muted);margin-top:2px;font-size:.6rem}.workspace-student-row code{width:max-content;color:var(--primary-700);background:var(--primary-wash);border-radius:6px;padding:5px 8px;font-family:Vazirmatn,sans-serif;font-size:.68rem}.workspace-enrollment-badge{border-radius:var(--radius-sm);width:max-content;min-width:50px;color:var(--success);background:var(--success-soft);justify-content:center;padding:5px 8px;font-size:.62rem;font-weight:750;display:inline-flex}.workspace-students-empty{min-height:260px;color:var(--text-muted);text-align:center;place-items:center;display:grid}.workspace-students-empty svg{width:32px;height:32px;color:var(--accent);margin-bottom:9px}.workspace-students-empty strong{color:var(--text-primary);font-size:.8rem}.workspace-students-empty p{margin:4px 0 0;font-size:.68rem}.workspace-module-skeleton{grid-template-columns:58px minmax(0,1fr) minmax(260px,.7fr);align-items:center;gap:18px;min-height:310px;padding:36px;display:grid;position:relative;overflow:hidden}.workspace-module-skeleton__icon{width:58px;height:58px;color:var(--primary-700);background:var(--accent-soft);border-radius:17px;place-items:center;display:grid}.workspace-module-skeleton__icon svg{width:27px;height:27px}.workspace-module-skeleton>div:nth-child(2) span{color:var(--primary-700);background:var(--primary-wash);border-radius:6px;margin-bottom:9px;padding:5px 8px;font-size:.62rem;font-weight:750;display:inline-flex}.workspace-module-skeleton h2{margin:0 0 8px;font-size:1.2rem}.workspace-module-skeleton>div:nth-child(2) p{max-width:530px;color:var(--text-secondary);margin:0;font-size:.76rem;line-height:1.9}.workspace-module-skeleton__preview{border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);gap:10px;padding:20px;display:grid}.workspace-module-skeleton__preview i{background:var(--border);border-radius:8px;height:12px;display:block}.workspace-module-skeleton__preview i:first-child{width:45%}.workspace-module-skeleton__preview i:nth-child(2){width:92%}.workspace-module-skeleton__preview i:nth-child(3){width:75%}.workspace-module-skeleton__preview i:nth-child(4){width:84%}.workspace-module-skeleton__note{color:var(--text-muted);margin:0;font-size:.62rem;position:absolute;bottom:27px;right:36px}.workspace-unavailable{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:58vh;display:flex}.workspace-unavailable>svg{width:48px;height:48px;color:var(--accent);margin-bottom:15px}.workspace-unavailable h1{margin-bottom:8px}.workspace-unavailable>p:not(.eyebrow){max-width:500px;color:var(--text-secondary);font-size:.78rem;line-height:1.9}.workspace-unavailable>div{gap:10px;margin-top:13px;display:flex}.workspace-unavailable .primary-button,.workspace-unavailable .outline-button{gap:7px;font-size:.7rem}.workspace-unavailable svg{width:16px}.workspace-loading{animation:1.4s ease-in-out infinite teacher-skeleton}.workspace-loading>div{border-radius:var(--radius-lg);background:linear-gradient(100deg, var(--surface-subtle) 35%, var(--background) 50%, var(--surface-subtle) 65%);background-size:300% 100%}.workspace-loading__hero{height:154px}.workspace-loading__tabs{height:53px}.workspace-loading__content{height:330px}@keyframes teacher-skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.teacher-schedule-page{gap:18px;display:grid}.teacher-schedule-page .page-heading{margin-bottom:2px}.today-schedule-panel{padding:0;overflow:hidden}.today-schedule-panel .panel__header{border-bottom:1px solid var(--border);align-items:center;margin:0;padding:20px 22px}.today-schedule-panel .panel__header>svg{width:29px;height:29px;color:var(--accent)}.today-schedule-list{display:grid}.today-schedule-row{border-top:1px solid var(--border);grid-template-columns:75px minmax(155px,.7fr) minmax(300px,1.4fr) auto;align-items:center;gap:18px;min-height:82px;padding:12px 22px;display:grid}.today-schedule-row:first-child{border-top:0}.today-schedule-row time strong,.today-schedule-row time span{display:block}.today-schedule-row time strong{color:var(--primary-900);font-size:1rem}.today-schedule-row time span{color:var(--text-muted);margin-top:3px;font-size:.62rem}.today-schedule-row__class strong,.today-schedule-row__class span{display:block}.today-schedule-row__class strong{font-size:.82rem}.today-schedule-row__class span{color:var(--text-secondary);margin-top:4px;font-size:.68rem}.today-schedule-row__meta{color:var(--text-muted);flex-wrap:wrap;gap:13px;font-size:.64rem;display:flex}.today-schedule-row__meta span{align-items:center;gap:5px;display:flex}.today-schedule-row__meta svg{width:14px;color:var(--primary-600)}.today-schedule-row .primary-button{gap:7px;min-height:40px;font-size:.68rem}.today-schedule-row .primary-button svg{width:15px}.schedule-empty-day{min-height:130px;color:var(--text-muted);place-items:center;font-size:.75rem;display:grid}.weekly-schedule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.schedule-day-card{min-height:220px;padding:0;overflow:hidden}.schedule-day-card>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:53px;padding-inline:16px;display:flex}.schedule-day-card header div{align-items:center;gap:7px;display:flex}.schedule-day-card header strong{font-size:.78rem}.schedule-day-card header span{color:var(--success);background:var(--success-soft);border-radius:5px;padding:3px 6px;font-size:.56rem}.schedule-day-card header small{color:var(--text-muted);font-size:.6rem}.schedule-day-card--today{box-shadow:0 0 0 2px var(--accent-soft), var(--shadow-card);border-color:#35b8b073}.schedule-slot{border-top:1px solid var(--border);grid-template-columns:45px 1fr 16px;align-items:center;gap:10px;min-height:62px;padding-inline:16px;transition:background .2s;display:grid}.schedule-slot:first-child{border-top:0}.schedule-slot:hover{background:var(--primary-wash)}.schedule-slot time{color:var(--primary-700);font-size:.68rem;font-weight:750}.schedule-slot strong,.schedule-slot span{display:block}.schedule-slot strong{font-size:.7rem}.schedule-slot span{color:var(--text-muted);margin-top:3px;font-size:.59rem}.schedule-slot>svg{width:14px;color:var(--text-muted)}.schedule-day-empty{min-height:150px;color:var(--text-muted);place-items:center;margin:0;font-size:.66rem;display:grid}.schedule-page-loading{border-radius:var(--radius-lg);background:linear-gradient(100deg, var(--surface-subtle) 35%, var(--background) 50%, var(--surface-subtle) 65%);background-size:300% 100%;height:500px;animation:1.4s infinite teacher-skeleton}.dashboard-today-panel{padding:0;overflow:hidden}.dashboard-today-panel .panel__header{border-bottom:1px solid var(--border);margin:0;padding:20px 22px}.dashboard-today-date{color:var(--primary-700);align-items:center;gap:6px;font-size:.68rem;font-weight:700;display:flex}.dashboard-today-date svg{width:16px}.dashboard-today-list article{border-top:1px solid var(--border);grid-template-columns:55px 20px minmax(150px,1fr) minmax(120px,.6fr) 90px auto;align-items:center;gap:10px;min-height:72px;padding:10px 22px;font-size:.69rem;display:grid}.dashboard-today-list article:first-child{border-top:0}.dashboard-today-list time{color:var(--primary-900);font-size:.85rem;font-weight:800}.dashboard-class-line{height:100%;position:relative}.dashboard-class-line:before{background:var(--border);content:"";width:1px;position:absolute;top:0;bottom:0;right:50%}.dashboard-class-line:after{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 3px var(--accent-soft);content:"";border-radius:50%;position:absolute;top:calc(50% - 4px);right:calc(50% - 4px)}.dashboard-today-list article>div strong,.dashboard-today-list article>div span{display:block}.dashboard-today-list article>div span{color:var(--text-muted);margin-top:3px;font-size:.61rem}.dashboard-today-list article>span:not(.dashboard-class-line){color:var(--text-muted);align-items:center;gap:5px;display:flex}.dashboard-today-list article>span svg{width:14px}.dashboard-today-list .primary-button{gap:6px;min-height:38px;font-size:.64rem}.dashboard-today-list .primary-button svg{width:14px}.attendance-panel,.assessment-panel{padding:0;overflow:hidden}.attendance-date{color:var(--text-secondary);grid-template-columns:18px auto;align-items:center;gap:2px 7px;font-size:.62rem;display:grid}.attendance-date svg{width:17px;color:var(--primary-600);grid-row:1/3}.attendance-date input{border:1px solid var(--border);color:var(--text-primary);background:var(--surface-subtle);direction:ltr;border-radius:6px;padding:5px 8px;font-size:.68rem}.attendance-summary{border-bottom:1px solid var(--border);background:var(--surface-subtle);flex-wrap:wrap;gap:8px;padding:13px 22px;display:flex}.attendance-summary span{color:var(--text-secondary);background:var(--surface);border-radius:7px;align-items:center;gap:5px;padding:6px 9px;font-size:.62rem;font-weight:650;display:flex}.attendance-summary svg{width:14px}.attendance-summary__present{color:var(--success)!important}.attendance-summary__absent{color:var(--error)!important}.attendance-summary__late{color:#9b6a18!important}.attendance-list{display:grid}.attendance-row{border-top:1px solid var(--border);grid-template-columns:35px minmax(220px,1fr) auto;align-items:center;gap:14px;min-height:67px;padding:8px 22px;display:grid}.attendance-row:first-child{border-top:0}.attendance-row>span{color:var(--text-muted);font-size:.66rem}.attendance-status-picker{gap:5px;display:flex}.attendance-status{border:1px solid var(--border);min-height:35px;color:var(--text-muted);background:var(--surface);border-radius:7px;align-items:center;gap:5px;padding:0 9px;font-size:.61rem;transition:all .16s;display:flex}.attendance-status span{display:none}.attendance-status b{font-weight:700}.attendance-status--active.attendance-status--present{border-color:var(--success);color:var(--success);background:var(--success-soft)}.attendance-status--active.attendance-status--absent{border-color:var(--error);color:var(--error);background:var(--error-soft)}.attendance-status--active.attendance-status--late{border-color:var(--warning);color:#94691e;background:var(--warning-soft)}.attendance-status--active.attendance-status--excused{border-color:var(--primary-600);color:var(--primary-600);background:var(--primary-soft)}.attendance-footer{border-top:1px solid var(--border);background:var(--surface-subtle);justify-content:flex-end;align-items:center;gap:9px;min-height:68px;padding:11px 22px;display:flex}.attendance-footer>div{color:var(--text-secondary);align-items:center;gap:6px;margin-left:auto;font-size:.64rem;display:flex}.attendance-footer>div svg{width:15px;color:var(--success)}.attendance-footer>div span{color:var(--primary-700);margin-right:8px}.attendance-footer button{gap:6px;min-height:39px;font-size:.65rem}.attendance-footer button svg{width:15px}.assessment-header .primary-button{gap:6px;min-height:41px;font-size:.68rem}.assessment-header .primary-button svg{width:16px}.assessment-create-form{border-bottom:1px solid var(--border);background:var(--accent-soft);grid-template-columns:minmax(180px,1fr) 130px 150px 100px auto;align-items:end;gap:10px;padding:15px 22px;display:grid}.assessment-create-form label span{color:var(--text-secondary);margin-bottom:5px;font-size:.6rem;display:block}.assessment-create-form input,.assessment-create-form select{border:1px solid var(--border);background:var(--surface);border-radius:7px;outline:0;width:100%;min-height:39px;padding:7px 9px;font-size:.68rem}.assessment-create-form button{gap:5px;min-height:39px;font-size:.65rem}.assessment-create-form button svg{width:14px}.assessment-message{border-bottom:1px solid var(--border);color:var(--primary-700);background:var(--primary-wash);margin:0;padding:9px 22px;font-size:.64rem}.exam-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:22px;display:grid}.exam-card{border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:42px 1fr;gap:12px;padding:17px 17px 0;display:grid;overflow:hidden}.exam-card>span{width:42px;height:42px;color:var(--primary-700);background:var(--accent-soft);border-radius:12px;place-items:center;display:grid}.exam-card>span svg{width:20px}.exam-card small{color:var(--primary-600);font-size:.58rem;font-weight:700}.exam-card h3{margin:4px 0 9px;font-size:.8rem}.exam-card p{color:var(--text-muted);align-items:center;gap:5px;margin:0;font-size:.59rem;display:flex}.exam-card p svg{width:13px}.exam-card p i{background:var(--border);border-radius:50%;width:3px;height:3px;margin-inline:4px}.exam-card footer{border-top:1px solid var(--border);grid-column:1/-1;justify-content:space-between;align-items:center;min-height:45px;margin-top:14px;display:flex}.exam-card footer span{color:var(--text-muted);align-items:center;gap:5px;font-size:.58rem;display:flex}.exam-card footer svg{width:13px}.exam-card footer button{color:var(--primary-600);background:0 0;border:0;font-size:.6rem;font-weight:700}.gradebook-toolbar{border-bottom:1px solid var(--border);background:var(--surface-subtle);justify-content:space-between;align-items:end;gap:15px;padding:14px 22px;display:flex}.gradebook-toolbar label span{color:var(--text-muted);margin-bottom:5px;font-size:.58rem;display:block}.gradebook-toolbar select{border:1px solid var(--border);background:var(--surface);border-radius:7px;min-width:280px;padding:8px 10px;font-size:.68rem}.gradebook-toolbar>div{align-items:center;gap:9px;font-size:.61rem;display:flex}.gradebook-toolbar>div span{color:var(--primary-700);background:var(--primary-soft);border-radius:6px;padding:5px 8px}.gradebook-row{border-top:1px solid var(--border);min-height:64px;color:var(--text-secondary);grid-template-columns:50px minmax(230px,1fr) 150px;align-items:center;gap:14px;padding:8px 22px;font-size:.67rem;display:grid}.gradebook-row--head{min-height:42px;color:var(--text-muted);background:var(--surface-subtle);border-top:0;font-size:.61rem;font-weight:700}.gradebook-row input{border:1px solid var(--border);width:100px;min-height:38px;color:var(--primary-900);background:var(--surface);text-align:center;direction:ltr;border-radius:7px;outline:0;padding:6px 9px;font-weight:750}.gradebook-row input:focus{border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-soft)}.gradebook-footer{border-top:1px solid var(--border);background:var(--surface-subtle);min-height:66px;color:var(--text-muted);justify-content:space-between;align-items:center;padding:10px 22px;font-size:.63rem;display:flex}.gradebook-footer button{gap:6px;min-height:39px;font-size:.65rem}.gradebook-footer button svg{width:15px}.gradebook-row{grid-template-columns:50px minmax(230px,1fr) 150px minmax(170px,210px);transition:background .16s}.gradebook-row--dirty,.gradebook-row--saving{background:var(--primary-wash)}.gradebook-row--error input[aria-invalid=true]{border-color:var(--error);box-shadow:0 0 0 3px var(--error-soft)}.gradebook-row input{width:112px;min-height:44px}.gradebook-row>select{border:1px solid var(--border);width:145px;min-height:44px;color:var(--primary-900);background:var(--surface);font:inherit;border-radius:7px;outline:0;padding:6px 9px;font-weight:700}.gradebook-row>select:focus{border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-soft)}.assessment-create-form label>small{color:var(--text-muted);margin-top:4px;font-size:.52rem;line-height:1.5;display:block}.gradebook-save-state{min-width:0;color:var(--text-muted);grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.gradebook-save-state>svg{width:17px;height:17px}.gradebook-save-state span,.gradebook-save-state strong,.gradebook-save-state small{min-width:0;display:block}.gradebook-save-state strong{color:inherit;font-size:.63rem}.gradebook-save-state small{color:var(--text-muted);text-overflow:ellipsis;margin-top:2px;font-size:.55rem;line-height:1.55;overflow:hidden}.gradebook-save-state.is-dirty,.gradebook-save-state.is-saving{color:var(--primary-600)}.gradebook-save-state.is-saving>svg{animation:1s linear infinite spin}.gradebook-save-state.is-saved{color:var(--success)}.gradebook-save-state.is-demo{color:var(--warning)}.gradebook-save-state.is-error{color:var(--error)}.gradebook-save-state button{border:1px solid var(--error);min-height:44px;color:var(--error);background:var(--surface);border-radius:7px;justify-content:center;align-items:center;gap:4px;padding:0 9px;font-size:.56rem;font-weight:750;display:inline-flex}.gradebook-save-state button svg{width:13px;height:13px}.gradebook-footer{grid-template-columns:auto minmax(240px,1fr) auto;gap:18px;display:grid}.gradebook-autosave-note{justify-self:center;align-items:center;gap:8px;min-width:0;display:flex}.gradebook-autosave-note>svg{width:20px;height:20px;color:var(--success);flex:none}.gradebook-autosave-note strong,.gradebook-autosave-note small{display:block}.gradebook-autosave-note strong{color:var(--text-primary);font-size:.64rem}.gradebook-autosave-note small{color:var(--text-muted);margin-top:2px;font-size:.55rem}.gradebook-footer>b{color:var(--success);white-space:nowrap;font-size:.61rem;font-weight:750}.gradebook-footer>b.has-save-issue{color:var(--error)}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1150px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr 1fr}.panel--wide{grid-column:1/-1}.school-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-hero__grid{grid-template-columns:minmax(0,.85fr) minmax(440px,1.15fr);gap:44px}.audience-grid{grid-template-columns:repeat(2,1fr)}.users-layout{grid-template-columns:minmax(310px,.85fr) minmax(0,1.15fr)}.teacher-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-module-skeleton{grid-template-columns:58px 1fr}.workspace-module-skeleton__preview{grid-column:1/-1}.weekly-schedule-grid,.exam-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-create-form{grid-template-columns:1fr 1fr}.assessment-create-form button{width:100%}.manager-fields{grid-template-columns:repeat(2,minmax(180px,1fr))}.manager-students-filters{grid-template-columns:1fr 1fr}.manager-students-filters>p{grid-column:1/-1;width:max-content}.manager-student-guardians>article{grid-template-columns:26px 1fr auto}.manager-student-guardians article dl{grid-column:2/-1}}@media (max-width:880px){.login-page{grid-template-columns:1fr}.login-intro{display:none}.mobile-brand-mark{width:48px;height:48px;color:var(--surface);background:var(--primary-900);border-radius:13px;place-items:center;margin-bottom:28px;display:grid}.app-shell{padding-right:0}.sidebar{width:min(286px,100vw - 42px);box-shadow:var(--shadow-floating);transition:transform .25s;transform:translate(110%)}.sidebar--open{transform:translate(0)}.sidebar__close{color:var(--sidebar-text);background:0 0;border:0;place-items:center;margin-right:auto;padding:5px;display:grid}.sidebar-backdrop{z-index:20;background:var(--surface-overlay);border:0;width:100%;display:block;position:fixed;inset:0}.mobile-menu-button{z-index:15;border:1px solid var(--border);border-radius:var(--radius-md);width:42px;height:42px;color:var(--primary-900);background:var(--surface);place-items:center;display:grid;position:fixed;top:20px;right:20px}.topbar{padding-right:78px}.teacher-app-shell{padding-right:0}.dashboard-grid{grid-template-columns:1fr}.institution-fields{grid-template-columns:1fr 1fr}.institution-fields .field:first-child{grid-column:1/-1}.school-manager-rows article{grid-template-columns:minmax(180px,1fr) auto}.school-manager-actions{grid-column:1/-1}.school-manager-actions>button{flex:180px}.school-people-groups{grid-template-columns:1fr}.school-import-actions{grid-template-columns:1fr 1fr}.school-import-picker{grid-area:1/1/auto/-1}.school-person-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.panel--wide,.performance-panel{grid-column:auto}.landing-nav{display:none}.landing-hero{padding-top:72px}.landing-hero__grid,.workflow-grid,.landing-contact__grid,.contact-page__grid{grid-template-columns:1fr}.landing-contact__copy{max-width:680px}.landing-contact__form-card,.contact-page__card{width:min(560px,100%)}.contact-page__card{margin-inline:auto}.landing-hero__copy{text-align:center;max-width:680px;margin-inline:auto}.landing-hero__copy>p{margin-inline:auto}.hero-actions,.hero-trust{justify-content:center}.hero-product{width:min(620px,100%);margin-inline:auto;transform:none}.feature-grid{grid-template-columns:repeat(2,1fr)}.workflow-copy{max-width:680px}.landing-cta__inner{flex-direction:column;align-items:flex-start}.users-layout{grid-template-columns:1fr}.manager-student-details{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-student-details>div:nth-child(2){border-left:0}.manager-student-details>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.user-form-panel{position:static}.workspace-hero{flex-direction:column;align-items:flex-start}.workspace-hero__action{margin-right:81px}.today-schedule-row{grid-template-columns:65px 1fr auto}.today-schedule-row__meta{grid-column:2/3}.dashboard-today-list article{grid-template-columns:50px 18px 1fr auto}.dashboard-today-list article>span:not(.dashboard-class-line){display:none}}@media (max-width:620px){.login-form-section{padding:30px 22px}.form-options{flex-direction:column;align-items:flex-start}.topbar{min-height:74px;padding-left:18px}.topbar__title{display:none}.teacher-topbar{gap:12px;min-height:78px;padding-right:76px}.teacher-topbar .topbar__title{min-width:0;display:block}.teacher-topbar__identity h1{margin-bottom:3px;font-size:.9rem}.teacher-topbar__identity p{white-space:nowrap;gap:5px;font-size:.64rem;overflow:hidden}.teacher-topbar__school,.teacher-topbar__identity p i{display:none}.topbar__actions{justify-content:flex-end;width:100%}.teacher-topbar .topbar__actions{flex:none;gap:9px;width:auto}.profile-chip{padding-right:12px}.teacher-profile-chip{padding-right:9px}.teacher-profile-chip__copy{display:none}.page-content{padding:26px 16px 40px}.page-heading{flex-direction:column;align-items:stretch}.page-heading>button{width:100%}.manager-students-heading{align-items:stretch}.manager-students-count{width:max-content}.manager-students-toolbar{align-items:flex-start}.manager-students-filters{grid-template-columns:1fr;padding-inline:15px}.manager-students-filters>p{grid-column:auto;width:100%}.manager-students-list{padding:15px}.manager-students-state{margin-inline:15px}.manager-student-card>header{grid-template-columns:38px 1fr}.manager-student-avatar{width:38px;height:38px}.manager-student-card>header>.account-state-pill{grid-column:2;width:max-content}.manager-student-details{grid-template-columns:1fr}.manager-student-details>div{border-bottom:1px solid var(--border);border-left:0}.manager-student-details>div:last-child{border-bottom:0}.manager-student-guardians>article{grid-template-columns:24px 1fr;align-items:start}.manager-student-guardians>article>.account-state-pill{grid-column:2;width:max-content}.manager-student-guardians article dl{border-top:1px solid var(--border);grid-column:1/-1;grid-template-columns:1fr;padding-top:7px}.school-import-panel__header,.school-import-actions{padding-inline:14px}.school-import-steps{grid-template-columns:1fr}.school-import-steps article{border-left:0;border-top:1px solid var(--border);min-height:62px}.school-import-steps article:first-child{border-top:0}.school-import-actions{grid-template-columns:1fr}.school-import-picker{grid-area:auto}.school-import-security{padding-inline:14px}.school-import-message,.school-import-result{margin-inline:14px}.school-import-preview>header,.school-import-preview>footer{padding-inline:14px}.school-import-preview__metrics{grid-template-columns:1fr;padding-inline:14px}.school-import-preview>footer{flex-direction:column;align-items:stretch}.school-import-preview>footer>div{grid-template-columns:1fr;display:grid}.school-import-failures article{grid-template-columns:1fr;gap:5px}.institution-form-panel>.panel__header,.institution-form-panel>form{padding:16px}.institution-type-selector>div,.institution-fields,.manager-fields{grid-template-columns:1fr}.institution-fields .field:first-child{grid-column:auto}.managers-section>header{flex-direction:column;align-items:stretch}.managers-section .secondary-button,.institution-form-actions>*{width:100%}.manager-list{padding:10px}.manager-fields{padding:12px}.institution-form-actions{flex-direction:column-reverse}.institution-receipt dl{grid-template-columns:1fr}.school-managers-editor{padding:16px}.school-managers-editor>header{flex-direction:column;align-items:stretch}.school-managers-editor>header .secondary-button{width:100%}.school-people-editor{padding:16px}.school-people-editor__heading{align-items:flex-start}.school-people-group>header{flex-direction:column;align-items:stretch}.school-people-group>header .secondary-button{width:100%}.school-person-fields{grid-template-columns:1fr;padding:12px}.school-person-form>footer{flex-direction:column-reverse}.school-person-form>footer button{width:100%}.school-people-list article{flex-direction:column;align-items:flex-start}.school-people-list article>span:last-child{justify-items:start}.school-manager-rows article{grid-template-columns:1fr auto}.school-manager-rows .table-user{min-width:0}.manager-edit-form>footer{flex-direction:column-reverse}.manager-edit-form>footer button{width:100%}.school-card--managed{grid-template-columns:42px minmax(0,1fr)}.school-card--managed>.status-badge{grid-column:2}.metric-grid{grid-template-columns:1fr}.metric-card{padding:17px}.panel{padding:18px 15px}.panel__header{align-items:flex-start}.panel__header .link-button{font-size:0}.panel__header .link-button svg{width:20px}.class-row{grid-template-columns:44px 18px 1fr auto;padding-block:10px}.class-row__teacher{display:none}.status-badge{padding-inline:7px}.school-grid{grid-template-columns:1fr}.chart{padding-inline:6px}.landing-container{width:min(100% - 30px,1180px)}.landing-header__inner{min-height:70px}.landing-brand small{display:none}.landing-login{min-height:39px;padding-inline:12px;font-size:.72rem}.landing-login svg{display:none}.landing-hero{padding-block:58px 80px}.landing-hero h1{font-size:clamp(2.25rem,12vw,3.2rem)}.hero-actions{flex-direction:column}.hero-actions>*{width:100%}.hero-trust{flex-direction:column;align-items:flex-start;width:max-content;margin-inline:auto}.hero-product{min-height:350px}.hero-product__body{grid-template-columns:56px 1fr;min-height:320px}.hero-product__body aside{padding-inline:8px}.mock-main{padding:15px 11px}.mock-metrics{gap:5px}.mock-metrics article{padding:8px;display:block}.mock-icon{margin-bottom:7px}.mock-panels{grid-template-columns:1fr}.mock-panels>article{min-height:140px}.mock-attendance{display:none}.mock-chart div{height:85px}.hero-float-card{bottom:17px;left:-7px}.proof-grid{justify-content:flex-start;min-height:78px;overflow-x:auto}.proof-grid p{display:none}.proof-grid span{white-space:nowrap}.landing-section{padding-block:72px}.section-heading{margin-bottom:35px}.feature-grid,.audience-grid{grid-template-columns:1fr}.feature-card,.audience-card{min-height:auto}.audience-card p{min-height:0}.landing-contact{padding-block:68px}.landing-contact__form-card,.contact-page__card{padding:24px 19px}.contact-page__hero{padding-block:56px}.contact-page__copy h1{font-size:clamp(2.05rem,11vw,3rem)}.contact-promises{grid-template-columns:1fr}.contact-promises article{grid-template-columns:38px 1fr;gap:0 11px;min-height:0;display:grid}.contact-promises article>span{grid-row:1/3;margin:0}.contact-promises strong{align-self:end}.contact-input input{font-size:.75rem}.workflow-grid{gap:42px}.workflow-steps li{grid-template-columns:52px 1fr;padding:15px}.workflow-steps:before{right:25px}.workflow-steps b{width:42px;height:42px}.landing-cta{padding-bottom:55px}.landing-cta__inner{min-height:280px;padding:34px 25px}.cta-button{width:100%}.landing-footer__inner{text-align:center;flex-direction:column;justify-content:center;min-height:200px}.landing-footer__nav{flex-wrap:wrap;justify-content:center}.contact-requests-heading{align-items:stretch}.contact-pending-count{width:100%}.contact-request-row{grid-template-columns:42px 1fr;padding:13px 14px}.contact-request-date,.contact-handle-button,.contact-request-status{grid-column:2;justify-self:start}.contact-handle-button{white-space:normal;justify-content:center;width:100%}.role-selector>div{grid-template-columns:repeat(2,1fr)}.role-option{min-height:66px}.login-form-links{flex-direction:column;align-items:flex-start}.teacher-classes-summary{justify-content:center;width:100%}.teacher-classes-toolbar,.workspace-content-header{flex-direction:column;align-items:stretch}.teacher-class-search{width:100%}.teacher-class-grid{grid-template-columns:1fr;padding:15px}.teacher-inline-state{text-align:center;flex-direction:column;align-items:center}.teacher-inline-state .outline-button{margin:5px 0 0}.workspace-hero{min-height:220px;padding:22px 18px}.workspace-hero__identity{align-items:flex-start}.workspace-hero__mark{border-radius:14px;width:50px;height:50px}.workspace-hero__mark svg{width:25px}.workspace-hero__identity h1{flex-direction:column;align-items:flex-start;gap:4px;font-size:1.22rem}.workspace-hero__identity h1 i{display:none}.workspace-hero__meta{flex-direction:column;align-items:flex-start;gap:6px}.workspace-hero__action{justify-content:center;width:100%;margin:0}.workspace-tabs{margin-inline:-1px}.workspace-tab{padding-inline:12px}.workspace-student-list{overflow-x:auto}.workspace-student-row{grid-template-columns:45px 230px 150px 90px;width:650px;padding-inline:15px}.workspace-module-skeleton{grid-template-columns:48px 1fr;align-items:start;min-height:370px;padding:24px 18px}.workspace-module-skeleton__icon{width:48px;height:48px}.workspace-module-skeleton__preview{grid-column:1/-1}.workspace-module-skeleton__note{bottom:20px;left:18px;right:18px}.workspace-unavailable>div{flex-direction:column;width:100%}.weekly-schedule-grid{grid-template-columns:1fr}.today-schedule-row{grid-template-columns:58px 1fr;padding-inline:15px}.today-schedule-row__meta{grid-column:1/-1}.today-schedule-row .primary-button{grid-column:1/-1;width:100%}.dashboard-today-list article{grid-template-columns:42px 15px 1fr;padding-inline:14px}.dashboard-today-list .primary-button{grid-column:1/-1;width:100%}.attendance-header{align-items:stretch}.attendance-date{width:max-content}.attendance-row{grid-template-columns:28px 1fr;padding-inline:15px}.attendance-status-picker{grid-column:1/-1;justify-content:flex-end}.attendance-status{justify-content:center;width:36px;padding:0}.attendance-status span{display:inline}.attendance-status b{display:none}.attendance-footer{flex-wrap:wrap;padding-inline:15px}.attendance-footer>div{width:100%;margin:0 0 5px}.attendance-footer button{flex:1}.assessment-header .primary-button{width:100%}.assessment-create-form{grid-template-columns:1fr;padding-inline:15px}.exam-card-grid{grid-template-columns:1fr;padding:15px}.gradebook-toolbar{flex-direction:column;align-items:stretch;padding-inline:15px}.gradebook-toolbar select{width:100%;min-width:0}.gradebook-list{overflow-x:auto}.gradebook-row{grid-template-columns:42px 280px 120px;width:560px;padding-inline:15px}.gradebook-footer{width:560px}.gradebook-row{grid-template-columns:42px 280px 120px 250px;width:760px}.gradebook-footer{grid-template-columns:auto minmax(300px,1fr) auto;width:760px}}.manager-classes-page,.family-schedule-page{gap:18px;display:grid}.class-manager-hero{border-radius:var(--radius-xl);min-height:150px;color:var(--surface);background:linear-gradient(125deg, var(--primary-900), #1c5c75);justify-content:space-between;align-items:center;gap:28px;padding:28px 30px;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 45px #173b5724}.class-manager-hero:after{content:"";border:1px solid #ffffff17;border-radius:50%;width:300px;height:300px;position:absolute;top:-110px;left:-70px;box-shadow:0 0 0 42px #ffffff08,0 0 0 92px #ffffff05}.class-manager-hero>div{z-index:1;align-items:center;gap:18px;display:flex;position:relative}.class-manager-hero__icon{width:64px;height:64px;color:var(--accent);background:#ffffff14;border:1px solid #ffffff29;border-radius:18px;flex:none;place-items:center;display:grid}.class-manager-hero__icon svg{width:30px;height:30px}.class-manager-hero .eyebrow{color:var(--accent)}.class-manager-hero h1{margin-bottom:7px;font-size:1.45rem}.class-manager-hero p:last-child{color:var(--sidebar-text);margin:0;font-size:.78rem}.class-manager-create{z-index:1;min-height:48px;color:var(--primary-900);background:var(--accent);position:relative}.class-manager-create:hover{color:var(--surface)}.class-manager-metrics{grid-template-columns:repeat(3,minmax(145px,.55fr)) minmax(260px,1.45fr);gap:12px;display:grid}.class-manager-metrics>article{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-height:83px;box-shadow:var(--shadow-card);align-items:center;gap:12px;padding:15px 17px;display:flex}.class-manager-metrics>article>span{width:42px;height:42px;color:var(--primary-600);background:var(--primary-soft);border-radius:12px;flex:none;place-items:center;display:grid}.class-manager-metrics>article:nth-child(2)>span{color:var(--accent);background:var(--accent-soft)}.class-manager-metrics>article:nth-child(3)>span{color:var(--warning);background:var(--warning-soft)}.class-manager-metrics strong,.class-manager-metrics small{display:block}.class-manager-metrics strong{margin-bottom:2px;font-size:1rem}.class-manager-metrics small{color:var(--text-muted);font-size:.61rem}.class-manager-school{background:var(--surface-subtle)!important}.class-manager-school>svg{width:18px;color:var(--success);margin-right:auto}.class-manager-notice{border-radius:var(--radius-md);color:#237b51;background:var(--success-soft);border:1px solid #2fa36b40;align-items:center;gap:10px;padding:12px 15px;font-size:.73rem;font-weight:650;display:flex}.class-manager-notice>svg{width:18px}.class-manager-notice button{color:inherit;background:0 0;border:0;place-items:center;margin-right:auto;padding:3px;display:grid}.class-manager-notice button svg{width:16px}.class-catalogue{padding:0;overflow:hidden}.class-catalogue__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex}.class-catalogue__header h2{margin:0 0 3px;font-size:.98rem}.class-catalogue__header p{color:var(--text-muted);margin:0;font-size:.65rem}.class-search{border:1px solid var(--border);border-radius:var(--radius-md);width:min(300px,100%);min-height:41px;color:var(--text-muted);background:var(--surface-subtle);align-items:center;gap:7px;padding-inline:12px;display:flex}.class-search:focus-within{border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-soft)}.class-search svg{width:17px}.class-search input{background:0 0;border:0;outline:0;width:100%;font-size:.68rem}.class-catalogue-state{min-height:210px;color:var(--text-secondary);justify-content:center;align-items:center;gap:10px;font-size:.74rem;display:flex}.class-catalogue-state--error{flex-direction:column}.class-catalogue-state svg{color:var(--primary-600)}.class-empty-state{text-align:center;justify-items:center;min-height:340px;padding:50px 20px;display:grid}.class-empty-state>span{width:65px;height:65px;color:var(--primary-600);background:var(--primary-soft);border-radius:20px;place-items:center;margin-bottom:15px;display:grid}.class-empty-state>span svg{width:28px}.class-empty-state h2{margin-bottom:7px;font-size:1rem}.class-empty-state p{max-width:500px;color:var(--text-secondary);margin-bottom:20px;font-size:.7rem;line-height:1.9}.class-card-grid{background:var(--surface-subtle);grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:18px;display:grid}.manager-class-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);transition:transform .18s,box-shadow .18s,border-color .18s;overflow:hidden}.manager-class-card:hover{box-shadow:var(--shadow-card);border-color:#247ba04d;transform:translateY(-2px)}.manager-class-card>header{grid-template-columns:46px 1fr auto;align-items:center;gap:11px;padding:17px;display:grid}.manager-class-card>header>span{width:46px;height:46px;color:var(--primary-700);background:var(--accent-soft);border-radius:13px;place-items:center;display:grid}.manager-class-card>header>span svg{width:22px}.manager-class-card>header small{color:var(--primary-600);font-size:.58rem;font-weight:700}.manager-class-card>header h3{margin:3px 0;font-size:.82rem}.manager-class-card>header p{color:var(--text-muted);margin:0;font-size:.58rem}.manager-class-card>header button{color:var(--text-muted);background:0 0;border:0;place-items:center;padding:4px;display:grid}.manager-class-card>header button svg{width:17px;transition:transform .2s}.manager-class-card>header button svg.is-open{transform:rotate(180deg)}.manager-class-card__people{border-block:1px solid var(--border);background:var(--surface-subtle);justify-content:space-between;align-items:center;min-height:53px;padding:9px 17px;display:flex}.manager-class-card__people>span{color:var(--text-secondary);align-items:center;gap:6px;font-size:.59rem;display:flex}.manager-class-card__people b{text-overflow:ellipsis;white-space:nowrap;max-width:105px;font-weight:650;overflow:hidden}.manager-class-card__people i{color:var(--primary-600);background:var(--primary-soft);border-radius:5px;padding:2px 5px;font-style:normal}.manager-class-card__people svg{width:15px;color:var(--primary-600)}.manager-class-card__schedule{padding:13px 17px 16px}.manager-class-card__schedule>div:first-child{color:var(--text-secondary);align-items:center;gap:5px;margin-bottom:10px;font-size:.59rem;display:flex}.manager-class-card__schedule svg{width:14px;color:var(--accent)}.mini-week{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.mini-week span{aspect-ratio:1;color:var(--text-muted);background:var(--surface-subtle);border-radius:7px;place-items:center;font-size:.52rem;font-weight:700;display:grid}.mini-week span.has-class{color:var(--surface);background:var(--primary-700);box-shadow:0 3px 8px #1d56752e}.manager-class-card__details{border-top:1px dashed var(--border);background:var(--primary-wash);gap:7px;padding:14px 17px;display:grid}.manager-class-card__details>span{justify-content:space-between;gap:8px;font-size:.56rem;display:flex}.manager-class-card__details>span small{color:var(--text-secondary)}.manager-class-card__details p{border-top:1px solid var(--border);color:var(--text-secondary);margin:5px 0 0;padding-top:9px;font-size:.57rem;line-height:1.8}.manager-class-card--inactive{opacity:.72;box-shadow:none}.manager-class-card--inactive:hover{transform:none}.manager-class-card__actions{border-top:1px solid var(--border);gap:8px;padding:12px 17px 16px;display:flex}.manager-class-card__actions button{flex:1;min-height:36px;padding-inline:10px;font-size:.6rem}.manager-class-card__actions button svg{width:15px;height:15px}.class-editor-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1025349e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.class-editor{background:var(--surface);border:1px solid #ffffff2e;border-radius:20px;flex-direction:column;width:min(1000px,100%);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 30px 90px #091b2759}.class-editor__header{min-height:78px;color:var(--surface);background:var(--primary-900);justify-content:space-between;align-items:center;padding:14px 21px;display:flex}.class-editor__header>div{align-items:center;gap:12px;display:flex}.class-editor__header>div>span{width:44px;height:44px;color:var(--accent);background:#ffffff14;border-radius:12px;place-items:center;display:grid}.class-editor__header p{color:var(--sidebar-text);margin:0 0 2px;font-size:.59rem}.class-editor__header h2{margin:0;font-size:.98rem}.class-editor__header>button{color:var(--surface);background:#ffffff14;border:0;border-radius:9px;place-items:center;padding:7px;display:grid}.class-editor__header>button svg{width:18px}.class-editor-steps{border-bottom:1px solid var(--border);background:var(--surface-subtle);grid-template-columns:repeat(3,1fr);padding:0 25px;display:grid}.class-editor-steps button{min-height:66px;color:var(--text-muted);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;font-size:.66rem;display:flex;position:relative}.class-editor-steps button:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.class-editor-steps button>span{border:1px solid var(--border);background:var(--surface);border-radius:50%;place-items:center;width:25px;height:25px;font-size:.58rem;display:grid}.class-editor-steps button>span svg{width:13px}.class-editor-steps button.is-active{color:var(--primary-700)}.class-editor-steps button.is-active:after{background:var(--accent)}.class-editor-steps button.is-active>span{border-color:var(--primary-700);color:var(--surface);background:var(--primary-700)}.class-editor-steps button.is-done{color:var(--success)}.class-editor-steps button.is-done>span{border-color:var(--success);color:var(--success);background:var(--success-soft)}.class-editor__body{overflow-y:auto}.class-step{min-height:430px;padding:24px 27px}.class-editor__body>footer{border-top:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;min-height:74px;padding:12px 27px;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 20px #173b570a}.class-editor__body>footer button{gap:7px;min-width:120px;font-size:.68rem}.class-editor__body>footer svg{width:16px}.class-editor-error{color:var(--error);background:var(--error-soft);border-radius:8px;margin:-4px 27px 12px;padding:10px 12px;font-size:.64rem}.class-context-card{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--success-soft), var(--surface));border:1px solid #2fa36b33;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;margin-bottom:21px;padding:13px 15px;display:grid}.class-context-card>span{width:44px;height:44px;color:var(--success);background:var(--surface);border-radius:11px;place-items:center;display:grid}.class-context-card small,.class-context-card strong,.class-context-card p{display:block}.class-context-card small{color:var(--text-muted);font-size:.55rem}.class-context-card strong{margin:2px 0;font-size:.75rem}.class-context-card p{color:var(--text-secondary);margin:0;font-size:.55rem}.class-context-card>svg{width:18px;color:var(--success)}.class-form-grid{grid-template-columns:1fr 1fr;gap:3px 16px;display:grid}.class-form-grid .field{margin-bottom:14px;font-size:.68rem}.class-form-grid .field>span b{color:var(--error)}.class-form-grid input,.class-form-grid textarea{border:1px solid var(--border);width:100%;min-height:43px;color:var(--text-primary);background:var(--surface-subtle);resize:vertical;border-radius:9px;outline:0;padding:10px 12px}.class-form-grid textarea{min-height:90px}.class-form-grid input:focus,.class-form-grid textarea:focus{border-color:var(--primary-600);background:var(--surface);box-shadow:0 0 0 3px var(--primary-soft)}.class-form-grid .field small{color:var(--text-muted);margin-top:5px;font-size:.53rem;font-weight:500;display:block}.class-form-grid .field--wide{grid-column:1/-1}.people-tabs{background:var(--surface-subtle);border-radius:11px;gap:8px;margin-bottom:19px;padding:5px;display:flex}.people-tabs button{min-height:40px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:8px;flex:1;align-items:center;gap:7px;padding:0 13px;font-size:.65rem;display:flex}.people-tabs button svg{width:17px}.people-tabs button b{background:var(--border);border-radius:10px;margin-right:auto;padding:2px 7px;font-size:.55rem}.people-tabs button.is-active{border-color:var(--border);color:var(--primary-700);background:var(--surface);box-shadow:var(--shadow-card)}.people-tabs button.is-active b{color:var(--surface);background:var(--primary-700)}.people-picker-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:11px;display:flex}.people-picker-header h3{margin:0 0 2px;font-size:.8rem}.people-picker-header p{color:var(--text-muted);margin:0;font-size:.55rem}.people-picker-header label{border:1px solid var(--border);border-radius:8px;align-items:center;gap:6px;min-width:240px;padding:8px 10px;display:flex}.people-picker-header label svg{width:15px;color:var(--text-muted)}.people-picker-header input{background:0 0;border:0;outline:0;width:100%;font-size:.6rem}.people-option-list{grid-template-columns:repeat(3,1fr);align-content:start;gap:7px;min-height:205px;max-height:255px;padding:3px;display:grid;overflow-y:auto}.people-option-list>button{border:1px solid var(--border);text-align:right;background:var(--surface);border-radius:9px;grid-template-columns:35px 1fr 23px;align-items:center;gap:8px;min-height:56px;padding:8px;display:grid}.people-option-list>button:hover{border-color:var(--primary-600)}.people-option-list>button.is-selected{border-color:var(--accent);background:var(--accent-soft)}.people-option-list>button .avatar{width:35px;height:35px}.people-option-list>button strong,.people-option-list>button small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.people-option-list>button strong{font-size:.61rem}.people-option-list>button small{color:var(--text-muted);text-align:right;direction:ltr;margin-top:2px;font-size:.5rem}.people-option-list>button i{border:1px solid var(--border);width:21px;height:21px;color:var(--surface);border-radius:6px;place-items:center;font-style:normal;display:grid}.people-option-list>button.is-selected i{border-color:var(--accent);background:var(--accent)}.people-option-list>button i svg{width:12px}.people-no-result{color:var(--text-muted);text-align:center;grid-column:1/-1;align-self:center;font-size:.65rem}.people-picker-empty{min-height:240px;color:var(--text-muted);text-align:center;align-content:center;place-items:center;display:grid}.people-picker-empty>svg{width:35px;height:35px;color:var(--primary-600);margin-bottom:8px}.people-picker-empty strong{color:var(--text-primary);font-size:.72rem}.people-picker-empty p{margin:5px 0 12px;font-size:.59rem}.people-picker-empty .outline-button{gap:6px;min-height:38px;font-size:.59rem}.people-selection-summary{background:var(--primary-wash);color:var(--primary-700);border-radius:9px;align-items:center;gap:9px;margin-top:15px;padding:10px 12px;font-size:.58rem;display:flex}.people-selection-summary>span{align-items:center;gap:4px;font-weight:700;display:flex}.people-selection-summary svg{width:14px}.people-selection-summary>i{background:var(--border);width:1px;height:17px}.people-selection-summary>small{color:var(--text-secondary);margin-right:auto;font-size:.52rem}.cycle-config{border:1px solid var(--border);background:var(--surface-subtle);border-radius:11px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:15px;padding:13px 15px;display:flex}.cycle-config>div:first-child{align-items:center;gap:10px;display:flex}.cycle-config>div:first-child>span{width:38px;height:38px;color:var(--primary-600);background:var(--primary-soft);border-radius:10px;place-items:center;display:grid}.cycle-config h3{margin:0 0 2px;font-size:.7rem}.cycle-config p{color:var(--text-muted);margin:0;font-size:.53rem}.cycle-options{gap:5px;display:flex}.cycle-options button{border:1px solid var(--border);min-width:55px;min-height:45px;color:var(--text-muted);background:var(--surface);border-radius:8px;place-items:center;padding:4px 8px;display:grid}.cycle-options button strong{font-size:.7rem}.cycle-options button small{font-size:.46rem}.cycle-options button.is-active{border-color:var(--primary-700);color:var(--surface);background:var(--primary-700)}.cycle-week-tabs{gap:7px;margin-bottom:12px;display:flex}.cycle-week-tabs button{border:1px solid var(--border);min-height:38px;color:var(--text-muted);background:var(--surface);border-radius:8px;align-items:center;gap:9px;padding:0 12px;font-size:.57rem;display:flex}.cycle-week-tabs button b{background:var(--surface-subtle);border-radius:5px;padding:2px 5px;font-size:.48rem}.cycle-week-tabs button.is-active{border-color:var(--accent);color:var(--primary-900);background:var(--accent-soft)}.schedule-days{grid-template-columns:repeat(7,minmax(105px,1fr));gap:6px;min-height:205px;display:grid}.schedule-days>article{border:1px solid var(--border);background:var(--surface-subtle);border-radius:9px;min-width:0;position:relative}.schedule-days>article.has-session{background:var(--surface);border-color:#247ba03b}.schedule-days article>header{border-bottom:1px solid var(--border);align-items:center;gap:5px;min-height:39px;padding:5px 7px;display:flex}.schedule-days article>header>span{width:23px;height:23px;color:var(--text-muted);background:var(--surface);border-radius:6px;flex:none;place-items:center;font-size:.48rem;font-weight:700;display:grid}.schedule-days article.has-session>header>span{color:var(--surface);background:var(--primary-700)}.schedule-days article>header strong{text-overflow:ellipsis;white-space:nowrap;font-size:.54rem;overflow:hidden}.schedule-days article>header button{width:23px;height:23px;color:var(--primary-600);background:var(--primary-soft);border:0;border-radius:6px;place-items:center;margin-right:auto;padding:0;display:grid}.schedule-days article>header button svg{width:12px}.schedule-days article>div{align-content:start;gap:5px;padding:6px;display:grid}.schedule-days article>div>p{color:var(--text-muted);text-align:center;align-self:center;margin:44px 0 0;font-size:.49rem}.session-chip{border-right:2px solid var(--accent);background:var(--accent-soft);border-radius:6px;gap:2px;padding:7px;display:grid;position:relative}.session-chip span,.session-chip small{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:3px;display:flex;overflow:hidden}.session-chip span{color:var(--primary-900);direction:ltr;justify-content:flex-end;font-size:.49rem;font-weight:700}.session-chip small{color:var(--text-secondary);font-size:.45rem}.session-chip svg{width:10px}.session-chip button{color:var(--text-muted);background:0 0;border:0;place-items:center;padding:1px;display:grid;position:absolute;top:2px;left:3px}.session-chip button svg{width:9px}.session-quick-form{z-index:5;border:1px solid var(--border);background:var(--surface);width:220px;box-shadow:var(--shadow-floating);border-radius:10px;position:absolute;top:42px;right:0;padding:11px!important}.schedule-days>article:nth-last-child(-n+2) .session-quick-form{left:0;right:auto}.session-quick-form label span{color:var(--text-muted);margin-bottom:3px;font-size:.48rem;display:block}.session-quick-form input{border:1px solid var(--border);border-radius:6px;outline:0;width:100%;min-height:34px;padding:6px 7px;font-size:.55rem}.session-quick-form>div{align-items:center;gap:6px;padding:2px 0 0!important;display:flex!important}.session-quick-form>div button{border:0;border-radius:6px;min-height:32px;padding:0 9px;font-size:.52rem}.session-quick-form>div .primary-button{color:var(--surface);background:var(--primary-900);gap:4px}.session-quick-form>div svg{width:11px}.schedule-builder-note{color:var(--text-secondary);background:var(--warning-soft);border-radius:9px;align-items:center;gap:9px;margin-top:13px;padding:10px 12px;font-size:.52rem;display:flex}.schedule-builder-note>svg{width:17px;color:var(--warning);flex:none}.schedule-builder-note span{line-height:1.7}.schedule-builder-note strong{color:var(--text-primary)}.schedule-builder-note label{white-space:nowrap;align-items:center;gap:6px;margin-right:auto;display:flex}.schedule-builder-note input{background:var(--surface);border:1px solid #e7a83e4d;border-radius:6px;min-height:31px;padding:4px 6px;font-size:.51rem}.family-schedule-hero{border:1px solid var(--border);border-radius:var(--radius-xl);background:linear-gradient(125deg, var(--surface), var(--accent-soft));min-height:125px;box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;gap:20px;padding:23px 26px;display:flex}.family-schedule-hero>div{align-items:center;gap:15px;display:flex}.family-schedule-hero>div>span{width:56px;height:56px;color:var(--surface);background:var(--primary-700);border-radius:16px;place-items:center;display:grid;box-shadow:0 8px 20px #1d56752e}.family-schedule-hero h1{margin-bottom:5px;font-size:1.3rem}.family-schedule-hero p:last-child{max-width:650px;color:var(--text-secondary);margin:0;font-size:.67rem;line-height:1.8}.family-schedule-hero>label span{color:var(--text-muted);margin-bottom:5px;font-size:.55rem;display:block}.family-schedule-hero select{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:180px;min-height:40px;padding:6px 9px;font-size:.64rem}.family-schedule-state,.family-schedule-empty{min-height:230px;color:var(--text-secondary);text-align:center;align-content:center;place-items:center;gap:10px;display:grid}.family-schedule-state .outline-button{gap:6px}.family-schedule-empty>span{width:58px;height:58px;color:var(--primary-600);background:var(--primary-soft);border-radius:17px;place-items:center;display:grid}.family-schedule-empty h2{margin:4px 0 0;font-size:.9rem}.family-schedule-empty p{max-width:490px;color:var(--text-muted);font-size:.64rem;line-height:1.8}.family-week-grid{grid-template-columns:repeat(7,minmax(140px,1fr));align-items:start;gap:8px;padding-bottom:5px;display:grid;overflow-x:auto}.family-week-grid>article{border:1px solid var(--border);background:var(--surface);border-radius:12px;min-width:140px;overflow:hidden}.family-week-grid>article>header{border-bottom:1px solid var(--border);background:var(--surface-subtle);justify-content:space-between;align-items:center;min-height:50px;padding:10px 12px;display:flex}.family-week-grid>article.has-class>header{color:var(--surface);background:var(--primary-900)}.family-week-grid>article>header strong{font-size:.66rem}.family-week-grid>article>header small{opacity:.75;font-size:.5rem}.family-week-grid>article>div{gap:7px;min-height:190px;padding:7px;display:grid}.family-session{border:1px solid var(--border);background:var(--surface);border-radius:9px;gap:7px;padding:10px;display:grid;position:relative;box-shadow:0 4px 12px #173b570a}.family-session>time{color:var(--primary-600);text-align:right;direction:ltr;font-size:.64rem;font-weight:800}.family-session>span strong,.family-session>span small{display:block}.family-session>span strong{font-size:.65rem}.family-session>span small{color:var(--text-muted);margin-top:2px;font-size:.5rem}.family-session>span i{color:var(--primary-700);align-items:center;gap:3px;margin-top:5px;font-size:.49rem;font-style:normal;display:flex}.family-session>span i svg{width:11px}.family-session>div{border-top:1px dashed var(--border);gap:3px;padding-top:6px;display:grid}.family-session>div small{color:var(--text-secondary);align-items:center;gap:3px;font-size:.46rem;display:flex}.family-session>div svg{width:10px}.family-session>b{color:#855e17;background:var(--warning-soft);border-radius:5px;padding:3px 5px;font-size:.46rem;font-weight:700}.family-class-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.family-class-grid>article{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);padding:18px}.family-class-grid article>header{align-items:center;gap:10px;display:flex}.family-class-grid article>header>span{width:44px;height:44px;color:var(--primary-700);background:var(--accent-soft);border-radius:12px;place-items:center;display:grid}.family-class-grid header small{color:var(--primary-600);font-size:.55rem}.family-class-grid header h2{margin:2px 0 0;font-size:.8rem}.family-class-grid article>p{color:var(--text-secondary);align-items:center;gap:5px;margin:13px 0;font-size:.57rem;display:flex}.family-class-grid article>p svg{width:13px}.family-class-grid article>div{flex-wrap:wrap;gap:5px;display:flex}.family-class-grid article>div span{background:var(--surface-subtle);border-radius:6px;padding:5px 7px;font-size:.5rem}.family-class-grid article>div b{margin-left:5px}.family-schedule-preview{margin-top:18px;padding:0;overflow:hidden}.family-schedule-preview>header{border-bottom:1px solid var(--border);padding:18px 20px}.family-preview-list{display:grid}.family-preview-list article{border-top:1px solid var(--border);grid-template-columns:60px minmax(170px,1fr) minmax(150px,.7fr) minmax(90px,.45fr);align-items:center;gap:13px;min-height:61px;padding:8px 20px;display:grid}.family-preview-list article:first-child{border-top:0}.family-preview-list time{color:var(--primary-700);text-align:right;direction:ltr;font-weight:800}.family-preview-list strong,.family-preview-list span small{display:block}.family-preview-list strong{font-size:.7rem}.family-preview-list span small,.family-preview-list article>small{color:var(--text-muted);font-size:.54rem}.family-preview-list article>small{align-items:center;gap:4px;display:flex}.family-preview-list svg{width:13px}.family-preview-empty{min-height:90px;color:var(--text-muted);justify-content:center;align-items:center;gap:8px;font-size:.62rem;display:flex}.family-preview-empty svg{color:var(--primary-600)}@media (max-width:1200px){.class-manager-metrics{grid-template-columns:repeat(3,1fr)}.class-manager-school{grid-column:1/-1}.class-card-grid{grid-template-columns:repeat(2,1fr)}.schedule-days{grid-template-columns:repeat(4,1fr)}.session-quick-form{left:auto!important;right:0!important}.schedule-days>article:nth-child(4n) .session-quick-form{left:0!important;right:auto!important}.family-week-grid{grid-template-columns:repeat(4,minmax(170px,1fr))}.family-class-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.class-manager-hero,.family-schedule-hero{flex-direction:column;align-items:stretch;padding:22px 18px}.class-manager-hero>div,.family-schedule-hero>div{align-items:flex-start}.class-manager-hero__icon,.family-schedule-hero>div>span{border-radius:14px;width:48px;height:48px}.class-manager-create{width:100%}.class-manager-metrics{grid-template-columns:1fr 1fr}.class-manager-school{grid-column:1/-1}.class-catalogue__header{flex-direction:column;align-items:stretch}.class-search{width:100%}.class-card-grid,.family-class-grid{grid-template-columns:1fr;padding:12px}.class-editor-backdrop{padding:0}.class-editor{border-radius:0;width:100%;min-height:100vh;max-height:100vh}.class-editor__header{min-height:70px}.class-editor-steps{padding-inline:8px}.class-editor-steps button{min-height:58px}.class-editor-steps button b{display:none}.class-step{min-height:calc(100vh - 202px);padding:18px 15px}.class-editor__body>footer{padding-inline:15px}.class-form-grid{grid-template-columns:1fr}.class-form-grid .field--wide{grid-column:auto}.people-picker-header{flex-direction:column;align-items:stretch}.people-picker-header label{min-width:0}.people-option-list{grid-template-columns:1fr 1fr;max-height:none}.people-selection-summary{flex-wrap:wrap;align-items:flex-start}.people-selection-summary>small{width:100%;margin:0}.cycle-config{flex-direction:column;align-items:stretch}.cycle-options{grid-template-columns:repeat(4,1fr);display:grid}.cycle-options button{min-width:0}.schedule-days{grid-template-columns:1fr 1fr}.schedule-days>article:nth-child(4n) .session-quick-form{left:auto!important;right:0!important}.schedule-days>article:nth-child(2n) .session-quick-form{left:0!important;right:auto!important}.schedule-builder-note{flex-wrap:wrap;align-items:flex-start}.schedule-builder-note label{width:100%;margin:0}.family-schedule-hero>label select{width:100%}.family-week-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.family-preview-list article{grid-template-columns:50px 1fr}.family-preview-list article>small{grid-column:2}}.tickets-page{flex-direction:column;gap:14px;min-height:calc(100vh - 128px);display:flex}.tickets-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.tickets-heading h1{margin-bottom:4px;font-size:1.55rem}.tickets-heading p:last-child{color:var(--text-secondary);margin:0;font-size:.68rem}.live-indicator{border:1px solid var(--border);color:var(--text-secondary);background:var(--surface);border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-size:.6rem;font-weight:700;display:inline-flex}.live-indicator i{background:var(--warning);width:7px;height:7px;box-shadow:0 0 0 4px var(--warning-soft);border-radius:50%}.live-indicator--online i{background:var(--success);box-shadow:0 0 0 4px var(--success-soft)}.live-indicator--offline i{background:var(--error);box-shadow:0 0 0 4px var(--error-soft)}.tickets-alert{color:var(--error);background:var(--error-soft);border:1px solid #d85b6359;border-radius:10px;align-items:center;gap:9px;padding:10px 13px;font-size:.65rem;display:flex}.tickets-alert>svg{flex:none;width:17px}.tickets-alert>span{flex:1}.tickets-alert button{color:inherit;background:0 0;border:0;place-items:center;padding:2px;display:grid}.tickets-alert button svg{width:15px}.ticket-workspace{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);min-height:630px;box-shadow:var(--shadow-card);flex:1;grid-template-columns:minmax(270px,31%) minmax(0,1fr);display:grid;overflow:hidden}.ticket-inbox{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;min-width:0;display:flex}.ticket-inbox__top{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:78px;padding:14px 17px;display:flex}.ticket-inbox__top strong,.ticket-inbox__top small{display:block}.ticket-inbox__top strong{font-size:.78rem}.ticket-inbox__top small{color:var(--text-muted);margin-top:3px;font-size:.52rem}.ticket-compose-button{min-height:38px;color:var(--surface);background:var(--primary-900);border:0;border-radius:9px;align-items:center;gap:6px;padding:0 11px;font-size:.58rem;font-weight:700;display:inline-flex}.ticket-compose-button:hover{background:var(--primary-600)}.ticket-compose-button svg{width:15px}.ticket-search{border:1px solid var(--border);color:var(--text-muted);background:var(--surface-subtle);border-radius:9px;align-items:center;gap:7px;margin:12px 14px;padding:0 10px;display:flex}.ticket-search:focus-within{border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-soft)}.ticket-search svg{width:15px}.ticket-search input{width:100%;min-width:0;height:39px;color:var(--text-primary);background:0 0;border:0;outline:0;font-size:.6rem}.ticket-list{border-top:1px solid var(--border);flex:1;overflow-y:auto}.ticket-list-state{min-height:260px;color:var(--text-muted);text-align:center;align-content:center;place-items:center;gap:7px;padding:25px;font-size:.6rem;display:grid}.ticket-list-state svg{width:29px;height:29px;color:var(--primary-600);margin-bottom:4px}.ticket-list-state strong{color:var(--text-primary);font-size:.7rem}.ticket-list-item{border:0;border-bottom:1px solid var(--border);text-align:right;background:0 0;grid-template-columns:39px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:88px;padding:11px 14px;transition:background .18s;display:grid;position:relative}.ticket-list-item:hover{background:var(--surface-subtle)}.ticket-list-item.is-active{background:var(--accent-soft)}.ticket-list-item.is-active:before{inset-block:13px;background:var(--accent);content:"";border-radius:0 3px 3px 0;width:3px;position:absolute;right:0}.ticket-avatar{width:39px;height:39px;color:var(--primary-700);background:var(--primary-soft);border-radius:13px;place-items:center;font-size:.76rem;font-weight:800;display:grid}.ticket-list-item.is-active .ticket-avatar{color:var(--surface);background:var(--primary-700)}.ticket-avatar--large{flex:none;width:43px;height:43px}.ticket-list-item__copy{min-width:0}.ticket-list-item__copy>span{justify-content:space-between;gap:8px;display:flex}.ticket-list-item__copy strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;overflow:hidden}.ticket-list-item__copy time{color:var(--text-muted);font-size:.48rem}.ticket-list-item__copy b,.ticket-list-item__copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.ticket-list-item__copy b{color:var(--primary-700);margin-top:4px;font-size:.55rem}.ticket-list-item__copy small{color:var(--text-secondary);margin-top:3px;font-size:.53rem;font-weight:400}.ticket-list-item>em{min-width:18px;height:18px;color:var(--surface);background:var(--accent);border-radius:9px;place-items:center;padding-inline:4px;font-size:.48rem;font-style:normal;font-weight:800;display:grid;position:absolute;bottom:10px;left:13px}.ticket-state-badge{color:var(--text-secondary);background:var(--border);border-radius:7px;margin-right:7px;padding:2px 6px;font-size:.45rem;font-style:normal;display:inline-block}.ticket-conversation{background:linear-gradient(180deg, var(--surface-subtle), var(--surface));flex-direction:column;min-width:0;display:flex}.ticket-conversation-empty{text-align:center;flex:1;align-content:center;place-items:center;padding:35px;display:grid}.ticket-conversation-empty>span{width:65px;height:65px;color:var(--primary-700);background:var(--primary-soft);border-radius:21px;place-items:center;margin-bottom:14px;display:grid}.ticket-conversation-empty>span svg{width:28px}.ticket-conversation-empty h2{margin-bottom:6px;font-size:.95rem}.ticket-conversation-empty p{max-width:400px;color:var(--text-secondary);margin-bottom:18px;font-size:.64rem;line-height:1.8}.ticket-conversation-empty>svg{width:29px;color:var(--primary-600)}.ticket-conversation__header{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:11px;min-height:78px;padding:12px 18px;display:flex}.ticket-conversation__header>div:not(.ticket-subject) strong,.ticket-conversation__header>div:not(.ticket-subject) small{display:block}.ticket-conversation__header strong{font-size:.7rem}.ticket-conversation__header small{color:var(--text-muted);margin-top:2px;font-size:.52rem}.ticket-subject{border-right:1px solid var(--border);text-align:left;max-width:48%;margin-right:auto;padding-right:18px}.ticket-subject small,.ticket-subject b{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.ticket-subject b{margin-top:3px;font-size:.64rem}.ticket-back-button{color:var(--text-secondary);background:0 0;border:0;padding:4px;display:none}.ticket-status-button{min-height:35px;color:var(--error);background:var(--error-soft);border:1px solid #d85b6352;border-radius:9px;flex:none;align-items:center;gap:5px;padding:0 9px;font-size:.52rem;font-weight:700;display:inline-flex}.ticket-status-button.is-reopen{color:var(--primary-700);background:var(--accent-soft);border-color:#35b8b052}.ticket-status-button svg{width:14px}.ticket-status-button:disabled{opacity:.55}.ticket-messages{background-image:radial-gradient(var(--hero-grid) 1px, transparent 1px);background-size:22px 22px;flex-direction:column;flex:1;gap:8px;min-height:0;padding:18px clamp(16px,4vw,45px);display:flex;overflow-y:auto}.ticket-date-divider{color:var(--text-muted);align-items:center;gap:9px;margin:2px 0 9px;font-size:.5rem;display:flex}.ticket-date-divider:before,.ticket-date-divider:after{background:var(--border);content:"";flex:1;height:1px}.ticket-date-divider span{background:var(--surface);border-radius:10px;padding:4px 8px}.ticket-message{border:1px solid var(--border);background:var(--surface);border-radius:13px 13px 3px;width:fit-content;max-width:min(72%,610px);padding:9px 12px 6px;box-shadow:0 4px 12px #173b570a}.ticket-message.is-mine{background:var(--accent-soft);border-color:#35b8b03d;border-radius:13px 13px 13px 3px;align-self:flex-end}.ticket-message>b{color:var(--primary-600);margin-bottom:3px;font-size:.52rem;display:block}.ticket-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.66rem;line-height:1.9}.ticket-message footer{min-height:15px;color:var(--text-muted);justify-content:flex-end;align-items:center;gap:3px;margin-top:2px;display:flex}.ticket-message time{font-size:.44rem}.ticket-message footer svg{width:13px;height:13px}.ticket-message footer .message-seen{color:var(--primary-600)}.ticket-reply{border-top:1px solid var(--border);background:var(--surface);align-items:flex-end;gap:9px;padding:12px 16px;display:flex}.ticket-reply textarea{resize:vertical;border:1px solid var(--border);width:100%;min-height:42px;max-height:130px;color:var(--text-primary);background:var(--surface-subtle);border-radius:12px;outline:0;padding:10px 13px;font-size:.64rem;line-height:1.7}.ticket-reply textarea:focus{border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-soft)}.ticket-reply button{width:42px;height:42px;color:var(--surface);background:var(--primary-900);border:0;border-radius:12px;flex:none;place-items:center;display:grid}.ticket-reply button:hover{background:var(--primary-600)}.ticket-reply button svg{width:18px;transform:rotate(180deg)}.ticket-closed-panel{border-top:1px solid var(--border);min-height:66px;color:var(--text-secondary);background:var(--surface);align-items:center;gap:9px;padding:12px 16px;font-size:.58rem;display:flex}.ticket-closed-panel>svg{width:17px;color:var(--text-muted)}.ticket-closed-panel>span{flex:1}.ticket-closed-panel button{min-height:37px;color:var(--primary-700);background:var(--accent-soft);border:1px solid #35b8b052;border-radius:9px;align-items:center;gap:5px;padding:0 10px;font-size:.53rem;font-weight:700;display:inline-flex}.ticket-closed-panel button svg{width:14px}.ticket-modal-backdrop{z-index:90;background:var(--surface-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.ticket-modal{border-radius:var(--radius-xl);background:var(--surface);width:min(620px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-floating);overflow-y:auto}.ticket-modal>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:19px 22px;display:flex}.ticket-modal h2{margin:0;font-size:1rem}.ticket-modal>header>button{border:1px solid var(--border);width:34px;height:34px;color:var(--text-secondary);background:var(--surface);border-radius:9px;place-items:center;display:grid}.ticket-modal>header>button svg{width:16px}.ticket-modal__body{padding:19px 22px 7px}.ticket-modal>footer{border-top:1px solid var(--border);background:var(--surface-subtle);justify-content:flex-end;gap:9px;padding:14px 22px;display:flex}.ticket-modal>footer button{gap:6px;min-height:41px;font-size:.62rem}.ticket-modal>footer svg{width:15px}.ticket-field{margin-bottom:15px;display:block}.ticket-field>span{color:var(--text-primary);margin-bottom:6px;font-size:.62rem;font-weight:700;display:block}.ticket-field>span b{color:var(--error)}.ticket-field>div{border:1px solid var(--border);min-height:45px;color:var(--text-muted);background:var(--surface-subtle);border-radius:9px;align-items:center;gap:6px;padding-inline:11px;display:flex}.ticket-field>div:focus-within{border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-soft)}.ticket-field>div>svg{flex:none;width:16px}.ticket-field input,.ticket-field select,.ticket-field textarea{width:100%;min-width:0;color:var(--text-primary);background:0 0;border:0;outline:0;font-size:.64rem}.ticket-field select{height:43px}.ticket-field input{min-height:43px}.ticket-field--textarea{padding-block:9px;align-items:flex-start!important}.ticket-field textarea{resize:vertical;line-height:1.8}.ticket-field-loading{align-items:center;gap:6px;font-size:.58rem;display:flex}.ticket-field-loading svg{width:14px}.ticket-locked-school{background:var(--accent-soft);border:1px solid #35b8b047;border-radius:10px;align-items:center;gap:10px;margin-bottom:15px;padding:11px 12px;display:flex}.ticket-locked-school>span{width:35px;height:35px;color:var(--primary-700);background:var(--surface);border-radius:10px;place-items:center;display:grid}.ticket-locked-school svg{width:16px}.ticket-locked-school small,.ticket-locked-school strong{display:block}.ticket-locked-school small{color:var(--text-secondary);font-size:.5rem}.ticket-locked-school strong{margin-top:2px;font-size:.65rem}.ticket-locked-school em{color:var(--primary-700);background:var(--surface);border-radius:7px;margin-right:auto;padding:4px 7px;font-size:.48rem;font-style:normal;font-weight:700}.spin{animation:.8s linear infinite ticket-spin}@keyframes ticket-spin{to{transform:rotate(360deg)}}@media (max-width:800px){.tickets-page{min-height:calc(100vh - 90px)}.tickets-heading{align-items:flex-start}.tickets-heading h1{font-size:1.2rem}.tickets-heading p:last-child{max-width:210px}.live-indicator{white-space:nowrap;margin-top:3px}.ticket-workspace{border-radius:14px;min-height:70vh;display:block}.ticket-inbox{border-left:0;min-height:70vh}.ticket-workspace--conversation .ticket-inbox{display:none}.ticket-conversation{min-height:70vh;display:none}.ticket-workspace--conversation .ticket-conversation{display:flex}.ticket-back-button{display:grid}.ticket-subject{max-width:36%;padding-right:10px}.ticket-status-button span{display:none}.ticket-status-button{justify-content:center;width:35px;padding:0}.ticket-message{max-width:86%}.ticket-modal-backdrop{align-items:end;padding:0}.ticket-modal{border-radius:20px 20px 0 0;width:100%;max-height:94vh}.ticket-modal__body,.ticket-modal>header,.ticket-modal>footer{padding-inline:17px}}@media (max-width:460px){.tickets-heading{flex-direction:column;gap:8px}.live-indicator{align-self:flex-start}.ticket-inbox__top{padding-inline:13px}.ticket-compose-button span{display:none}.ticket-compose-button{justify-content:center;width:38px;padding:0}.ticket-conversation__header{padding-inline:10px}.ticket-subject{display:none}.ticket-messages{padding-inline:11px}.ticket-reply{padding-inline:10px}.class-manager-metrics{grid-template-columns:1fr}.class-manager-school{grid-column:auto}.class-manager-hero>div,.family-schedule-hero>div{flex-direction:column}.people-option-list{grid-template-columns:1fr}.cycle-week-tabs{overflow-x:auto}.cycle-week-tabs button{flex:none}.schedule-days,.family-week-grid{grid-template-columns:1fr}.session-quick-form{width:auto;position:fixed;top:auto;bottom:82px;left:12px!important;right:12px!important}.class-editor__body>footer button{min-width:105px;padding-inline:12px}.family-preview-list article>small:last-child{display:none}}.manager-attendance-page{gap:15px;display:grid}.manager-attendance-hero{border-radius:var(--radius-xl);background:linear-gradient(125deg, var(--surface) 20%, var(--accent-soft));min-height:132px;box-shadow:var(--shadow-card);border:1px solid #1d567524;justify-content:space-between;align-items:center;gap:25px;padding:22px 25px;display:flex;overflow:hidden}.manager-attendance-hero>div:first-child{align-items:center;gap:15px;display:flex}.manager-attendance-hero>div:first-child>span{width:58px;height:58px;color:var(--surface);background:linear-gradient(145deg, var(--primary-900), var(--primary-600));border-radius:17px;flex:none;place-items:center;display:grid;box-shadow:0 12px 28px #1d567533}.manager-attendance-hero>div:first-child>span svg{width:27px}.manager-attendance-hero h1{margin:1px 0 5px;font-size:1.35rem}.manager-attendance-hero p:last-child{color:var(--text-secondary);margin:0;font-size:.66rem}.manager-attendance-metrics{gap:8px;display:flex}.manager-attendance-metrics>span{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffb8;border:1px solid #ffffff9e;border-radius:11px;grid-template-columns:27px auto;align-items:center;gap:0 7px;min-width:86px;padding:9px 10px;display:grid}.manager-attendance-metrics svg{width:20px;color:var(--primary-600);grid-row:1/3}.manager-attendance-metrics b{font-size:.85rem}.manager-attendance-metrics small{color:var(--text-muted);font-size:.48rem}.manager-attendance-layout{grid-template-columns:270px minmax(0,1fr);align-items:start;gap:14px;display:grid}.manager-attendance-main{min-width:0}.attendance-class-picker{padding:0;position:sticky;top:14px;overflow:hidden}.attendance-class-picker>header{border-bottom:1px solid var(--border);background:var(--surface-subtle);justify-content:space-between;align-items:center;min-height:67px;padding:12px 14px;display:flex}.attendance-class-picker>header>div{align-items:center;gap:8px;display:flex}.attendance-class-picker>header>div>svg{width:19px;color:var(--primary-600)}.attendance-class-picker header strong,.attendance-class-picker header small{display:block}.attendance-class-picker header strong{font-size:.69rem}.attendance-class-picker header small{color:var(--text-muted);margin-top:2px;font-size:.49rem}.attendance-class-picker>header>svg{width:17px;color:var(--success)}.attendance-class-search{border:1px solid var(--border);color:var(--text-muted);background:var(--surface-subtle);border-radius:9px;align-items:center;gap:6px;margin:11px;padding:0 9px;display:flex}.attendance-class-search:focus-within{border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-soft)}.attendance-class-search svg{width:14px}.attendance-class-search input{background:0 0;border:0;outline:0;width:100%;min-width:0;height:38px;font-size:.57rem}.attendance-class-list{min-height:215px;max-height:calc(100vh - 320px);padding:0 8px 9px;display:grid;overflow-y:auto}.attendance-class-list>button{border:0;border-bottom:1px solid var(--border);text-align:right;background:0 0;grid-template-columns:35px minmax(0,1fr) 16px;align-items:center;gap:8px;width:100%;padding:10px 8px;display:grid;position:relative}.attendance-class-list>button:hover{background:var(--surface-subtle)}.attendance-class-list>button.is-active{background:var(--accent-soft);border-radius:9px}.attendance-class-list>button>span{width:34px;height:34px;color:var(--primary-600);background:var(--primary-soft);border-radius:10px;place-items:center;display:grid}.attendance-class-list>button.is-active>span{color:var(--surface);background:var(--primary-700)}.attendance-class-list>button svg{width:15px}.attendance-class-list>button>svg{color:var(--success)}.attendance-class-list>button strong,.attendance-class-list>button b,.attendance-class-list>button small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.attendance-class-list>button strong{font-size:.61rem}.attendance-class-list>button b{color:var(--primary-600);margin-top:2px;font-size:.52rem}.attendance-class-list>button small{color:var(--text-muted);margin-top:3px;font-size:.45rem}.attendance-class-empty{min-height:150px;color:var(--text-muted);align-content:center;place-items:center;gap:7px;font-size:.56rem;display:grid}.attendance-class-empty svg{width:22px}.manager-attendance-state,.live-attendance-state{min-height:300px;color:var(--text-secondary);text-align:center;align-content:center;place-items:center;gap:9px;display:grid}.manager-attendance-state>svg,.live-attendance-state>svg{width:34px;height:34px;color:var(--primary-600)}.manager-attendance-state strong,.live-attendance-state strong{color:var(--text-primary);font-size:.8rem}.manager-attendance-state span,.live-attendance-state span{max-width:450px;font-size:.6rem}.manager-attendance-state .outline-button,.manager-attendance-state .primary-button,.live-attendance-state .outline-button{gap:6px;margin-top:6px}.manager-attendance-state.is-error>svg,.live-attendance-state--error>svg{color:var(--error)}.live-attendance{padding:0;overflow:hidden}.live-attendance__header{justify-content:space-between;align-items:center;gap:20px;min-height:94px;padding:17px 19px;display:flex}.live-attendance__header h2{margin:1px 0 4px;font-size:.9rem}.live-attendance__header p:last-child{color:var(--text-secondary);margin:0;font-size:.56rem}.live-attendance-date{align-items:center;gap:5px;display:flex}.live-attendance-date>button{border:1px solid var(--border);width:33px;height:33px;color:var(--text-secondary);background:var(--surface);border-radius:8px;place-items:center;padding:0;display:grid}.live-attendance-date>button:hover{border-color:var(--primary-600);color:var(--primary-600)}.live-attendance-date button svg{width:14px}.live-attendance-date>label{border:1px solid var(--border);color:var(--text-muted);background:var(--surface-subtle);border-radius:9px;grid-template-columns:17px auto;align-items:center;gap:0 6px;padding:6px 8px;display:grid}.live-attendance-date>label svg{width:16px;color:var(--primary-600);grid-row:1/3}.live-attendance-date>label span{font-size:.46rem}.live-attendance-date input{color:var(--text-primary);direction:ltr;background:0 0;border:0;outline:0;font-size:.56rem}.live-attendance-date>.live-attendance-today{gap:4px;width:auto;padding:0 8px;font-size:.5rem;display:flex}.live-attendance-summary{border-block:1px solid var(--border);background:var(--surface-subtle);grid-template-columns:repeat(6,1fr);gap:7px;padding:11px 16px;display:grid}.live-attendance-summary>span{border:1px solid var(--border);background:var(--surface);border-radius:9px;grid-template-columns:25px auto;align-items:center;gap:0 6px;min-width:0;padding:7px 8px;display:grid}.live-attendance-summary svg{grid-row:1/3;width:17px}.live-attendance-summary b{font-size:.7rem}.live-attendance-summary small{color:var(--text-muted);white-space:nowrap;font-size:.44rem}.live-attendance-summary .is-total svg{color:var(--primary-600)}.live-attendance-summary .is-present svg{color:var(--success)}.live-attendance-summary .is-absent svg{color:var(--error)}.live-attendance-summary .is-late svg{color:var(--warning)}.live-attendance-summary .is-excused svg{color:#6964b3}.live-attendance-summary .is-unmarked svg{color:var(--text-muted)}.live-attendance-toolbar{border-bottom:1px solid var(--border);align-items:center;gap:10px;min-height:64px;padding:10px 16px;display:flex}.live-attendance-toolbar>label{border:1px solid var(--border);width:min(280px,100%);color:var(--text-muted);background:var(--surface-subtle);border-radius:8px;align-items:center;gap:6px;padding:0 9px;display:flex}.live-attendance-toolbar>label:focus-within{border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-soft)}.live-attendance-toolbar>label svg{width:14px}.live-attendance-toolbar input{background:0 0;border:0;outline:0;width:100%;min-width:0;height:37px;font-size:.56rem}.live-attendance-toolbar>p{color:var(--success);white-space:nowrap;align-items:center;gap:5px;margin:0 auto 0 0;font-size:.5rem;font-weight:700;display:flex}.live-attendance-toolbar>p svg{width:14px}.live-attendance-toolbar>button{white-space:nowrap;gap:5px;min-height:37px;padding-inline:10px;font-size:.53rem}.live-attendance-toolbar>button svg{width:14px}.live-attendance-list{display:grid}.live-attendance-row{border-top:1px solid var(--border);grid-template-columns:minmax(155px,.75fr) minmax(238px,1fr) minmax(170px,.9fr) 78px;align-items:center;gap:10px;min-height:76px;padding:9px 16px;transition:background .15s;display:grid}.live-attendance-row:first-child{border-top:0}.live-attendance-row:hover{background:var(--surface-subtle)}.live-attendance-row.is-unmarked{border-right:3px solid var(--border-strong)}.live-attendance-row.is-recorded{border-right:3px solid var(--accent)}.live-attendance-student{align-items:center;gap:8px;min-width:0;display:flex}.live-attendance-student>span{width:35px;height:35px;color:var(--primary-700);background:var(--primary-soft);border-radius:11px;flex:none;place-items:center;font-size:.68rem;font-weight:800;display:grid}.live-attendance-student strong,.live-attendance-student small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.live-attendance-student strong{font-size:.62rem}.live-attendance-student small{color:var(--text-muted);text-align:right;margin-top:3px;font-size:.48rem}.live-attendance-statuses{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.live-attendance-status{border:1px solid var(--border);min-width:0;min-height:35px;color:var(--text-muted);background:var(--surface);border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:0 5px;font-size:.51rem;transition:all .15s;display:flex}.live-attendance-status svg{width:13px}.live-attendance-status i{font-style:normal;font-weight:800;display:none}.live-attendance-status b{font-weight:700}.live-attendance-status.is-active{color:var(--surface);transform:translateY(-1px);box-shadow:0 5px 12px #173b571a}.live-attendance-status.is-present.is-active{border-color:var(--success);background:var(--success)}.live-attendance-status.is-absent.is-active{border-color:var(--error);background:var(--error)}.live-attendance-status.is-late.is-active{border-color:var(--warning);color:#4f3810;background:var(--warning)}.live-attendance-status.is-excused.is-active{background:#6964b3;border-color:#6964b3}.live-attendance-note{border:1px solid var(--border);min-width:0;color:var(--text-muted);background:var(--surface);border-radius:8px;align-items:center;gap:6px;padding:0 8px;display:flex}.live-attendance-note:focus-within{border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-soft)}.live-attendance-note svg{flex:none;width:14px}.live-attendance-note input{background:0 0;border:0;outline:0;width:100%;min-width:0;height:36px;font-size:.52rem}.live-attendance-save{color:var(--text-muted);white-space:nowrap;justify-content:flex-end;align-items:center;gap:4px;font-size:.46rem;display:flex}.live-attendance-save svg{width:13px}.live-attendance-save.is-saving{color:var(--primary-600)}.live-attendance-save.is-saved{color:var(--success)}.live-attendance-save.is-error button{color:var(--error);background:var(--error-soft);border:0;border-radius:6px;align-items:center;gap:3px;padding:4px 5px;font-size:.45rem;display:flex}.live-attendance-empty{min-height:210px;color:var(--text-muted);align-content:center;place-items:center;gap:7px;display:grid}.live-attendance-empty svg{width:26px}.live-attendance-empty strong{color:var(--text-primary);font-size:.7rem}.live-attendance-empty span{font-size:.54rem}@media (max-width:1100px){.manager-attendance-hero{align-items:flex-start}.manager-attendance-metrics{flex-wrap:wrap;justify-content:flex-end}.manager-attendance-layout{grid-template-columns:1fr}.attendance-class-picker{position:static}.attendance-class-list{min-height:0;max-height:none;padding-bottom:10px;display:flex;overflow-x:auto}.attendance-class-list>button{border:1px solid var(--border);border-radius:9px;min-width:235px}.attendance-class-empty{width:100%;min-height:80px}.live-attendance-row{grid-template-columns:minmax(145px,.7fr) minmax(230px,1fr) minmax(160px,.8fr) 75px}}@media (max-width:760px){.manager-attendance-hero{flex-direction:column;padding:19px 16px}.manager-attendance-hero>div:first-child{align-items:flex-start}.manager-attendance-metrics{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.manager-attendance-metrics>span{min-width:0}.live-attendance__header{flex-direction:column;align-items:stretch}.live-attendance-date{flex-wrap:wrap}.live-attendance-date>label{flex:1}.live-attendance-date input{width:100%}.live-attendance-summary{grid-template-columns:repeat(3,1fr)}.live-attendance-toolbar{flex-wrap:wrap;align-items:stretch}.live-attendance-toolbar>label{width:100%}.live-attendance-toolbar>p{margin:0}.live-attendance-toolbar>button{margin-right:auto}.live-attendance-row{grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:12px}.live-attendance-statuses,.live-attendance-note{grid-column:1/-1}.live-attendance-save{grid-area:1/2}.live-attendance-status{min-height:39px}}@media (max-width:460px){.manager-attendance-hero>div:first-child{flex-direction:column}.manager-attendance-metrics>span{text-align:center;flex-direction:column;gap:2px;display:flex}.manager-attendance-metrics svg{width:18px}.attendance-class-list>button{min-width:215px}.live-attendance-summary{gap:5px;padding-inline:9px}.live-attendance-summary>span{grid-template-columns:20px auto;padding:6px}.live-attendance-summary svg{width:14px}.live-attendance-toolbar>p{width:100%}.live-attendance-toolbar>button{justify-content:center;width:100%}.live-attendance-status svg,.live-attendance-status b{display:none}.live-attendance-status i{display:inline}.live-attendance-note input{font-size:.57rem}}.family-attendance-page{gap:15px;display:grid}.family-attendance-hero{border-radius:var(--radius-xl);background:linear-gradient(125deg, var(--surface) 22%, var(--accent-soft));min-height:134px;box-shadow:var(--shadow-card);border:1px solid #1d567524;justify-content:space-between;align-items:center;gap:24px;padding:23px 26px;display:flex}.family-attendance-hero>div:first-child{align-items:center;gap:15px;display:flex}.family-attendance-hero>div:first-child>span{width:58px;height:58px;color:var(--surface);background:linear-gradient(145deg, var(--primary-900), var(--primary-600));border-radius:17px;flex:none;place-items:center;display:grid;box-shadow:0 12px 28px #1d567533}.family-attendance-hero>div:first-child>span svg{width:27px}.family-attendance-hero h1{margin:1px 0 5px;font-size:1.35rem}.family-attendance-hero p:last-child{max-width:650px;color:var(--text-secondary);margin:0;font-size:.66rem;line-height:1.9}.family-attendance-range{gap:8px;display:flex}.family-attendance-range label{border:1px solid var(--border);background:#ffffffc7;border-radius:10px;gap:4px;padding:8px 10px;display:grid}.family-attendance-range span{color:var(--text-muted);font-size:.49rem;font-weight:700}.family-attendance-range input{min-width:128px;color:var(--text-primary);direction:ltr;background:0 0;border:0;outline:0;font-size:.59rem}.family-attendance-state{min-height:300px;color:var(--text-secondary);text-align:center;align-content:center;place-items:center;gap:9px;display:grid}.family-attendance-state>svg{width:35px;height:35px;color:var(--primary-600)}.family-attendance-state.is-error>svg{color:var(--error)}.family-attendance-state strong{color:var(--text-primary);font-size:.8rem}.family-attendance-state span{max-width:480px;font-size:.6rem}.family-attendance-state .outline-button{gap:6px;margin-top:6px}.family-attendance-toolbar{align-items:center;gap:11px;min-height:72px;padding-block:12px;display:flex}.family-attendance-toolbar>label{gap:4px;display:grid}.family-attendance-toolbar>label>span{color:var(--text-muted);font-size:.5rem;font-weight:700}.family-attendance-toolbar select{border:1px solid var(--border);min-width:170px;min-height:39px;color:var(--text-primary);background:var(--surface-subtle);border-radius:9px;padding:6px 10px;font-size:.58rem}.family-attendance-student-chip{min-width:210px;color:var(--primary-900);background:var(--accent-soft);border-radius:10px;align-items:center;gap:9px;margin-right:auto;padding:8px 11px;display:flex}.family-attendance-student-chip>svg{width:20px;color:var(--primary-600)}.family-attendance-student-chip small,.family-attendance-student-chip strong{display:block}.family-attendance-student-chip small{color:var(--text-muted);font-size:.46rem}.family-attendance-student-chip strong{margin-top:2px;font-size:.62rem}.family-attendance-summary{grid-template-columns:repeat(5,1fr);gap:9px;display:grid}.family-attendance-summary article{border:1px solid var(--border);background:var(--surface);min-height:75px;box-shadow:var(--shadow-card);border-radius:13px;align-items:center;gap:11px;padding:13px 15px;display:flex}.family-attendance-summary article>svg{width:24px;color:var(--primary-600)}.family-attendance-summary article.is-present>svg{color:var(--success)}.family-attendance-summary article.is-absent>svg{color:var(--error)}.family-attendance-summary article.is-late>svg{color:var(--warning)}.family-attendance-summary article.is-excused>svg{color:#6964b3}.family-attendance-summary small,.family-attendance-summary strong{display:block}.family-attendance-summary small{color:var(--text-muted);font-size:.49rem}.family-attendance-summary strong{margin-top:2px;font-size:1rem}.family-attendance-history{padding:0;overflow:hidden}.family-attendance-history>header{border-bottom:1px solid var(--border);background:var(--surface-subtle);align-items:center;min-height:72px;padding:13px 18px;display:flex}.family-attendance-history>header>div{align-items:center;gap:9px;display:flex}.family-attendance-history>header svg{width:20px;color:var(--primary-600)}.family-attendance-history h2{margin:0 0 2px;font-size:.78rem}.family-attendance-history header p{color:var(--text-muted);margin:0;font-size:.5rem}.family-attendance-list{display:grid}.family-attendance-record{border-top:1px solid var(--border);border-right:3px solid var(--primary-600);grid-template-columns:minmax(190px,1fr) minmax(170px,.85fr) minmax(190px,1fr) 105px;align-items:center;gap:13px;min-height:92px;padding:13px 18px;display:grid}.family-attendance-record:first-child{border-top:0}.family-attendance-record.is-present{border-right-color:var(--success)}.family-attendance-record.is-absent{border-right-color:var(--error)}.family-attendance-record.is-late{border-right-color:var(--warning)}.family-attendance-record.is-excused{border-right-color:#6964b3}.family-attendance-record__date strong,.family-attendance-record__date span{display:block}.family-attendance-record__date strong{font-size:.63rem}.family-attendance-record__date span{color:var(--primary-600);direction:rtl;align-items:center;gap:4px;margin-top:6px;font-size:.55rem;font-weight:750;display:flex}.family-attendance-record__date svg{width:13px}.family-attendance-record__class{align-items:center;gap:8px;min-width:0;display:flex}.family-attendance-record__class>span{width:36px;height:36px;color:var(--primary-700);background:var(--primary-soft);border-radius:10px;flex:none;place-items:center;display:grid}.family-attendance-record__class svg{width:16px}.family-attendance-record__class strong,.family-attendance-record__class small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.family-attendance-record__class strong{font-size:.62rem}.family-attendance-record__class small{color:var(--text-muted);margin-top:3px;font-size:.49rem}.family-attendance-record__recorder small,.family-attendance-record__recorder strong,.family-attendance-record__recorder span{display:block}.family-attendance-record__recorder small{color:var(--text-muted);font-size:.46rem}.family-attendance-record__recorder strong{margin-top:2px;font-size:.59rem}.family-attendance-record__recorder span{color:var(--text-secondary);margin-top:3px;font-size:.45rem}.family-attendance-status{color:var(--primary-700);background:var(--primary-soft);border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:8px;display:flex}.family-attendance-status>svg{width:17px}.family-attendance-status small,.family-attendance-status strong{display:block}.family-attendance-status small{opacity:.72;font-size:.42rem}.family-attendance-status strong{margin-top:1px;font-size:.56rem}.family-attendance-status.is-present{color:var(--success);background:var(--success-soft)}.family-attendance-status.is-absent{color:var(--error);background:var(--error-soft)}.family-attendance-status.is-late{color:#855e17;background:var(--warning-soft)}.family-attendance-status.is-excused{color:#5b56a2;background:#6964b31f}.family-attendance-reason{color:var(--text-secondary);background:var(--surface-subtle);border-radius:9px;grid-column:1/-1;align-items:flex-start;gap:7px;padding:9px 11px;display:flex}.family-attendance-reason>svg{width:15px;color:var(--primary-600);flex:none}.family-attendance-reason small,.family-attendance-reason strong{display:block}.family-attendance-reason small{color:var(--text-muted);font-size:.45rem}.family-attendance-reason strong{margin-top:3px;font-size:.55rem;font-weight:650;line-height:1.8}.family-attendance-reason.is-empty{color:var(--text-muted);background:var(--background)}.family-attendance-empty{min-height:240px;color:var(--text-muted);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.family-attendance-empty>svg{width:31px;color:var(--primary-600)}.family-attendance-empty strong{color:var(--text-primary);font-size:.72rem}.family-attendance-empty span{font-size:.54rem}@media (max-width:1050px){.family-attendance-hero{flex-direction:column;align-items:stretch}.family-attendance-range label{flex:1}.family-attendance-summary{grid-template-columns:repeat(3,1fr)}.family-attendance-record{grid-template-columns:repeat(2,minmax(0,1fr))}.family-attendance-status{justify-self:end;min-width:100px}}@media (max-width:650px){.family-attendance-hero{padding:19px 16px}.family-attendance-hero>div:first-child{align-items:flex-start}.family-attendance-range{flex-direction:column}.family-attendance-range input{width:100%}.family-attendance-toolbar{flex-direction:column;align-items:stretch}.family-attendance-toolbar select{width:100%}.family-attendance-student-chip{width:100%;margin:0}.family-attendance-summary{grid-template-columns:repeat(2,1fr)}.family-attendance-summary article:first-child{grid-column:1/-1}.family-attendance-record{grid-template-columns:1fr auto;padding:13px}.family-attendance-record__class,.family-attendance-record__recorder{grid-column:1/-1}.family-attendance-record__recorder{border-top:1px dashed var(--border);padding-top:8px}}@media (max-width:430px){.family-attendance-hero>div:first-child{flex-direction:column}.family-attendance-summary article{min-height:67px;padding:10px}.family-attendance-summary article>svg{width:20px}}.account-profile-page{gap:15px;display:grid}.account-profile-state{min-height:320px;color:var(--text-secondary);text-align:center;align-content:center;place-items:center;gap:9px;display:grid}.account-profile-state>svg{width:34px;height:34px;color:var(--primary-600)}.account-profile-state.is-error>svg{color:var(--error)}.account-profile-state strong{color:var(--text-primary);font-size:.8rem}.account-profile-state span{max-width:470px;font-size:.6rem}.account-profile-state button{gap:6px;margin-top:6px}.account-profile-hero{border-radius:var(--radius-xl);background:linear-gradient(125deg, var(--surface) 22%, var(--accent-soft));min-height:142px;box-shadow:var(--shadow-card);border:1px solid #1d567524;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;padding:23px 26px;display:grid}.account-profile-hero>span{width:60px;height:60px;color:var(--surface);background:linear-gradient(145deg, var(--primary-900), var(--primary-600));border-radius:18px;place-items:center;display:grid;box-shadow:0 12px 28px #1d567533}.account-profile-hero>span svg{width:28px}.account-profile-hero h1{margin:1px 0 5px;font-size:1.35rem}.account-profile-hero p:last-child{color:var(--text-secondary);margin:0;font-size:.65rem;line-height:1.8}.account-profile-role{background:#ffffffc2;border:1px solid #ffffffad;border-radius:12px;align-items:center;gap:9px;min-width:150px;padding:11px 13px;display:flex}.account-profile-role>svg{width:22px;color:var(--primary-600)}.account-profile-role small,.account-profile-role strong{display:block}.account-profile-role small{color:var(--text-muted);font-size:.47rem}.account-profile-role strong{margin-top:2px;font-size:.65rem}.account-profile-form{gap:14px;display:grid}.account-profile-section{padding:0;overflow:hidden}.account-profile-section>header{border-bottom:1px solid var(--border);background:var(--surface-subtle);align-items:center;gap:11px;min-height:83px;padding:14px 18px;display:flex}.account-profile-section>header>span{width:39px;height:39px;color:var(--primary-600);background:var(--primary-soft);border-radius:11px;flex:none;place-items:center;display:grid}.account-profile-section>header>span svg{width:19px}.account-profile-section h2{margin:0 0 3px;font-size:.8rem}.account-profile-section header p{color:var(--text-muted);margin:0;font-size:.52rem;line-height:1.7}.account-profile-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px;padding:20px 21px 23px;display:grid}.account-profile-fields label{gap:6px;display:grid}.account-profile-fields label>span{color:var(--text-primary);font-size:.59rem;font-weight:750}.account-profile-fields label>span b{color:var(--error)}.account-profile-fields input{border:1px solid var(--border);width:100%;min-height:44px;color:var(--text-primary);background:var(--surface-subtle);font:inherit;border-radius:9px;outline:0;padding:8px 11px;font-size:.62rem}.account-profile-fields input:focus{border-color:var(--primary-600);background:var(--surface);box-shadow:0 0 0 3px var(--primary-soft)}.account-profile-fields label>small{color:var(--text-muted);font-size:.46rem}.account-password-section>header>button{border:1px solid var(--border);width:35px;height:35px;color:var(--text-secondary);background:var(--surface);border-radius:9px;flex:none;place-items:center;margin-right:auto;display:grid}.account-password-section>header>button:hover{border-color:var(--primary-600);color:var(--primary-600)}.account-password-section>header>button svg{width:17px}.account-password-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.account-profile-message{border-radius:10px;align-items:center;gap:8px;padding:11px 14px;font-size:.58rem;font-weight:650;display:flex}.account-profile-message svg{flex:none;width:18px}.account-profile-message.is-success{color:var(--success);background:var(--success-soft)}.account-profile-message.is-error{color:var(--error);background:var(--error-soft)}.account-profile-actions{justify-content:flex-end;display:flex}.account-profile-actions button{gap:7px;min-height:44px;padding-inline:20px}.account-profile-actions button svg{width:17px}@media (max-width:760px){.account-profile-hero{grid-template-columns:54px minmax(0,1fr);padding:19px 17px}.account-profile-hero>span{width:52px;height:52px}.account-profile-role{grid-column:1/-1}.account-password-fields{grid-template-columns:1fr}}@media (max-width:520px){.account-profile-hero{grid-template-columns:1fr}.account-profile-fields{grid-template-columns:1fr;padding-inline:15px}.account-profile-section>header{padding-inline:14px}.account-profile-actions button{justify-content:center;width:100%}}.school-exports-page{gap:15px;display:grid}.export-hero{border-radius:var(--radius-xl);background:linear-gradient(125deg, var(--surface) 18%, var(--accent-soft));min-height:154px;box-shadow:var(--shadow-card);border:1px solid #1d567524;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:17px;padding:24px 26px;display:grid}.export-hero__icon{width:58px;height:58px;color:var(--surface);background:linear-gradient(145deg, var(--primary-900), var(--primary-600));border-radius:17px;place-items:center;display:grid;box-shadow:0 12px 28px #1d567533}.export-hero__icon svg{width:27px;height:27px}.export-hero h1{margin:1px 0 6px;font-size:1.36rem}.export-hero p:last-child{max-width:720px;color:var(--text-secondary);margin:0;font-size:.66rem;line-height:1.9}.export-hero button{white-space:nowrap;gap:7px}.export-security-note{border-radius:var(--radius-md);color:var(--success);background:var(--success-soft);border:1px solid #2fa36b38;align-items:center;gap:11px;padding:13px 15px;display:flex}.export-security-note>svg{flex:none;width:23px;height:23px}.export-security-note strong,.export-security-note span{display:block}.export-security-note strong{font-size:.67rem}.export-security-note span{color:var(--text-secondary);margin-top:3px;font-size:.53rem;line-height:1.8}.export-message{border-radius:var(--radius-md);padding:12px 14px;font-size:.61rem;font-weight:700}.export-message.is-success{color:var(--success);background:var(--success-soft)}.export-message.is-error{color:var(--error);background:var(--error-soft)}.export-list-panel{padding:0;overflow:hidden}.export-list-panel>.panel__header{border-bottom:1px solid var(--border);background:var(--surface-subtle);min-height:78px;padding:15px 19px}.export-list-panel>.panel__header h2{margin:0 0 4px;font-size:.82rem}.export-list-panel>.panel__header p{color:var(--text-muted);margin:0;font-size:.52rem}.export-count{color:var(--primary-700);background:var(--primary-soft);border-radius:8px;padding:6px 10px;font-size:.54rem;font-weight:750}.export-empty{min-height:260px;color:var(--text-muted);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.export-empty>svg{width:32px;height:32px;color:var(--primary-600)}.export-empty strong{color:var(--text-primary);font-size:.72rem}.export-empty span{font-size:.54rem}.export-list{display:grid}.export-card{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(250px,.48fr) auto;align-items:center;gap:16px;min-height:132px;padding:18px 20px;display:grid}.export-card:first-child{border-top:0}.export-card__main{align-items:flex-start;gap:12px;min-width:0;display:flex}.export-file-icon{width:42px;height:42px;color:var(--primary-700);background:var(--primary-soft);border-radius:12px;flex:none;place-items:center;display:grid}.export-file-icon svg{width:21px}.export-card__main>div{min-width:0}.export-card__title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.export-card__title>strong{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.export-card__main p{color:var(--text-secondary);margin:6px 0 0;font-size:.54rem}.export-status{color:var(--primary-700);background:var(--primary-soft);border-radius:999px;padding:4px 8px;font-size:.48rem;font-weight:750}.export-status.is-ready{color:var(--success);background:var(--success-soft)}.export-status.is-pendingapproval{color:#855e17;background:var(--warning-soft)}.export-status.is-rejected,.export-status.is-failed{color:var(--error);background:var(--error-soft)}.export-status.is-expired{color:var(--text-secondary);background:var(--background)}.export-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:7px 14px;margin-top:8px;font-size:.47rem;display:flex}.export-meta span{align-items:center;gap:4px;display:inline-flex}.export-meta svg{width:13px;height:13px}.export-progress{gap:7px;min-width:0;display:grid}.export-progress>div{color:var(--text-secondary);justify-content:space-between;gap:10px;font-size:.5rem;display:flex}.export-progress>div b{color:var(--primary-700)}.export-progress>span{background:var(--border);border-radius:999px;height:7px;display:block;overflow:hidden}.export-progress>span i{border-radius:inherit;background:linear-gradient(90deg, var(--primary-600), var(--accent));height:100%;transition:width .3s;display:block}.export-progress small{color:var(--text-muted);font-size:.46rem}.export-card__actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.export-card__actions button{gap:5px;min-height:38px;padding-inline:12px;font-size:.53rem}.export-card__actions svg{width:15px}.export-reject-button{color:var(--error)}.export-reason{color:#855e17;background:var(--warning-soft);border-radius:8px;grid-column:1/-1;margin:-5px 54px 0 0;padding:9px 11px;font-size:.52rem;line-height:1.8}.export-reason.is-error{color:var(--error);background:var(--error-soft)}.export-reject-form{border:1px solid var(--border);background:var(--surface-subtle);border-radius:10px;grid-column:1/-1;gap:7px;margin-right:54px;padding:13px;display:grid}.export-reject-form label{font-size:.56rem;font-weight:750}.export-reject-form textarea{resize:vertical;border:1px solid var(--border);width:100%;min-height:76px;color:var(--text-primary);background:var(--surface);border-radius:8px;outline:0;padding:9px 11px;font-size:.58rem}.export-reject-form textarea:focus{border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-soft)}.export-reject-form>div{justify-content:flex-end;gap:7px;display:flex}.export-reject-form button{min-height:37px;padding-inline:12px;font-size:.52rem}.is-spinning{animation:.8s linear infinite export-spin}@keyframes export-spin{to{transform:rotate(360deg)}}@media (max-width:1050px){.export-card{grid-template-columns:minmax(0,1fr) minmax(220px,.55fr)}.export-card__actions{grid-column:1/-1}}@media (max-width:720px){.export-hero{grid-template-columns:54px minmax(0,1fr);padding:20px 17px}.export-hero__icon{width:51px;height:51px}.export-hero>button{grid-column:1/-1;width:100%}.export-card{grid-template-columns:1fr;padding:16px}.export-card__actions{grid-column:auto;justify-content:stretch}.export-card__actions button{flex:1}.export-reason,.export-reject-form{grid-column:auto;margin-right:0}}@media (max-width:430px){.export-hero{grid-template-columns:1fr}.export-card__main{align-items:flex-start}.export-card__actions{flex-direction:column}}.notification-count{border:2px solid var(--surface);color:#fff;background:var(--error);border-radius:999px;place-items:center;min-width:18px;height:18px;padding-inline:4px;font-size:.44rem;font-weight:850;display:grid;position:absolute;top:-5px;right:-5px}.assignment-studio,.family-assignments-page{gap:15px;display:grid}.assignment-studio__hero,.family-assignment-hero{border-radius:var(--radius-xl);min-height:154px;box-shadow:var(--shadow-card);background:linear-gradient(125deg,#fff 15%,#effaf8 68%,#e2f5f2);border:1px solid #1d567521;grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:18px;padding:24px 27px;display:grid;position:relative;overflow:hidden}.assignment-studio__hero:after,.family-assignment-hero:after{content:"";pointer-events:none;border:1px solid #35b8b02e;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-150px;left:-95px;box-shadow:0 0 0 34px #35b8b00d,0 0 0 68px #35b8b00a}.assignment-studio__hero-icon,.family-assignment-hero>span{color:#fff;background:linear-gradient(145deg, var(--primary-900), var(--primary-600));border-radius:17px;place-items:center;width:58px;height:58px;display:grid;box-shadow:0 13px 28px #1d567533}.assignment-studio__hero-icon svg,.family-assignment-hero>span svg{width:27px;height:27px}.assignment-studio__hero h2,.family-assignment-hero h1{margin:2px 0 6px;font-size:1.28rem}.assignment-studio__hero p:last-child,.family-assignment-hero p:last-child{color:var(--text-secondary);margin:0;font-size:.64rem;line-height:1.9}.assignment-studio__hero button{z-index:1;gap:7px;font-size:.64rem;position:relative}.assignment-studio__hero button svg{width:16px}.assignment-security-note{color:var(--success);background:linear-gradient(90deg, var(--success-soft), #f7fcf9);border:1px solid #2fa36b33;border-radius:12px;align-items:center;gap:11px;padding:12px 15px;display:flex}.assignment-security-note>svg{flex:none;width:21px}.assignment-security-note>svg:last-child{color:#2fa36b73;margin-right:auto}.assignment-security-note strong,.assignment-security-note span{display:block}.assignment-security-note strong{font-size:.62rem}.assignment-security-note span{color:var(--text-secondary);margin-top:2px;font-size:.49rem}.assignment-flash{border-radius:10px;align-items:center;gap:8px;margin:0;padding:11px 14px;font-size:.58rem;font-weight:700;display:flex}.assignment-flash svg{flex:none;width:18px}.assignment-flash.is-success{color:var(--success);background:var(--success-soft)}.assignment-flash.is-error{color:var(--error);background:var(--error-soft)}.assignment-composer{border-color:#247ba033;padding:0;overflow:hidden;box-shadow:0 16px 45px #173b5717}.assignment-composer>header{border-bottom:1px solid var(--border);background:linear-gradient(90deg, var(--surface-subtle), var(--primary-wash));justify-content:space-between;align-items:center;gap:12px;min-height:82px;padding:16px 20px;display:flex}.assignment-composer>header>div,.assignment-section-title>div{align-items:center;gap:10px;display:flex}.assignment-composer>header>div>span,.assignment-section-title>div>span{color:#fff;background:var(--primary-900);border-radius:10px;flex:none;place-items:center;width:31px;height:31px;font-size:.58rem;font-weight:850;display:grid}.assignment-composer>header strong,.assignment-composer>header small,.assignment-section-title strong,.assignment-section-title small{display:block}.assignment-composer>header strong,.assignment-section-title strong{font-size:.68rem}.assignment-composer>header small,.assignment-section-title small{color:var(--text-muted);margin-top:3px;font-size:.48rem}.assignment-composer>header>svg{width:28px;color:var(--accent)}.assignment-composer__fields{grid-template-columns:1fr 1fr;gap:13px 16px;padding:19px 20px 6px;display:grid}.assignment-composer__fields label,.assignment-question-card>textarea+div,.assignment-review-form>label,.assignment-evaluation-grid label,.student-text-answer{min-width:0}.assignment-composer__fields label.is-wide{grid-column:1/-1}.assignment-composer__fields label>span,.assignment-review-form>label>span,.assignment-evaluation-grid label>span,.student-text-answer>span{color:var(--text-primary);margin-bottom:6px;font-size:.55rem;font-weight:750;display:block}.assignment-composer input,.assignment-composer textarea,.assignment-composer select,.assignment-review-form input,.assignment-review-form textarea,.assignment-review-form select,.student-submission-form textarea{border:1px solid var(--border);width:100%;min-height:42px;color:var(--text-primary);background:var(--surface-subtle);border-radius:9px;outline:0;padding:8px 11px;font-size:.59rem;transition:border .2s,box-shadow .2s,background .2s}.assignment-composer textarea,.assignment-review-form textarea,.student-submission-form textarea{resize:vertical;min-height:92px;line-height:1.9}.assignment-composer input:focus,.assignment-composer textarea:focus,.assignment-review-form input:focus,.assignment-review-form textarea:focus,.assignment-review-form select:focus,.student-submission-form textarea:focus{border-color:var(--primary-600);box-shadow:0 0 0 3px var(--primary-soft);background:#fff}.assignment-kind-picker{grid-template-columns:repeat(2,1fr);gap:10px;padding:14px 20px 18px;display:grid}.assignment-kind-picker>button{border:1px solid var(--border);color:var(--text-secondary);text-align:right;background:#fff;border-radius:12px;align-items:center;gap:11px;padding:13px 14px;transition:all .2s;display:flex}.assignment-kind-picker>button>svg{width:23px;color:var(--text-muted)}.assignment-kind-picker strong,.assignment-kind-picker small{display:block}.assignment-kind-picker strong{color:var(--text-primary);font-size:.61rem}.assignment-kind-picker small{margin-top:3px;font-size:.47rem}.assignment-kind-picker>button.is-active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px #35b8b01a}.assignment-kind-picker>button.is-active>svg{color:var(--primary-700)}.assignment-question-builder{border-block:1px solid var(--border);background:#fbfdfd;gap:11px;padding:17px 20px 20px;display:grid}.assignment-section-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.assignment-section-title>button{color:var(--primary-700);background:var(--primary-soft);border:0;border-radius:7px;align-items:center;gap:5px;padding:6px 9px;font-size:.5rem;font-weight:750;display:inline-flex}.assignment-section-title>button svg{width:14px}.assignment-question-card{border:1px solid var(--border);background:#fff;border-radius:12px;gap:9px;padding:13px;display:grid}.assignment-question-card__top{align-items:center;gap:10px;display:flex}.assignment-question-card__top>b{font-size:.59rem}.assignment-question-card__top>label{color:var(--text-muted);align-items:center;gap:6px;margin-right:auto;font-size:.48rem;display:flex}.assignment-question-card__top>label input{width:62px;min-height:32px}.assignment-question-card__top>button{width:31px;height:31px;color:var(--error);background:var(--error-soft);border:0;border-radius:8px;place-items:center;display:grid}.assignment-question-card__top>button svg{width:15px}.assignment-question-card>textarea{min-height:67px}.assignment-options{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.assignment-options>label{border:1px solid var(--border);background:var(--surface-subtle);border-radius:9px;align-items:center;gap:6px;min-width:0;padding:5px 7px;display:flex}.assignment-options>label>input[type=radio]{width:14px;min-height:auto;accent-color:var(--success)}.assignment-options>label>span{width:22px;height:22px;color:var(--text-muted);background:var(--border);border-radius:6px;flex:none;place-items:center;font-size:.48rem;font-weight:800;display:grid}.assignment-options>label>input:last-child{min-height:32px;box-shadow:none;background:0 0;border:0;padding:5px 7px}.assignment-options>label.is-correct{background:var(--success-soft);border-color:#2fa36b4d}.assignment-options>label.is-correct>span{color:#fff;background:var(--success)}.assignment-composer__lower{grid-template-columns:1.15fr .85fr;gap:0;display:grid}.assignment-audience,.assignment-upload{align-content:start;gap:12px;padding:18px 20px;display:grid}.assignment-upload{border-right:1px solid var(--border);background:var(--surface-subtle)}.assignment-student-picker{grid-template-columns:repeat(2,1fr);gap:7px;max-height:245px;padding:2px;display:grid;overflow:auto}.assignment-student-picker>label{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:9px;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;gap:8px;padding:8px;display:grid}.assignment-student-picker input{opacity:0;width:1px;height:1px;position:absolute}.assignment-student-picker label>b{width:28px;height:28px;color:var(--primary-700);background:var(--primary-soft);border-radius:8px;place-items:center;font-size:.56rem;display:grid}.assignment-student-picker label span,.assignment-student-picker label strong,.assignment-student-picker label small{min-width:0;display:block}.assignment-student-picker label strong{text-overflow:ellipsis;white-space:nowrap;font-size:.52rem;overflow:hidden}.assignment-student-picker label small{color:var(--text-muted);margin-top:1px;font-size:.42rem}.assignment-student-picker label>svg{width:15px;color:var(--border)}.assignment-student-picker label.is-selected{background:var(--accent-soft);border-color:#35b8b073}.assignment-student-picker label.is-selected>svg{color:var(--success)}.assignment-dropzone{min-height:126px;color:var(--primary-700);text-align:center;cursor:pointer;background:#fff;border:1.5px dashed #247ba061;border-radius:12px;align-content:center;place-items:center;gap:4px;padding:14px;display:grid;position:relative}.assignment-dropzone>svg{width:26px}.assignment-dropzone strong{font-size:.59rem}.assignment-dropzone small{color:var(--text-muted);font-size:.45rem}.assignment-dropzone input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.assignment-upload>p,.student-file-error{color:var(--error);margin:0;font-size:.48rem}.assignment-selected-files,.student-files-preview{flex-wrap:wrap;gap:6px;display:flex}.assignment-selected-files>span,.student-files-preview>span{max-width:100%;color:var(--text-secondary);background:#fff;border-radius:7px;align-items:center;gap:5px;padding:6px 8px;font-size:.47rem;display:inline-flex}.assignment-selected-files svg,.student-files-preview svg{width:13px;color:var(--success)}.assignment-selected-files small,.student-files-preview small{color:var(--text-muted)}.assignment-composer>footer{border-top:1px solid var(--border);background:linear-gradient(90deg, #fff, var(--accent-soft));justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:13px 20px;display:flex}.assignment-composer>footer>span{color:var(--text-secondary);align-items:center;gap:7px;font-size:.5rem;display:flex}.assignment-composer>footer>span svg{width:17px;color:var(--accent)}.assignment-composer>footer button{gap:6px;min-width:155px;font-size:.6rem}.assignment-composer>footer button svg{width:16px}.assignment-stat-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.assignment-stat-grid article,.family-assignment-stats article{border:1px solid var(--border);min-height:78px;box-shadow:var(--shadow-card);background:#fff;border-radius:13px;align-items:center;gap:11px;padding:13px 15px;display:flex}.assignment-stat-grid article>svg,.family-assignment-stats article>svg{width:24px;color:var(--primary-600)}.assignment-stat-grid strong,.assignment-stat-grid small,.family-assignment-stats strong,.family-assignment-stats small{display:block}.assignment-stat-grid strong,.family-assignment-stats strong{font-size:.95rem}.assignment-stat-grid small,.family-assignment-stats small{color:var(--text-muted);margin-top:1px;font-size:.46rem}.assignment-stat-grid .is-attention>svg,.family-assignment-stats .is-revision>svg{color:var(--warning)}.assignment-stat-grid .is-success>svg,.family-assignment-stats .is-completed>svg{color:var(--success)}.assignment-state{min-height:240px;color:var(--text-muted);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.assignment-state>svg{width:33px;height:33px;color:var(--primary-600)}.assignment-state strong{color:var(--text-primary);font-size:.68rem}.assignment-state span{font-size:.52rem}.assignment-state button{margin-top:5px;font-size:.55rem}.assignment-state.is-error>svg{color:var(--error)}.assignment-board{grid-template-columns:minmax(255px,.34fr) minmax(0,1fr);align-items:start;gap:13px;display:grid}.assignment-list{padding:0;position:sticky;top:18px;overflow:hidden}.assignment-list>header,.family-assignment-list>header{border-bottom:1px solid var(--border);background:var(--surface-subtle);justify-content:space-between;align-items:center;min-height:64px;padding:12px 15px;display:flex}.assignment-list>header strong,.assignment-list>header small{display:block}.assignment-list>header strong,.family-assignment-list>header strong{font-size:.65rem}.assignment-list>header small{color:var(--text-muted);margin-top:2px;font-size:.44rem}.assignment-list>header>span,.family-assignment-list>header>span{min-width:27px;height:27px;color:var(--primary-700);background:var(--primary-soft);border-radius:8px;place-items:center;padding-inline:6px;font-size:.5rem;font-weight:800;display:grid}.assignment-list>button{border:0;border-top:1px solid var(--border);width:100%;color:inherit;text-align:right;background:#fff;grid-template-columns:37px minmax(0,1fr);gap:9px;padding:13px;display:grid}.assignment-list>button:first-of-type{border-top:0}.assignment-list>button.is-active{background:linear-gradient(90deg, var(--accent-soft), #fff);box-shadow:inset -3px 0 var(--accent)}.assignment-kind-icon{width:36px;height:36px;color:var(--primary-700);background:var(--primary-soft);border-radius:10px;place-items:center;display:grid}.assignment-kind-icon.is-multiplechoice{color:#785b9c;background:#f3eef9}.assignment-kind-icon svg{width:18px}.assignment-list button>div{min-width:0}.assignment-list button>div>strong{text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;display:block;overflow:hidden}.assignment-list button>div>small{color:var(--text-muted);align-items:center;gap:4px;margin-top:4px;font-size:.43rem;display:flex}.assignment-list button>div>small svg{width:12px}.assignment-list button i{background:var(--border);border-radius:99px;height:4px;margin-top:9px;display:block;overflow:hidden}.assignment-list button i em{border-radius:inherit;background:linear-gradient(90deg, var(--primary-600), var(--accent));height:100%;display:block}.assignment-list button p{color:var(--text-muted);justify-content:space-between;gap:7px;margin:5px 0 0;font-size:.42rem;display:flex}.assignment-list button p b{color:var(--warning)}.assignment-detail{padding:0;overflow:hidden}.assignment-detail>header{border-bottom:1px solid var(--border);background:linear-gradient(110deg, #fff, var(--surface-subtle));padding:18px 20px}.assignment-detail>header>div:first-child{align-items:flex-start;gap:11px;display:flex}.assignment-detail>header h3{margin:1px 0 4px;font-size:.9rem}.assignment-detail>header p:last-child{color:var(--text-secondary);margin:0;font-size:.53rem;line-height:1.8}.assignment-detail__meta{color:var(--text-muted);flex-wrap:wrap;gap:7px 15px;margin-top:13px;padding-right:47px;font-size:.46rem;display:flex}.assignment-detail__meta span{align-items:center;gap:4px;display:inline-flex}.assignment-detail__meta svg{width:13px;color:var(--primary-600)}.assignment-materials,.family-assignment-materials{border-bottom:1px solid var(--border);padding:13px 20px}.assignment-materials>strong,.family-assignment-materials>strong{margin-bottom:8px;font-size:.56rem;display:block}.assignment-materials>button,.family-assignment-materials button,.assignment-attempt-files button{border:1px solid var(--border);max-width:310px;color:inherit;background:var(--surface-subtle);text-align:right;border-radius:9px;align-items:center;gap:8px;margin:0 0 5px 5px;padding:7px 9px;display:inline-flex}.assignment-materials button>svg:first-child,.family-assignment-materials button>svg:first-child,.assignment-attempt-files button>svg:first-child{width:17px;color:var(--success)}.assignment-materials button>svg:last-child,.family-assignment-materials button>svg:last-child,.assignment-attempt-files button>svg:last-child{width:14px;color:var(--primary-600);margin-right:auto}.assignment-materials button span,.family-assignment-materials button span,.assignment-attempt-files button span,.assignment-materials button b,.assignment-materials button small,.family-assignment-materials button b,.family-assignment-materials button small,.assignment-attempt-files button b,.assignment-attempt-files button small{min-width:0;display:block}.assignment-materials button b,.family-assignment-materials button b,.assignment-attempt-files button b{text-overflow:ellipsis;white-space:nowrap;font-size:.49rem;overflow:hidden}.assignment-materials button small,.family-assignment-materials button small,.assignment-attempt-files button small{color:var(--text-muted);margin-top:2px;font-size:.4rem}.assignment-answer-key{border-bottom:1px solid var(--border)}.assignment-answer-key summary,.family-submission-history summary{cursor:pointer;align-items:center;gap:7px;min-height:52px;padding:10px 20px;font-size:.55rem;font-weight:750;list-style:none;display:flex}.assignment-answer-key summary>svg:first-child{color:#785b9c;width:17px}.assignment-answer-key summary>svg:last-child,.family-submission-history summary>svg{width:15px;margin-right:auto}.assignment-answer-key[open] summary>svg:last-child,.family-submission-history[open] summary>svg{transform:rotate(180deg)}.assignment-answer-key>article{border-top:1px solid var(--border);padding:11px 20px}.assignment-answer-key article>strong{font-size:.53rem}.assignment-answer-key article>div{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.assignment-answer-key article span{color:var(--text-secondary);background:var(--background);border-radius:7px;align-items:center;gap:4px;padding:5px 8px;font-size:.45rem;display:inline-flex}.assignment-answer-key article span.is-correct{color:var(--success);background:var(--success-soft)}.assignment-answer-key article span svg{width:12px}.assignment-review-layout{grid-template-columns:minmax(190px,.33fr) minmax(0,1fr);min-height:410px;display:grid}.assignment-recipient-list{border-left:1px solid var(--border);background:var(--surface-subtle)}.assignment-recipient-list>header{border-bottom:1px solid var(--border);padding:13px}.assignment-recipient-list>header strong,.assignment-recipient-list>header small{display:block}.assignment-recipient-list>header strong{font-size:.58rem}.assignment-recipient-list>header small{color:var(--text-muted);margin-top:2px;font-size:.42rem}.assignment-recipient-list>button{border:0;border-bottom:1px solid var(--border);width:100%;color:inherit;text-align:right;background:0 0;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:7px;padding:9px 11px;display:grid}.assignment-recipient-list>button.is-active{box-shadow:inset -3px 0 var(--primary-600);background:#fff}.assignment-recipient-list button>b,.assignment-reviewer>header b{width:30px;height:30px;color:var(--primary-700);background:var(--primary-soft);border-radius:8px;place-items:center;font-size:.5rem;display:grid}.assignment-recipient-list button span,.assignment-recipient-list button strong,.assignment-recipient-list button small{min-width:0;display:block}.assignment-recipient-list button strong{text-overflow:ellipsis;white-space:nowrap;font-size:.49rem;overflow:hidden}.assignment-recipient-list button small{color:var(--text-muted);margin-top:2px;font-size:.39rem}.assignment-recipient-list button i{color:#8a641f;background:var(--warning-soft);border-radius:5px;padding:2px 5px;font-size:.37rem;font-style:normal;font-weight:800}.assignment-reviewer{min-width:0}.assignment-reviewer>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;min-height:61px;padding:11px 14px;display:flex}.assignment-reviewer>header>div{align-items:center;gap:8px;display:flex}.assignment-reviewer>header span,.assignment-reviewer>header strong,.assignment-reviewer>header small{display:block}.assignment-reviewer>header strong{font-size:.56rem}.assignment-reviewer>header small{color:var(--text-muted);font-size:.42rem}.assignment-reviewer>header em{color:var(--primary-700);background:var(--primary-soft);border-radius:6px;padding:4px 7px;font-size:.42rem;font-style:normal;font-weight:750}.assignment-reviewer__empty{min-height:330px;color:var(--text-muted);text-align:center;align-content:center;place-items:center;gap:7px;display:grid}.assignment-reviewer__empty.is-small{min-height:150px}.assignment-reviewer__empty svg{width:29px;color:var(--primary-600)}.assignment-reviewer__empty strong{color:var(--text-primary);font-size:.58rem}.assignment-reviewer__empty span{max-width:320px;font-size:.45rem;line-height:1.8}.assignment-review-history{gap:7px;padding:11px 14px 0;display:grid}.assignment-review-history article{color:var(--success);background:var(--success-soft);border-radius:8px;gap:8px;padding:9px;display:flex}.assignment-review-history article.is-revision{color:#8a641f;background:var(--warning-soft)}.assignment-review-history article>span svg{width:16px}.assignment-review-history strong,.assignment-review-history p,.assignment-review-history small{display:block}.assignment-review-history strong{font-size:.48rem}.assignment-review-history p{color:var(--text-secondary);margin:3px 0;font-size:.44rem;line-height:1.7}.assignment-review-history small{font-size:.4rem}.assignment-attempt{padding:13px 14px}.assignment-attempt__title{justify-content:space-between;gap:10px;display:flex}.assignment-attempt__title strong{font-size:.55rem}.assignment-attempt__title small{color:var(--text-muted);font-size:.42rem}.assignment-attempt>p{color:var(--text-secondary);background:var(--surface-subtle);white-space:pre-wrap;border-radius:8px;margin:9px 0 0;padding:10px;font-size:.5rem;line-height:1.9}.assignment-attempt-files{margin-top:8px}.assignment-choice-review{gap:5px;margin-top:9px;display:grid}.assignment-choice-review>span{color:var(--error);background:var(--error-soft);border-radius:7px;grid-template-columns:22px minmax(0,1fr) 16px;align-items:center;gap:6px;padding:7px 8px;font-size:.46rem;display:grid}.assignment-choice-review>span.is-correct{color:var(--success);background:var(--success-soft)}.assignment-choice-review span b{background:#ffffffb3;border-radius:5px;place-items:center;width:20px;height:20px;display:grid}.assignment-choice-review span svg{width:13px}.assignment-choice-review>strong{padding-top:4px;font-size:.48rem}.assignment-review-form{border-top:1px solid var(--border);background:#fbfdfd;gap:11px;padding:14px;display:grid}.assignment-review-decision{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.assignment-review-decision label{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:9px;grid-template-columns:21px minmax(0,1fr);align-items:center;gap:7px;padding:9px;display:grid}.assignment-review-decision input{opacity:0;width:1px;height:1px;position:absolute}.assignment-review-decision label>svg{width:18px;color:var(--text-muted)}.assignment-review-decision strong,.assignment-review-decision small{display:block}.assignment-review-decision strong{font-size:.48rem}.assignment-review-decision small{color:var(--text-muted);margin-top:2px;font-size:.39rem}.assignment-review-decision label.is-active{background:var(--success-soft);border-color:#2fa36b59}.assignment-review-decision label.is-active>svg{color:var(--success)}.assignment-review-decision label.is-revision{background:var(--warning-soft);border-color:#e7a83e73}.assignment-review-decision label.is-revision>svg{color:var(--warning)}.assignment-evaluation-grid{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.assignment-done-check{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:9px;grid-column:1/-1;grid-template-columns:18px 20px minmax(0,1fr);align-items:center;gap:7px;padding:9px;display:grid}.assignment-done-check>input{width:15px;min-height:auto;accent-color:var(--success)}.assignment-done-check>svg{width:17px;color:var(--success)}.assignment-done-check strong,.assignment-done-check small{display:block}.assignment-done-check strong{font-size:.48rem}.assignment-done-check small{color:var(--text-muted);font-size:.39rem}.assignment-review-form>footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.assignment-review-form>footer>span{color:var(--text-muted);font-size:.42rem}.assignment-review-form>footer button{gap:5px;min-height:38px;font-size:.51rem}.assignment-review-form>footer button svg{width:14px}.family-assignment-hero>svg{z-index:1;width:31px;height:31px;color:var(--accent);position:relative}.family-assignment-students{flex-wrap:wrap;gap:7px;display:flex}.family-assignment-students button{border:1px solid var(--border);min-height:38px;color:var(--text-secondary);background:#fff;border-radius:9px;align-items:center;gap:6px;padding:6px 12px;font-size:.52rem;font-weight:700;display:inline-flex}.family-assignment-students button svg{width:15px}.family-assignment-students button.is-active{border-color:var(--accent);color:var(--primary-700);background:var(--accent-soft)}.assignment-notification-center{padding:0;overflow:hidden}.assignment-notification-center>header{border-bottom:1px solid var(--border);background:linear-gradient(90deg, var(--surface-subtle), var(--primary-wash));justify-content:space-between;align-items:center;min-height:70px;padding:12px 16px;display:flex}.assignment-notification-center>header>div{align-items:center;gap:9px;display:flex}.assignment-notification-center>header>div>span{width:37px;height:37px;color:var(--primary-700);background:var(--primary-soft);border-radius:10px;place-items:center;display:grid}.assignment-notification-center>header svg{width:19px}.assignment-notification-center header strong,.assignment-notification-center header small{display:block}.assignment-notification-center header strong{font-size:.63rem}.assignment-notification-center header small{color:var(--text-muted);margin-top:2px;font-size:.45rem}.assignment-notification-center>header>b{color:#fff;background:var(--primary-600);border-radius:9px;place-items:center;min-width:29px;height:29px;padding-inline:6px;font-size:.5rem;display:grid}.assignment-notification-center>div{grid-template-columns:repeat(2,1fr);display:grid}.assignment-notification-center>div>button{border:0;border-bottom:1px solid var(--border);color:inherit;text-align:right;background:#fff;grid-template-columns:34px minmax(0,1fr) 7px;gap:9px;padding:12px 14px;display:grid;position:relative}.assignment-notification-center>div>button:nth-child(odd){border-left:1px solid var(--border)}.assignment-notification-center>div>button.is-unread{background:var(--accent-soft)}.assignment-notification-center button>span{width:33px;height:33px;color:var(--primary-700);background:var(--primary-soft);border-radius:9px;place-items:center;display:grid}.assignment-notification-center button>span svg{width:16px}.assignment-notification-center button strong{font-size:.52rem;display:block}.assignment-notification-center button p{color:var(--text-secondary);margin:3px 0;font-size:.43rem;line-height:1.7}.assignment-notification-center button small{color:var(--text-muted);font-size:.39rem}.assignment-notification-center button>i{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;align-self:center}.assignment-notification-student{width:max-content;color:var(--primary-700);background:var(--primary-soft);border-radius:5px;align-items:center;gap:3px;margin:4px 0;padding:2px 6px;font-size:.4rem;display:flex}.assignment-notification-student svg{width:11px;height:11px}.family-assignment-stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.family-assignment-stats article{min-height:73px}.family-assignment-board{grid-template-columns:minmax(250px,.31fr) minmax(0,1fr);align-items:start;gap:13px;display:grid}.family-assignment-list{padding:0;position:sticky;top:18px;overflow:hidden}.family-assignment-list>button{border:0;border-bottom:1px solid var(--border);width:100%;color:inherit;text-align:right;background:#fff;grid-template-columns:36px minmax(0,1fr);gap:9px;padding:13px;display:grid}.family-assignment-list>button.is-active{background:linear-gradient(90deg, var(--accent-soft), #fff);box-shadow:inset -3px 0 var(--accent)}.family-assignment-list>button>span{width:35px;height:35px;color:var(--primary-700);background:var(--primary-soft);border-radius:10px;place-items:center;display:grid}.family-assignment-list>button>span svg{width:17px}.family-assignment-list button>div{min-width:0}.family-assignment-list button strong{text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;display:block;overflow:hidden}.family-assignment-list button p{color:var(--text-secondary);margin:3px 0;font-size:.43rem}.family-assignment-list button small{color:var(--text-muted);align-items:center;gap:3px;font-size:.4rem;display:flex}.family-assignment-list button small svg{width:11px}.family-assignment-list button em{color:var(--primary-700);background:var(--primary-soft);border-radius:5px;margin-top:7px;padding:3px 6px;font-size:.38rem;font-style:normal;font-weight:750;display:inline-block}.family-assignment-list button.is-revisionrequested em{color:#8a641f;background:var(--warning-soft)}.family-assignment-list button.is-completed em{color:var(--success);background:var(--success-soft)}.family-assignment-detail{padding:0;scroll-margin-top:18px;overflow:hidden}.family-assignment-detail>header{border-bottom:1px solid var(--border);background:linear-gradient(110deg, #fff, var(--surface-subtle));justify-content:space-between;align-items:center;gap:12px;min-height:88px;padding:16px 19px;display:flex}.family-assignment-detail>header>div{align-items:center;gap:10px;display:flex}.family-assignment-detail>header>div>span{width:43px;height:43px;color:var(--primary-700);background:var(--primary-soft);border-radius:12px;place-items:center;display:grid}.family-assignment-detail>header>div>span svg{width:21px}.family-assignment-detail h2{margin:1px 0 3px;font-size:.86rem}.family-assignment-detail>header p:last-child{color:var(--text-muted);margin:0;font-size:.45rem}.family-assignment-detail>header>b{color:var(--primary-700);background:var(--primary-soft);border-radius:7px;padding:6px 9px;font-size:.45rem}.family-assignment-detail>header>b.is-revisionrequested{color:#8a641f;background:var(--warning-soft)}.family-assignment-detail>header>b.is-completed{color:var(--success);background:var(--success-soft)}.family-assignment-meta{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);display:grid}.family-assignment-meta>span{border-left:1px solid var(--border);grid-template-columns:27px minmax(0,1fr);align-content:center;gap:0 8px;min-height:73px;padding:11px 16px;display:grid}.family-assignment-meta>span:last-child{border-left:0}.family-assignment-meta svg{width:20px;color:var(--primary-600);grid-row:1/3;align-self:center}.family-assignment-meta small,.family-assignment-meta strong{display:block}.family-assignment-meta small{color:var(--text-muted);font-size:.42rem}.family-assignment-meta strong{margin-top:2px;font-size:.5rem}.family-assignment-brief{border-bottom:1px solid var(--border);padding:15px 19px}.family-assignment-brief strong{font-size:.56rem}.family-assignment-brief p{color:var(--text-secondary);white-space:pre-wrap;margin:6px 0 0;font-size:.51rem;line-height:2}.family-assignment-materials{padding-inline:19px}.family-assignment-materials>div{flex-wrap:wrap;display:flex}.family-revision-callout{color:#8a641f;background:var(--warning-soft);border:1px solid #e7a83e47;border-radius:11px;gap:10px;margin:14px 18px;padding:13px;display:flex}.family-revision-callout>svg{flex:none;width:22px}.family-revision-callout strong{font-size:.58rem}.family-revision-callout p{color:var(--text-primary);margin:4px 0;font-size:.51rem;line-height:1.8}.family-revision-callout small{color:var(--text-secondary);font-size:.43rem}.family-submission-history{border-bottom:1px solid var(--border)}.family-submission-history summary{justify-content:space-between;padding-inline:19px}.family-submission-history summary>div{align-items:center;gap:8px;display:flex}.family-submission-history summary>div>span{width:33px;height:33px;color:var(--success);background:var(--success-soft);border-radius:9px;place-items:center;display:grid}.family-submission-history summary>div>span svg{width:17px}.family-submission-history summary strong,.family-submission-history summary small{display:block}.family-submission-history summary strong{font-size:.54rem}.family-submission-history summary small{color:var(--text-muted);margin-top:2px;font-size:.42rem}.family-submission-history>div{gap:8px;padding:0 19px 14px;display:grid}.family-submission-history>div>article{border:1px solid var(--border);background:var(--surface-subtle);border-radius:10px;padding:11px}.family-submission-history article>header{justify-content:space-between;gap:8px;display:flex}.family-submission-history article>header strong{font-size:.5rem}.family-submission-history article>header small{color:var(--text-muted);font-size:.4rem}.family-submission-history article>p{color:var(--text-secondary);white-space:pre-wrap;margin:7px 0 0;font-size:.48rem;line-height:1.8}.family-attempt-files{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.family-attempt-files button{border:1px solid var(--border);color:inherit;background:#fff;border-radius:7px;align-items:center;gap:5px;padding:5px 7px;font-size:.43rem;display:inline-flex}.family-attempt-files button svg{width:12px;color:var(--primary-600)}.family-attempt-files button svg:last-child{margin-right:3px}.family-submission-history article>aside{color:var(--success);background:var(--success-soft);border-radius:7px;gap:7px;margin-top:8px;padding:8px;display:flex}.family-submission-history article>aside.is-revision{color:#8a641f;background:var(--warning-soft)}.family-submission-history aside>svg{width:15px}.family-submission-history aside strong,.family-submission-history aside small{display:block}.family-submission-history aside strong{font-size:.45rem}.family-submission-history aside small{color:var(--text-secondary);margin-top:2px;font-size:.41rem}.family-choice-summary{gap:4px;margin-top:8px;display:grid}.family-choice-summary>span{color:var(--text-secondary);background:#fff;border-radius:7px;grid-template-columns:20px minmax(0,1fr) 14px;align-items:center;gap:5px;padding:6px 7px;font-size:.44rem;display:grid}.family-choice-summary span.is-correct{color:var(--success);background:var(--success-soft)}.family-choice-summary span.is-wrong{color:var(--error);background:var(--error-soft)}.family-choice-summary span b{background:#ffffffb3;border-radius:5px;place-items:center;width:19px;height:19px;display:grid}.family-choice-summary span svg{width:12px}.family-assignment-result{background:linear-gradient(130deg, #fff, var(--success-soft));border:1px solid #2fa36b3d;border-radius:13px;margin:15px 18px;overflow:hidden}.family-assignment-result>header{border-bottom:1px solid #2fa36b26;align-items:center;gap:9px;padding:13px 15px;display:flex}.family-assignment-result>header>span{color:#fff;background:var(--success);border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.family-assignment-result>header>span svg{width:20px}.family-assignment-result>header strong{font-size:.63rem}.family-assignment-result>header>svg{width:22px;color:var(--warning);margin-right:auto}.family-assignment-result>div{grid-template-columns:repeat(3,1fr);display:grid}.family-assignment-result>div article{border-left:1px solid #2fa36b26;min-height:72px;padding:12px 15px}.family-assignment-result article small,.family-assignment-result article strong{display:block}.family-assignment-result article small{color:var(--text-muted);font-size:.42rem}.family-assignment-result article strong{color:var(--success);align-items:center;gap:4px;margin-top:4px;font-size:.65rem;display:flex}.family-assignment-result article strong em{color:var(--text-muted);font-size:.43rem;font-style:normal}.family-assignment-result article svg{width:15px}.family-assignment-result>p{color:var(--text-secondary);border-top:1px solid #2fa36b26;margin:0;padding:11px 15px;font-size:.49rem;line-height:1.8}.student-submission-form{background:#fff;border:1px solid #247ba033;border-radius:13px;margin:15px 18px 18px;overflow:hidden;box-shadow:0 10px 28px #173b570f}.student-submission-form>header{border-bottom:1px solid var(--border);background:linear-gradient(90deg, var(--surface-subtle), var(--accent-soft));justify-content:space-between;align-items:center;min-height:68px;padding:11px 14px;display:flex}.student-submission-form>header>div{align-items:center;gap:8px;display:flex}.student-submission-form>header>div>span{color:#fff;background:var(--primary-900);border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.student-submission-form>header svg{width:18px}.student-submission-form>header>svg{color:var(--success)}.student-submission-form header strong,.student-submission-form header small{display:block}.student-submission-form header strong{font-size:.58rem}.student-submission-form header small{color:var(--text-muted);margin-top:2px;font-size:.42rem}.student-text-answer{padding:14px 15px 7px;display:block}.student-text-answer textarea{min-height:110px}.student-file-drop{min-height:69px;color:var(--primary-700);background:var(--primary-wash);cursor:pointer;border:1.5px dashed #247ba059;border-radius:10px;align-items:center;gap:9px;margin:7px 15px;padding:11px 13px;display:flex;position:relative}.student-file-drop>svg{width:22px}.student-file-drop span,.student-file-drop strong,.student-file-drop small{display:block}.student-file-drop strong{font-size:.52rem}.student-file-drop small{color:var(--text-muted);margin-top:2px;font-size:.41rem}.student-file-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.student-file-error{padding:0 15px}.student-files-preview{padding:4px 15px 10px}.student-files-preview>span{background:var(--surface-subtle)}.student-files-preview>p{width:100%;color:var(--success);align-items:center;gap:5px;margin:0;font-size:.42rem;display:flex}.student-files-preview>p svg{width:14px}.student-quiz{gap:10px;padding:14px 15px;display:grid}.student-quiz fieldset{border:1px solid var(--border);border-radius:10px;gap:6px;margin:0;padding:11px;display:grid}.student-quiz legend{grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;padding:0 3px 6px;font-size:.52rem;font-weight:750;display:grid}.student-quiz legend>span{color:#fff;background:var(--primary-900);border-radius:7px;place-items:center;width:23px;height:23px;display:grid}.student-quiz legend small{color:var(--text-muted);font-size:.41rem;font-weight:500}.student-quiz fieldset>label{border:1px solid var(--border);color:var(--text-secondary);background:var(--surface-subtle);cursor:pointer;border-radius:8px;grid-template-columns:15px 23px minmax(0,1fr) 15px;align-items:center;gap:6px;padding:8px 9px;font-size:.47rem;display:grid}.student-quiz label>input{width:14px;accent-color:var(--primary-600)}.student-quiz label>span{background:var(--border);border-radius:6px;place-items:center;width:22px;height:22px;font-weight:800;display:grid}.student-quiz label>svg{color:#0000;width:14px}.student-quiz label.is-selected{border-color:var(--accent);color:var(--primary-900);background:var(--accent-soft)}.student-quiz label.is-selected>span{color:#fff;background:var(--primary-600)}.student-quiz label.is-selected>svg{color:var(--success)}.student-submission-form>footer{border-top:1px solid var(--border);background:var(--surface-subtle);justify-content:space-between;align-items:center;gap:10px;min-height:67px;padding:11px 15px;display:flex}.student-submission-form>footer>span{color:var(--text-muted);font-size:.41rem}.student-submission-form>footer button{gap:6px;min-height:39px;font-size:.52rem}.student-submission-form>footer button svg{width:14px}.family-parent-note{color:var(--primary-700);background:var(--primary-soft);border-radius:10px;align-items:center;gap:8px;margin:15px 18px 18px;padding:11px 13px;display:flex}.family-parent-note>svg{width:19px}.family-parent-note strong,.family-parent-note small{display:block}.family-parent-note strong{font-size:.5rem}.family-parent-note small{color:var(--text-secondary);margin-top:2px;font-size:.41rem}@media (max-width:1050px){.assignment-board,.family-assignment-board{grid-template-columns:235px minmax(0,1fr)}.assignment-composer__lower{grid-template-columns:1fr}.assignment-upload{border-top:1px solid var(--border);border-right:0}.assignment-review-layout{grid-template-columns:175px minmax(0,1fr)}}@media (max-width:820px){.assignment-studio__hero,.family-assignment-hero{grid-template-columns:52px minmax(0,1fr);padding:20px 18px}.assignment-studio__hero-icon,.family-assignment-hero>span{width:50px;height:50px}.assignment-studio__hero>button{grid-column:1/-1;width:100%}.family-assignment-hero>svg{display:none}.assignment-stat-grid{grid-template-columns:repeat(2,1fr)}.assignment-board,.family-assignment-board{grid-template-columns:1fr}.assignment-list,.family-assignment-list{position:static}.assignment-list{grid-template-columns:repeat(2,1fr);display:grid}.assignment-list>header{grid-column:1/-1}.assignment-list>button:nth-of-type(2n){border-right:1px solid var(--border)}.family-assignment-list{display:flex;overflow-x:auto}.family-assignment-list>header{min-width:150px}.family-assignment-list>button{border-left:1px solid var(--border);min-width:235px}.assignment-notification-center>div{grid-template-columns:1fr}.assignment-notification-center>div>button:nth-child(odd){border-left:0}}@media (max-width:620px){.assignment-composer__fields,.assignment-kind-picker,.assignment-options,.assignment-evaluation-grid{grid-template-columns:1fr}.assignment-composer__fields label.is-wide,.assignment-done-check{grid-column:auto}.assignment-student-picker{grid-template-columns:1fr}.assignment-composer>footer,.assignment-review-form>footer,.student-submission-form>footer{flex-direction:column;align-items:stretch}.assignment-composer>footer button,.assignment-review-form>footer button,.student-submission-form>footer button{width:100%}.assignment-review-layout{grid-template-columns:1fr}.assignment-recipient-list{border-bottom:1px solid var(--border);border-left:0;display:flex;overflow-x:auto}.assignment-recipient-list>header{min-width:160px}.assignment-recipient-list>button{border-left:1px solid var(--border);min-width:180px}.family-assignment-meta{grid-template-columns:1fr}.family-assignment-meta>span{border-bottom:1px solid var(--border);border-left:0}.family-assignment-result>div{grid-template-columns:1fr}.family-assignment-result>div article{border-bottom:1px solid #2fa36b26;border-left:0}}@media (max-width:430px){.assignment-studio__hero,.family-assignment-hero{grid-template-columns:1fr}.assignment-studio__hero h2,.family-assignment-hero h1{font-size:1.05rem}.assignment-stat-grid,.family-assignment-stats,.assignment-list{grid-template-columns:1fr}.assignment-list>button:nth-of-type(2n){border-right:0}.assignment-question-card__top{flex-wrap:wrap}.assignment-question-card__top>label{margin-right:0}.family-assignment-detail>header{flex-direction:column;align-items:flex-start}.assignment-review-decision{grid-template-columns:1fr}.student-quiz legend{grid-template-columns:25px minmax(0,1fr)}.student-quiz legend small{grid-column:2}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.role-dashboard{gap:20px;display:grid}.dashboard-hero{min-height:288px;color:var(--surface);isolation:isolate;background:linear-gradient(130deg,#102f48 0%,#1c5574 62%,#247ba0 100%);border-radius:24px;grid-template-columns:minmax(0,1.65fr) minmax(250px,.65fr);align-items:center;gap:clamp(26px,5vw,72px);padding:clamp(28px,4vw,46px);display:grid;position:relative;overflow:hidden;box-shadow:0 24px 65px #173b572e}.dashboard-hero:before{z-index:-1;content:"";border:1px solid #ffffff1a;border-radius:50%;width:360px;height:360px;position:absolute;top:-215px;left:-100px;box-shadow:0 0 0 65px #ffffff08,0 0 0 130px #ffffff05}.dashboard-hero:after{z-index:-1;opacity:.34;content:"";background-image:radial-gradient(circle at 1px 1px,#ffffff2e 1px,#0000 0);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000);mask-image:linear-gradient(90deg,#0000,#000)}.dashboard-hero--teacher{background:linear-gradient(130deg,#153d57 0%,#176775 65%,#2a9993 115%)}.dashboard-hero--student{background:linear-gradient(130deg,#14334d 0%,#275f8b 65%,#4d86b2 110%)}.dashboard-hero--parent{background:linear-gradient(130deg,#183c54 0%,#236779 60%,#38a49e 115%)}.dashboard-hero__content{z-index:1;max-width:760px;position:relative}.dashboard-hero__badge{color:#8aebe3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:7px;margin-bottom:17px;padding:7px 11px;font-size:.67rem;font-weight:750;display:inline-flex}.dashboard-hero__badge svg{width:14px;height:14px}.dashboard-hero__content>p:first-of-type{color:#ffffffa8;margin:0 0 7px;font-size:.68rem}.dashboard-hero h1{max-width:710px;color:var(--surface);letter-spacing:-.025em;margin:0 0 11px;font-size:clamp(1.55rem,2.8vw,2.35rem);line-height:1.55}.dashboard-hero__content>p:last-of-type{color:#ffffffb8;max-width:680px;margin-bottom:23px;font-size:.79rem;line-height:2}.dashboard-hero__actions{flex-wrap:wrap;gap:10px;display:flex}.dashboard-hero__actions a{border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:45px;padding-inline:17px;font-size:.72rem;font-weight:750;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.dashboard-hero__actions a:hover{transform:translateY(-2px)}.dashboard-hero__actions svg{width:17px}.dashboard-hero__primary{color:var(--primary-900);background:var(--accent);box-shadow:0 10px 25px #08202f2e}.dashboard-hero__primary:hover{background:#62d3cb}.dashboard-hero__secondary{color:var(--surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #fff3}.dashboard-hero__secondary:hover{background:#ffffff21;border-color:#ffffff61}.dashboard-hero__spotlight{z-index:1;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#ffffff1a;border:1px solid #ffffff29;border-radius:20px;min-width:0;padding:24px;position:relative;box-shadow:inset 0 1px #ffffff17}.dashboard-hero__spotlight>span{width:43px;height:43px;color:var(--primary-900);background:var(--accent);border-radius:13px;place-items:center;margin-bottom:17px;display:grid}.dashboard-hero__spotlight>span svg{width:21px}.dashboard-hero__spotlight small,.dashboard-hero__spotlight strong,.dashboard-hero__spotlight p{display:block}.dashboard-hero__spotlight small{color:#ffffff9e;font-size:.63rem}.dashboard-hero__spotlight strong{color:var(--surface);margin:5px 0 0;font-size:2.25rem;line-height:1.2}.dashboard-hero__spotlight p{color:#ffffffb8;margin:5px 0 17px;font-size:.67rem;line-height:1.7}.dashboard-hero__spotlight>i{color:#9cf0e9;background:#35b8b029;border-radius:7px;padding:5px 8px;font-size:.57rem;font-style:normal;font-weight:700;display:inline-flex}.dashboard-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.dashboard-stat{border:1px solid var(--border);background:var(--surface);min-height:118px;box-shadow:var(--shadow-card);border-radius:17px;align-items:center;gap:14px;padding:18px;display:flex;position:relative;overflow:hidden}.dashboard-stat:after{background:var(--primary-600);content:"";width:3px;height:100%;position:absolute;top:0;right:0}.dashboard-stat>span{width:45px;height:45px;color:var(--primary-600);background:var(--primary-soft);border-radius:13px;flex:none;place-items:center;display:grid}.dashboard-stat>span svg{width:21px}.dashboard-stat small,.dashboard-stat strong,.dashboard-stat p{display:block}.dashboard-stat small{color:var(--text-secondary);font-size:.62rem}.dashboard-stat strong{margin-top:2px;font-size:1.45rem}.dashboard-stat p{color:var(--success);margin:2px 0 0;font-size:.56rem}.dashboard-stat--teal:after{background:var(--accent)}.dashboard-stat--teal>span{color:var(--accent);background:var(--accent-soft)}.dashboard-stat--navy:after{background:var(--primary-900)}.dashboard-stat--navy>span{color:var(--primary-900);background:var(--primary-wash)}.dashboard-stat--success:after{background:var(--success)}.dashboard-stat--success>span{color:var(--success);background:var(--success-soft)}.dashboard-shortcuts{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-card);border-radius:18px;padding:21px}.dashboard-shortcuts>header{justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:17px;display:flex}.dashboard-shortcuts>header h2{margin:0;font-size:.98rem}.dashboard-shortcuts>header>small{color:var(--text-muted);font-size:.61rem}.dashboard-shortcuts>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.dashboard-shortcuts>div>a,.dashboard-shortcuts>div>article{border:1px solid var(--border);background:var(--surface-subtle);border-radius:13px;grid-template-columns:40px minmax(0,1fr) 17px;align-items:center;gap:11px;min-height:76px;padding:12px;transition:border-color .2s,box-shadow .2s,transform .2s;display:grid}.dashboard-shortcuts>div>a:hover{border-color:#247ba047;transform:translateY(-2px);box-shadow:0 10px 26px #173b5714}.dashboard-shortcuts>div>a>span,.dashboard-shortcuts>div>article>span{width:40px;height:40px;color:var(--primary-600);background:var(--primary-soft);border-radius:11px;place-items:center;display:grid}.dashboard-shortcuts>div>a>span svg,.dashboard-shortcuts>div>article>span svg{width:19px}.dashboard-shortcuts>div strong,.dashboard-shortcuts>div small{display:block}.dashboard-shortcuts>div strong{font-size:.68rem}.dashboard-shortcuts>div small{color:var(--text-muted);margin-top:4px;font-size:.54rem;line-height:1.5}.dashboard-shortcuts>div>a>svg{width:15px;color:var(--text-muted);transition:transform .2s}.dashboard-shortcuts>div>a:hover>svg{color:var(--primary-600);transform:translate(-2px)}.dashboard-grid--home{align-items:stretch}.dashboard-classes-panel .panel__header{margin-bottom:10px}.dashboard-action-list{display:grid}.dashboard-action-list>a{border-top:1px solid var(--border);grid-template-columns:8px 1fr 27px 15px;align-items:center;gap:10px;min-height:65px;display:grid}.dashboard-action-list>a:first-child{border-top:0}.dashboard-action-list strong,.dashboard-action-list small{display:block}.dashboard-action-list strong{font-size:.68rem}.dashboard-action-list small{color:var(--text-muted);margin-top:4px;font-size:.56rem}.dashboard-action-list b{background:var(--background);border-radius:8px;place-items:center;width:27px;height:27px;font-size:.65rem;display:grid}.dashboard-action-list>a>svg{width:14px;color:var(--text-muted)}.task-dot--accent{background:var(--accent)}.teacher-overview-grid,.family-progress-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.teacher-overview-grid>article,.family-progress-card{border:1px solid var(--border);background:var(--surface);min-height:104px;box-shadow:var(--shadow-card);border-radius:17px;align-items:center;gap:13px;padding:17px 18px;display:flex}.teacher-overview-grid>article>span,.family-progress-card>span{width:43px;height:43px;color:var(--primary-600);background:var(--primary-soft);border-radius:13px;flex:none;place-items:center;display:grid}.teacher-overview-grid svg,.family-progress-card>span svg{width:20px}.teacher-overview-grid small,.teacher-overview-grid strong,.teacher-overview-grid p,.family-progress-card small,.family-progress-card strong,.family-progress-card p{display:block}.teacher-overview-grid small,.family-progress-card small{color:var(--text-secondary);font-size:.6rem}.teacher-overview-grid strong,.family-progress-card strong{margin-top:2px;font-size:1.35rem}.teacher-overview-grid p,.family-progress-card p{color:var(--text-muted);margin:2px 0 0;font-size:.54rem}.teacher-quick-actions>div{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-quick-actions .is-disabled{opacity:.55}.teacher-today-redesign{margin-top:0}.teacher-timeline-list .outline-button{gap:6px;min-height:38px;padding-inline:12px;font-size:.64rem}.teacher-timeline-list .outline-button svg{width:14px}.teacher-today-redesign .schedule-empty-day{min-height:120px;color:var(--text-muted);justify-content:center;align-items:center;gap:8px;font-size:.67rem;display:flex}.teacher-today-redesign .schedule-empty-day svg{color:var(--success)}.family-progress-card{grid-template-columns:43px 1fr 16px;transition:border-color .2s,transform .2s,box-shadow .2s;display:grid}.family-progress-card:hover{border-color:#247ba040;transform:translateY(-2px);box-shadow:0 13px 30px #173b5717}.family-progress-card>svg{width:15px;color:var(--text-muted)}.family-progress-card.is-warning>span{color:var(--warning);background:var(--warning-soft)}.family-progress-card.is-success>span{color:var(--success);background:var(--success-soft)}.family-student-strip{background:linear-gradient(90deg, var(--surface), var(--accent-soft));border:1px solid #35b8b033;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;min-height:82px;padding:14px 18px;display:flex}.family-student-strip>div:first-child,.family-student-strip>div:last-child,.family-student-strip>div:last-child>span{align-items:center;display:flex}.family-student-strip>div:first-child{gap:10px}.family-student-strip>div:first-child>span{width:42px;height:42px;color:var(--accent);background:var(--surface);border-radius:12px;place-items:center;display:grid}.family-student-strip small,.family-student-strip strong{display:block}.family-student-strip small{color:var(--text-muted);font-size:.56rem}.family-student-strip strong{margin-top:3px;font-size:.68rem}.family-student-strip>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:8px}.family-student-strip>div:last-child>span{border:1px solid var(--border);background:var(--surface);border-radius:999px;gap:6px;padding:6px 9px;font-size:.6rem;font-weight:650}.family-student-strip i{width:23px;height:23px;color:var(--primary-600);background:var(--primary-soft);border-radius:50%;place-items:center;font-style:normal;display:grid}.family-student-strip i svg{width:13px}.family-shortcuts>header{align-items:center}.family-shortcuts>header .link-button{font-size:.62rem}.family-shortcut.is-orange>span{color:var(--warning);background:var(--warning-soft)}.family-shortcut.is-purple>span{color:#775da6;background:#775da61a}.family-shortcut.is-green>span{color:var(--success);background:var(--success-soft)}.family-home .family-schedule-preview{border-radius:18px;margin-top:0}@media (max-width:1120px){.dashboard-hero{grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr)}.dashboard-stat-grid,.dashboard-shortcuts>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.dashboard-hero{border-radius:20px;grid-template-columns:1fr;gap:25px;min-height:0;padding:27px 22px}.dashboard-hero__spotlight{grid-template-columns:43px 1fr;gap:0 13px;padding:17px;display:grid}.dashboard-hero__spotlight>span{grid-row:1/3;margin:0}.dashboard-hero__spotlight p{margin-bottom:8px}.dashboard-hero__spotlight>i{grid-column:2;width:max-content}.teacher-overview-grid,.family-progress-grid{grid-template-columns:1fr}.family-student-strip{flex-direction:column;align-items:flex-start}.family-student-strip>div:last-child{justify-content:flex-start}}@media (max-width:520px){.role-dashboard{gap:15px}.dashboard-hero h1{font-size:1.35rem}.dashboard-hero__actions{display:grid}.dashboard-hero__actions a{width:100%}.dashboard-stat-grid,.dashboard-shortcuts>div{grid-template-columns:1fr}.dashboard-shortcuts{padding:17px 14px}.dashboard-shortcuts>header{flex-direction:column;align-items:flex-start}.dashboard-shortcuts>header>small{display:none}.family-shortcuts>header .link-button{border:1px solid var(--border);border-radius:9px;justify-content:center;align-self:stretch;min-height:40px;font-size:.6rem}.dashboard-stat{min-height:96px}.teacher-today-redesign .schedule-empty-day{text-align:right;align-items:flex-start;padding:24px 5px;line-height:1.8}}.notification-center{position:relative}.notification-center__trigger{transition:border-color .2s,color .2s,background .2s}.notification-center.is-open .notification-center__trigger{color:var(--primary-600);background:var(--primary-wash);border-color:#247ba040}.notification-center__panel{z-index:40;border:1px solid var(--border);background:var(--surface);border-radius:17px;width:min(390px,100vw - 30px);animation:.18s ease-out notification-panel-in;position:absolute;top:calc(100% + 12px);left:0;overflow:hidden;box-shadow:0 24px 70px #17304233}@keyframes notification-panel-in{0%{opacity:0;transform:translateY(-6px)scale(.985)}to{opacity:1;transform:none}}.notification-center__panel>header{border-bottom:1px solid var(--border);background:linear-gradient(90deg, var(--surface), var(--accent-soft));justify-content:space-between;align-items:center;gap:12px;min-height:73px;padding:13px 15px;display:flex}.notification-center__panel>header>div{align-items:center;gap:10px;display:flex}.notification-center__panel>header>div>span{width:37px;height:37px;color:var(--primary-700);background:var(--surface);border-radius:11px;place-items:center;display:grid;box-shadow:0 5px 16px #173b5712}.notification-center__panel>header svg{width:18px}.notification-center__panel>header strong,.notification-center__panel>header small{display:block}.notification-center__panel>header strong{font-size:.7rem}.notification-center__panel>header small{color:var(--text-muted);margin-top:3px;font-size:.51rem}.notification-center__panel>header>button{min-height:32px;color:var(--primary-700);background:var(--primary-soft);border:0;border-radius:8px;align-items:center;gap:5px;padding:5px 8px;font-size:.5rem;font-weight:750;display:inline-flex}.notification-center__panel>header>button svg{width:14px}.notification-center__body{overscroll-behavior:contain;max-height:min(510px,100vh - 190px);overflow-y:auto}.notification-entry{border-top:1px solid var(--border);background:var(--surface);grid-template-columns:39px minmax(0,1fr) 7px;align-items:start;gap:10px;min-height:88px;padding:13px 14px;transition:background .18s;display:grid;position:relative}.notification-entry:first-child{border-top:0}.notification-entry:hover{background:var(--surface-subtle)}.notification-entry.is-unread{background:linear-gradient(90deg, var(--primary-wash), var(--surface))}.notification-entry>span{width:38px;height:38px;color:var(--primary-600);background:var(--primary-soft);border-radius:11px;place-items:center;display:grid}.notification-entry>span svg{width:18px}.notification-entry.is-message>span{color:var(--accent);background:var(--accent-soft)}.notification-entry.is-success>span{color:var(--success);background:var(--success-soft)}.notification-entry.is-warning>span{color:var(--warning);background:var(--warning-soft)}.notification-entry.is-critical>span{color:var(--error);background:var(--error-soft)}.notification-entry strong,.notification-entry p,.notification-entry small{display:block}.notification-entry strong{margin-top:1px;font-size:.61rem;line-height:1.6}.notification-entry p{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:3px 0 4px;font-size:.5rem;line-height:1.75;display:-webkit-box;overflow:hidden}.notification-entry small{color:var(--text-muted);font-size:.45rem}.notification-entry__student{width:max-content;color:var(--primary-700);background:var(--primary-soft);border-radius:6px;align-items:center;gap:4px;margin:4px 0;padding:3px 7px;font-size:.45rem;display:flex}.notification-entry__student svg{width:12px;height:12px}.notification-entry.requires-action small{color:#93650d;background:var(--warning-soft);border-radius:6px;width:max-content;padding:3px 6px;font-weight:750}.notification-entry>i{background:var(--primary-600);border-radius:50%;align-self:center;width:6px;height:6px}.notification-entry.is-critical>i{background:var(--error)}.notification-center__state,.notification-center__empty{min-height:180px;color:var(--text-muted);text-align:center;align-content:center;place-items:center;gap:8px;padding:20px;display:grid}.notification-center__state svg,.notification-center__empty>svg{width:29px;height:29px;color:var(--primary-600)}.notification-center__state span,.notification-center__empty span{font-size:.51rem}.notification-center__empty strong{color:var(--text-primary);font-size:.65rem}.notification-center__panel>footer{border-top:1px solid var(--border);background:var(--surface-subtle);min-height:47px;padding:8px 13px}.notification-center__panel>footer a{min-height:31px;color:var(--primary-700);justify-content:center;align-items:center;gap:6px;font-size:.52rem;font-weight:750;display:flex}.notification-center__panel>footer svg{width:15px}@media (max-width:620px){.notification-center__panel{width:auto;max-height:calc(100vh - 82px);position:fixed;top:69px;left:12px;right:12px}.notification-center__body{max-height:calc(100vh - 205px)}}
