@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200";.global-feedback[data-v-1c034077]{position:fixed;z-index:300;top:max(18px,env(safe-area-inset-top));left:50%;width:min(calc(100vw - 32px),440px);transform:translate(-50%);pointer-events:none}.feedback-toast[data-v-1c034077]{display:grid;grid-template-columns:38px minmax(0,1fr) 40px;align-items:center;gap:12px;min-height:64px;padding:8px 8px 8px 12px;color:#1d2b43;background:#fffffff7;border:1px solid rgba(200,211,228,.9);border-radius:16px;box-shadow:0 18px 48px #19274229,0 3px 10px #19274214;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto}.feedback-toast.success[data-v-1c034077]{border-color:#ccebdc}.feedback-toast.error[data-v-1c034077]{border-color:#f1ccd1}.feedback-icon[data-v-1c034077]{width:38px;height:38px;display:grid;place-items:center;color:#118653;background:#e8f8f0;border-radius:11px;font-size:21px;font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 20}.feedback-toast.error .feedback-icon[data-v-1c034077]{color:#c63140;background:#fff0f2}.feedback-message[data-v-1c034077]{min-width:0;font-size:13px;font-weight:750;line-height:1.45;letter-spacing:-.01em;overflow-wrap:anywhere}.feedback-toast button[data-v-1c034077]{display:grid;width:40px;height:40px;padding:0;place-items:center;color:#66758f;background:transparent;border:0;border-radius:10px;cursor:pointer}.feedback-toast button[data-v-1c034077]:hover{background:#eef3fa;color:#263550}.feedback-toast button[data-v-1c034077]:focus-visible{outline:3px solid rgba(43,98,220,.28);outline-offset:1px}.feedback-toast button span[data-v-1c034077]{font-size:20px}.toast-enter-active[data-v-1c034077]{transition:opacity .22s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.toast-leave-active[data-v-1c034077]{transition:opacity .16s ease,transform .16s ease}.toast-enter-from[data-v-1c034077],.toast-leave-to[data-v-1c034077]{opacity:0;transform:translateY(-12px) scale(.97)}@media(max-width:760px){.global-feedback[data-v-1c034077]{top:calc(68px + env(safe-area-inset-top));width:min(calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)),440px)}.feedback-toast[data-v-1c034077]{grid-template-columns:36px minmax(0,1fr) 40px;min-height:60px;gap:10px}.feedback-icon[data-v-1c034077]{width:36px;height:36px}}@media(prefers-reduced-motion:reduce){.toast-enter-active[data-v-1c034077],.toast-leave-active[data-v-1c034077]{transition:none}}:root{font-family:DM Sans,sans-serif;color:#1b2437;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}body{width:100%;min-width:0;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr);background:linear-gradient(-45deg,#101c46,#1e3a8a 38%,#2563eb 72%,#1d4ed8);background-size:400% 400%;animation:gradientBG 18s ease infinite;position:relative;overflow:hidden}@keyframes gradientBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.login-shell:before,.login-shell:after{content:"";position:absolute;border-radius:50%;filter:blur(120px);z-index:0;pointer-events:none}.login-shell:before{width:60vw;height:60vw;background:#60a5fa4d;top:-20vh;left:-20vw;animation:floatOrb 20s infinite alternate ease-in-out}.login-shell:after{width:50vw;height:50vw;background:#3b82f638;bottom:-20vh;right:-10vw;animation:floatOrb 15s infinite alternate-reverse ease-in-out}@keyframes floatOrb{0%{transform:translate(0) scale(1)}to{transform:translate(50px,100px) scale(1.1)}}.login-intro{z-index:1;color:#fff;padding:clamp(42px,9vw,120px);display:flex;flex-direction:column;justify-content:center;position:relative}.login-intro:after{display:none}.brand-mark{position:relative;flex:none;width:37px;height:37px;overflow:hidden;border-radius:11px;background:transparent}.brand-mark img{position:absolute;top:-30px;left:50%;width:86px;max-width:none;transform:translate(-50%)}.brand-row{display:flex;align-items:center;gap:13px;margin-bottom:36px}.login-intro .brand-mark{transform:scale(1.1);transform-origin:left}.login-intro .brand-mark img{filter:brightness(0) invert(1)}.eyebrow{color:#6d7b94;font-size:11px;letter-spacing:.13em;font-weight:700;margin:0 0 10px}.login-intro .eyebrow{color:#bfdbfe;letter-spacing:.2em}.login-intro .brand-row .eyebrow{margin:0;color:#dce8ff;font-size:13px;letter-spacing:.26em}.login-intro h1{max-width:600px;margin:0;font:800 clamp(42px,5vw,72px)/1.05 Manrope;letter-spacing:-2px;background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;color:#fff}.login-intro>p:not(.eyebrow){max-width:530px;margin:26px 0 40px;color:#eff6ff;font-size:18px;line-height:1.6}.feature-list{display:flex;gap:12px;flex-wrap:wrap;color:#eaf1ff;font-size:13.5px;font-weight:600}.feature-list span{display:inline-flex;align-items:center;gap:9px;padding:9px 16px 9px 10px;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.feature-list span i{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;color:#0c1c45;background:#7fabf8;font-size:11px;font-weight:800;font-style:normal}.login-card{z-index:1;padding:60px clamp(30px,6vw,60px);max-width:500px;width:100%;justify-self:center;align-self:center;display:grid;gap:24px;background:#ffffffed;backdrop-filter:blur(24px) saturate(1.35);-webkit-backdrop-filter:blur(24px) saturate(1.35);border:1px solid rgba(255,255,255,.7);border-radius:24px;box-shadow:0 32px 64px -16px #09143066,0 2px 8px #0914300f;animation:cardIn .55s cubic-bezier(.21,.7,.3,1) both}.login-card h2{font:800 31px Manrope;letter-spacing:-1px;margin:0 0 4px;color:#0f2148}.login-card p{color:#5c6b84;margin:0;line-height:1.6}.login-card .eyebrow{display:inline-flex;align-items:center;gap:7px;width:fit-content;padding:6px 12px;border-radius:999px;color:#1d4ed8;background:#eff4ff;border:1px solid #dbe6ff;letter-spacing:.14em;font-size:10.5px;margin:0 0 14px}.login-card .eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:#2563eb;box-shadow:0 0 0 3px #2563eb26}.login-shell label{color:#43536b}.login-shell input{color:#16233c;background:#fff;border:1px solid #ccd6e4;border-radius:12px;transition:border-color .18s,box-shadow .18s}.login-shell input:hover:not(:focus){border-color:#b3c2d8}.login-shell input:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 4px #2563eb24}.login-shell input::placeholder{color:#94a3b8}.login-shell .primary{background:linear-gradient(135deg,#2f6bef,#1d4ed8);box-shadow:0 10px 22px -6px #1d4ed873;border-radius:12px;border:none;font-weight:800;letter-spacing:.01em;transition:transform .18s,box-shadow .18s,filter .18s;color:#fff}.login-shell .primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 26px -6px #1d4ed880;filter:brightness(1.06)}.login-shell .primary:active:not(:disabled){transform:translateY(0)}.login-shell .primary:focus-visible{outline:3px solid rgba(37,99,235,.3);outline-offset:2px}.login-shell .text-button{color:#2563eb!important}.login-shell .text-button:hover{color:#1d4ed8!important;text-decoration:underline}.password-input{position:relative}.login-shell .password-input input{padding-right:48px}.password-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:8px;color:#7d8ba3;background:transparent;transition:color .15s,background .15s}.password-toggle:hover:not(:disabled){color:#1d4ed8;background:#eef3fe}.password-toggle:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:1px}.password-toggle i{font-family:Material Symbols Outlined;font-size:20px;font-style:normal;font-weight:500;font-variation-settings:"FILL" 0,"wght" 450,"GRAD" 0,"opsz" 24;line-height:1}.login-intro>*{animation:introIn .5s ease both}.login-intro>:nth-child(2){animation-delay:.06s}.login-intro>:nth-child(3){animation-delay:.12s}.login-intro>:nth-child(4){animation-delay:.18s}@keyframes cardIn{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}@keyframes introIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.login-shell,.login-shell:before,.login-shell:after,.login-card,.login-intro>*{animation:none}}label{display:grid;gap:8px;color:#354056;font-size:13px;font-weight:700}input,select,textarea{width:100%;color:#1b2437;background:#fff;border:1px solid #dbe1eb;border-radius:9px;outline:0;padding:11px 12px;font-size:14px;transition:border .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:#4470e1;box-shadow:0 0 0 3px #3c68d819}textarea{min-height:100px;resize:vertical}.primary,.secondary,.light-button{border:0;border-radius:9px;min-height:42px;padding:0 16px;font-weight:700;font-size:14px}.primary{color:#fff;background:#285bd6;box-shadow:0 4px 10px #285bd62e}.primary:hover{background:#1e4ebe}.secondary{color:#3d4c67;background:#fff;border:1px solid #dce3ef}.full{width:100%;margin-top:4px}.loading-page{height:100vh;display:grid;place-content:center;justify-items:center;color:#697691;gap:14px}.spinner{width:34px;height:34px;border:3px solid #dce5fb;border-top-color:#295bd4;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{width:100%;min-width:0;max-width:100%;min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr);overflow-x:clip}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;background:#fff;border-right:1px solid #e6eaf1;padding:27px 15px 18px}.brand{display:flex;align-items:center;gap:10px;padding:0 12px 37px;color:#1d2943;font:800 20px Manrope;letter-spacing:-1px}.brand .brand-mark{width:33px;height:33px;border-radius:9px}.brand .brand-mark img{top:-27px;width:77px}nav{display:grid;gap:1px}nav button{position:relative;min-height:44px;border:0;display:flex;align-items:center;gap:12px;color:#69758a;border-radius:6px;padding:0 12px;text-align:left;background:transparent;font-size:14px;font-weight:500;transition:color .12s,background .12s}nav button:before{content:"";position:absolute;left:0;top:50%;width:3px;height:0;border-radius:0 3px 3px 0;background:#285bd6;transform:translateY(-50%);transition:height .14s}nav button i{flex:0 0 21px;width:21px;height:21px;display:grid;place-items:center;color:#7d889a;background:none;border:0;border-radius:0;font-family:Material Symbols Outlined;font-size:21px;font-style:normal;font-weight:500;font-variation-settings:"FILL" 0,"wght" 450,"GRAD" 0,"opsz" 24;line-height:1;text-align:center;transition:color .12s}nav button:hover{color:#344158;background:#f5f6f8}nav button:hover i{color:#45536a}nav button.active{color:#204ebd;background:#f1f4fa;box-shadow:none;font-weight:700}nav button.active:before{height:22px}nav button.active i{color:#285bd6;background:none;border:0;box-shadow:none;font-variation-settings:"FILL" 0,"wght" 600,"GRAD" 0,"opsz" 24}nav button:focus-visible{outline:2px solid #94b0ee;outline-offset:1px}.account{margin-top:auto;padding:15px 8px;border-top:1px solid #edf0f4;display:grid;grid-template-columns:34px 1fr 26px;align-items:center;gap:9px}.account strong,.account small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account strong{font-size:12px}.account small{color:#8a95a9;font-size:11px;margin-top:2px}.avatar{display:grid;place-items:center;overflow:hidden;width:34px;height:34px;border-radius:50%;background:#dbe6ff;color:#285bd6;font-size:13px;font-weight:800}.avatar img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.avatar.small{width:31px;height:31px;background:#eef2f8;color:#66738b}.icon-button{width:31px;height:31px;padding:0;border:0;border-radius:7px;color:#697891;background:transparent;font-size:20px}.icon-button:hover{color:#285bd6;background:#edf2fd}.workspace{min-width:0}.workspace>header{position:sticky;z-index:2;top:0;min-height:106px;background:#fffffff5;padding:25px clamp(25px,4vw,60px);border-bottom:1px solid #e1e6ee;box-shadow:0 4px 14px #1f2b430b;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;gap:20px}.workspace header .eyebrow{margin-bottom:4px}.workspace header h1{margin:0;color:#1e2a40;font:700 26px Manrope;letter-spacing:-.8px}.header-actions,.inline-actions{display:flex;align-items:center;gap:10px}.header-actions select{width:240px;padding:9px 30px 9px 11px}.student-academic-context{margin:5px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;color:#62718a;font-size:12px;font-weight:700;letter-spacing:.01em}.page{max-width:1380px;padding:35px clamp(25px,4vw,60px) 56px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:25px}.page-heading h2{margin:0 0 5px;color:#202b40;font:700 23px Manrope;letter-spacing:-.7px}.page-heading p{color:#77849a;font-size:14px;margin:0}.alert{max-width:1380px;margin:16px auto -2px;padding:11px 15px;border-radius:8px;font-size:13px}.alert.error{color:#b12d34;background:#fff0f1;border:1px solid #ffd7da}.alert.success{color:#147542;background:#eaf9f0;border:1px solid #c8efd7}.hero-card{min-height:222px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px 44px;color:#fff;border-radius:16px;overflow:hidden;background:radial-gradient(circle at 86% 10%,#7795f5 0,#436de2 23%,transparent 24%),linear-gradient(112deg,#193d99,#2f62d9);position:relative}.hero-card:after{content:"";position:absolute;width:350px;height:350px;border-radius:50%;border:50px solid #fff1;right:75px;bottom:-260px}.hero-card .eyebrow{color:#c7d5ff}.hero-card h2{margin:0 0 8px;font:700 29px Manrope;letter-spacing:-.8px}.hero-card p:not(.eyebrow){margin:0 0 22px;color:#dce6ff;font-size:14px}.light-button{color:#2454c7;background:#fff}.light-button span{font-size:19px;margin-left:8px}.hero-orb{position:relative;z-index:1;min-width:116px;height:116px;display:grid;align-content:center;justify-items:center;color:#fff;border:1px solid #fff5;border-radius:50%;background:#ffffff14;font:800 38px Manrope;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.hero-orb small{color:#d5e1ff;font:500 12px DM Sans}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin:22px 0}.attendance-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.stat-grid article{min-height:92px;display:flex;align-items:center;gap:14px;padding:18px;background:#fff;border:1px solid #e7ebf1;border-radius:12px}.stat-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;font-weight:800;font-size:18px}.blue{color:#225bd5;background:#eaf0ff}.green{color:#17824a;background:#e6f8ee}.orange{color:#df7a16;background:#fff1df}.red{color:#d74754;background:#fff0f1}.purple{color:#6c4ab8;background:#f1ecff}.stat-grid strong{display:block;color:#202b40;font:800 22px Manrope}.stat-grid small{color:#7d899e;font-size:12px}.section-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px}.panel{background:#fff;border:1px solid #e7ebf1;border-radius:12px;padding:21px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.panel-title h3{margin:0;color:#263249;font:700 16px Manrope}.text-button{border:0;color:#285bd6;background:transparent;padding:4px;font-size:13px;font-weight:700}.text-button:hover{text-decoration:underline}.danger{color:#c8404b}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick-grid button{padding:14px;display:flex;align-items:center;gap:10px;border:1px solid #ebeff5;color:#46536a;background:#fff;text-align:left;border-radius:9px;font-size:13px;font-weight:600}.quick-grid button:hover{color:#285bd6;border-color:#bed0fc;background:#f8faff}.quick-grid b{color:#285bd6;font-size:18px}.compact-list{display:grid}.compact-list>div{display:flex;align-items:center;gap:11px;padding:10px 0;border-top:1px solid #edf0f4}.compact-list>div:first-child{border:0}.compact-list strong,.compact-list small{display:block}.compact-list strong{color:#3b475d;font-size:13px}.compact-list small{color:#8995a7;margin-top:3px;font-size:12px}.compact-list b:last-child,.compact-list button:last-child{margin-left:auto;white-space:nowrap;font-size:12px}.date-square{width:34px;min-height:34px;display:grid;place-items:center;padding:3px;border-radius:8px;color:#285bd6;background:#e9efff;font-size:11px;font-weight:800}.empty-copy{color:#8a96a9;font-size:13px}.class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.class-card{min-height:205px;padding:20px;display:flex;flex-direction:column;color:#65738b;background:#fff;border:1px solid #e3e8f0;border-radius:13px;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}.class-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #263f7310;border-color:#bfcffa}.class-card.selected{border:2px solid #315fd0;padding:19px}.class-card-top{display:flex;justify-content:space-between;color:#285bd6;font-size:12px;font-weight:700}.class-card-top b{font-size:18px}.class-card h3{color:#253147;font:700 20px Manrope;margin:auto 0 4px}.class-card p{margin:0;font-size:13px}.class-card footer{display:flex;justify-content:space-between;gap:10px;padding-top:15px;margin-top:17px;border-top:1px solid #edf0f5;font-size:11px}.class-card footer span:last-child{color:#285bd6;font-weight:700}.class-card-actions{display:flex;gap:6px;margin-top:13px;padding-top:12px;border-top:1px solid #edf0f5}.class-card-actions button{min-height:30px;padding:5px 10px;color:#52627b;background:#f7f9fc;border:1px solid #e2e7ef;border-radius:7px;font:700 11px Manrope;cursor:pointer}.class-card-actions button:hover{color:#2458d3;background:#eef3ff;border-color:#c9d7fa}.class-card-actions button.danger{margin-left:auto;color:#bd3347;background:#fff7f8;border-color:#f2d5da}.class-card-actions button.danger:hover{color:#a51f35;background:#ffedf0;border-color:#eebbc4}.class-modal{width:min(100%,700px)}.schedule-editor{display:grid;gap:12px;padding:15px;border:1px solid #e1e8f4;border-radius:12px;background:#f8faff}.schedule-editor-heading,.schedule-row-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.schedule-editor-heading h3{margin:0;color:#2f3d55;font-size:14px}.schedule-editor-heading p{margin:3px 0 0;color:#8793a6;font-size:11px}.schedule-row{display:grid;gap:10px;padding:13px;background:#fff;border:1px solid #e3e9f2;border-radius:10px}.schedule-row-heading strong{color:#53627a;font-size:12px}.schedule-time-grid{grid-template-columns:1.1fr 1fr 1fr;gap:10px}.schedule-time-grid label{gap:5px}.secondary.small{min-height:32px;padding:7px 10px;font-size:11px}.class-action-summary{display:grid;gap:3px;padding:13px 15px;color:#38465e;background:#f6f8fc;border:1px solid #e2e7ef;border-radius:10px}.class-action-summary strong{font:800 14px Manrope}.class-action-summary span{color:#78869b;font-size:12px}.class-action-modal>p{margin:0;color:#65738b;line-height:1.6}.empty-state{min-height:270px;display:grid;place-content:center;justify-items:center;text-align:center;padding:35px;color:#77859b;background:#fff;border:1px dashed #d4dce9;border-radius:12px}.empty-state>b{width:47px;height:47px;display:grid;place-items:center;border-radius:50%;color:#285bd6;background:#e9efff;font-size:23px}.empty-state h3{color:#374258;margin:15px 0 5px;font:700 17px Manrope}.empty-state p{max-width:390px;margin:0 0 17px;font-size:13px;line-height:1.55}.table-panel{overflow-x:auto;padding:0}table{width:100%;min-width:750px;border-collapse:collapse;text-align:left}th{color:#8490a3;background:#fafbfd;padding:13px 20px;font-size:11px;letter-spacing:.04em;text-transform:uppercase}td{color:#66738a;padding:14px 20px;border-top:1px solid #edf0f4;font-size:13px}.student-cell{display:flex;align-items:center;gap:10px}.student-cell strong,.student-cell small{display:block}.student-cell strong{color:#3d485d;font-size:13px}.student-cell small{margin-top:3px;color:#8c98aa;font-size:11px}.student-profile-link{width:100%;min-height:44px;padding:4px;border:0;border-radius:9px;background:transparent;color:inherit;text-align:left;cursor:pointer}.student-profile-link:hover{background:#f1f5ff}.student-profile-link:focus-visible{outline:3px solid #9ab6ff;outline-offset:2px}.student-profile-link .avatar img{width:100%;height:100%;object-fit:cover}.teacher-student-profile{width:min(100%,1380px);margin:0 auto;padding:32px clamp(22px,4vw,60px) 64px}.teacher-profile-heading{display:flex;align-items:flex-start;gap:18px;margin-bottom:22px}.teacher-profile-heading h2,.teacher-profile-heading p{margin:0}.teacher-profile-heading h2{color:#202b40;font:750 24px Manrope}.teacher-profile-heading>div>p:last-child{margin-top:5px;color:#77849a;font-size:14px}.teacher-profile-back{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 13px;border:1px solid #dce4f0;border-radius:10px;background:#fff;color:#42516a;font-weight:700}.teacher-profile-back:hover{border-color:#9db7fb;color:#245bd8}.teacher-profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(220px,auto);align-items:center;gap:18px;padding:24px;border-radius:18px;color:#fff;background:linear-gradient(120deg,#1f4bac,#3269df);box-shadow:0 14px 30px #2350b229}.teacher-profile-avatar{display:grid;place-items:center;width:74px;height:74px;overflow:hidden;border:3px solid rgba(255,255,255,.7);border-radius:20px;color:#255bd5;background:#fff;font:800 28px Manrope}.teacher-profile-avatar img{width:100%;height:100%;object-fit:cover}.teacher-profile-identity h3,.teacher-profile-identity p{margin:0}.teacher-profile-identity h3{margin-top:7px;font:750 23px Manrope}.teacher-profile-identity p{margin-top:3px;color:#dbe7ff;font-weight:650}.teacher-profile-identity .tag.active{color:#14633a;background:#dff8e8}.teacher-profile-class{display:grid;gap:4px;padding:14px 16px;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:#ffffff1a}.teacher-profile-class small{color:#cbdcff;font-size:10px;font-weight:800;letter-spacing:.1em}.teacher-profile-class span{color:#e5edff;font-size:12px}.teacher-profile-info-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin-top:18px}.teacher-profile-card{padding:20px}.profile-card-heading{display:flex;align-items:center;gap:11px;padding-bottom:15px;border-bottom:1px solid #e8edf4}.profile-card-heading>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;color:#2862df;background:#edf3ff}.profile-card-heading h3,.profile-card-heading p{margin:0}.profile-card-heading h3{color:#2a354b;font:700 15px Manrope}.profile-card-heading p{margin-top:3px;color:#8591a4;font-size:11px}.teacher-profile-card dl{margin:0}.teacher-profile-card dl>div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);gap:16px;padding:12px 0;border-bottom:1px solid #edf0f5}.teacher-profile-card dt{color:#8490a3;font-size:11px;font-weight:700}.teacher-profile-card dd{margin:0;overflow-wrap:anywhere;color:#344057;font-size:12px;font-weight:700;text-align:right}.teacher-profile-section{margin-top:26px}.teacher-profile-section-heading h3,.teacher-profile-section-heading p{margin:0}.teacher-profile-section-heading h3{color:#202b40;font:750 19px Manrope}.teacher-profile-section-heading p{margin-top:4px;color:#7d899c;font-size:13px}.teacher-profile-attendance-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.teacher-profile-attendance-stats article{display:grid;gap:2px;padding:17px;border:1px solid #e1e7ef;border-radius:12px;background:#fff}.teacher-profile-attendance-stats strong{color:#243149;font:750 23px Manrope}.teacher-profile-attendance-stats span,.teacher-profile-status{text-transform:capitalize}.teacher-profile-attendance-stats span{color:#748197;font-size:12px;font-weight:700}.teacher-profile-attendance-stats .present{border-top:3px solid #26a269}.teacher-profile-attendance-stats .late{border-top:3px solid #e29a2a}.teacher-profile-attendance-stats .absent{border-top:3px solid #dc5460}.teacher-profile-attendance-stats .excused{border-top:3px solid #8465d9}.teacher-profile-table-wrap{overflow-x:auto;padding:0}.teacher-profile-table{min-width:600px}.teacher-profile-status{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border-radius:999px;color:#526078;background:#eef2f7;font-size:11px;font-weight:800}.teacher-profile-status.present,.teacher-profile-status.submitted{color:#157346;background:#e4f7ec}.teacher-profile-status.late{color:#986008;background:#fff2d8}.teacher-profile-status.absent,.teacher-profile-status.missing{color:#b73743;background:#ffeaec}.teacher-profile-status.excused{color:#6746b8;background:#f0eafd}.teacher-profile-score-list{display:grid;gap:10px;margin-top:14px}.teacher-profile-score-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px;padding:16px 18px}.teacher-profile-score-row h4{margin:7px 0 4px;color:#2b374e;font:700 14px Manrope}.teacher-profile-score-row small{color:#8490a3}.teacher-profile-score{display:flex;align-items:baseline;justify-content:flex-end;gap:4px;min-width:84px}.teacher-profile-score strong{color:#244fae;font:750 20px Manrope}.teacher-profile-score span{color:#7e899b;font-size:11px}.teacher-profile-empty{margin-top:14px;padding:30px;border:1px dashed #cad4e2;border-radius:12px;color:#78859a;background:#fff;text-align:center}@media(max-width:900px){.teacher-profile-hero{grid-template-columns:auto 1fr}.teacher-profile-class{grid-column:1 / -1}.teacher-profile-info-grid{grid-template-columns:1fr}.teacher-profile-attendance-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.teacher-student-profile{padding:22px 16px 48px}.teacher-profile-heading{display:grid;gap:11px}.teacher-profile-back{width:fit-content}.teacher-profile-hero{grid-template-columns:auto minmax(0,1fr);gap:13px;padding:18px}.teacher-profile-avatar{width:60px;height:60px;border-radius:16px}.teacher-profile-identity h3{overflow-wrap:anywhere;font-size:18px}.teacher-profile-card dl>div{grid-template-columns:1fr;gap:5px}.teacher-profile-card dd{text-align:left}.teacher-profile-score-row{grid-template-columns:minmax(0,1fr) auto;gap:12px}.teacher-profile-score-row>div:first-child{grid-column:1 / -1}.teacher-profile-score{min-width:72px}}.attendance-row{display:grid;grid-template-columns:minmax(190px,1.2fr) 1.5fr minmax(160px,1fr);gap:18px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0f4}.attendance-row:last-child{border-bottom:0}.status-pills{display:flex;gap:5px}.status-pills button{border:1px solid #e2e7ef;padding:6px 8px;border-radius:6px;color:#8792a5;background:#fff;text-transform:capitalize;font-size:11px;font-weight:700}.status-pills .present.selected{color:#13753f;border-color:#86d7aa;background:#ebfbf1}.status-pills .late.selected{color:#bd690d;border-color:#f2c98d;background:#fff6e9}.status-pills .absent.selected{color:#c03645;border-color:#f1aab2;background:#fff0f2}.status-pills .excused.selected{color:#6c4ab8;border-color:#c6b6ec;background:#f5f0ff}.attendance-row input{min-width:0;padding:8px 10px;font-size:12px}.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:17px;align-items:stretch}.activity-card{min-height:245px;align-self:stretch;padding:20px;display:flex;flex-direction:column;background:#fff;border:1px solid #e5eaf1;border-radius:12px}.activity-card>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:7px}.activity-card>div:first-child .tag:nth-child(2){margin-left:auto}.tag{display:inline-block;padding:4px 8px;color:#275bd4;background:#eaf0ff;border-radius:99px;text-transform:capitalize;font-size:10px;font-weight:800}.tag.closed{color:#718097;background:#f0f2f6}.points{color:#7a879a;font-size:11px;font-weight:700;white-space:nowrap}.activity-card h3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:22px 0 8px;color:#323e54;font:700 17px Manrope}.activity-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#7c889c;margin:0;font-size:13px;line-height:1.45}.activity-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:19px;color:#8692a5;font-size:11px}.activity-card footer div{display:flex;gap:8px}.activity-card-actions{align-items:center}.activity-actions-menu{position:relative}.activity-menu-button{width:38px;height:38px;padding:0;display:grid;place-items:center;color:#66748a;background:#f8faff;border:1px solid #d6dfed;border-radius:10px;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.activity-menu-button .material-symbols-outlined{font-size:20px;font-variation-settings:"FILL" 0,"wght" 600,"GRAD" 0,"opsz" 20}.activity-menu-button:hover{color:#285bd6;background:#eef4ff;border-color:#aec4f2;transform:translateY(-1px)}.activity-menu-button[aria-expanded=true]{color:#fff;background:#285bd6;border-color:#285bd6;box-shadow:0 5px 12px #285bd633}.activity-menu-button:focus-visible{outline:3px solid rgba(40,91,214,.2);outline-offset:2px}.activity-menu{position:absolute;z-index:5;right:0;bottom:calc(100% + 8px);min-width:178px;padding:5px;display:grid;gap:2px;background:#fff;border:1px solid #dce4ef;border-radius:10px;box-shadow:0 14px 30px #23324d29}.activity-menu button{min-height:40px;padding:0 12px;color:#3f4e67;background:transparent;border:0;border-radius:7px;text-align:left;font-size:12px;font-weight:700;cursor:pointer}.activity-menu button:hover,.activity-menu button:focus-visible{background:#f3f6fc;color:#285bd6;outline:0}.activity-menu button.danger{color:#bd3347}.activity-attachment-summary{min-width:0;min-height:58px;margin-top:16px;padding:8px;display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:10px;align-items:center;color:inherit;background:#f6f8fc;border:1px solid #dce5f3;border-radius:10px;text-align:left;cursor:pointer}.activity-attachment-summary:hover{background:#edf3ff;border-color:#bfd1f4}.activity-attachment-preview{width:76px;height:42px;display:flex;gap:3px;overflow:hidden;border-radius:7px}.activity-attachment-preview img{min-width:0;flex:1 1 0;width:0;height:42px;object-fit:cover;background:#eaf0f8}.activity-attachment-preview>span{min-width:26px;display:grid;place-items:center;color:#285ed8;background:#e5edff;border-radius:6px;font-size:11px;font-weight:800}.activity-attachment-preview .activity-attachment-glyph{width:42px;height:42px;min-width:42px}.activity-attachment-copy{min-width:0;display:grid;gap:3px}.activity-attachment-copy strong,.activity-attachment-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-attachment-copy strong{color:#35435d;font-size:11px}.activity-attachment-copy small{color:#8491a5;font-size:10px}.activity-attachment-arrow{color:#6f87b6;font-size:24px;line-height:1}.attachment-viewer-modal{width:min(100%,900px);padding-bottom:0;gap:0}.attachment-viewer-body{max-height:min(620px,calc(100dvh - 240px));overflow-y:auto;padding:20px 0;display:grid;gap:16px}.attachment-viewer-group{padding:14px;background:#f7f9fd;border:1px solid #e1e7f0;border-radius:12px}.attachment-viewer-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:11px}.attachment-viewer-heading strong{color:#344159;font:800 13px Manrope}.attachment-viewer-heading small{color:#8491a5;font-size:10px}.attachment-viewer-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.attachment-viewer-picture{min-width:0;margin:0;overflow:hidden;background:#fff;border:1px solid #dfe6f1;border-radius:9px}.attachment-viewer-picture img{width:100%;height:130px;display:block;object-fit:contain;background:#eaf0f8}.attachment-viewer-picture figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;color:#4b5870;font-size:11px;font-weight:800}.attachment-viewer-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.attachment-viewer-file{min-width:0;min-height:42px;padding:8px 10px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:7px;color:#285bc9;background:#fff;border:1px solid #dfe6f1;border-radius:8px;text-align:left;cursor:pointer}.attachment-viewer-file:hover{background:#eef4ff;border-color:#bfd1f4}.attachment-viewer-file span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800}.attachment-viewer-file small{color:#8491a5;font-size:9px;white-space:nowrap}.activity-material-links{display:grid;gap:6px;margin-top:14px}.activity-material-links a{min-width:0;padding:7px 9px;display:flex;align-items:center;gap:7px;color:#2459cf;background:#f4f7ff;border:1px solid #dbe6ff;border-radius:8px;font-size:11px;font-weight:700;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-material-links a:hover{background:#eaf1ff}.activity-material-links a span{flex:0 0 auto}.activity-assets{display:grid;gap:8px;margin-top:16px}.asset-group{overflow:hidden;border:1px solid #dce5f3;border-radius:10px;background:#f8faff}.asset-group summary{min-width:0;padding:10px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;cursor:pointer;list-style:none}.asset-group summary::-webkit-details-marker{display:none}.asset-group summary:hover{background:#f0f5ff}.asset-summary-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;font-weight:800}.asset-group summary>span:nth-child(2){min-width:0;display:grid;gap:1px}.asset-group summary strong{overflow:hidden;color:#35435d;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.asset-group summary small{color:#8491a5;font-size:9px}.asset-group summary b{min-width:22px;height:22px;padding:0 6px;display:grid;place-items:center;color:#fff;border-radius:99px;font-size:9px}.output-group{border-color:#f3dcc1;background:#fffaf4}.output-group summary:hover{background:#fff4e7}.output-group .asset-summary-icon{color:#b66b17;background:#ffebd2}.output-group summary b{background:#d9872c}.resource-group .asset-summary-icon{color:#285ed8;background:#e5edff}.resource-group summary b{background:#3368dc}.asset-group[open] summary{border-bottom:1px solid currentColor;border-bottom-color:inherit}.asset-downloads{max-height:150px;overflow-y:auto;padding:7px;display:grid;gap:5px;background:#fff}.asset-download-button{width:100%;min-width:0;padding:7px 8px;display:grid;grid-template-columns:20px minmax(0,1fr);gap:6px;align-items:center;color:#285bc9;background:transparent;border:0;border-radius:7px;cursor:pointer;font-family:inherit;font-size:10px;font-weight:700;text-align:left}.asset-download-button:hover:not(:disabled){background:#eef4ff}.asset-download-button:focus-visible{outline:2px solid #7ca0f0;outline-offset:1px}.asset-download-button:disabled{opacity:.6;cursor:wait}.asset-download-button>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-asset-downloads .asset-download-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:4px;align-items:center}.teacher-asset-downloads .asset-download-row>.asset-download-button{min-width:0}.asset-remove{width:28px;height:28px;padding:0;display:grid;place-items:center;color:#bd334b;background:#fff2f4;border:1px solid transparent;border-radius:7px;cursor:pointer;font-size:16px;line-height:1}.asset-remove:hover{color:#9f2339;background:#ffe5e9;border-color:#f5bdc7}.asset-remove:disabled{opacity:.55;cursor:wait}.lecture-gallery{min-width:0;padding:8px;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;scrollbar-width:thin;scrollbar-color:#b9c8e4 transparent;background:#f3f6fc;border:1px solid #dce5f3;border-radius:11px}.lecture-picture{flex:0 0 132px;min-width:0;margin:0;overflow:hidden;scroll-snap-align:start;background:#fff;border:1px solid #dfe6f1;border-radius:9px}.lecture-picture img{width:100%;height:78px;display:block;object-fit:cover;background:#eaf0f8}.lecture-picture figcaption{min-width:0;padding:7px 8px;display:flex;align-items:center;justify-content:space-between;gap:6px;color:#4b5870;font-size:10px;font-weight:800}.lecture-picture figcaption>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lecture-picture figcaption>div{flex:0 0 auto;display:flex;align-items:center;gap:4px}.lecture-download{min-height:32px;padding:0 9px;display:inline-grid;place-items:center;color:#2459cf;background:#edf3ff;border:0;border-radius:7px;cursor:pointer;font:800 10px Manrope}.lecture-download:hover:not(:disabled){background:#dfe9ff}.lecture-download:focus-visible{outline:2px solid #5b83e5;outline-offset:2px}.lecture-download:disabled{opacity:.55;cursor:wait}.lecture-material-upload{background:#f4f7ff;border-color:#7fa1ee}@media(max-width:520px){.lecture-picture{flex-basis:142px}.lecture-picture img{height:86px}.lecture-download{min-height:36px}}.announcement-list{display:grid;gap:13px}.announcement-list article{display:grid;grid-template-columns:44px 1fr;gap:15px;padding:20px;background:#fff;border:1px solid #e5eaf1;border-radius:12px}.announcement-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;color:#345fd0;background:#eaf0ff}.announcement-list h3{color:#344056;margin:9px 0 5px;font:700 16px Manrope}.announcement-list p{margin:0;color:#6f7d91;line-height:1.6;font-size:13px;white-space:pre-wrap}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:20px}.report-card strong{display:block;color:#27344b;font:800 35px Manrope;letter-spacing:-1.5px}.report-card>p:not(.eyebrow){color:#7f8b9e;margin:2px 0 16px;font-size:12px}.progress{height:6px;overflow:hidden;border-radius:10px;background:#e9f5ed}.progress span{display:block;height:100%;border-radius:inherit;background:#2ab568}.progress.blue{background:#e6edfc}.progress.blue span{background:#3c6be0}.progress.purple{background:#f0eaff}.progress.purple span{background:#7c55d5}.report-table{max-width:720px}.announcement-audience{margin-left:7px;color:#7e8b9e;font-size:11px;font-weight:700}.announcement-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.announcement-audience{margin-left:0}.featured-toggle{margin-left:auto;min-height:27px;border:1px solid #d9e0eb;border-radius:99px;padding:0 9px;color:#64738c;background:#fff;font-size:11px;font-weight:800}.featured-toggle span{margin-right:4px;color:#b88909;font-size:14px}.featured-toggle.enabled{color:#986900;border-color:#f0cf73;background:#fff8df}.modal-backdrop{position:fixed;z-index:20;inset:0;padding:25px;display:grid;place-items:center;background:#17233a80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-card{width:min(100%,530px);max-height:calc(100vh - 50px);overflow:auto;padding:26px;display:grid;gap:17px;background:#fff;border-radius:14px;box-shadow:0 20px 60px #17233a45}.modal-card.wide{width:min(100%,880px)}.modal-title{position:sticky;top:-26px;margin:-26px -26px 0;padding:20px 26px 16px;background:#fff;z-index:10;border-bottom:1px solid #edf0f4;display:flex;justify-content:space-between;align-items:flex-start}.modal-title .eyebrow{margin-bottom:5px}.modal-title h2{margin:0;color:#243047;font:700 21px Manrope;letter-spacing:-.5px}.modal-title p:not(.eyebrow){margin:3px 0 0;color:#8390a3;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:4px}.score-list{overflow-x:auto}.score-row{min-width:720px;display:grid;grid-template-columns:1.2fr 120px 95px 1.2fr;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #edf0f4}.score-row strong,.score-row small{display:block}.score-row strong{color:#3b475c;font-size:13px}.score-row small{color:#8c98ab;margin-top:2px;font-size:11px}.score-row input,.score-row select{padding:8px;font-size:12px}.modal-card.wide,.score-list{scrollbar-width:none;-ms-overflow-style:none}.modal-card.wide::-webkit-scrollbar,.score-list::-webkit-scrollbar{width:0;height:0;display:none}.score-modal{padding-bottom:0}.score-modal .modal-actions{position:sticky;z-index:9;bottom:0;margin:0 -26px;padding:15px 26px;background:#fffffffa;border-top:1px solid #e7ebf2;box-shadow:0 -8px 20px #25304712;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.material-upload{display:grid;gap:10px;padding:15px;background:#f8faff;border:1px dashed #b8caf2;border-radius:11px}.material-upload>div:first-child{display:grid;gap:3px}.material-upload strong{color:#35435d;font-size:13px}.material-upload small{color:#7b899f;font-size:11px;line-height:1.45}.material-picker{width:fit-content;padding:9px 12px;display:inline-flex;align-items:center;gap:6px;color:#2459cf;background:#fff;border:1px solid #b9caf0;border-radius:8px;cursor:pointer;font-size:12px;font-weight:800}.material-picker:hover{background:#edf3ff}.material-picker input{position:absolute;width:1px;height:1px;padding:0;opacity:0;pointer-events:none}.material-file-list{display:grid;gap:7px}.material-file{min-width:0;padding:8px 9px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:center;background:#fff;border:1px solid #e2e8f3;border-radius:8px}.material-file>div{min-width:0;display:grid;gap:2px}.material-file>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-file-icon{width:30px;height:30px;display:grid;place-items:center;color:#285ed8;background:#eaf0ff;border-radius:7px;font-weight:800}.material-saved{color:#31815b;font-size:10px;font-weight:800}.material-remove{width:28px;height:28px;padding:0;color:#a23b50;background:#fff4f6;border:0;border-radius:7px;cursor:pointer;font-size:17px}.material-error{margin:0;color:#c43d58;font-size:12px;font-weight:700}.activity-modal{width:min(100%,980px);padding-bottom:0;gap:0}.activity-modal .modal-title{margin-bottom:0}.activity-form-body{padding:22px 0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;align-items:start}.activity-details-column,.activity-assets-column{min-width:0;display:grid;gap:15px}.activity-details-column{padding:18px;background:#fafbfe;border:1px solid #e6eaf2;border-radius:13px}.activity-assets-column{max-height:min(600px,calc(100dvh - 245px));padding:18px;overflow-y:auto;overscroll-behavior:contain;background:#f6f9ff;border:1px solid #dce6f7;border-radius:13px}.activity-column-heading{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;padding-bottom:13px;border-bottom:1px solid #e4e9f2}.activity-column-heading>span{width:38px;height:38px;display:grid;place-items:center;color:#285ed8;background:#e6edff;border-radius:10px;font-size:18px;font-weight:800}.activity-column-heading>div{display:grid;gap:2px}.activity-column-heading strong{color:#334159;font:800 14px Manrope}.activity-column-heading small{color:#8390a3;font-size:10px}.activity-details-column textarea{min-height:145px}.quiz-file-upload{display:grid;gap:6px}.quiz-file-upload .file-success{margin:0;color:#2563eb;font-size:12px;font-weight:700}.quiz-file-upload .alert{margin:0;padding:7px 9px;font-size:11px}.activity-modal-actions{position:sticky;z-index:8;bottom:0;margin:0 -26px;padding:16px 26px;background:#fff;border-top:1px solid #e7ebf2;box-shadow:0 -8px 20px #2530470d}.activity-modal,.activity-assets-column{scrollbar-width:none;-ms-overflow-style:none}.activity-modal::-webkit-scrollbar,.activity-assets-column::-webkit-scrollbar{width:0;height:0;display:none}@media(max-width:820px){.activity-modal{width:min(100%,620px)}.activity-form-body{grid-template-columns:1fr}.activity-assets-column{max-height:none;overflow:visible}.activity-modal-actions{margin:0 -20px;padding:15px 20px}}.announcement-card{position:relative}.announcement-body{min-width:0}.announcement-actions{position:relative;margin-left:2px}.announcement-menu-button{width:34px;height:34px;padding:0 0 8px;display:grid;place-items:center;color:#65738b;background:#fff;border:1px solid #d9e0eb;border-radius:50%;font-size:21px;line-height:1;letter-spacing:2px}.announcement-menu-button:hover,.announcement-menu-button[aria-expanded=true]{color:#285bd6;border-color:#b9caf0;background:#f2f6ff}.announcement-menu{position:absolute;z-index:4;top:calc(100% + 6px);right:0;min-width:180px;padding:5px;display:grid;gap:2px;background:#fff;border:1px solid #e0e6f0;border-radius:9px;box-shadow:0 12px 28px #23324d24}.announcement-menu button{min-height:38px;padding:0 11px;color:#3f4e67;background:transparent;border:0;border-radius:6px;text-align:left;font-size:12px;font-weight:700}.announcement-menu button:hover,.announcement-menu button:focus-visible{background:#f3f6fc;color:#285bd6;outline:0}.announcement-menu button.danger{color:#bd3347}.announcement-menu button.danger:hover,.announcement-menu button.danger:focus-visible{color:#a5253b;background:#fff3f5}.announcement-delete-modal{border:1px solid #ffd6da}.announcement-delete-modal>p{margin:0;color:#5f6d82;font-size:13px;line-height:1.6}.announcement-featured-field{display:flex;align-items:center;gap:9px;color:#4c5b73;font-size:12px}.announcement-featured-field input{width:17px;height:17px;margin:0;accent-color:#285bd6}@media(max-width:520px){.announcement-list article{grid-template-columns:38px minmax(0,1fr);gap:11px;padding:15px}.announcement-icon{width:38px;height:38px}.announcement-meta{align-items:flex-start}.announcement-meta .featured-toggle{margin-left:auto}.announcement-actions{margin-left:0}.announcement-menu-button{width:40px;height:40px}}.danger-zone{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:18px;align-items:center;max-width:860px;padding:26px;border-color:#f4cdd1}.utility-icon{width:46px;height:46px;display:grid;place-items:center;color:#c23d49;background:#fff0f1;border-radius:11px;font-size:23px}.danger-zone .eyebrow{color:#be4650;margin-bottom:5px}.danger-zone h3{margin:0 0 7px;color:#3d2d35;font:700 18px Manrope}.danger-zone p:not(.eyebrow),.reset-modal>p{margin:0;color:#6f7787;font-size:13px;line-height:1.6}.danger-zone ul{margin:12px 0 0;padding-left:18px;color:#8a5961;font-size:12px;line-height:1.7}.danger-button{min-height:42px;border:0;border-radius:9px;padding:0 15px;color:#fff;background:#cf3d4a;font-size:13px;font-weight:700;white-space:nowrap}.danger-button:hover{background:#b92d3a}.reset-modal{border:1px solid #ffd6da}.reset-modal label strong{color:#c43845}.utilities-stack{display:grid;gap:18px;max-width:860px}.feed-maintenance-zone{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:18px;align-items:center;padding:26px;border-color:#cdddf8}.feed-maintenance-zone .feed-icon{color:#265fcf;background:#edf3ff}.feed-maintenance-zone .eyebrow{margin-bottom:5px;color:#315fd0}.feed-maintenance-zone h3{margin:0 0 7px;color:#23324d;font:700 18px Manrope}.feed-maintenance-zone p:not(.eyebrow){margin:0;color:#6f7787;font-size:13px;line-height:1.6}@media(max-width:1050px){.class-grid,.activity-grid,.stat-grid{grid-template-columns:repeat(2,1fr)}.section-grid{grid-template-columns:1fr}.attendance-row{grid-template-columns:1fr;gap:9px}.attendance-row input{max-width:none}.status-pills{flex-wrap:wrap}.login-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.login-intro{padding:60px 40px 20px;align-items:center;text-align:center}.login-intro .brand-row{margin-bottom:25px}.login-intro h1{font-size:48px}.login-intro>p:not(.eyebrow){margin:20px auto 30px}.feature-list{justify-content:center}.login-card{margin:20px 40px 60px;max-width:500px;padding:50px 40px}}@media(max-width:760px){.login-intro{padding:40px 30px}.login-intro .brand-mark{margin-bottom:20px}.login-intro h1{font-size:38px}.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;z-index:3;top:0;height:auto;overflow-y:visible;display:grid;grid-template-columns:auto 1fr;align-items:center;padding:10px 14px;border-bottom:1px solid #e6eaf1;border-right:0}.brand{padding:0}.sidebar nav{display:flex;justify-content:flex-end;overflow-x:auto;gap:2px}.sidebar nav button{width:37px;padding:0;justify-content:center}.sidebar nav button i{margin:0}.sidebar nav button:not(.active){color:#718098}.sidebar nav button{font-size:0}.sidebar nav button i{font-size:18px}.account{display:none}.workspace>header{min-height:88px;padding:18px 22px}.workspace header h1{font-size:21px}.header-actions select{display:none}.page{padding:25px 18px 45px}.page-heading{align-items:flex-start}.page-heading h2{font-size:20px}.hero-card{min-height:220px;padding:26px}.hero-card h2{font-size:23px}.hero-orb{display:none}.stat-grid,.class-grid,.activity-grid,.report-grid,.form-grid{grid-template-columns:1fr}.inline-actions{flex-wrap:wrap;justify-content:flex-end}.inline-actions input{width:145px}.quick-grid{grid-template-columns:1fr}.modal-backdrop{padding:12px}.modal-card{padding:20px}.login-card{margin:0 20px 40px;width:auto;justify-self:stretch;padding:40px 30px}.feature-list{display:grid;gap:8px}}@media(max-width:760px){.activity-card{min-height:225px;padding:16px}.activity-card>div:first-child{flex-wrap:wrap}.activity-card>div:first-child .tag:nth-child(2){margin-left:0}.activity-card h3{margin-top:16px;font-size:16px}.activity-attachment-summary{grid-template-columns:62px minmax(0,1fr) auto}.activity-attachment-preview{width:62px}.activity-menu{right:-4px}.attachment-viewer-body{max-height:calc(100dvh - 220px)}.attachment-viewer-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.attachment-viewer-picture img{height:110px}.attachment-viewer-list{grid-template-columns:1fr}}.activity-menu-button{width:44px;height:44px}.activity-card footer .activity-menu{min-width:220px;width:max-content;max-width:min(260px,calc(100vw - 32px));padding:7px;display:grid;grid-auto-flow:row;gap:4px;border-radius:12px}.activity-card footer .activity-menu-group{display:block;min-width:0}.activity-menu-group+.activity-menu-group{margin-top:5px;padding-top:5px;border-top:1px solid #edf1f7}.activity-menu-label{padding:3px 12px 4px;color:#94a0b2;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.activity-card footer .activity-menu button{width:100%;min-height:44px;display:flex;align-items:center;gap:10px;border-radius:8px}.activity-menu button .activity-action-icon{width:30px;height:30px;display:grid;flex:0 0 30px;place-items:center;color:#536b98;background:#eef3fc;border-radius:8px;font-size:18px;font-variation-settings:"FILL" 0,"wght" 450,"GRAD" 0,"opsz" 20}.activity-menu button:hover .material-symbols-outlined,.activity-menu button:focus-visible .material-symbols-outlined{color:#285bd6}.activity-menu button:hover .activity-action-icon,.activity-menu button:focus-visible .activity-action-icon{background:#e4ecff}.activity-menu button.danger .activity-action-icon{color:#bd3347;background:#fff0f2}@media(max-width:760px){.score-modal{padding-bottom:0}.score-modal .modal-actions{margin:0 -20px;padding:14px 20px}.class-modal{max-height:calc(100dvh - 24px)}.schedule-time-grid{grid-template-columns:1fr}.schedule-editor-heading{align-items:flex-start;flex-direction:column}.schedule-editor-heading .small{width:100%}.activity-card footer .activity-menu{right:-4px;width:min(240px,calc(100vw - 32px));max-width:calc(100vw - 32px)}}.desktop-navigation{min-height:0;flex:1;display:flex;flex-direction:column}.account{grid-template-columns:minmax(0,1fr);gap:0;margin-top:auto;padding:12px;background:#f7f9fd;border:1px solid #e6ecf6;border-radius:14px}.account-profile{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;padding:3px 2px 10px}.account-profile>div:nth-child(2){min-width:0}.account .avatar{width:38px;height:38px;color:#fff;background:linear-gradient(135deg,#2e61d8,#1d4ed8);font-size:14px;box-shadow:0 3px 8px #1e4ed838}.account strong{font-size:12.5px;font-weight:700;color:#26324a}.account small{display:inline-flex;align-items:center;width:fit-content;margin-top:5px;padding:3px 9px;color:#2458d3;background:#e9f0ff;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.account-profile-link{width:100%;grid-template-columns:auto minmax(0,1fr) auto;padding:7px 6px;color:inherit;text-align:left;background:transparent;border:1px solid transparent;border-radius:10px;font:inherit;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.account-profile-link:hover,.account-profile-link:focus-visible{color:#2458d3;background:#f2f6ff;border-color:#dce6fb;outline:none}.account-profile-chevron{color:#8794a8;font-family:Material Symbols Outlined;font-size:20px;font-style:normal;font-weight:500;font-variation-settings:"FILL" 0,"wght" 450,"GRAD" 0,"opsz" 24;line-height:1}.account-profile-link:hover .account-profile-chevron,.account-profile-link:focus-visible .account-profile-chevron{color:#2458d3;transform:translate(1px)}.account-signout{width:100%;min-height:36px;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:2px;padding:10px 6px 4px;border:0;border-top:1px solid #e4e9f2;border-radius:0 0 9px 9px;color:#7d8ba3;background:transparent;font-size:12px;font-weight:700;transition:color .15s ease,background .15s ease}.profile-page-actions{display:flex;align-items:center;gap:9px}.profile-page-footer{justify-content:flex-end;margin-top:18px;padding-top:18px;border-top:1px solid #dfe5ee}.profile-edit-button{min-height:39px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 15px;color:#2458d3;background:#eef3ff;border:1px solid #cfdbfa;border-radius:9px;font:800 12px Manrope;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease,transform .15s ease}.profile-edit-button:hover{color:#fff;background:#2e61d8;border-color:#2e61d8;transform:translateY(-1px)}.profile-edit-button:focus-visible{outline:3px solid rgba(46,97,216,.2);outline-offset:2px}.profile-edit-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.profile-signout-button{min-height:39px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 15px;color:#ad3440;background:#fff7f8;border:1px solid #f1d2d6;border-radius:9px;font:800 12px Manrope;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease,transform .15s ease}.profile-signout-button span{font-size:17px;line-height:1}.profile-signout-button:hover{color:#fff;background:#c53b48;border-color:#c53b48;transform:translateY(-1px)}.profile-signout-button:focus-visible{outline:3px solid rgba(197,59,72,.2);outline-offset:2px}.student-profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;padding:24px;color:#fff;background:linear-gradient(135deg,#2048a8,#3269e4);border-radius:16px;box-shadow:0 14px 34px #224eb22e}.student-profile-avatar-upload{position:relative;display:block;flex:0 0 72px;width:72px;min-width:72px;height:72px;padding:0;border:0;border-radius:22px;background:transparent;cursor:pointer}.student-profile-avatar-upload:focus-visible{outline:3px solid rgba(255,255,255,.55);outline-offset:4px}.student-profile-avatar-upload.uploading{cursor:wait}.profile-photo-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.student-profile-avatar{position:relative;box-sizing:border-box;width:72px;height:72px;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;color:#2458d3;background:#fff;border:4px solid rgba(255,255,255,.28);border-radius:22px;font:800 28px Manrope;line-height:1;box-shadow:0 8px 24px #0f286438}.student-profile-avatar img{position:absolute;inset:0;width:100%;min-width:100%;max-width:none;height:100%;min-height:100%;max-height:none;display:block;border-radius:18px;object-fit:cover;object-position:center}.profile-photo-action{position:absolute;right:-7px;bottom:-7px;width:30px;height:30px;display:grid;place-items:center;color:#fff;background:#173f9b;border:3px solid #3970e7;border-radius:50%;box-shadow:0 5px 12px #0b22564d;font-family:Material Symbols Outlined;font-size:16px;font-weight:600;line-height:1}.student-profile-avatar-upload:hover .profile-photo-action{background:#0f327f}.student-profile-avatar-upload.uploading .student-profile-avatar{opacity:.7}.student-profile-hero .tag{display:inline-flex;margin-bottom:7px;color:#174d2c;background:#dcf7e7}.student-profile-hero h3{margin:0;color:#fff;font:800 23px Manrope}.student-profile-hero p{margin:3px 0 0;color:#dbe6ff;font-size:13px}.student-profile-grid{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.student-profile-card{padding:22px}.student-profile-card:last-child{grid-column:1 / -1}.profile-card-heading{display:grid;grid-template-columns:40px minmax(0,1fr);gap:11px;align-items:center;padding-bottom:16px;margin-bottom:4px;border-bottom:1px solid #e8ecf3}.profile-card-heading>span{width:40px;height:40px;display:grid;place-items:center;color:#285ed8;background:#e8efff;border-radius:11px;font-size:18px;font-weight:800}.profile-card-heading h3{margin:0;color:#2b3850;font:800 15px Manrope}.profile-card-heading p{margin:2px 0 0;color:#8693a7;font-size:11px}.student-profile-card dl{margin:0}.student-profile-card dl>div{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(0,1.3fr);gap:16px;padding:13px 0;border-bottom:1px solid #edf0f5}.student-profile-card dt{color:#8390a3;font-size:11px;font-weight:700}.student-profile-card dd{min-width:0;margin:0;overflow-wrap:anywhere;color:#334159;font-size:12px;font-weight:700;text-align:right}.profile-class-list{display:grid;gap:8px;margin-top:16px}.profile-class-list>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 12px;background:#f7f9fd;border:1px solid #e5eaf2;border-radius:9px}.profile-class-list span{min-width:0;display:grid;gap:2px}.profile-class-list strong{color:#334159;font-size:12px}.profile-class-list small{color:#8794a8;font-size:10px}.profile-class-list b{flex:0 0 auto;color:#285bd6;font-size:11px}.profile-empty-note{margin:16px 0 0;color:#8390a3;font-size:12px}@media(max-width:760px){.student-profile-hero{padding:20px}.student-profile-grid{grid-template-columns:1fr}.student-profile-card:last-child{grid-column:auto}}@media(max-width:440px){.student-profile-avatar-upload,.student-profile-avatar{width:58px;height:58px;border-radius:17px}.student-profile-avatar-upload{min-width:58px;flex-basis:58px}.student-profile-avatar{font-size:23px}.student-profile-avatar img{border-radius:13px}.student-profile-hero h3{font-size:19px}.student-profile-card dl>div{grid-template-columns:1fr;gap:4px}.student-profile-card dd{text-align:left}.profile-class-list>div{align-items:flex-start;flex-direction:column}.profile-class-list b{flex:auto}}@media(max-width:520px){.profile-page-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.profile-page-footer{margin-top:16px;padding:16px 0 max(4px,env(safe-area-inset-bottom))}.profile-edit-button,.profile-signout-button{width:100%;min-height:44px}}.profile-readonly-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;padding:11px 12px;color:#52627b;background:#f3f6fc;border:1px solid #e0e6f1;border-radius:9px}.profile-readonly-note span{color:#285ed8;font-weight:800}.profile-readonly-note p{margin:0;font-size:11px;line-height:1.55}.profile-photo-modal{max-width:500px}.profile-photo-options{display:grid;gap:10px;margin-top:4px}.profile-photo-options>button{width:100%;min-height:74px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;padding:12px 14px;color:#344159;background:#fff;border:1px solid #e1e7f0;border-radius:11px;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.profile-photo-options>button:hover{border-color:#acc2f6;background:#f7f9ff;transform:translateY(-1px)}.profile-photo-options>button:focus-visible{outline:3px solid rgba(46,97,216,.18);outline-offset:2px}.profile-photo-option-icon{width:44px;height:44px;display:grid;place-items:center;color:#285bd6;background:#eaf0ff;border-radius:11px;font-family:Material Symbols Outlined;font-size:23px}.profile-photo-options strong,.profile-photo-options small{display:block}.profile-photo-options strong{color:#2b3850;font:800 13px Manrope}.profile-photo-options small{margin-top:4px;color:#8390a3;font-size:11px}.profile-photo-options b{color:#8a96aa;font-size:22px}.profile-photo-help{margin:14px 0 0;color:#7d899c;font-size:11px;line-height:1.55}.account-signout i{font-family:Material Symbols Outlined;font-size:17px;font-style:normal;font-weight:500;font-variation-settings:"FILL" 0,"wght" 450,"GRAD" 0,"opsz" 24;line-height:1}.account-signout:hover{color:#c23d49;background:#fdf1f2}.account-signout:focus-visible{outline:3px solid rgba(197,59,72,.18);outline-offset:0}.mobile-topbar,.mobile-nav-layer{display:none}@media(max-width:760px){.workspace>header{top:59px}}@media(max-width:760px){.app-shell{grid-template-rows:59px minmax(0,1fr);align-content:start}.sidebar{height:59px;width:100%;align-self:start;display:block;padding:0;background:#fff}.desktop-navigation{display:none}.mobile-topbar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:max(9px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 9px max(14px,env(safe-area-inset-left))}.mobile-topbar .brand{gap:8px;font-size:18px}.mobile-topbar .brand-mark{width:32px;height:32px}.mobile-menu-button,.mobile-menu-close{width:40px;height:40px;flex:none;display:grid;place-content:center;border:0;border-radius:10px;color:#53627b;background:#f3f6fc}.mobile-menu-button{gap:4px}.mobile-menu-button span{width:20px;height:2px;display:block;border-radius:2px;background:currentColor}.mobile-menu-button:focus-visible,.mobile-menu-close:focus-visible{outline:3px solid rgba(37,91,214,.24);outline-offset:2px}.mobile-menu-close{font-size:28px;font-weight:400;line-height:1}.mobile-nav-layer{position:fixed;z-index:40;inset:0;display:block}.mobile-nav-backdrop{position:absolute;inset:0;width:100%;min-height:100%;padding:0;border:0;border-radius:0;background:#0f172a85;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-nav-drawer{position:absolute;z-index:1;inset:0 auto 0 0;width:min(84vw,320px);min-width:min(280px,100vw);display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;padding:max(18px,env(safe-area-inset-top)) 15px max(16px,env(safe-area-inset-bottom));background:#fff;border-right:1px solid #e5eaf2;box-shadow:18px 0 46px #0f172a33}.mobile-nav-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 2px 24px}.mobile-nav-heading .brand{gap:9px;padding:0;font-size:19px}.mobile-nav-drawer nav{display:grid;gap:5px}.mobile-nav-drawer nav button{width:100%;min-height:46px;justify-content:flex-start;padding:0 13px;font-size:14px}.mobile-nav-drawer nav button i{margin:0;font-size:19px}.mobile-nav-drawer .account{margin-top:auto}.mobile-nav-enter-active,.mobile-nav-leave-active{transition:opacity .2s ease}.mobile-nav-enter-active .mobile-nav-drawer,.mobile-nav-leave-active .mobile-nav-drawer{transition:transform .24s ease}.mobile-nav-enter-from,.mobile-nav-leave-to{opacity:0}.mobile-nav-enter-from .mobile-nav-drawer,.mobile-nav-leave-to .mobile-nav-drawer{transform:translate(-100%)}}@media(prefers-reduced-motion:reduce){.mobile-nav-enter-active,.mobile-nav-leave-active,.mobile-nav-enter-active .mobile-nav-drawer,.mobile-nav-leave-active .mobile-nav-drawer{transition:none}}.modal-backdrop{width:100vw;min-height:100vh;min-height:100dvh;align-items:center;justify-items:center;overflow-y:auto}.logout-modal{position:relative;width:min(100%,420px);margin:auto;padding:32px;gap:20px;overflow:visible;text-align:center}.logout-modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;color:#718096;background:#f4f6fa;font-size:23px;line-height:1}.logout-modal-close:hover{color:#26334a;background:#e9edf4}.logout-modal-close:focus-visible{outline:3px solid rgba(40,91,214,.2);outline-offset:2px}.logout-modal-icon{width:62px;height:62px;margin:2px auto 0;display:grid;place-items:center;border-radius:18px;color:#bc3946;background:#fff0f2;box-shadow:inset 0 0 0 1px #f5d4d8;font-size:29px}.logout-modal-copy .eyebrow{margin-bottom:7px;color:#b9414d}.logout-modal-copy h2{margin:0 0 8px;color:#263148;font:800 24px Manrope;letter-spacing:-.6px}.logout-modal-copy>p:not(.eyebrow){max-width:320px;margin:0 auto;color:#6f7c91;font-size:13px;line-height:1.6}.logout-modal-copy strong{color:#39465c}.logout-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.logout-confirm{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;color:#fff;background:#c53b48;box-shadow:0 5px 14px #c53b4838;font-size:13px;font-weight:800}.logout-confirm:hover:not(:disabled){background:#ad2e3b}.logout-confirm:focus-visible{outline:3px solid rgba(197,59,72,.22);outline-offset:2px}.remove-material-modal{position:relative;width:min(100%,440px);margin:auto;padding:32px;gap:20px;overflow:visible;text-align:center}.remove-material-icon{width:62px;height:62px;margin:2px auto 0;display:grid;place-items:center;color:#bb3d4c;background:#fff0f2;border:1px solid #f4d2d7;border-radius:18px;font-size:28px}.remove-material-copy .eyebrow{margin-bottom:7px;color:#b9414d}.remove-material-copy h2{margin:0 0 8px;color:#263148;font:800 24px Manrope;letter-spacing:-.6px}.remove-material-copy>p:not(.eyebrow){max-width:340px;margin:0 auto;color:#6f7c91;font-size:13px;line-height:1.6}.remove-material-file{min-width:0;margin-top:18px;padding:11px;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;color:#344159;background:#f7f9fc;border:1px solid #e1e6ef;border-radius:10px;text-align:left}.remove-material-file>span{width:38px;height:38px;display:grid;place-items:center;color:#b23c4a;background:#ffe9ec;border-radius:9px;font-weight:800}.remove-material-file>div{min-width:0;display:grid;gap:3px}.remove-material-file strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.remove-material-file small{color:#8390a3;font-size:10px}.remove-material-confirm{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#fff;background:#c53b48;border:0;border-radius:9px;box-shadow:0 5px 14px #c53b4838;font-size:13px;font-weight:800}.remove-material-confirm:hover:not(:disabled){background:#ad2e3b}.remove-material-confirm:focus-visible{outline:3px solid rgba(197,59,72,.22);outline-offset:2px}@media(max-width:480px){.modal-backdrop{padding:max(14px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.logout-modal,.remove-material-modal{padding:28px 22px 22px;border-radius:18px}.logout-modal-actions{grid-template-columns:1fr}.logout-modal-actions .secondary{order:2}}.app-shell.quiz-mode{min-height:100vh;min-height:100dvh;display:block;background:#f4f7fc}.quiz-mode .workspace{min-height:100vh;min-height:100dvh}.quiz-mode .quiz-page{width:100%;max-width:1060px;padding-top:28px;padding-bottom:64px}.quiz-test-header{margin-bottom:24px;overflow:hidden;background:#fff;border:1px solid #e2e8f2;border-radius:18px;box-shadow:0 12px 32px #1e376412}.quiz-test-topbar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 20px;border-bottom:1px solid #edf1f6}.quiz-brand{display:flex;align-items:center;gap:9px;color:#1d2943;font:800 18px Manrope;letter-spacing:-.7px}.quiz-brand .brand-mark{width:34px;height:34px;border-radius:9px}.quiz-test-summary{padding:28px 30px 30px;background:linear-gradient(135deg,#f7f9ff,#eef3ff)}.quiz-test-summary .eyebrow{margin-bottom:8px;color:#315fd0}.quiz-test-summary h1{margin:0;color:#202c42;font:800 clamp(26px,4vw,36px)/1.2 Manrope;letter-spacing:-1px}.quiz-test-summary>p:not(.eyebrow){max-width:720px;margin:10px 0 0;color:#68768d;font-size:14px;line-height:1.6}.quiz-test-meta{margin-top:22px;display:flex;justify-content:space-between;gap:18px;color:#53627b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.quiz-answer-progress{height:7px;margin-top:9px;overflow:hidden;border-radius:99px;background:#dce5f8}.quiz-answer-progress span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#285bd6,#5282ef);transition:width .2s ease}.quiz-panel{padding:32px}.quiz-current-question{margin-bottom:0}.quiz-current-question:focus{outline:none}.quiz-current-label{margin:0 0 10px;color:#315fd0;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.quiz-question-error{display:grid;gap:4px;margin-top:18px;padding:13px 14px;color:#a92d3a;background:#fff1f2;border:1px solid #f4cbd0;border-radius:9px}.quiz-question-error strong{font-size:13px}.quiz-question-error span{font-size:12px;line-height:1.5}.quiz-question-feedback{margin:14px 0 0;padding:11px 13px;color:#a92d3a;background:#fff1f2;border:1px solid #f4cbd0;border-radius:8px;font-size:12px}.student-feed-page{width:100%;max-width:none;margin-inline:0;padding-top:30px;padding-bottom:64px}.student-feed-layout{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,280px);gap:24px;align-items:start}.student-feed-main{min-width:0;display:grid;gap:14px}.feed-sticky-controls{position:sticky;z-index:4;top:0;display:grid;gap:10px;margin:-10px -8px -2px;padding:10px 8px 12px;background:#f6f8fce0;border-bottom:1px solid rgba(217,224,234,.6);box-shadow:0 4px 12px #1923340a;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.feed-page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:2px 2px 5px}.feed-page-intro .eyebrow{margin-bottom:6px;display:inline-flex;align-items:center;padding:3px 10px;background:#edf2fc;color:#3b6ed6;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.feed-page-intro h2{margin:0;color:#1c2738;font:800 29px/1.2 Manrope;letter-spacing:-.8px}.feed-page-intro p:not(.eyebrow){margin:7px 0 0;color:#6f7b8e;font-size:13px;line-height:1.5}.feed-live-status{display:inline-flex;flex:none;align-items:center;gap:7px;padding:5px 12px;color:#15804f;background:#e9f8ef;border:1px solid #c9eeda;border-radius:999px;font-size:11px;font-weight:700}.feed-live-status i{width:7px;height:7px;background:#23a36d;border-radius:50%;box-shadow:0 0 0 3px #daf4e8;animation:livePulse 2.4s ease-in-out infinite}@keyframes livePulse{0%,to{box-shadow:0 0 0 3px #daf4e8}50%{box-shadow:0 0 0 6px #daf4e866}}.feed-filter-bar{width:100%;min-width:0;max-width:100%;display:flex;gap:4px;overflow-x:auto;overscroll-behavior-inline:contain;padding:5px;background:#fff;border:1px solid #dce1e8;border-radius:12px;box-shadow:inset 0 1px 3px #1923340a;scrollbar-width:none}.feed-filter-bar:after{content:"";position:sticky;right:-5px;width:20px;min-width:20px;align-self:stretch;margin:-5px -5px -5px -20px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.96) 75%)}.feed-filter-bar::-webkit-scrollbar{display:none}.feed-filter-bar button{min-height:35px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;color:#657184;background:transparent;border:0;border-radius:8px;white-space:nowrap;font-size:12px;font-weight:700;transition:color .15s ease,background .15s ease}.feed-filter-bar button:hover{color:#283548;background:#f4f6f8}.feed-filter-bar button:focus-visible{outline:2px solid #94b0ee;outline-offset:1px}.feed-filter-bar button.active{color:#fff;background:linear-gradient(135deg,#3b6ed6,#2858bd);box-shadow:0 2px 8px #2858bd47}.feed-filter-bar b{min-width:18px;height:18px;display:grid;place-items:center;padding-inline:5px;color:#788397;background:#eef1f5;border-radius:9px;font-size:9px;transition:color .15s ease,background .15s ease}.feed-filter-bar button.active b{color:#fff;background:#ffffff40}.student-feed-column{display:grid;gap:12px;min-width:0}.feed-post-card{overflow:hidden;background:#fff;border:1px solid #dde2e9;border-radius:16px;box-shadow:0 1px 3px #1923340f,0 4px 12px #19233408;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.feed-post-card:hover{transform:translateY(-1px);border-color:#cbd5e3;box-shadow:0 4px 10px #19233412,0 12px 28px #1923340f}.feed-post-header{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;min-width:0;padding:16px 18px 12px}.feed-post-byline{display:grid;min-width:0;gap:2px}.feed-post-header strong{overflow:hidden;color:#1c2738;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.feed-post-header span:not(.feed-post-icon){overflow:hidden;color:#7b8697;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.feed-post-header time{align-self:start;padding-top:2px;color:#8a94a4;font-size:10px;white-space:nowrap}.feed-post-byline time{padding-top:0}.feed-post-meta{display:flex;align-items:flex-start;justify-content:flex-end;gap:5px}.feed-owner-menu{position:relative}.feed-owner-menu-trigger{width:44px;height:44px;display:grid;place-items:center;margin:-8px -8px 0 0;padding:0;color:#657184;background:transparent;border:0;border-radius:50%}.feed-owner-menu-trigger:hover,.feed-owner-menu-trigger[aria-expanded=true]{color:#2858bd;background:#eef2f8}.feed-owner-menu-trigger .material-symbols-outlined{font-size:20px}.feed-owner-menu-popover{position:absolute;z-index:8;top:40px;right:0;width:160px;display:grid;gap:2px;padding:5px;background:#fff;border:1px solid #dfe3e9;border-radius:9px;box-shadow:0 10px 28px #1c273829}.feed-owner-menu-popover button{min-height:44px;display:flex;align-items:center;gap:8px;padding:9px 10px;color:#445167;background:transparent;border:0;border-radius:6px;font-size:11px;font-weight:750;text-align:left}.feed-owner-menu-popover button:hover{color:#2858bd;background:#f0f4fc}.feed-owner-menu-popover button.delete{color:#a33a46}.feed-owner-menu-popover button.delete:hover{background:#fff1f2}.feed-owner-menu-popover .material-symbols-outlined{font-size:16px}.feed-post-icon,.feed-rail-icon{display:grid;place-items:center;overflow:hidden;color:#315fc7;background:#eef2f8;font-family:Material Symbols Outlined;font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24;line-height:1}.feed-post-icon{width:42px;height:42px;border-radius:13px;font-size:21px}.feed-rail-icon{border-radius:11px}.feed-post-avatar{display:block;object-fit:cover;border:2px solid #fff;box-shadow:0 0 0 1px #dce2ea}.feed-post-student .feed-post-header,.feed-post-teacher .feed-post-header{grid-template-columns:48px minmax(0,1fr) auto}.feed-post-student .feed-post-avatar{width:48px;height:48px}.feed-post-teacher .feed-post-icon{width:48px;height:48px;color:#2858bd;background:#e9effd}.feed-post-achievement .feed-post-icon{color:#6950b5;background:#f0edfa}.feed-post-attendance .feed-post-icon{color:#18815f;background:#eaf5f0}.feed-post-student .feed-post-icon{color:#b46917;background:#fff2df}.feed-post-announcement .feed-post-icon{color:#b47a0d;background:#fff6e3}.feed-composer{display:grid;grid-template-columns:40px minmax(0,1fr);gap:5px 11px;padding:16px 18px;background:#f6f9ff;border:1px solid #dfe8fb;border-radius:16px;box-shadow:0 1px 3px #1923340d}.feed-composer-icon{grid-row:1 / span 2;width:40px;height:40px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#3b6ed6,#2858bd);border-radius:12px;box-shadow:0 4px 10px #2858bd47;font-size:20px}.feed-composer-heading{min-width:0;display:grid;gap:2px}.feed-composer-heading strong{color:#29364a;font:800 13px Manrope}.feed-composer-heading small{color:#818c9d;font-size:10px}.feed-composer form{grid-column:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:6px}.feed-composer form label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.feed-composer select{min-width:0;height:40px;padding:0 34px 0 12px;color:#445167;background:#fff;border:1px solid #d7dfec;border-radius:10px;font-size:12px;font-weight:650}.teacher-feed-composer form{grid-template-columns:minmax(0,1fr);align-items:stretch}.teacher-feed-composer input,.teacher-feed-composer textarea,.feed-post-edit-form input,.feed-post-edit-form textarea{width:100%;min-width:0;padding:11px 12px;color:#36445a;background:#fff;border:1px solid #d7dfec;border-radius:10px;font:600 12.5px/1.5 DM Sans,sans-serif;resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.teacher-feed-composer input{height:40px}.teacher-feed-composer textarea{min-height:96px;line-height:1.55}.teacher-feed-composer textarea:focus{border-color:#94b0ee;box-shadow:0 0 0 3px #3b6ed61f;outline:none}.teacher-feed-composer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.teacher-feed-composer-footer small{color:#8993a2;font-size:10px;font-weight:700}.feed-composer .primary{min-height:40px;padding-inline:14px;background:linear-gradient(135deg,#3b6ed6,#2858bd);box-shadow:0 2px 6px #2858bd40;transition:box-shadow .15s ease,transform .15s ease}.feed-composer .primary:hover:not(:disabled){box-shadow:0 4px 12px #2858bd4d;transform:translateY(-1px)}.feed-composer-preview,.feed-composer-status{grid-column:2;margin:4px 0 0;font-size:11px;line-height:1.45}.feed-composer-preview{display:grid;gap:3px;padding:10px 12px;color:#4f5d72;background:#fff;border:1px solid #e2e8f2;border-radius:10px}.feed-composer-preview span{color:#8791a0;font-size:8px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.feed-composer-status.success{color:#187455}.feed-composer-status.error{color:#a92d3a}.feed-post-content{padding:5px 18px 17px}.feed-post-content h3{margin:7px 0 5px;color:#1c2738;font:800 19px/1.3 Manrope;letter-spacing:-.25px}.feed-post-content>p{margin:0;overflow-wrap:anywhere;color:#4f5d72;font-size:13px;line-height:1.58;white-space:pre-line}.feed-post-content>p.feed-post-body-collapsed{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:5}.feed-post-edit-form{display:grid;gap:9px;margin-top:10px;padding:12px;background:#f7f8fa;border:1px solid #e2e6ec;border-radius:9px}.feed-post-edit-form label{color:#4f5d72;font-size:10px;font-weight:800}.feed-post-edit-form select{width:100%;min-width:0;height:40px;padding:0 34px 0 11px;color:#354154;background:#fff;border:1px solid #d8dee7;border-radius:7px;font-size:11px}.feed-post-edit-form>div{display:flex;justify-content:flex-end;gap:7px}.feed-post-edit-form button{min-height:44px}.feed-delete-backdrop{z-index:100;display:grid;place-items:center;overflow-y:auto;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.feed-delete-dialog{width:min(100%,430px);max-height:calc(100dvh - max(32px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));display:grid;justify-items:center;gap:10px;overflow-y:auto;overscroll-behavior:contain;padding:26px;background:#fff;border-radius:16px;box-shadow:0 22px 60px #141f323d;text-align:center}.feed-delete-dialog>.material-symbols-outlined{width:44px;height:44px;display:grid;place-items:center;color:#b02c3d;background:#fff0f2;border-radius:50%;font-size:22px}.feed-delete-dialog h2{margin:2px 0 0;color:#202c3e;font:800 19px Manrope}.feed-delete-dialog p{max-width:350px;margin:0;color:#667287;font-size:12px;line-height:1.55}.feed-delete-dialog>div{display:flex;justify-content:center;gap:8px;margin-top:5px}.feed-delete-dialog button{min-height:44px}.feed-delete-dialog button.danger{color:#fff;background:#b83243;border-color:#b83243}.feed-delete-dialog button.danger:hover{background:#9f2939}.feed-body-toggle,.feed-achievers-toggle{margin-top:8px;padding:0;color:#315fc7;background:transparent;border:0;font-size:11px;font-weight:800}.feed-body-toggle:hover,.feed-achievers-toggle:hover{text-decoration:underline}.feed-body-toggle:focus-visible,.feed-achievers-toggle:focus-visible{outline:2px solid #94b0ee;outline-offset:3px;border-radius:2px}.feed-type-chip{display:inline-flex;padding:3px 9px;color:#9a6a0c;background:#fff3d6;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.feed-activity-type{color:#6950b5;background:#f0edfa}.feed-achievers{display:grid;gap:12px;margin-top:15px;padding:15px;background:linear-gradient(180deg,#faf9fe,#f5f1fc);border:1px solid #e6e0f6;border-radius:12px}.feed-achievement-overview{display:flex;align-items:center;gap:12px}.feed-achievement-rank-icon{width:34px;height:34px;display:grid;flex:none;place-items:center;color:#5d4baa;background:#fff;border:1px solid #e4def6;border-radius:10px;font-size:19px}.feed-achievement-overview>div:last-child{min-width:0;display:grid;gap:2px}.feed-achievement-overview strong{color:#2f3949;font-size:12px}.feed-achievement-overview small{color:#7e8795;font-size:10px}.feed-achiever-ranking{display:grid;gap:6px;margin:0;padding:0;list-style:none}.feed-achiever-ranking li{min-height:42px;display:grid;grid-template-columns:24px 30px minmax(0,1fr) auto;gap:9px;align-items:center;padding:6px 9px;background:#fff;border:1px solid #e5e8ee;border-radius:10px;transition:border-color .15s ease,background .15s ease}.feed-achiever-ranking li:first-child{border-color:#d8cff7;background:#fcfbff}.feed-achiever-ranking li:hover{border-color:#d3cdf2;background:#fcfcff}.feed-achiever-position{width:24px;height:24px;display:grid;place-items:center;color:#59667a;background:#eef1f5;border-radius:50%;font-size:10px;font-weight:850;text-align:center}.feed-achiever-ranking li:first-child .feed-achiever-position{color:#5b49aa}.feed-achiever-avatar{width:30px;height:30px;display:grid;place-items:center;color:#51438f;background:#ebe7f8;border-radius:50%;font-size:10px;font-weight:850}.feed-achiever-ranking strong{min-width:0;overflow-wrap:anywhere;color:#344053;font-size:11px;line-height:1.35}.feed-achiever-score{min-width:66px;padding:5px 9px;color:#4f4390;background:#fff;border:1px solid #e4def6;border-radius:999px;font-size:10px;font-weight:850;text-align:center;white-space:nowrap}.feed-achievers-toggle{justify-self:center;margin-top:2px;padding:7px 15px;background:#fff;border:1px solid #e0dbf4;border-radius:999px;transition:color .15s ease,border-color .15s ease}.feed-achievers-toggle:hover{color:#2858bd;border-color:#b9cdf3;text-decoration:none}.feed-achiever-ranking li.tier-gold .feed-achiever-position{color:#795c12;background:#fff0bc;box-shadow:inset 0 0 0 1px #f1d572}.feed-achiever-ranking li.tier-silver .feed-achiever-position{color:#596575;background:#e9edf2;box-shadow:inset 0 0 0 1px #d7dde5}.feed-achiever-ranking li.tier-bronze .feed-achiever-position{color:#8a512a;background:#f6dfd1;box-shadow:inset 0 0 0 1px #e8c5ad}.feed-attendance-summary{display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:center;margin-top:15px;padding:14px;background:linear-gradient(180deg,#f2fbf5,#ecf8f0);border:1px solid #d4eedf;border-radius:12px}.feed-attendance-summary>strong{display:grid;place-items:center;width:58px;height:48px;color:#157a51;background:#fff;border:1px solid #cdebd9;border-radius:10px;font:800 24px Manrope}.feed-attendance-summary>div{display:grid;gap:3px}.feed-attendance-summary span{color:#1a5e3a;font-size:12px;font-weight:800}.feed-attendance-summary small{color:#5e9a75;font-size:10px;line-height:1.4}.feed-engagement-counts{display:flex;justify-content:space-between;align-items:center;padding:8px 18px;color:#8993a2;border-top:1px solid #e8ebef;font-size:10px}.feed-post-actions{display:flex;align-items:center;justify-content:flex-start;gap:3px;padding:5px 14px;border-top:0}.feed-post-actions button{width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:9px;color:#5d697b;background:#f4f6f9;border:0;border-radius:50%;transition:color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}.feed-post-actions button:hover{color:#2e3b4e;background:#e9eef5}.feed-post-actions button.active{color:#2858bd;background:#e7effd;box-shadow:0 0 0 2px #2858bd24;transform:scale(1.04)}.feed-post-actions button:disabled{cursor:wait;opacity:.65}.feed-post-actions .material-symbols-outlined{font-family:Material Symbols Outlined;font-size:18px;font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 20;line-height:1}.feed-post-actions button.active .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 20}.feed-comment-backdrop{z-index:100;display:grid;place-items:center;overflow-y:auto;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.feed-comment-dialog{width:min(100%,460px);max-height:calc(100dvh - max(32px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:#fff;border-radius:16px;box-shadow:0 22px 60px #141f323d}.feed-comment-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 16px;border-bottom:1px solid #e7eaf0}.feed-comment-dialog>header>div{display:flex;gap:11px;align-items:flex-start}.feed-comment-dialog>header>div>.material-symbols-outlined{width:36px;height:36px;display:grid;flex:none;place-items:center;color:#2858bd;background:#edf2fc;border-radius:50%;font-size:18px}.feed-comment-dialog h2{margin:0;color:#202c3e;font:800 17px Manrope}.feed-comment-dialog header p{margin:4px 0 0;color:#758195;font-size:11px;line-height:1.45}.feed-comment-dialog header>button{width:44px;height:44px;display:grid;flex:none;place-items:center;margin:-7px -7px 0 0;padding:0;color:#687589;background:#f2f4f7;border:0;border-radius:50%;font-size:20px}.feed-comment-options{display:grid;gap:7px;overflow-y:auto;overscroll-behavior:contain;padding:16px 20px}.feed-comment-options button{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;color:#3f4c60;background:#f8f9fb;border:1px solid #e0e4ea;border-radius:8px;font-size:12px;font-weight:700;text-align:left}.feed-comment-options button:hover,.feed-comment-options button.selected{color:#204fae;background:#eef3fc;border-color:#aabde8}.feed-comment-options .material-symbols-outlined{color:#2858bd;font-size:18px}.feed-comment-dialog footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:13px 20px;background:#f8f9fb;border-top:1px solid #e7eaf0}.feed-comment-dialog footer button{min-height:44px}.feed-comment-dialog footer button.remove-comment{margin-right:auto;padding:0;color:#a33a46;background:transparent;border:0;font-size:11px;font-weight:750}.feed-comments{display:grid;gap:10px;padding:13px 18px 17px}.feed-comment{max-width:92%;display:grid;grid-template-columns:30px minmax(0,1fr);justify-self:start;gap:8px;align-items:start}.feed-comment-avatar{width:30px;height:30px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#5b7fd6,#3b6ed6);border-radius:50%;font-size:10px;font-weight:800}.feed-comment>div{display:grid;gap:1px;padding:7px 11px;background:#f7f9fc;border:1px solid #e6eaf2;border-radius:4px 12px 12px 4px}.feed-comment strong{color:#344154;font-size:10px}.feed-comment>div span{color:#505e73;font-size:12px;line-height:1.4}.feed-comments-toggle{justify-self:center;padding:0;color:#315fc7;background:transparent;border:0;font-size:11px;font-weight:800;transition:color .15s ease}.feed-comments-toggle:hover{color:#1a44a8}.feed-action-error,.feed-page-error{margin:8px 18px 16px;color:#a92d3a;font-size:11px}.feed-load-more{justify-self:stretch;width:100%;min-height:46px}.feed-end-copy{display:flex;align-items:center;justify-content:center;gap:6px;width:fit-content;margin:10px auto 0;padding:7px 15px;color:#5d6b80;background:#fff;border:1px solid #e2e7ee;border-radius:999px;font-size:11px;font-weight:700;box-shadow:0 1px 2px #1923340a}.feed-end-copy:before{content:"check_circle";color:#23a36d;font-family:Material Symbols Outlined;font-size:15px;font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 20;line-height:1}.feed-filter-empty{display:grid;justify-items:center;gap:4px;padding:36px 24px;color:#7d8898;background:#fff;border:1px solid #e1e5eb;border-radius:14px;text-align:center}.feed-filter-empty>span{width:46px;height:46px;display:grid;place-items:center;margin-bottom:5px;color:#758195;background:#f1f4f8;border-radius:50%;font-size:24px}.feed-filter-empty strong{color:#354154;font-size:13px}.feed-filter-empty p{margin:0;font-size:11px}.feed-context-rail{position:sticky;z-index:3;top:20px;max-height:calc(100dvh - 40px);display:grid;gap:14px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.feed-context-rail::-webkit-scrollbar{display:none}.feed-rail-card{padding:18px;background:#fff;border:1px solid #e5e9f0;border-radius:16px;box-shadow:0 1px 3px #1923340d}.feed-rail-card:first-child .feed-rail-icon{color:#fff;background:linear-gradient(135deg,#3b6ed6,#2858bd);box-shadow:0 4px 10px #2858bd40}.feed-rail-icon{width:36px;height:36px;margin-bottom:12px;font-size:19px}.feed-rail-card h3{margin:0 0 7px;color:#2c3849;font:800 13px Manrope}.feed-rail-card>p{margin:0;color:#707c8e;font-size:11px;line-height:1.55}.feed-rail-guide ul{display:grid;gap:13px;margin:13px 0 0;padding:0;list-style:none}.feed-rail-guide li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;align-items:center;padding:5px 6px;margin:-5px -6px 0;border-radius:9px;transition:background .15s ease}.feed-rail-guide li:hover{background:#f5f7fa}.feed-rail-guide li>span{display:grid;place-items:center;width:34px;height:34px;color:#758195;background:#f1f4f8;border-radius:9px;font-size:17px}.feed-rail-guide li:nth-child(1)>span{color:#6950b5;background:#f0edfa}.feed-rail-guide li:nth-child(2)>span{color:#18815f;background:#eaf5f0}.feed-rail-guide li:nth-child(3)>span{color:#b47a0d;background:#fff6e3}.feed-rail-guide li:nth-child(4)>span{color:#b46917;background:#fff2df}.feed-rail-guide li:nth-child(5)>span{color:#315fc7;background:#e9effd}.feed-rail-guide li>div{display:grid;gap:2px}.feed-rail-guide strong{color:#414d60;font-size:11px}.feed-rail-guide small{color:#8993a2;font-size:9px;line-height:1.4}.feed-privacy-note{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:start;margin:1px 2px 0;padding:11px 12px;color:#74829a;background:#f8fafd;border:1px solid #e3e9f2;border-radius:10px;font-size:10px;line-height:1.5}.feed-privacy-note span{display:grid;place-items:center;width:30px;height:30px;color:#315fc7;background:#edf2fc;border-radius:8px;font-size:16px}.feed-loading{display:grid;gap:10px;padding:22px;background:#fff;border:1px solid #e1e5eb;border-radius:14px}.feed-loading span{display:block;height:12px;background:linear-gradient(90deg,#eef1f4,#f8f9fa,#eef1f4);background-size:200% 100%;border-radius:4px;animation:feed-shimmer 1.2s infinite linear}.feed-loading span:nth-child(1){width:42%}.feed-loading span:nth-child(2){width:82%;height:22px}.feed-loading span:nth-child(3){width:66%}.feed-loading p{margin:4px 0 0;color:#76839b;font-size:11px}@keyframes feed-shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.feed-live-status i,.feed-loading span{animation:none}.feed-post-card,.feed-post-card:hover,.feed-post-actions button.active{transform:none}}@media(max-width:1120px){.student-feed-layout{grid-template-columns:minmax(0,1fr)}.feed-context-rail{display:none}}@media(max-width:760px){.student-feed-page{padding:20px 12px 44px}.student-feed-layout{display:block}.feed-sticky-controls{top:59px;gap:7px;margin:-12px -4px -2px;padding:8px 4px 9px}.feed-page-intro{position:relative;align-items:flex-start;gap:8px;padding:0 2px 2px}.feed-page-intro>div{min-width:0;padding-right:86px}.feed-page-intro .eyebrow{margin-bottom:3px;font-size:9px}.feed-page-intro h2{font-size:21px;line-height:1.1}.feed-page-intro p:not(.eyebrow){margin-top:4px;font-size:11px;line-height:1.35}.feed-live-status{position:absolute;top:2px;right:2px;padding:3px 9px;font-size:9px}.feed-filter-bar{margin-inline:-1px}.feed-filter-bar button{min-height:40px}.feed-post-header{grid-template-columns:38px minmax(0,1fr);padding:14px 14px 10px}.feed-post-header .feed-post-meta{grid-column:2;justify-content:space-between;margin-top:-2px}.feed-post-header time{margin:0;padding:0}.feed-post-student .feed-post-header{grid-template-columns:52px minmax(0,1fr);align-items:start}.feed-post-teacher .feed-post-header{grid-template-columns:52px minmax(0,1fr);align-items:start;position:relative;padding-right:54px}.feed-post-student .feed-post-byline{align-self:center;align-content:center;gap:4px}.feed-post-student .feed-post-header strong{display:-webkit-box;overflow:hidden;text-overflow:clip;white-space:normal;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.feed-post-student .feed-post-meta{position:absolute;top:8px;right:8px;align-items:center;margin:0}.feed-post-student .feed-post-header{position:relative;padding-right:54px}.feed-post-student .feed-owner-menu-trigger{margin:0 -8px 0 0}.feed-post-icon{width:38px;height:38px}.feed-post-content{padding:4px 14px 15px}.feed-post-content h3{font-size:18px}.feed-composer{grid-template-columns:40px minmax(0,1fr);gap:7px 11px;padding:14px;border-radius:12px}.feed-composer-icon{width:40px;height:40px;font-size:19px}.feed-composer-heading{align-self:center}.feed-composer-heading strong{font-size:13px}.feed-composer-heading small{margin-top:2px;font-size:10px;line-height:1.4}.feed-composer form{grid-column:1 / -1;grid-template-columns:1fr;gap:8px;margin-top:8px}.teacher-feed-composer form{grid-template-columns:1fr}.teacher-feed-composer-footer{align-items:stretch;flex-direction:column;gap:7px}.teacher-feed-composer-footer small{order:2;text-align:right}.feed-composer select{height:46px;padding-left:13px;font-size:12px}.feed-composer .primary{width:100%;min-height:44px;font-size:12px}.feed-composer-preview,.feed-composer-status{grid-column:1 / -1}.feed-composer-preview{margin-top:2px;padding:10px 11px}.feed-achievement-overview{align-items:flex-start}.feed-achiever-ranking{gap:8px}.feed-achiever-ranking li{min-height:68px;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;row-gap:5px;align-content:center;padding:10px 12px;border-color:#e1e5ec;border-radius:10px}.feed-achiever-position{grid-column:1;grid-row:1 / span 2;width:36px;height:36px;display:grid;place-items:center;align-self:center;color:#59667a;background:#eef1f5;border-radius:50%;font-size:11px}.feed-achiever-ranking li.tier-gold .feed-achiever-position{color:#795c12;background:#fff0bc;box-shadow:inset 0 0 0 1px #f1d572}.feed-achiever-ranking li.tier-silver .feed-achiever-position{color:#596575;background:#e9edf2;box-shadow:inset 0 0 0 1px #d7dde5}.feed-achiever-ranking li.tier-bronze .feed-achiever-position{color:#8a512a;background:#f6dfd1;box-shadow:inset 0 0 0 1px #e8c5ad}.feed-achiever-avatar{display:none}.feed-achiever-ranking strong{grid-column:2;align-self:end;overflow-wrap:anywhere;white-space:normal;font-size:11px;line-height:1.35}.feed-achiever-score{grid-column:2;grid-row:2;justify-self:start;min-width:0;margin:0;padding:4px 9px;font-size:10px}.feed-attendance-summary{grid-template-columns:52px minmax(0,1fr)}.feed-attendance-summary>strong{width:52px}.feed-engagement-counts{padding-inline:14px}.feed-post-actions{padding-inline:5px}.feed-comments{padding-inline:14px}.danger-zone,.feed-maintenance-zone{grid-template-columns:46px minmax(0,1fr);padding:20px}.danger-zone>button,.feed-maintenance-zone>button{grid-column:1 / -1;width:100%}}@media(max-width:359px){.student-feed-page{padding-inline:8px}.feed-sticky-controls{margin-inline:-2px;padding-inline:2px}.feed-page-intro>div{padding-right:78px}.feed-page-intro p:not(.eyebrow){max-width:245px}.feed-post-header,.feed-post-content,.feed-comments{padding-inline:12px}.feed-achievers{padding:10px}.feed-achiever-ranking li{grid-template-columns:34px minmax(0,1fr);column-gap:9px;padding-inline:9px}.feed-achiever-position{width:32px;height:32px}.feed-comment-dialog>header{padding:16px 14px 13px}.feed-comment-options{padding:12px 14px}.feed-comment-dialog footer{padding:11px 14px max(11px,env(safe-area-inset-bottom))}.feed-delete-dialog{padding:22px 18px}}.activity-image-toggle{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #d9e3f2;border-radius:10px;background:#f7faff}.activity-image-toggle input{margin-top:3px;accent-color:#285bd6}.activity-image-toggle span{display:grid;gap:3px}.activity-image-toggle small{color:#71809a;font-size:11px}.student-submission-page{max-width:900px;margin:0 auto}.student-submission-card{display:grid;gap:18px;padding:clamp(20px,4vw,32px)}.submission-deadline,.submission-count{color:#71809a;font-size:13px}.submission-source-actions{display:flex;flex-wrap:wrap;gap:10px}.submission-source-actions button:disabled{opacity:.58;cursor:wait}.submission-preparing{margin:0;color:#285bd6;font-size:13px;font-weight:650}.submission-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.submission-image-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;background:#eef3fb}.submission-pending-grid figure{position:relative;margin:0}.submission-remove{position:absolute;top:6px;right:6px;width:32px;height:32px;border:0;border-radius:50%;color:#fff;background:#212d45d1;cursor:pointer}.submission-progress{display:grid;gap:5px;color:#285bd6;font-size:12px}.submission-progress>span{display:block;height:7px;border-radius:99px;background:#285bd6;transition:width .2s ease}.submission-readonly-note{padding:14px;color:#71809a;background:#f6f8fc;border-radius:10px}@media(max-width:600px){.student-submission-page .page-heading{align-items:flex-start;gap:12px}.student-submission-page .page-heading .secondary{width:100%}.submission-source-actions{display:grid;grid-template-columns:1fr 1fr}.submission-source-actions button,.student-submission-card>.primary{min-height:44px}}.attendance-page-heading{display:grid;grid-template-columns:minmax(260px,.86fr) minmax(0,1.9fr);align-items:start;position:sticky;top:106px;z-index:1;margin-top:-1px;padding-top:18px;padding-bottom:16px;background:var(--page-bg, #f5f7fb);border-bottom:1px solid #e3e8f0}.attendance-page-heading .eyebrow{margin-bottom:4px}.attendance-showing{display:block;margin-top:8px;color:#7a879d;font-size:12px;font-weight:600}.attendance-toolbar-actions{display:grid;grid-template-columns:minmax(190px,1fr) 158px auto auto;align-items:end;gap:10px;min-width:0}.attendance-toolbar-search{min-width:0;width:100%}.attendance-date-control{display:grid;gap:5px;color:#6d7b91;font-size:11px;font-weight:700}.attendance-date-control input{min-height:42px}.attendance-bulk-button{display:inline-flex;align-items:center;gap:6px;min-height:42px;white-space:nowrap}.attendance-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}.attendance-summary-card{display:flex;align-items:center;gap:12px;min-height:84px;padding:16px;background:#fff;border:1px solid #e1e7f0;border-radius:12px;box-shadow:0 2px 7px #1c31560a}.attendance-summary-card strong{display:block;color:#253450;font-size:25px;line-height:1}.attendance-summary-card div span{display:block;margin-top:6px;color:#738199;font-size:12px;font-weight:700}.attendance-summary-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;font-size:21px}.attendance-summary-card.present .attendance-summary-icon{color:#117345;background:#e8f8ef}.attendance-summary-card.late .attendance-summary-icon{color:#b76a16;background:#fff3df}.attendance-summary-card.absent .attendance-summary-icon{color:#bb3a4a;background:#ffedf0}.attendance-summary-card.excused .attendance-summary-icon{color:#6e4eb3;background:#f2edff}.attendance-roster-panel{padding:0;overflow:hidden}.attendance-roster-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border-bottom:1px solid #e5eaf1}.attendance-roster-toolbar h3{margin:0;color:#283650;font-size:17px}.attendance-roster-toolbar p{margin:5px 0 0;color:#7b879b;font-size:12px}.attendance-search{display:flex;align-items:center;gap:8px;min-width:min(320px,100%);padding:0 10px;border:1px solid #dce3ed;border-radius:9px;background:#fff;color:#8190a6}.attendance-search input{min-width:0;width:100%;min-height:40px;padding:8px 0;border:0;outline:0;box-shadow:none}.attendance-search button{width:30px;height:30px;border:0;border-radius:50%;background:#eef2f7;color:#64748b;font-size:18px;cursor:pointer}.attendance-column-head{display:grid;grid-template-columns:minmax(210px,1.2fr) 1.5fr minmax(180px,1fr);gap:18px;padding:11px 20px;color:#8a96a9;background:#f8fafd;border-bottom:1px solid #edf0f4;text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:800}.attendance-list{padding:0 20px}.attendance-row{min-height:68px;border-bottom-color:#edf0f4}.attendance-row:hover{background:#fbfcff}.attendance-status button{min-height:36px;min-width:64px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.attendance-status button:focus-visible,.attendance-search:focus-within{outline:3px solid rgba(37,99,235,.18);outline-offset:2px}.attendance-no-results{display:grid;justify-items:center;gap:8px;padding:54px 20px;text-align:center;color:#728198}.attendance-no-results .material-symbols-outlined{color:#8aa0c7;font-size:34px}.attendance-no-results strong{color:#34435d}.attendance-no-results p{margin:0 0 8px;font-size:13px}.attendance-bulk-modal{max-width:480px}.attendance-bulk-warning{display:flex;gap:10px;margin:18px 0;padding:13px 14px;border:1px solid #f0d9a6;border-radius:10px;background:#fff9ed;color:#805b18}.attendance-bulk-warning .material-symbols-outlined{color:#b7791f}.attendance-bulk-warning p{margin:0;line-height:1.5;font-size:13px}@media(max-width:1050px){.attendance-page-heading{display:block}.attendance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-page-heading{align-items:flex-start}.attendance-toolbar-actions{display:flex;align-items:end;justify-content:flex-start}.attendance-column-head{display:none}.attendance-row{grid-template-columns:1fr;gap:10px;padding:16px 0}.attendance-row input{max-width:none;width:100%}}@media(min-width:761px)and (max-width:1250px){.attendance-page-heading{display:block}.attendance-toolbar-actions{justify-content:flex-start;margin-top:14px}.attendance-toolbar-search{flex:1 1 260px}}@media(max-width:760px){.attendance-page-heading{top:147px;margin-left:-1px;margin-right:-1px;padding:13px 0 14px}.attendance-toolbar-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-top:14px}.attendance-toolbar-search{grid-column:1 / -1}.attendance-date-control,.attendance-toolbar-actions>.primary{width:100%}.attendance-bulk-button{grid-column:1 / -1;justify-content:center;width:100%}.attendance-toolbar-actions>.primary{min-height:44px}.attendance-summary-grid{gap:10px;margin-bottom:12px}.attendance-summary-card{min-height:74px;padding:12px;gap:9px}.attendance-summary-icon{width:34px;height:34px;font-size:18px}.attendance-summary-card strong{font-size:21px}.attendance-summary-card div span{font-size:11px}.attendance-roster-toolbar{display:block;padding:16px}.attendance-search{min-width:0;width:100%;margin-top:14px}.attendance-list{padding:0 16px}.attendance-status{width:100%;overflow-x:auto;flex-wrap:nowrap;padding:2px 0 5px;scrollbar-width:thin}.attendance-status button{flex:0 0 auto;min-height:44px;min-width:76px}.attendance-row input{min-height:44px}}@media(prefers-reduced-motion:reduce){.feed-loading span{animation:none}}.quiz-page-actions{margin-top:32px;display:flex;justify-content:flex-end;gap:16px}.quiz-exit-modal{width:min(100%,510px)}.quiz-exit-modal>p{color:#66748a;font-size:13px;line-height:1.65}.quiz-exit-warning{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;padding:12px 13px;color:#a92d3a;background:#fff1f2;border:1px solid #f2c7cd;border-radius:9px}.quiz-exit-warning>span{width:28px;height:28px;display:grid;place-items:center;color:#fff;background:#c63c49;border-radius:50%;font-weight:900}.quiz-exit-warning p{margin:0;font-size:12px;font-weight:700;line-height:1.5}.quiz-exit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:17px}.quiz-exit-summary>div{display:grid;justify-items:center;gap:3px;padding:12px 8px;background:#f6f8fc;border:1px solid #e3e8f1;border-radius:9px;text-align:center}.quiz-exit-summary strong{color:#26364f;font:800 20px Manrope}.quiz-exit-summary span{color:#7d899b;font-size:10px;font-weight:700}.quiz-exit-error{padding:10px 12px;color:#a92d3a!important;background:#fff1f2;border:1px solid #f2c7cd;border-radius:8px}.reopen-activity-modal{width:min(100%,520px)}.reopen-activity-modal>p{color:#66748a;font-size:13px;line-height:1.65}.quiz-reopen-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quiz-reopen-summary>div{display:grid;gap:3px;padding:14px;background:#f6f8fc;border:1px solid #e3e8f1;border-radius:10px}.quiz-reopen-summary strong{color:#2255c7;font:800 22px Manrope}.quiz-reopen-summary span{color:#66748a;font-size:11px;font-weight:700}.reopen-activity-modal label small{display:block;margin-top:5px;color:#7d899b;font-size:11px}.quiz-lock-modal{width:min(100%,500px)}.quiz-lock-modal>p{color:#66748a;font-size:13px;line-height:1.6}.quiz-locked-answer{display:grid;gap:5px;margin-top:17px;padding:14px 15px;background:#f4f7fd;border:1px solid #dfe7f5;border-radius:9px}.quiz-locked-answer span{color:#7a879a;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.quiz-locked-answer strong{color:#26364f;font-size:14px;line-height:1.5}@media(max-width:760px){.app-shell.quiz-mode{display:block}.quiz-mode .quiz-page{max-width:none;padding:14px 12px max(36px,env(safe-area-inset-bottom))}.quiz-test-header{margin-bottom:14px;border-radius:14px}.quiz-test-topbar{min-height:60px;padding:10px 13px}.quiz-brand{font-size:16px}.quiz-test-summary{padding:22px 18px 24px}.quiz-test-summary h1{font-size:clamp(24px,7vw,30px)}.quiz-test-meta{margin-top:18px}.quiz-panel{padding:16px;border-radius:14px}.quiz-mode .quiz-question-card{padding:20px 16px;margin-bottom:16px;border-radius:12px}.quiz-mode .quiz-question-card h3{font-size:16px}.quiz-mode .quiz-option{gap:12px;padding:13px 14px;font-size:14px}.quiz-page-actions{display:grid;grid-template-columns:1fr;gap:10px}.quiz-page-actions .primary{min-height:46px}.quiz-page-actions .secondary{order:2}}.quiz-question-card{background:#fff;border:1px solid #e7ebf1;border-radius:16px;padding:32px;margin-bottom:24px;box-shadow:0 4px 12px #00000005}.quiz-question-card h3{margin:0 0 20px;color:#1e293b;font:700 19px Manrope;line-height:1.5}.quiz-options{display:flex;flex-direction:column;gap:12px}.quiz-option{display:flex;align-items:center;gap:16px;padding:16px 20px;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s ease;background:#f8fafc;font-size:15px;font-weight:600;color:#334155;margin:0}.quiz-option:hover{border-color:#cbd5e1;background:#f1f5f9}.quiz-option.selected{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.quiz-option input[type=radio]{width:18px;height:18px;margin:0;cursor:pointer;accent-color:#3b82f6}.quiz-progress{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;font-weight:700;color:#64748b;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.quiz-option.quiz-review-correct{border-color:#22c55e!important;background:#f0fdf4!important;color:#15803d!important;cursor:default}.quiz-option.quiz-review-incorrect{border-color:#ef4444!important;background:#fef2f2!important;color:#b91c1c!important;cursor:default}.quiz-option.quiz-review-key{border-color:#3b82f6!important;background:#eff6ff!important;color:#1d4ed8!important;cursor:default}.badge-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:99px;font-size:12px;font-weight:700;margin-left:auto}.badge-tag.correct{background:#dcfce7;color:#15803d}.badge-tag.incorrect{background:#fee2e2;color:#b91c1c}.badge-tag.key{background:#dbeafe;color:#1e40af}html,body,#app{width:100%;min-width:0;max-width:100%;min-height:100%}body{overflow-x:hidden}.login-shell{min-height:100vh;min-height:100dvh;grid-template-columns:minmax(460px,1.15fr) minmax(380px,.85fr);align-items:center;gap:clamp(28px,5vw,88px);overflow-x:clip;overflow-y:auto;padding:max(28px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left))}.login-intro{width:min(100%,720px);justify-self:end;padding:clamp(28px,5vw,76px)}.login-card{align-self:center;justify-self:start;margin:0;max-width:500px;padding:clamp(34px,4vw,58px)}.auth-switch{margin-top:12px;padding-top:18px;border-top:1px solid #e9edf4;text-align:center}.auth-switch p{color:#748098;font-size:14px;margin:0}.auth-link{border:0;padding:3px;color:#2563eb;background:transparent;cursor:pointer;font:inherit;font-size:14px;font-weight:700}.auth-link:hover:not(:disabled){color:#1d4ed8;text-decoration:underline}.auth-link:focus-visible{border-radius:5px;outline:3px solid rgba(37,99,235,.25);outline-offset:2px}.auth-resend{margin-top:-6px;text-align:center}.password-field-label>span{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-link-inline{min-height:30px;padding:4px 0;white-space:nowrap}@media(min-width:600px)and (max-width:1099px){.login-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-content:start;justify-items:center;gap:22px;padding:max(38px,env(safe-area-inset-top)) max(32px,env(safe-area-inset-right)) max(48px,env(safe-area-inset-bottom)) max(32px,env(safe-area-inset-left))}.login-intro{width:min(100%,720px);justify-self:center;align-items:center;padding:24px 36px 4px;text-align:center}.login-intro .brand-row{margin-bottom:18px;justify-content:center}.login-intro h1{max-width:650px;font-size:clamp(40px,6vw,58px)}.login-intro>p:not(.eyebrow){margin:18px auto 24px;font-size:17px}.feature-list{justify-content:center}.login-card{width:min(100%,520px);justify-self:center;padding:42px}}@media(min-width:960px)and (max-width:1099px)and (orientation:landscape){.login-shell{grid-template-columns:minmax(430px,1.1fr) minmax(390px,.9fr);grid-template-rows:auto;align-content:center;gap:34px;padding:28px 38px}.login-intro{justify-self:end;align-items:flex-start;padding:28px;text-align:left}.login-intro h1{font-size:clamp(40px,5vw,56px)}.login-intro>p:not(.eyebrow){margin:20px 0 26px}.feature-list{justify-content:flex-start}.login-card{justify-self:start;padding:36px}}@media(max-width:599px){.login-shell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-content:start;gap:14px;min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.login-shell:before,.login-shell:after{position:fixed;animation:none}.login-intro{width:100%;align-items:center;justify-self:stretch;padding:12px 8px 2px;text-align:center}.login-intro .brand-row{margin-bottom:12px;justify-content:center}.login-intro .brand-mark{transform:none}.login-intro .eyebrow{margin-bottom:7px}.login-intro h1{max-width:360px;font-size:clamp(30px,9vw,38px);letter-spacing:-1.2px;line-height:1.08}.login-intro>p:not(.eyebrow){max-width:350px;margin:14px auto 17px;font-size:15px;line-height:1.5}.feature-list{display:flex;justify-content:center;gap:8px;font-size:12.5px;line-height:1.35}.feature-list span{gap:7px;padding:7px 13px 7px 8px}.feature-list span i{width:17px;height:17px;font-size:10px}.login-card{width:100%;max-width:500px;justify-self:center;margin:0;gap:18px;padding:clamp(24px,7vw,32px);border-radius:20px}.login-card h2{font-size:clamp(26px,8vw,30px)}.login-card p{line-height:1.5}.login-shell input{min-height:48px;padding:11px 12px;font-size:16px}.login-shell .primary{min-height:46px}.auth-switch{margin-top:8px}}@media(max-height:700px){.login-shell{align-items:start}.login-intro{padding-top:12px}.login-intro .brand-row{margin-bottom:10px}.login-intro>p:not(.eyebrow){margin-top:12px;margin-bottom:15px}.login-card{padding-top:26px;padding-bottom:26px}}@media(max-width:359px){.login-shell{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.login-intro h1{font-size:29px}.feature-list{gap:5px 10px;font-size:11px}.login-card{padding-left:20px;padding-right:20px}}
