:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--carbon-black:#1f2421;--stormy-teal:#216869;--seaweed:#49a078;--muted-teal:#9cc5a1;--alabaster-grey:#dce1de;--surface:#fff;--surface-alt:#f6f8f7;--ink:var(--carbon-black);--muted:color-mix(in srgb, var(--carbon-black) 65%, var(--stormy-teal));--line:var(--alabaster-grey);--line-strong:var(--muted-teal);--pale-sky:var(--muted-teal);--cool-steel:var(--stormy-teal);--air-force-blue:var(--stormy-teal);--sea-green:var(--seaweed);--dark-spruce:var(--stormy-teal);--danger:#dc2626;--warning:#d97706;--shadow:0 4px 20px -2px #21686914, 0 2px 6px -1px #1f24210a;--shadow-hover:0 10px 28px -4px #49a07829, 0 4px 10px -2px #1f242114;--radius:10px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--carbon-black:#1f2421;--stormy-teal:#216869;--seaweed:#49a078;--muted-teal:#9cc5a1;--alabaster-grey:#dce1de;--surface:var(--carbon-black);--surface-alt:#161b18;--ink:var(--alabaster-grey);--muted:var(--muted-teal);--line:color-mix(in srgb, var(--stormy-teal) 45%, var(--carbon-black));--line-strong:var(--stormy-teal);--pale-sky:color-mix(in srgb, var(--stormy-teal) 35%, var(--carbon-black));--cool-steel:var(--muted-teal);--air-force-blue:var(--seaweed);--sea-green:var(--seaweed);--dark-spruce:var(--muted-teal);--shadow:0 10px 30px #00000080;--shadow-hover:0 14px 40px #000000a6}*{box-sizing:border-box}html{overflow-x:clip}body,main,section,article,form,fieldset,header,footer,nav,aside{min-width:0}body{background:var(--surface-alt);color:var(--ink);margin:0;font-family:Figtree,system-ui,sans-serif;overflow-x:clip}body *{transition:background-color .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,.button,[role=button],select,input[type=checkbox],input[type=radio],input[type=submit],input[type=button],.file-picker,[data-dialog-open],[data-dialog-close],summary{cursor:pointer}label:has(input[type=checkbox]){cursor:pointer}label:has(input[type=radio]){cursor:pointer}svg{fill:currentColor;width:1.1rem;height:1.1rem}img,video,canvas,svg{max-width:100%}.icon{flex:none}main{gap:1.25rem;display:grid}.eyebrow{color:var(--sea-green);text-transform:uppercase;margin:0 0 .25rem;font-size:.78rem;font-weight:800}h1,h2,h3,p{margin-top:0}:focus-visible{outline:3px solid color-mix(in srgb, var(--sea-green), white 35%);outline-offset:2px}.text-right{text-align:right}.text-center{text-align:center}.text-muted{color:var(--muted)}.inline-code{background:color-mix(in srgb, var(--surface-alt), var(--line) 20%);border-radius:4px;padding:.15rem .45rem;font-size:.88rem}.row-actions-end{justify-content:flex-end}.pagination-wrapper{margin-top:1.25rem}.app-shell{background:radial-gradient(circle at top left, color-mix(in srgb, var(--pale-sky), transparent 62%), transparent 22rem), linear-gradient(180deg, color-mix(in srgb, var(--surface), transparent 35%), transparent 18rem), var(--surface-alt);min-height:100vh;display:grid}.content-shell{grid-template-rows:auto 1fr auto;min-width:0;min-height:100vh;display:grid}.sidebar{background:color-mix(in srgb, var(--surface), var(--surface-alt) 18%);border-right:2px solid color-mix(in srgb, var(--line), transparent 42%);box-sizing:border-box;z-index:50;flex-direction:column;gap:1rem;min-width:0;padding:1rem;display:flex;box-shadow:12px 0 36px #004f2d14}.sidebar-brand{flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.sidebar-logo-link{color:inherit;align-items:center;gap:.75rem;min-width:0;display:flex}.sidebar-logo{border-radius:12px;flex:none;box-shadow:0 10px 24px #004f2d2e}.sidebar-logo-link section,.sidebar-profile section{min-width:0;line-height:1.15;display:grid}.sidebar-logo-link strong,.sidebar-profile strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-logo-link span,.sidebar-profile span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.sidebar-heading{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:.25rem .35rem .45rem;font-size:.72rem;font-weight:900}.sidebar-nav{flex:auto;gap:.25rem;min-width:0;min-height:0;padding-right:.15rem;display:grid;overflow-y:auto}.sidebar-nav-item{border-radius:calc(var(--radius) + 2px);color:color-mix(in srgb, var(--ink), var(--muted) 22%);border:2px solid #0000;align-items:center;gap:.7rem;min-width:0;min-height:2.65rem;padding:.6rem .7rem;font-weight:800;display:flex}.sidebar-nav-item:hover,.sidebar-nav-item:focus-visible{background:color-mix(in srgb, var(--sea-green), transparent 91%);border-color:color-mix(in srgb, var(--sea-green), transparent 52%);color:var(--sea-green);transform:translate(2px)}.sidebar-nav-item.is-active{background:var(--sea-green);border-color:color-mix(in srgb, var(--dark-spruce), white 18%);color:#fff;box-shadow:0 12px 26px #0a875438}.sidebar-nav-icon{background:color-mix(in srgb, currentColor, transparent 88%);border-radius:calc(var(--radius) - 2px);flex:0 0 2rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.sidebar-footer{border-top:1px solid color-mix(in srgb, var(--line), transparent 62%);flex-direction:column;flex-shrink:0;gap:.65rem;margin-top:auto;padding-top:.8rem;display:flex}.sidebar-logout-form{width:100%;margin:0}.sidebar-logout-button{border-radius:calc(var(--radius) + 2px);color:#fff;cursor:pointer;background:#dc2626;border:1px solid #b91c1c;justify-content:center;align-items:center;gap:.6rem;width:100%;min-height:2.5rem;padding:.55rem .85rem;font-family:inherit;font-size:.88rem;font-weight:800;transition:background-color .18s,border-color .18s,transform .18s,box-shadow .18s;display:flex;box-shadow:0 4px 12px #dc262638}.sidebar-logout-icon{justify-content:center;align-items:center;display:inline-flex}.sidebar-logout-button svg{fill:currentColor;width:1.15rem;height:1.15rem}.sidebar-logout-button:hover,.sidebar-logout-button:focus-visible{color:#fff;background:#b91c1c;border-color:#991b1b;transform:translateY(-1px);box-shadow:0 6px 18px #dc262661}.sidebar-logout-button:active{transform:translateY(0)}.sidebar.is-collapsed{width:4.75rem;padding:.75rem .45rem}.sidebar.is-collapsed .sidebar-brand{flex-direction:column;justify-content:center;align-items:center;gap:.65rem;padding-bottom:.35rem;display:flex;position:static}.sidebar.is-collapsed .sidebar-logo-link{justify-content:center;margin:0 auto;display:flex}.sidebar.is-collapsed .sidebar-brand-text,.sidebar.is-collapsed .sidebar-heading,.sidebar.is-collapsed .sidebar-nav-label,.sidebar.is-collapsed .sidebar-profile-info,.sidebar.is-collapsed .sidebar-logout-label{display:none!important}.sidebar.is-collapsed .sidebar-nav-item{justify-content:center;padding:.6rem}.sidebar.is-collapsed .sidebar-profile{justify-content:center;padding:.35rem}.sidebar.is-collapsed .sidebar-logout-button{min-height:2.35rem;padding:.5rem}.sidebar-collapse-btn{border-radius:var(--radius);color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:2rem;height:2rem;margin-left:auto;padding:0;transition:background-color .18s,color .18s;display:inline-flex}.sidebar-collapse-btn:hover{background:color-mix(in srgb, var(--pale-sky), transparent 70%);color:var(--sea-green)}.sidebar.is-collapsed .sidebar-collapse-btn{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius);color:var(--dark-spruce);justify-content:center;align-items:center;width:1.85rem;height:1.85rem;margin:0 auto;display:inline-flex;position:static;transform:none}.sidebar.is-collapsed .sidebar-collapse-btn:hover{background:color-mix(in srgb, var(--sea-green) 12%, var(--surface));border-color:var(--sea-green);color:var(--sea-green)}.sidebar-profile{border-radius:calc(var(--radius) + 2px);align-items:center;gap:.65rem;min-width:0;padding:.55rem;display:flex}.sidebar-profile:hover,.sidebar-profile:focus-visible{background:color-mix(in srgb, var(--pale-sky), transparent 76%)}.sidebar-avatar{background:color-mix(in srgb, var(--dark-spruce), var(--sea-green) 38%);color:#fff;border-radius:50%;flex:0 0 2.3rem;justify-content:center;align-items:center;width:2.3rem;height:2.3rem;font-weight:900;display:inline-flex}.topbar{background:color-mix(in srgb, var(--surface), transparent 2%);border-bottom:2px solid color-mix(in srgb, var(--line), transparent 54%);z-index:25;position:sticky;top:0}.topbar-main{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem clamp(1rem,3vw,1.75rem);display:grid}.title-block{flex-direction:column;gap:.25rem;min-width:0;display:flex}.title-block .eyebrow{letter-spacing:.05em;margin:0}.topbar h1{overflow-wrap:anywhere;margin:0;font-size:clamp(1.45rem,2vw,2.15rem);line-height:1.2}.page-actions,.top-actions,.toolbar,.actions{flex-wrap:wrap;align-items:center;gap:.6rem;width:100%;min-width:0;display:flex}.page-actions>*,.toolbar>*,.actions>*,.inline-form>*{flex:100%}.page-actions:empty{display:none}.command-bar{background:color-mix(in srgb, var(--surface-alt), var(--surface) 66%);border-top:1px solid color-mix(in srgb, var(--line), transparent 70%);padding:.45rem clamp(1rem,3vw,1.5rem);overflow-x:clip}.page-actions{justify-content:flex-start;width:100%}.page-actions>.toolbar{width:100%}.schedule-livewire,.groups-livewire,.subjects-livewire,.assignments-livewire,.students-livewire,.attendance-livewire,.evaluations-livewire,.scales-livewire,.history-livewire,.dashboard-livewire,.page-stack,.page-content,main>section{flex-direction:column;gap:1.85rem;width:100%;min-width:0;display:flex}.toolbar-stack{flex-direction:column;gap:.95rem;width:100%;min-width:0;display:flex}.filter-strip{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.65rem;width:100%;min-width:0;padding:.55rem .85rem;display:flex;box-shadow:0 1px 3px #0000000a}.filter-strip .search-field{flex:clamp(14rem,24vw,24rem);min-width:min(100%,14rem)}.filter-strip .filter-select-field,.filter-strip .compact-field:not(.search-field){flex:0 auto;min-width:11rem}.filter-strip input,.filter-strip select{background:var(--surface-alt);border:1px solid color-mix(in srgb, var(--line), transparent 30%);border-radius:calc(var(--radius) - 2px);height:2.45rem;min-height:2.45rem;padding:.4rem .75rem;font-size:.88rem}.filter-strip input:focus,.filter-strip select:focus{background:var(--surface);border-color:var(--sea-green)}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;width:100%;min-width:0;display:flex}.schedule-board-wrapper,.table-card,.compact-grid,.card-grid,.metric-grid,.directory-section,.directory-grid,.assignment-sections-container,.current-class-panel,.selected-context-banner{margin-top:.75rem}.schedule-day-nav{margin-top:.35rem;margin-bottom:.65rem}.top-actions{flex-wrap:nowrap;flex:none;justify-content:flex-end;width:auto}.content-shell main{align-content:start;gap:1.25rem;min-width:0;padding:clamp(1.25rem,3vw,2rem);animation:.2s both content-in;display:grid}.footer{color:var(--muted);padding:1rem clamp(1rem,3vw,1.6rem)}.two-column{grid-template-columns:1fr;gap:1rem;display:grid}.narrow{max-width:760px}.mobile-menu-backdrop{opacity:0;pointer-events:none;z-index:45;background:#0000006b;transition:opacity .2s;position:fixed;inset:0}.mobile-menu-backdrop.is-open{opacity:1;pointer-events:auto}.mobile-menu-toggle .icon-close,.mobile-menu-toggle[aria-expanded=true] .icon-menu{display:none}.mobile-menu-toggle[aria-expanded=true] .icon-close{display:inline-flex}@keyframes content-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width>=761px){.app-shell{grid-template-columns:17.5rem minmax(0,1fr);transition:grid-template-columns .22s cubic-bezier(.4,0,.2,1)}.app-shell:has(.sidebar.is-collapsed){grid-template-columns:4.75rem minmax(0,1fr)}.sidebar{box-sizing:border-box;z-index:50;width:17.5rem;height:100dvh;transition:width .22s cubic-bezier(.4,0,.2,1),padding .22s;position:fixed;top:0;bottom:0;left:0}.sidebar.is-collapsed{width:4.75rem}.content-shell{grid-column:2;min-width:0}.page-actions,.inline-form{align-items:center;width:auto}.toolbar{align-items:center;width:100%}.page-actions>*,.toolbar>*,.actions>*,.inline-form>*{flex:none}.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-only{display:none!important}}@media (width<=760px){.desktop-only{display:none!important}.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{width:88vw;max-width:min(21rem,88vw);height:100dvh;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.sidebar.is-open{transform:translate(0)}.topbar-main{justify-content:space-between;padding-block:.7rem;display:flex}.title-block{flex:auto}.top-actions{gap:.45rem}.desktop-account-link{display:none}}.panel,.item-card,.metric-card,.table-card,.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:1.1rem;transition:transform .2s,box-shadow .2s,border-color .2s}.card-grid,.metric-grid,.compact-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.1rem;display:grid}.compact-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.metric-card span{color:var(--muted);margin-bottom:.5rem;display:block}.metric-card strong{font-size:2rem}.metric-card small{color:var(--muted);margin-top:.35rem;display:block}.item-card{gap:.8rem;display:grid}.group-card{align-content:start;min-height:auto}.group-card header{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.7rem;display:grid}.group-card h3,.group-card p{margin-bottom:.2rem}.group-card p{color:var(--muted)}.group-card footer{border-top:1px solid var(--line);margin-top:.5rem;padding-top:.75rem}.item-card:hover,.metric-card:hover,.panel:hover{border-color:color-mix(in srgb, var(--air-force-blue), var(--line) 40%);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.item-card footer,.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;display:flex}.badge{background:var(--pale-sky);color:var(--dark-spruce);border-radius:999px;margin:.12rem;padding:.25rem .55rem;font-size:.8rem;display:inline-block}.current-class{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.current-class-panel{padding:.85rem 1rem}.empty-state{background:var(--surface);border:1px dashed var(--cool-steel);border-radius:var(--radius);color:var(--muted);text-align:center;place-items:center;gap:.6rem;padding:1.2rem;display:grid}.empty-state .icon{color:var(--air-force-blue);width:2rem;height:2rem}.empty-state.compact{box-shadow:none;padding:.8rem}.muted-text{color:var(--muted);margin:0}.subtle-panel{box-shadow:none}.performance-card header{justify-content:space-between;align-items:center;display:flex}.group-detail-layout{grid-template-columns:1fr;align-items:start;gap:1rem;display:grid}.group-editor,.group-side-panel{gap:1rem;display:grid}.selected-list{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.student-chip,.status-badge{background:color-mix(in srgb, var(--pale-sky), transparent 28%);border:2px solid var(--line);color:var(--dark-spruce);border-radius:999px;padding:.28rem .6rem;font-size:.82rem;font-weight:800;display:inline-flex}.status-present,.status-late,.status-excused{background:color-mix(in srgb, var(--sea-green), transparent 84%);color:var(--dark-spruce)}.status-absent{background:color-mix(in srgb, var(--danger), transparent 84%);color:var(--danger)}.menu-hero{background:linear-gradient(135deg, color-mix(in srgb, var(--dark-spruce), transparent 8%), color-mix(in srgb, var(--air-force-blue), transparent 25%));border-radius:var(--radius);color:#fff;padding:clamp(1.25rem,4vw,2.5rem)}.menu-hero article{max-width:760px}.menu-hero .eyebrow{color:color-mix(in srgb, white, var(--pale-sky) 35%)}.menu-hero h2{margin:.25rem 0 .6rem;font-size:clamp(1.8rem,4vw,3rem);line-height:1.05}.menu-hero p:last-child{color:color-mix(in srgb, white, var(--pale-sky) 22%);max-width:58ch;margin:0}.menu-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;display:grid}.menu-card{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--ink);gap:.7rem;min-height:170px;padding:1.15rem;display:grid;position:relative}.menu-card:after{background:var(--sea-green);content:"";opacity:0;border-radius:999px;width:.45rem;height:.45rem;transition:opacity .2s,transform .2s;position:absolute;top:1rem;right:1rem;transform:scale(.5)}.menu-card:hover,.menu-card:focus-visible{border-color:var(--air-force-blue);transform:translateY(-3px)}.menu-card:hover:after,.menu-card:focus-visible:after{opacity:1;transform:scale(1)}.menu-card-icon{background:color-mix(in srgb, var(--pale-sky), transparent 25%);border-radius:var(--radius);color:var(--dark-spruce);justify-content:center;align-items:center;width:3rem;height:3rem;display:inline-flex}.menu-card-icon .icon{width:1.5rem;height:1.5rem}.menu-card strong{font-size:1.15rem}.menu-card small{color:var(--muted);font-size:.92rem;line-height:1.45}.scale-context-grid{gap:1rem;display:grid}.scale-context-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:1.1rem;padding:1.15rem;transition:transform .2s,box-shadow .2s;display:grid}.scale-context-header,.scale-partial-section>header,.scale-row,.scale-context-summary{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.scale-context-header,.scale-partial-section>header,.scale-row{justify-content:space-between}.scale-context-header h2,.scale-partial-section h3{margin-bottom:.15rem}.scale-context-summary{justify-content:flex-end}.scale-partial-section{background:color-mix(in srgb, var(--surface-alt), var(--surface) 65%);border:1px solid var(--line);border-radius:calc(var(--radius) - 2px);gap:.75rem;padding:.85rem;display:grid}.scale-partial-section p,.scale-row p,.scale-row small{color:var(--muted);margin:0}.scale-list{gap:.6rem;display:grid}.scale-row{background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) - 4px);padding:.75rem;transition:border-color .15s,box-shadow .15s,transform .15s}.scale-row:hover{border-color:var(--cool-steel);box-shadow:0 3px 10px #0000000a}.scale-row>section:first-child{flex:260px;gap:.2rem;min-width:0;display:grid}.scale-row>section:first-child header{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.scale-weight{color:var(--dark-spruce);font-size:1.15rem}.percentage-badge{border-radius:999px;padding:.32rem .65rem;font-size:.82rem;font-weight:900;display:inline-flex}.scale-partial-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.percentage-complete{background:color-mix(in srgb, var(--sea-green), transparent 82%);color:var(--dark-spruce)}.percentage-pending{background:color-mix(in srgb, var(--warning), transparent 74%);color:var(--ink)}.percentage-over{background:color-mix(in srgb, var(--danger), transparent 82%);color:var(--danger)}.evaluation-context-grid{gap:.9rem;display:grid}.evaluation-context-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:1rem;padding:1.15rem;transition:transform .2s,box-shadow .2s;display:grid}.evaluation-partial-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:.85rem;display:grid}.evaluation-partial-card{background:color-mix(in srgb, var(--surface-alt), var(--surface) 70%);border:1px solid var(--line);border-left:.35rem solid var(--cool-steel);border-radius:calc(var(--radius) - 2px);gap:.75rem;min-width:0;padding:.85rem;transition:transform .15s,box-shadow .15s;display:grid}.evaluation-partial-card:hover{transform:translateY(-2px);box-shadow:0 4px 14px #0000000f}.evaluation-partial-card.status-ready,.evaluation-partial-card.status-draft{border-left-color:var(--sea-green)}.evaluation-partial-card.status-finalized{border-left-color:var(--dark-spruce)}.evaluation-partial-card.status-incomplete,.evaluation-partial-card.status-evidence,.evaluation-partial-card.status-manual{border-left-color:var(--warning)}.evaluation-partial-card>header,.evaluation-partial-card footer,.evaluation-card-metrics{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.evaluation-partial-card h3,.evaluation-card-metrics,.evaluation-card-metrics div{margin:0}.evaluation-partial-card h3{font-size:1rem}.evaluation-card-metrics{border-block:1px solid var(--line);padding-block:.55rem}.evaluation-card-metrics div{gap:.05rem;min-width:4.5rem;display:grid}.evaluation-card-metrics dt{color:var(--muted);text-transform:uppercase;font-size:.74rem;font-weight:800}.evaluation-card-metrics dd{color:var(--ink);font-size:1rem;font-weight:900}.evaluation-capture-form{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:.85rem}.evaluation-capture-form .table-card{box-shadow:none}.evaluation-capture-form input[type=number]{max-width:10rem}.evaluation-capture-form td:first-child{min-width:min(22rem,100%)}.assignment-context-picker{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:.75rem;display:grid}.assignment-context-option{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--ink);gap:.75rem;padding:.85rem;text-decoration:none;transition:border-color .18s,box-shadow .18s,background .18s;display:grid}.assignment-context-option:hover,.assignment-context-option:focus-visible{background:color-mix(in srgb, var(--pale-sky), transparent 84%);border-color:var(--sea-green);box-shadow:0 10px 24px #004f2d1a}.assignment-context-option h2,.assignment-context-option p,.assignment-board-header h2,.assignment-board-header p,.assignment-work-card h3,.assignment-work-card p,.assignment-card-meta{margin:0}.assignment-context-option dl,.assignment-card-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.assignment-context-option dt,.assignment-card-meta dt{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.assignment-context-option dd,.assignment-card-meta dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-weight:900;overflow:hidden}.assignment-board-header{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem;display:flex}.assignment-type-board{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start;gap:.85rem;display:grid}.assignment-board-header{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:.9rem 1.25rem;display:flex}.assignment-board-title{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.assignment-board-title h2{color:var(--text);flex-wrap:wrap;align-items:center;gap:.75rem;margin:0;font-size:1.2rem;font-weight:700;display:flex}.view-mode-toggle{background:color-mix(in srgb, var(--surface-alt), var(--surface) 60%);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:.3rem;padding:.3rem;display:inline-flex}.view-mode-label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;padding:0 .45rem;font-size:.76rem;font-weight:700}.view-pill{border-radius:calc(var(--radius) - 2px);color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.84rem;font-weight:600;transition:all .18s;display:inline-flex}.view-pill:hover{background:color-mix(in srgb, var(--surface), transparent 40%);color:var(--text)}.view-pill.is-active{background:var(--surface);color:var(--sea-green);font-weight:700;box-shadow:0 2px 6px #00000014}.assignment-sections-container{flex-direction:column;gap:1.35rem;display:flex}.assignment-section-block{background:color-mix(in srgb, var(--surface-alt), var(--surface) 40%);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.95rem;padding:1.15rem;display:flex}.assignment-section-header{border-bottom:1px solid color-mix(in srgb, var(--line), transparent 45%);justify-content:space-between;align-items:center;gap:.75rem;padding-bottom:.65rem;display:flex}.assignment-section-header h2{color:var(--text);margin:0;font-size:1.05rem;font-weight:700}.assignment-cards-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:1rem;display:grid}.assignment-type-column{background:color-mix(in srgb, var(--surface-alt), var(--surface) 74%);border:2px solid var(--line);border-radius:var(--radius);gap:.65rem;min-width:0;padding:.75rem;display:grid}.assignment-card-list{gap:.6rem;display:grid}.assignment-work-card{background:var(--surface);border:1px solid var(--line);border-left:.32rem solid var(--sea-green);border-radius:var(--radius);cursor:pointer;flex-direction:column;justify-content:space-between;gap:.65rem;min-width:0;padding:.9rem 1rem;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .18s;display:flex;box-shadow:0 2px 6px #0000000a}.assignment-work-card:hover{border-color:color-mix(in srgb, var(--sea-green), var(--line) 30%);transform:translateY(-2px);box-shadow:0 6px 18px #00000017}.work-card-header,.assignment-work-card>header{justify-content:space-between;align-items:start;gap:.55rem;display:flex}.work-card-meta-top{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.78rem;font-weight:700;display:flex}.work-partial-badge{background:var(--surface-alt);border:1px solid var(--line);border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:600}.work-card-title,.assignment-work-card h3{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:.98rem;font-weight:700;line-height:1.32}.work-card-description{color:var(--muted);margin:.3rem 0 0;font-size:.83rem;line-height:1.42}.work-card-chips{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.work-chip{background:color-mix(in srgb, var(--pale-sky), var(--surface) 60%);border:1px solid color-mix(in srgb, var(--line), transparent 30%);color:var(--text);border-radius:6px;padding:.2rem .55rem;font-size:.74rem;font-weight:600}.work-chip.unit-chip{background:color-mix(in srgb, var(--sea-green) 12%, var(--surface));border-color:color-mix(in srgb, var(--sea-green) 35%, transparent);color:var(--dark-spruce);font-weight:700}.work-chip.scale-chip{background:color-mix(in srgb, var(--cool-steel) 12%, var(--surface));color:var(--navy-shadow)}.work-chip.special-chip{background:color-mix(in srgb, var(--warning) 18%, var(--surface));border-color:color-mix(in srgb, var(--warning) 45%, transparent);color:color-mix(in srgb, var(--warning) 70%, var(--ink));font-weight:700}.special-assignment-row{background:color-mix(in srgb, var(--surface-alt), var(--surface) 50%);border:1px dashed var(--line);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding:.75rem 1rem;transition:all .18s;display:flex}.special-assignment-row:has(:checked){background:color-mix(in srgb, var(--sea-green) 8%, var(--surface));border-color:var(--sea-green)}.special-weight-control{align-items:center;gap:.65rem;margin:0;display:inline-flex}.special-weight-control select{min-width:14rem}.work-card-actions{border-top:1px solid color-mix(in srgb, var(--line), transparent 60%);align-items:center;gap:.5rem;margin-top:auto;padding-top:.65rem;display:flex}.work-card-actions .button.small{height:auto;padding:.4rem .75rem;font-size:.82rem}.assignment-work-card header p{color:var(--muted);font-size:.78rem;font-weight:800}.assignment-work-card .status-badge{flex:none}.profile-layout{grid-template-columns:1fr;align-items:start;gap:1rem;max-width:none;display:grid}.profile-summary,.profile-panel{padding:clamp(1rem,2vw,1.35rem)}.profile-summary{align-content:start;gap:1rem;display:grid}.profile-avatar{background:linear-gradient(135deg, var(--dark-spruce), var(--sea-green));border-radius:var(--radius);color:#fff;justify-content:center;align-items:center;width:4.2rem;height:4.2rem;display:inline-flex}.profile-avatar .icon{width:2rem;height:2rem}.profile-summary h2,.profile-panel h2,.profile-security h3{margin-bottom:.25rem}.profile-summary p,.profile-security p{color:var(--muted);margin-bottom:0}.profile-meta{gap:.65rem;margin:.25rem 0 0;padding:0;list-style:none;display:grid}.profile-meta li{border:2px solid var(--line);border-radius:var(--radius);grid-template-columns:auto 1fr;align-items:start;gap:.15rem .55rem;padding:.75rem;display:grid}.profile-meta .icon{color:var(--sea-green);grid-row:span 2;margin-top:.1rem}.profile-meta span{color:var(--muted);font-size:.8rem;font-weight:800}.profile-meta strong{overflow-wrap:anywhere;font-size:.95rem}.profile-form{margin-top:1rem}.profile-security{background:color-mix(in srgb, var(--pale-sky), transparent 72%);border:2px solid var(--line);border-radius:var(--radius);padding:.9rem}.profile-security header{align-items:start;gap:.65rem;display:flex}.profile-security .icon{color:var(--dark-spruce);margin-top:.15rem}.compact-empty{margin-top:.5rem;padding:1rem}.schedule-day-nav{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);-webkit-overflow-scrolling:touch;align-items:center;gap:.35rem;padding:.45rem .6rem;display:flex;overflow-x:auto}.schedule-day-label{color:var(--muted);text-transform:uppercase;white-space:nowrap;margin-right:.25rem;font-size:.75rem;font-weight:800}.schedule-day-pill{background:color-mix(in srgb, var(--pale-sky), transparent 75%);border:1px solid var(--line);color:var(--dark-spruce);cursor:pointer;white-space:nowrap;border-radius:999px;padding:.3rem .65rem;font-size:.78rem;font-weight:800;transition:all .18s}.schedule-day-pill:hover{background:color-mix(in srgb, var(--air-force-blue), transparent 85%);border-color:var(--air-force-blue)}.schedule-day-pill.is-active{background:var(--dark-spruce);border-color:var(--dark-spruce);color:#fff}.schedule-board-wrapper{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-overflow-scrolling:touch;max-width:100%;position:relative;overflow:auto}.schedule-board{background:var(--surface);grid-template-rows:2.75rem;grid-template-columns:4.5rem repeat(5,minmax(9.5rem,1fr));grid-auto-rows:1.25rem;gap:0;width:100%;min-width:52rem;display:grid;position:relative}.schedule-board>*{grid-column:var(--schedule-column);grid-row:var(--schedule-row) / span var(--schedule-span,1);min-width:0}[data-schedule-column="1"]{grid-column:1}[data-schedule-column="2"]{grid-column:2}[data-schedule-column="3"]{grid-column:3}[data-schedule-column="4"]{grid-column:4}[data-schedule-column="5"]{grid-column:5}[data-schedule-column="6"]{grid-column:6}[data-schedule-column="7"]{grid-column:7}[data-schedule-row="1"]{grid-row:1}.schedule-board-corner,.schedule-board-heading,.schedule-board-time,.schedule-cell{border-bottom:2px solid color-mix(in srgb, var(--line), var(--dark-spruce) 20%);border-right:2px solid color-mix(in srgb, var(--line), var(--dark-spruce) 20%);min-width:0}.schedule-board-corner,.schedule-board-heading,.schedule-board-time{background:color-mix(in srgb, var(--pale-sky), var(--surface) 25%);color:var(--dark-spruce);padding:.55rem;font-size:.82rem;font-weight:900}.schedule-board-corner{z-index:8;min-height:0;position:sticky;top:0;left:0}.schedule-board-heading{text-align:center;z-index:5;min-height:0;position:sticky;top:0}.schedule-board-time{z-index:6;justify-content:center;align-items:start;padding-top:.55rem;display:flex;position:sticky;left:0}.schedule-cell{background:color-mix(in srgb, var(--surface), var(--pale-sky) 8%);z-index:1;min-height:0}.schedule-cell.is-drop-target{background:color-mix(in srgb, var(--pale-sky), transparent 45%);outline:2px dashed var(--air-force-blue);outline-offset:-4px}.schedule-slot-card.group-color-0{--group-hue:160}.schedule-slot-card.group-color-1{--group-hue:218}.schedule-slot-card.group-color-2{--group-hue:265}.schedule-slot-card.group-color-3{--group-hue:35}.schedule-slot-card.group-color-4{--group-hue:345}.schedule-slot-card.group-color-5{--group-hue:186}.schedule-slot-card.group-color-6{--group-hue:295}.schedule-slot-card.group-color-7{--group-hue:238}.schedule-slot-card.subject-tone-0,.schedule-slot-card:not([class*=subject-tone-]){--card-accent:hsl(var(--group-hue,160), 75%, 36%);--card-bg:color-mix(in srgb, hsl(var(--group-hue,160), 75%, 45%) 8%, var(--surface));--card-border:color-mix(in srgb, hsl(var(--group-hue,160), 75%, 45%) 30%, transparent)}.schedule-slot-card.subject-tone-1{--card-accent:hsl(calc(var(--group-hue,160) + 14), 85%, 28%);--card-bg:color-mix(in srgb, hsl(calc(var(--group-hue,160) + 14), 85%, 34%) 13%, var(--surface));--card-border:color-mix(in srgb, hsl(calc(var(--group-hue,160) + 14), 85%, 34%) 40%, transparent)}.schedule-slot-card.subject-tone-2{--card-accent:hsl(calc(var(--group-hue,160) - 15), 70%, 42%);--card-bg:color-mix(in srgb, hsl(calc(var(--group-hue,160) - 15), 70%, 50%) 10%, var(--surface));--card-border:color-mix(in srgb, hsl(calc(var(--group-hue,160) - 15), 70%, 50%) 34%, transparent)}.schedule-slot-card.subject-tone-3{--card-accent:hsl(calc(var(--group-hue,160) + 26), 80%, 32%);--card-bg:color-mix(in srgb, hsl(calc(var(--group-hue,160) + 26), 80%, 40%) 15%, var(--surface));--card-border:color-mix(in srgb, hsl(calc(var(--group-hue,160) + 26), 80%, 40%) 45%, transparent)}.schedule-slot-card{--slot-title-lines:1;background:var(--card-bg,var(--surface));border:1px solid var(--card-border,color-mix(in srgb, var(--card-accent,var(--sea-green)), transparent 65%));border-left:.28rem solid var(--card-accent,var(--sea-green));border-radius:calc(var(--radius) - 2px);z-index:3;flex-direction:column;justify-content:space-between;gap:.25rem;min-height:2.25rem;margin:.25rem;padding:.45rem .5rem;transition:box-shadow .2s,transform .2s,border-color .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 6px #004f2d0f}.schedule-board.is-editing .schedule-slot-card{cursor:grab;border-style:dashed dashed dashed solid;box-shadow:0 10px 24px #004f2d1f}.schedule-board.is-editing .schedule-slot-card:active{cursor:grabbing;opacity:.9;z-index:12}.schedule-slot-card.is-dragging{opacity:.55;z-index:10;transform:rotate(.5deg)scale(.99)}.slot-resize-handle{background:color-mix(in srgb, var(--dark-spruce), transparent 72%);cursor:ns-resize;border-radius:999px;height:.35rem;display:none;position:absolute;bottom:.25rem;left:1.1rem;right:1.1rem}.schedule-board.is-editing .slot-resize-handle{display:block}.slot-card-header{min-width:0;padding-right:1.8rem;display:block}.slot-subject-title{line-clamp:var(--slot-title-lines);text-overflow:ellipsis;-webkit-line-clamp:var(--slot-title-lines);-webkit-box-orient:vertical;min-width:0;font-size:.84rem;font-weight:800;line-height:1.18;display:-webkit-box;overflow:hidden}.slot-card-body{flex:auto;align-items:center;min-width:0;margin:auto 0;display:flex}.slot-time{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.75rem;font-weight:700;overflow:hidden}.slot-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.2rem .4rem;margin-top:auto;display:flex}.slot-group{color:var(--card-accent,var(--sea-green));text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:.82rem;font-weight:800;overflow:hidden}.slot-classroom{background:color-mix(in srgb, var(--pale-sky), transparent 65%);color:var(--muted);border-radius:3px;width:fit-content;padding:.08rem .3rem;font-size:.72rem;font-weight:700;display:inline-block}.slot-card-actions{opacity:0;z-index:5;align-items:center;gap:.25rem;transition:opacity .15s;display:flex;position:absolute;top:.25rem;right:.25rem}.schedule-slot-card:hover .slot-card-actions,.schedule-slot-card:focus-within .slot-card-actions,.schedule-board.is-editing .slot-card-actions{opacity:1}.slot-card-actions .icon-button{width:1.65rem;height:1.65rem;min-height:1.65rem;padding:.2rem}.schedule-empty-cell{place-self:center}.assignment-team-builder,.assignment-team-builder-livewire{background:color-mix(in srgb, var(--surface-alt), var(--surface) 50%);border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);flex-direction:column;gap:1rem;padding:1.15rem;display:flex;box-shadow:0 1px 3px #00000008}.assignment-team-builder[hidden],.assignment-team-builder-livewire[hidden]{display:none}.team-builder-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.75rem;display:flex}.team-builder-title-group{align-items:center;gap:.75rem;display:flex}.team-builder-badge-icon{background:color-mix(in srgb, var(--sea-green), transparent 88%);width:2.5rem;height:2.5rem;color:var(--sea-green);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.team-builder-badge-icon .icon{width:1.25rem;height:1.25rem}.team-builder-title-group h3{color:var(--ink);margin:0;font-size:1.05rem;font-weight:700}.team-builder-title-group p{color:var(--muted);margin:.15rem 0 0;font-size:.82rem}.team-builder-stats{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;padding:0;display:flex}.team-builder-stats .stat-pill,.team-builder-stats span{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:999px;align-items:center;gap:.45rem;margin:0;padding:.35rem .75rem;font-size:.78rem;display:inline-flex;box-shadow:0 1px 2px #00000005}.team-builder-stats .stat-pill dt{color:var(--muted);margin:0;font-weight:500}.team-builder-stats .stat-pill dd{color:var(--ink);margin:0;font-weight:800}.team-builder-stats .stat-pill.is-success{background:color-mix(in srgb, var(--sea-green), transparent 92%);border-color:color-mix(in srgb, var(--sea-green), transparent 65%)}.team-builder-stats .stat-pill.is-success dd{color:var(--sea-green)}.team-builder-stats .stat-pill.is-warning{background:color-mix(in srgb, var(--warning), transparent 92%);border-color:color-mix(in srgb, var(--warning), transparent 65%)}.team-builder-stats .stat-pill.is-warning dd{color:var(--warning)}.team-builder-controls{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.85rem;padding:.85rem 1rem;display:flex;box-shadow:0 1px 2px #00000005}.team-controls-inputs{flex-wrap:wrap;flex:auto;align-items:flex-end;gap:.75rem;display:flex}.team-controls-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.team-builder-controls .compact-field{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:600;display:flex}.team-builder-controls .compact-field select,.team-builder-controls .compact-field input{border-radius:calc(var(--radius) - 3px);border:1px solid var(--line);background:var(--surface-alt);height:2.35rem;font:inherit;color:var(--ink);padding:0 .65rem;font-size:.85rem;transition:border-color .15s,box-shadow .15s}.team-builder-controls .compact-field select:focus,.team-builder-controls .compact-field input:focus{border-color:var(--sea-green);box-shadow:0 0 0 3px color-mix(in srgb, var(--sea-green), transparent 85%);outline:none}.team-builder-controls .button{align-items:center;gap:.4rem;height:2.35rem;padding:0 .85rem;font-size:.82rem;font-weight:600;display:inline-flex}.team-builder-controls .button.text-danger:hover{color:var(--danger);background:color-mix(in srgb, var(--danger), transparent 90%)}.team-builder-workspace{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:.85rem;display:grid}.student-picker,.manual-team-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.75rem;min-width:0;padding:.85rem 1rem;display:flex}.student-picker header,.manual-team-panel header{border-bottom:1px solid color-mix(in srgb, var(--line), transparent 40%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.5rem;display:flex}.student-picker header h4,.manual-team-panel header h4{color:var(--ink);margin:0;font-size:.92rem;font-weight:700}.student-picker header p,.manual-team-panel header p{color:var(--muted);margin:.15rem 0 0;font-size:.78rem}.student-chip-list{flex-wrap:wrap;gap:.45rem;max-height:12rem;padding-right:.25rem;display:flex;overflow-y:auto}.student-chip{background:var(--surface-alt);border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;text-align:left;border-radius:999px;align-items:center;gap:.5rem;max-width:100%;padding:.35rem .65rem;transition:all .15s;display:inline-flex}.student-chip:hover{background:color-mix(in srgb, var(--pale-sky), transparent 70%);border-color:color-mix(in srgb, var(--sea-green), var(--line) 40%);transform:translateY(-1px)}.student-chip.is-selected{background:color-mix(in srgb, var(--sea-green), transparent 88%);border-color:var(--sea-green);color:var(--dark-spruce);font-weight:600}.student-chip-avatar,.student-avatar-initial{background:color-mix(in srgb, var(--sea-green), transparent 82%);width:1.6rem;height:1.6rem;color:var(--sea-green);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:inline-flex}.student-chip-details{flex-direction:column;min-width:0;line-height:1.15;display:flex}.student-chip-details strong{white-space:nowrap;text-overflow:ellipsis;max-width:14rem;font-size:.8rem;overflow:hidden}.student-chip-details span{color:var(--muted);font-size:.7rem;font-weight:500}.student-chip-check{color:var(--sea-green);justify-content:center;align-items:center;display:inline-flex}.student-chip-check .icon{width:.95rem;height:.95rem}.selected-chip-list{flex-wrap:wrap;align-content:flex-start;gap:.4rem;min-height:3rem;display:flex}.selected-chip-badge{background:color-mix(in srgb, var(--sea-green), transparent 90%);border:1px solid color-mix(in srgb, var(--sea-green), transparent 60%);color:var(--ink);border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .55rem;font-size:.78rem;display:inline-flex}.selected-chip-name{white-space:nowrap;text-overflow:ellipsis;max-width:10rem;font-weight:600;overflow:hidden}.selected-chip-remove{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:color .15s;display:inline-flex}.selected-chip-remove:hover{color:var(--danger)}.selected-chip-remove .icon{width:.85rem;height:.85rem}.muted-placeholder{color:var(--muted);margin:auto 0;padding:.5rem 0;font-size:.82rem;font-style:italic}.manual-team-header{border-bottom:1px solid color-mix(in srgb, var(--line), transparent 40%);justify-content:space-between;align-items:center;padding-bottom:.6rem;display:flex}.manual-team-title-wrap{align-items:center;gap:.6rem;display:flex}.manual-team-title-wrap h4{color:var(--ink);margin:0;font-size:.92rem;font-weight:700}.selection-count-pill{background:color-mix(in srgb, var(--sea-green), transparent 88%);color:var(--sea-green);border-radius:999px;align-items:center;padding:.2rem .6rem;font-size:.74rem;font-weight:700;display:inline-flex}.manual-team-actions{border-top:1px solid color-mix(in srgb, var(--line), transparent 40%);margin-top:auto;padding-top:.65rem}.btn-create-team{border-radius:calc(var(--radius) - 2px);background:var(--sea-green);color:#fff;cursor:pointer;width:100%;min-height:2.65rem;box-shadow:0 2px 8px color-mix(in srgb, var(--sea-green), transparent 65%);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-family:inherit;font-size:.88rem;font-weight:700;transition:all .18s;display:inline-flex}.btn-create-team:hover:not(:disabled){background:color-mix(in srgb, var(--sea-green), black 12%);box-shadow:0 4px 14px color-mix(in srgb, var(--sea-green), transparent 50%);transform:translateY(-1px)}.btn-create-team:active:not(:disabled){transform:translateY(0)}.btn-create-team:disabled{background:color-mix(in srgb, var(--surface-alt), var(--line) 40%);color:var(--muted);border:1px solid var(--line);box-shadow:none;cursor:not-allowed;opacity:.65;transform:none}.btn-create-team .icon{width:1.1rem;height:1.1rem}.empty-available-students{background:color-mix(in srgb, var(--sea-green), transparent 93%);border:1px solid color-mix(in srgb, var(--sea-green), transparent 70%);border-radius:var(--radius);color:var(--dark-spruce);align-items:center;gap:.6rem;padding:1rem .95rem;font-size:.84rem;font-weight:600;display:flex}.empty-available-students .icon{width:1.25rem;height:1.25rem;color:var(--sea-green);flex-shrink:0}.empty-available-students p{margin:0;line-height:1.35}.teamwork-info-banner{background:color-mix(in srgb, var(--pale-sky), transparent 82%);border:1px solid color-mix(in srgb, var(--sea-green), transparent 60%);border-radius:var(--radius);align-items:center;gap:.85rem;padding:.85rem 1rem;display:flex}.teamwork-info-icon{background:color-mix(in srgb, var(--sea-green), transparent 85%);width:2.25rem;height:2.25rem;color:var(--sea-green);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.teamwork-info-icon .icon{width:1.2rem;height:1.2rem}.teamwork-info-body{flex-direction:column;gap:.2rem;min-width:0;display:flex}.teamwork-info-body strong{color:var(--ink);font-size:.9rem;font-weight:700}.teamwork-info-body p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.35}.team-list{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem;min-width:0;margin-top:.25rem;display:grid}.team-card{background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;overflow:hidden;box-shadow:0 2px 6px #00000008}.team-card:hover{border-color:color-mix(in srgb, var(--sea-green), var(--line) 40%);transform:translateY(-2px);box-shadow:0 6px 18px #0000000f}.team-card-header{background:color-mix(in srgb, var(--surface-alt), var(--surface) 65%);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .95rem;display:flex}.team-card-meta{align-items:center;gap:.65rem;min-width:0;display:flex}.team-card-icon{background:color-mix(in srgb, var(--sea-green), transparent 88%);width:2rem;height:2rem;color:var(--sea-green);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.team-card-icon .icon{width:1.05rem;height:1.05rem}.team-card-heading{flex-direction:column;min-width:0;display:flex}.team-card-heading h4{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;font-weight:700;line-height:1.2;overflow:hidden}.team-member-counter{color:var(--muted);letter-spacing:.02em;font-size:.72rem;font-weight:600}.team-card-delete-btn{width:1.85rem;height:1.85rem;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.team-card-delete-btn:hover{background:color-mix(in srgb, var(--danger), transparent 88%);border-color:color-mix(in srgb, var(--danger), transparent 65%);color:var(--danger);transform:scale(1.05)}.team-card-delete-btn .icon{width:.95rem;height:.95rem}.team-card header .icon-button{border-radius:6px;width:auto;min-width:1.85rem;min-height:1.85rem;padding:.2rem .4rem;font-size:.78rem}.team-member-list{flex-direction:column;flex:auto;gap:.45rem;margin:0;padding:.75rem .85rem;list-style:none;display:flex}.team-member-item{background:var(--surface-alt);border:1px solid color-mix(in srgb, var(--line), transparent 30%);border-radius:8px;justify-content:space-between;align-items:center;gap:.65rem;min-width:0;padding:.45rem .65rem;transition:background .15s,border-color .15s;display:flex}.team-member-item:hover{background:color-mix(in srgb, var(--pale-sky), transparent 82%);border-color:color-mix(in srgb, var(--sea-green), var(--line) 45%)}.team-member-avatar{background:color-mix(in srgb, var(--pale-sky), var(--surface) 30%);width:1.75rem;height:1.75rem;color:var(--dark-spruce);border:1px solid color-mix(in srgb, var(--line), transparent 20%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:inline-flex}.team-member-info{flex-direction:column;flex:auto;min-width:0;line-height:1.2;display:flex}.team-member-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;overflow:hidden}.team-member-matricula{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:500;overflow:hidden}.team-member-remove-btn{width:1.6rem;height:1.6rem;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.team-member-remove-btn:hover{background:color-mix(in srgb, var(--danger), transparent 86%);color:var(--danger);transform:scale(1.1)}.team-member-remove-btn .icon{width:.85rem;height:.85rem}.team-member-empty{text-align:center;color:var(--muted);padding:1.25rem .5rem;font-size:.8rem;font-style:italic;list-style:none}.team-list-empty{text-align:center;background:var(--surface);border:2px dashed var(--line);border-radius:var(--radius);flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;padding:2.5rem 1.5rem;display:flex}.team-empty-icon{background:color-mix(in srgb, var(--pale-sky), transparent 60%);width:3.5rem;height:3.5rem;color:var(--sea-green);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.75rem;display:flex}.team-empty-icon .icon{width:1.75rem;height:1.75rem}.team-list-empty h4{color:var(--ink);margin:0 0 .35rem;font-size:1rem;font-weight:700}.team-list-empty p{color:var(--muted);max-width:24rem;margin:0;font-size:.85rem}.team-member-chip{background:var(--surface-alt);border:1px solid var(--line);border-radius:calc(var(--radius) - 3px);justify-content:space-between;align-items:center;gap:.45rem;width:100%;min-width:0;max-width:100%;padding:.35rem .65rem;display:flex}.team-member-chip span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;font-weight:600;overflow:hidden}.team-member-chip button{background:color-mix(in srgb, var(--danger), transparent 88%);border:1px solid color-mix(in srgb, var(--danger), transparent 60%);color:var(--danger);cursor:pointer;font:inherit;border-radius:6px;flex:none;padding:.2rem .45rem;font-size:.72rem;font-weight:700}.context-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.context-summary span{color:var(--muted);font-weight:800}.backfill-layout{gap:1rem;display:grid}.backfill-date-panel,.backfill-class-panel,.backfill-form-panel{align-content:start;gap:.85rem;display:grid}.backfill-date-panel .inline-form{align-items:end}.backfill-class-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.backfill-class-card{border-left:.28rem solid var(--sea-green)}.backfill-class-card.is-selected{border-color:var(--sea-green);box-shadow:0 12px 28px #004f2d1f}.backfill-class-card header{justify-content:space-between;align-items:start;gap:.65rem;display:flex}.backfill-class-card h3,.backfill-class-card p{margin:0}.backfill-class-card h3{font-size:1rem;line-height:1.2}.backfill-class-card footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding-top:.65rem;display:flex}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:.5rem;display:flex}.context-grid{gap:.85rem;display:grid}.compact-context-grid{grid-template-columns:1fr}.context-card.compact-card,.compact-card{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);gap:.65rem;padding:.75rem;display:grid}.section-header.compact{align-items:start;gap:.5rem}.section-header.compact h2,.section-header.compact p{margin:0}.section-header.compact h2{font-size:1rem}.section-header.compact p:not(.eyebrow){color:var(--muted);font-size:.85rem}.checkbox-panel{background:color-mix(in srgb, var(--pale-sky), transparent 82%);border:2px solid var(--line);border-radius:var(--radius);gap:.55rem;padding:.75rem;display:grid}.checkbox-panel[hidden]{display:none}.checkbox-panel legend{color:var(--ink);padding:0 .3rem;font-weight:900}.checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.4rem;max-height:12rem;display:grid;overflow-y:auto}.checkbox-grid.compact label{background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius) - 4px);align-items:center;gap:.45rem;padding:.45rem .55rem;display:flex}.checkbox-grid label[hidden]{display:none}.compact-badge{font-size:.75rem;font-weight:700}.fieldset-header{box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;margin-bottom:.5rem;font-weight:800;display:flex}.checkbox-list-panel{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);gap:.5rem;padding:.55rem;display:grid}.checkbox-list-tools{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.grow-field{flex:220px}.checkbox-list-scroll{gap:.25rem;max-height:16rem;padding-right:.25rem;display:grid;overflow-y:auto}.checkbox-item{border-radius:calc(var(--radius) - 2px);cursor:pointer;align-items:center;gap:.5rem;padding:.35rem .5rem;transition:background .2s;display:flex}.checkbox-item:hover,.checkbox-item:focus-within{background:var(--surface-alt)}@media (width>=901px){.schedule-day-nav{display:none}.group-detail-layout{grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr)}.profile-layout{grid-template-columns:minmax(260px,340px) minmax(0,760px);max-width:1120px}.schedule-board{grid-template-columns:5.5rem repeat(5,minmax(10.5rem,1fr));grid-auto-rows:1.375rem;min-width:58rem}.assignment-team-builder>header{justify-content:space-between;align-items:center;display:flex}.team-builder-workspace{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr)}}@media (width<=760px){.assignment-board-header,.assignment-context-option,.assignment-type-column,.assignment-work-card{padding:.65rem}.assignment-type-board{grid-template-columns:1fr}.assignment-work-card>header{display:grid}.assignment-work-card .row-actions .button{flex:100%}.evaluation-context-card,.evaluation-partial-card,.evaluation-capture-form{padding:.65rem}.evaluation-card-metrics{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.evaluation-capture-form input[type=number]{max-width:none}.assignment-team-builder{gap:.65rem;padding:.65rem;overflow:hidden}.assignment-team-builder>header,.team-builder-controls,.student-picker>header,.manual-team-panel>header{align-items:stretch;gap:.55rem;display:grid}.team-builder-stats{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;display:grid}.team-builder-stats span{text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.team-builder-controls .button,.manual-team-panel>header .button{justify-content:center;width:100%;min-width:0}.student-picker,.manual-team-panel,.team-card{padding:.55rem}.student-chip-list{max-height:9rem}.student-chip{max-width:100%;min-height:2.35rem;padding:.35rem .55rem}.team-member-chip{width:100%}}@media (width<=420px){.team-builder-stats{grid-template-columns:1fr}.team-list{gap:.5rem}}.table-card{min-width:0;max-width:100%;overflow-x:auto}table,thead,tbody,tr,th,td{min-width:0;display:block}table{border-collapse:collapse;width:100%;max-width:100%}thead{display:none}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--muted);text-transform:uppercase;font-size:.78rem}tr{border:1px solid var(--line);border-radius:var(--radius);min-width:0;margin-bottom:.75rem;padding:.6rem}td{white-space:normal;overflow-wrap:anywhere;border:0;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:.5rem;padding:.4rem;display:grid}td:before{color:var(--muted);content:attr(data-label);font-weight:700}.dense-table th,.dense-table td{padding:.55rem .65rem}.pagination,.pagination-wrapper{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:.5rem 0;display:flex}.pagination-summary{color:var(--muted);margin:0;font-size:.88rem}.pagination-summary strong{color:var(--text);font-weight:700}.pagination-list{flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.page-item{display:inline-flex}.page-link{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;min-width:2.25rem;height:2.25rem;padding:0 .6rem;font-size:.88rem;font-weight:600;text-decoration:none;transition:all .18s;display:inline-flex}.page-link:hover{background:color-mix(in srgb, var(--sea-green) 10%, var(--surface));border-color:var(--sea-green);color:var(--sea-green)}.page-item.is-active .page-link{background:var(--sea-green);border-color:var(--sea-green);color:#fff;cursor:default;box-shadow:0 2px 6px #00784640}.page-item.is-disabled .page-link{border-color:var(--line);cursor:not-allowed;opacity:.4;pointer-events:none}.page-link.ellipsis{cursor:default;background:0 0;border:none}.pagination a,.pagination span,.pagination strong{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.55rem .8rem;transition:all .15s}.pagination a:hover{border-color:var(--cool-steel);background:color-mix(in srgb, var(--surface-alt), var(--surface) 50%)}@media (width>=761px){table,thead,tbody,tr,th,td{display:revert}table{min-width:min(760px,100%)}tbody tr{transition:background-color .15s}tbody tr:hover{background-color:color-mix(in srgb, var(--surface-alt), var(--surface) 40%)}tr{border:none;border-radius:0;margin-bottom:0;padding:0}td{border-bottom:1px solid var(--line);white-space:nowrap;overflow-wrap:normal;padding:.68rem .75rem;display:table-cell}td:before{content:none;display:none}}.form-grid,.form-stack{gap:.9rem;min-width:0;display:grid}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}label,.inline-form{gap:.35rem;min-width:0;display:grid}.inline-form{flex-wrap:wrap;align-items:end;gap:.65rem;display:flex}.unified-search-form{flex:420px;align-items:center;min-width:min(100%,320px)}.unified-search-form .search-field{flex:clamp(14rem,24vw,24rem);min-width:min(100%,14rem)}.unified-search-form .compact-field:not(.search-field){flex:0 12rem}.push-end{margin-left:auto}label span{color:var(--muted);font-size:.85rem;font-weight:700}input,select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);width:100%;min-width:0;min-height:2.55rem;padding:.6rem .8rem;transition:border-color .18s,box-shadow .18s}select[multiple]{min-height:9rem;padding:.45rem}select[multiple] option{border-radius:calc(var(--radius) - 2px);padding:.35rem .45rem}input:hover,select:hover,textarea:hover{border-color:var(--cool-steel)}input:focus,select:focus,textarea:focus{border-color:var(--sea-green);box-shadow:0 0 0 3px color-mix(in srgb, var(--sea-green), transparent 85%);outline:none}input[type=checkbox],input[type=radio]{width:auto;min-height:auto;margin:0}textarea{resize:vertical;min-height:7rem}.full{grid-column:1/-1}.check-row{align-items:center;gap:.5rem;display:flex}.form-actions{flex-wrap:wrap;justify-content:stretch;align-items:stretch;gap:.65rem;display:flex}.form-actions .button{flex:100%}.button,.icon-button{border-radius:var(--radius);cursor:pointer;border:0;justify-content:center;align-items:center;gap:.45rem;max-width:100%;min-height:2.5rem;padding:.6rem .95rem;font-weight:700;transition:all .18s;display:inline-flex}.button{text-overflow:ellipsis;min-width:0;overflow:hidden}.button:hover,.icon-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.button:active,.icon-button:active{transform:translateY(0)}.icon-button{width:2.5rem}.primary{background:var(--sea-green);color:#fff}.primary:hover{background:color-mix(in srgb, var(--sea-green), black 10%)}.secondary{background:var(--pale-sky);color:var(--dark-spruce)}.secondary:hover{background:color-mix(in srgb, var(--pale-sky), var(--cool-steel) 35%)}.ghost{border:1px solid var(--line);color:var(--ink);background:0 0}.ghost:hover{background:color-mix(in srgb, var(--surface-alt), var(--surface) 60%);border-color:var(--cool-steel)}.danger{background:var(--danger);color:#fff}.warning{background:var(--warning);color:var(--ink)}.disabled,.button:disabled{background:color-mix(in srgb, var(--muted), transparent 75%);color:var(--muted);cursor:not-allowed;transform:none}.file-picker{background:var(--surface);border:1px dashed var(--cool-steel);border-radius:var(--radius);cursor:pointer;min-width:220px;padding:.55rem .75rem}.file-picker input{opacity:0;inline-size:1px;position:absolute}.file-picker>span{color:var(--ink);align-items:center;gap:.45rem;display:flex}.file-picker small{color:var(--muted);margin-top:.25rem;display:block}.help-text{color:var(--muted);font-size:.85rem;display:block}.select-filter{gap:.4rem;min-width:min(240px,100%);display:grid}.select-filter input{min-height:2.2rem}.select-actions{gap:.5rem;margin:.5rem 0;display:flex}.inline-form label,.command-bar label{min-width:min(260px,100%)}.command-bar .inline-form{align-items:center}.command-bar .button,.command-bar .file-picker{min-height:2.25rem}.command-bar .button,.command-bar .icon-button{padding:.45rem .75rem}.command-bar label{flex:0 auto;align-items:stretch;gap:.45rem;width:100%;display:grid}.command-bar label span{white-space:nowrap;margin:0;font-size:.78rem}.command-bar .select-filter{align-items:stretch;gap:.4rem;width:100%;min-width:0;display:grid}.command-bar .select-filter input,.command-bar .select-filter select{width:100%;max-width:none;min-height:2.25rem;padding:.45rem .65rem}.command-bar .file-picker{align-items:stretch;gap:.45rem;width:100%;min-width:220px;max-width:none;padding:.38rem .65rem;display:flex}.command-bar .file-picker>span,.command-bar .file-picker small{white-space:nowrap;min-width:0;margin:0}.command-bar .file-picker small{text-overflow:ellipsis;max-width:140px;overflow:hidden}.readiness-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;display:grid}.readiness-card{border:2px solid var(--line);border-radius:var(--radius);gap:.25rem;padding:.75rem;display:grid}.readiness-card span{color:var(--muted);font-size:.85rem}.readiness-card.ready{border-color:var(--sea-green)}.wide-action{justify-content:center;width:100%}.first-setup-actions{margin-top:1rem}@media (width>=761px){.form-actions{justify-content:flex-end;align-items:center}.form-actions .button{flex:none}.command-bar label,.command-bar .select-filter,.command-bar .file-picker{align-items:center;width:auto}.command-bar label,.command-bar .select-filter{display:flex}.command-bar .select-filter input{width:clamp(10rem,16vw,15rem)}.command-bar .select-filter select{width:clamp(9rem,13vw,13rem)}.command-bar .unified-search-form{justify-content:flex-end;max-width:100%}.command-bar .unified-search-form .search-field{width:clamp(16rem,24vw,25rem);display:block}.command-bar .unified-search-form .compact-field:not(.search-field){width:clamp(9rem,13vw,14rem);display:block}.command-bar .file-picker{max-width:320px}}@media (width<=760px){.inline-form,.toolbar,.form-actions{align-items:stretch}.button{white-space:normal}.unified-search-form{flex:100%;width:100%;min-width:0}.unified-search-form .compact-field,.unified-search-form .search-field{flex:100%;width:100%}}.list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.list li{border-bottom:2px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;display:flex}.compact-list{gap:.25rem}.compact-list li{padding:.42rem 0}.list span{color:var(--muted)}.modal{border-radius:var(--radius);box-shadow:var(--shadow);border:0;width:min(94vw,680px);max-width:680px;padding:0;animation:.18s both modal-in}.modal.large{width:min(96vw,880px);max-width:880px}.modal.assignment-modal{width:min(98vw,1280px);max-width:1280px}.modal::backdrop{background:#00000073}.modal article{background:var(--surface);color:var(--ink);max-height:min(92dvh,980px);padding:1rem;overflow:hidden auto}.modal header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal header button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-family:monospace;font-size:1.5rem;line-height:1;transition:background-color .15s,color .15s;display:flex}.modal header button:hover,.modal header button:focus-visible{background:var(--surface-alt);color:var(--danger);outline:none}.modal header button:active{background:color-mix(in srgb, var(--danger), transparent 88%)}.confirm-modal header{justify-content:flex-start}.modal-icon{border-radius:var(--radius);color:var(--danger);background:#a638381f;justify-content:center;align-items:center;width:3rem;height:3rem;display:inline-flex}.modal-icon.setup-icon{color:var(--primary);background:#1863dc1f}.first-setup-modal{max-width:580px}.first-setup-modal header{justify-content:flex-start}.first-setup-header-content{align-items:center;gap:1rem;display:flex}.first-setup-description{color:var(--muted);margin-bottom:1.25rem;font-size:.95rem;line-height:1.5}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.7rem;margin-top:1.2rem;display:flex}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=760px){.modal,.modal.large,.modal.assignment-modal{width:min(96vw,42rem);max-width:none}.modal article{padding:.75rem}.modal header{align-items:flex-start;gap:.65rem;margin-bottom:.75rem}.modal-actions{gap:.5rem;margin-top:.85rem}}.alert{border:2px solid var(--line);border-radius:var(--radius);padding:.85rem 1rem}.alert.success{background:#0a87541f;border-color:#0a87544d}.alert.danger{background:#a638381f;border-color:#a638384d}.toast-container{pointer-events:none;z-index:9999;flex-direction:column;gap:1rem;display:flex;position:fixed;bottom:2rem;right:2rem}.toast{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow);pointer-events:auto;max-width:400px;margin:0;animation:.3s cubic-bezier(.16,1,.3,1) forwards toast-in}.toast.toast-closing{animation:.2s ease-in forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{to{opacity:0;transform:translate(100%)}}canvas[data-chart]{width:100%;max-height:320px}.dashboard-grid{grid-template-columns:1fr;gap:1rem;display:grid}.chart-panel{min-height:360px}.dashboard-livewire{gap:1.5rem;display:grid}.dashboard-section{gap:1rem;display:grid}.performance-card p{color:var(--muted);margin:.5rem 0 1rem}.performance-card footer{gap:.5rem;margin-top:auto;display:flex}@media (width>=901px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.auth-shell{background:linear-gradient(90deg, color-mix(in srgb, var(--surface-alt), #fff 48%) 0 50%, color-mix(in srgb, var(--stormy-teal), #fff 82%) 50% 100%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:clamp(1rem,3vw,2rem);display:flex;overflow-x:hidden}[data-theme=dark] .auth-shell{background:linear-gradient(90deg, #141916 0 50%, color-mix(in srgb, var(--stormy-teal), #0b0f0d 72%) 50% 100%)}.auth-container{gap:1rem;width:min(100%,1120px);max-width:1120px;display:grid}.auth-stage{background:var(--surface);border:1px solid color-mix(in srgb, var(--line), transparent 20%);border-radius:28px;grid-template-columns:minmax(340px,.92fr) minmax(380px,1.08fr);min-height:min(720px,100vh - 5rem);display:grid;overflow:hidden;box-shadow:0 30px 80px #1f242129}[data-theme=dark] .auth-stage{background:color-mix(in srgb, var(--surface), #000 14%);border-color:color-mix(in srgb, var(--stormy-teal), transparent 52%);box-shadow:0 30px 90px #0000008c}.auth-login-panel{align-content:center;padding:clamp(2rem,6vw,4.75rem);display:grid}.auth-card-header{margin-bottom:1.75rem}.auth-logo-wrapper{background:color-mix(in srgb, var(--seaweed), #fff 84%);border:1px solid color-mix(in srgb, var(--seaweed), transparent 50%);box-shadow:0 14px 30px color-mix(in srgb, var(--seaweed), transparent 78%);border-radius:20px;justify-content:center;align-items:center;width:76px;height:76px;margin-bottom:1.1rem;display:inline-flex}[data-theme=dark] .auth-logo-wrapper{background:color-mix(in srgb, var(--stormy-teal), #000 62%)}.auth-logo{width:58px;height:58px;display:block}.auth-kicker{color:var(--sea-green);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .45rem;font-size:.78rem;font-weight:800}.auth-title{color:var(--ink);letter-spacing:0;margin:0 0 .8rem;font-size:clamp(2rem,5vw,3.25rem);font-weight:850;line-height:1}.auth-subtitle{color:var(--muted);max-width:34rem;margin:0;font-size:1rem;line-height:1.5}.auth-form{gap:1rem;display:grid}.input-group{gap:.45rem;min-width:0;display:grid}.input-label{color:var(--ink);font-size:.86rem;font-weight:750}.input-field-wrapper{align-items:center;min-width:0;display:flex;position:relative}.input-icon{color:var(--muted);pointer-events:none;z-index:2;width:1.1rem;height:1.1rem;position:absolute;left:1rem}.styled-input{background:color-mix(in srgb, var(--surface-alt), #fff 60%);border:1.5px solid color-mix(in srgb, var(--line), transparent 12%);color:var(--ink);border-radius:14px;width:100%;min-height:3.25rem;padding:0 3rem 0 2.85rem;font-family:inherit;font-size:.98rem}[data-theme=dark] .styled-input{background:color-mix(in srgb, var(--surface-alt), #000 20%);border-color:color-mix(in srgb, var(--stormy-teal), transparent 45%)}.styled-input:hover{border-color:color-mix(in srgb, var(--sea-green), transparent 20%)}.styled-input:focus{border-color:var(--sea-green);box-shadow:0 0 0 4px color-mix(in srgb, var(--sea-green), transparent 78%);outline:none}.input-field-wrapper:focus-within .input-icon{color:var(--sea-green)}.styled-input.is-invalid{border-color:var(--danger);box-shadow:0 0 0 4px color-mix(in srgb, var(--danger), transparent 84%)}.password-toggle-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;padding:0;display:flex;position:absolute;right:.45rem}.password-toggle-btn:hover,.password-toggle-btn:focus-visible{background:color-mix(in srgb, var(--seaweed), transparent 88%);color:var(--ink);outline:none}.password-toggle-btn .icon{width:1.18rem;height:1.18rem}.auth-options-row{justify-content:space-between;align-items:center;display:flex}.styled-checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.65rem;min-height:2.75rem;display:inline-flex;position:relative}.styled-checkbox{opacity:0;width:1px;height:1px;position:absolute}.checkbox-box{background:var(--surface);border:1.5px solid color-mix(in srgb, var(--line), transparent 20%);border-radius:7px;justify-content:center;align-items:center;width:1.2rem;height:1.2rem;display:inline-flex}.checkbox-check{color:#fff;opacity:0;width:.86rem;height:.86rem}.styled-checkbox:checked+.checkbox-box{background:var(--sea-green);border-color:var(--sea-green)}.styled-checkbox:checked+.checkbox-box .checkbox-check{opacity:1}.styled-checkbox:focus-visible+.checkbox-box{box-shadow:0 0 0 3px color-mix(in srgb, var(--sea-green), transparent 72%)}.checkbox-text{color:var(--ink);font-size:.9rem;font-weight:650}.auth-submit-btn{background:linear-gradient(135deg, var(--sea-green), var(--stormy-teal));box-shadow:0 14px 26px color-mix(in srgb, var(--sea-green), transparent 64%);color:#fff;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:.7rem;width:100%;min-height:3.25rem;padding:0 1.25rem;font-family:inherit;font-size:1rem;font-weight:800;display:inline-flex}.auth-submit-btn:hover,.auth-submit-btn:focus-visible{filter:brightness(1.04);outline:none}.auth-submit-btn:active{filter:brightness(.96)}.submit-arrow{width:1.1rem;height:1.1rem}.auth-alert{background:color-mix(in srgb, var(--danger), transparent 90%);border:1px solid color-mix(in srgb, var(--danger), transparent 65%);color:var(--danger);border-radius:14px;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;padding:.85rem 1rem;display:flex}[data-theme=dark] .auth-alert{color:#fca5a5;background:#a6383829}.auth-alert-icon{flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.1rem}.auth-alert-content{font-size:.88rem;line-height:1.4}.auth-alert-content strong{margin-bottom:.2rem;font-weight:800;display:block}.auth-alert-content p{margin:0}.auth-card-footer{border-top:1px solid color-mix(in srgb, var(--line), transparent 72%);margin-top:1.5rem;padding-top:1rem}.auth-security-badge{color:var(--muted);align-items:center;gap:.45rem;font-size:.82rem;font-weight:700;display:inline-flex}.security-check-icon{color:var(--sea-green);width:1rem;height:1rem}.auth-visual-panel{background:linear-gradient(135deg, color-mix(in srgb, var(--stormy-teal), #fff 10%), color-mix(in srgb, var(--seaweed), #fff 22%));color:#fff;grid-template-rows:auto 1fr;padding:clamp(2rem,5vw,4.5rem);display:grid;position:relative;overflow:hidden}.auth-visual-panel:before{content:"";opacity:.26;background-color:#0000;background-image:linear-gradient(90deg,#ffffff1f 1px,#0000 1px),linear-gradient(0deg,#ffffff1a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:56px 56px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.auth-visual-panel>*{z-index:1;position:relative}.auth-visual-copy{align-self:start;max-width:36rem}.auth-institution-pill{letter-spacing:.06em;text-transform:uppercase;background:#ffffff21;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:.55rem;margin-bottom:1.3rem;padding:.48rem .85rem;font-size:.75rem;font-weight:800;display:inline-flex}.pill-dot{background:#dce1de;border-radius:50%;width:.46rem;height:.46rem;display:inline-block}.auth-visual-copy h2{letter-spacing:0;max-width:12ch;margin:0 0 1rem;font-size:clamp(2rem,5vw,3.45rem);font-weight:850;line-height:1.02}.auth-visual-copy p{color:#ffffffd1;max-width:32rem;margin:0;font-size:1.05rem;line-height:1.55}.auth-dashboard-preview{color:var(--carbon-black);background:#ffffffeb;border:1px solid #ffffffad;border-radius:22px;align-self:end;gap:1rem;margin-top:2rem;padding:clamp(1.1rem,3vw,1.55rem);display:grid;box-shadow:0 30px 70px #0f172047}[data-theme=dark] .auth-dashboard-preview{background:color-mix(in srgb, var(--carbon-black), #fff 6%);color:var(--alabaster-grey)}.preview-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.preview-header span,.preview-progress span,.preview-hour{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:800}.preview-header strong{font-size:1rem}.preview-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.preview-metrics span{background:color-mix(in srgb, var(--seaweed), transparent 88%);border:1px solid color-mix(in srgb, var(--seaweed), transparent 70%);color:var(--dark-spruce);border-radius:14px;gap:.15rem;padding:.75rem;font-size:.78rem;font-weight:750;display:grid}.preview-metrics strong{color:var(--ink);font-size:1.35rem;line-height:1}.preview-schedule{grid-template-columns:4rem 1fr;gap:.65rem;max-height:18rem;padding-right:.15rem;display:grid;overflow-y:auto}.preview-line{background:var(--surface-alt);border-left:4px solid var(--stormy-teal);border-radius:12px;gap:.15rem;min-width:0;padding:.72rem .85rem;display:grid}.preview-line.is-active{border-left-color:var(--sea-green)}.preview-line strong,.preview-line small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-line small{color:var(--muted);font-weight:800}.preview-empty{background:color-mix(in srgb, var(--seaweed), transparent 88%);border:1px solid color-mix(in srgb, var(--seaweed), transparent 68%);border-radius:16px;gap:.25rem;padding:1rem;display:grid}.preview-empty strong{color:var(--ink);font-size:1rem}.preview-empty span{color:var(--muted);font-size:.88rem;font-weight:700}.preview-progress{background:color-mix(in srgb, var(--stormy-teal), transparent 88%);border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.preview-progress strong{color:var(--dark-spruce);font-size:.92rem}.auth-page-footer{text-align:center}.auth-page-footer p{color:var(--muted);margin:0;font-size:.82rem;font-weight:650}@media (width<=920px){.auth-shell{background:linear-gradient(180deg, color-mix(in srgb, var(--surface-alt), #fff 48%), color-mix(in srgb, var(--stormy-teal), #fff 84%))}.auth-stage{grid-template-columns:1fr}.auth-visual-panel{order:-1;min-height:420px}.auth-visual-copy h2{max-width:16ch}}@media (width<=640px){.auth-shell{align-items:stretch;padding:0}.auth-container{width:100%}.auth-stage{box-shadow:none;border:0;border-radius:0;min-height:100vh}.auth-login-panel,.auth-visual-panel{padding:1.35rem}.auth-visual-panel{min-height:auto}.auth-dashboard-preview{display:none}.auth-visual-copy h2{max-width:14ch;font-size:2rem}.auth-page-footer{display:none}}@media (width<=420px){.auth-login-panel{padding:1.1rem}.auth-title{font-size:2rem}.styled-input,.auth-submit-btn{min-height:3rem}.preview-metrics{grid-template-columns:1fr}}.attendance-capture{align-self:start;gap:1.25rem;min-width:0;display:grid}.attendance-heading,.attendance-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex}.attendance-heading h2{overflow-wrap:anywhere;margin-bottom:.4rem;font-size:1.3rem}.attendance-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.attendance-meta{color:var(--muted);flex-wrap:wrap;gap:.4rem 1rem;margin:0;font-size:.875rem;display:flex}.attendance-search{width:min(100%,26rem)}.attendance-roster{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;overflow:hidden;box-shadow:0 1px 4px #0000000a}.attendance-roster table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:0;margin:0}.attendance-roster thead{background:var(--surface-alt);border-bottom:1px solid var(--line)}.attendance-roster th{background:var(--surface-alt);border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.03em;text-transform:uppercase;padding:.85rem 1rem;font-size:.8rem;font-weight:700}.attendance-roster tr{background:var(--surface);transition:background-color .15s}.attendance-roster tbody tr:hover{background-color:color-mix(in srgb, var(--surface-alt), var(--surface) 40%)}.attendance-roster td{border-bottom:1px solid var(--line);vertical-align:middle;white-space:normal;padding:.75rem 1rem}.attendance-roster tbody tr:last-child td{border-bottom:none}.attendance-roster td:before{content:none}.attendance-student strong,.attendance-student>span{overflow-wrap:anywhere;display:block}.attendance-student>span{color:var(--muted);margin-top:.2rem;font-size:.8rem}.attendance-state-controls{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.attendance-state-controls .row-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:inline-flex}.attendance-state-controls .row-actions .button{cursor:pointer;min-height:36px;padding:.35rem .75rem;font-size:.85rem;font-weight:600;transition:all .15s}.attendance-check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.55rem;min-height:40px;padding:.2rem;display:inline-flex}.attendance-check input{accent-color:var(--sea-green);cursor:pointer;flex:none;width:1.35rem;height:1.35rem}.attendance-check input:disabled{cursor:default}.attendance-status{border-radius:6px;padding:.2rem .55rem;font-size:.8rem;font-weight:700;transition:all .15s;display:inline-block}.attendance-status.status-present{background:color-mix(in srgb, var(--sea-green) 16%, var(--surface));color:var(--sea-green)}.attendance-status.status-absent{background:color-mix(in srgb, var(--danger) 16%, var(--surface));color:var(--danger)}.attendance-status.status-pending{background:color-mix(in srgb, var(--warning) 22%, var(--surface));color:color-mix(in srgb, var(--warning) 60%, var(--ink))}[data-attendance-row][data-status=present] .attendance-status{color:color-mix(in srgb, var(--ink) 65%, var(--sea-green))}.attendance-capture .button,.attendance-dialog .button{white-space:normal;min-height:44px}.attendance-options input{width:100%}.attendance-options small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.25rem;display:block;overflow:hidden}.attendance-savebar{background:var(--surface);border-top:2px solid var(--line);padding:.75rem;padding-bottom:max(.75rem, env(safe-area-inset-bottom));z-index:5;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex;position:sticky;bottom:0}.attendance-totals{flex-wrap:wrap;gap:.5rem 1.1rem;font-size:.875rem;display:flex}.attendance-totals>span{white-space:nowrap}.attendance-empty{color:var(--muted);text-align:center;margin:0;padding:1.5rem .75rem}.attendance-dialog{max-width:520px;max-height:90dvh}.attendance-dialog h2{overflow-wrap:anywhere;margin:0;font-size:1.2rem}.attendance-dialog p{overflow-wrap:anywhere;line-height:1.5}.attendance-exception-options{border:0;flex-wrap:wrap;gap:.4rem;margin:0 0 .8rem;padding:0;display:flex}.attendance-exception-options legend{color:var(--muted);margin-bottom:.5rem;font-size:.875rem}.attendance-exception-options label{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;flex:auto;justify-content:center;align-items:center;gap:.45rem;min-height:44px;padding:.5rem;display:flex}.attendance-exception-options label:has(:checked){background:color-mix(in srgb, var(--sea-green) 12%, var(--surface));border-color:var(--sea-green)}.attendance-exception-options label span{color:var(--ink)}.attendance-exception-options input{accent-color:var(--sea-green)}.attendance-note-field{margin-top:.8rem}.attendance-note-field textarea{min-height:6rem}.attendance-review-totals{border-block:1px solid var(--line);grid-template-columns:1fr auto;gap:.6rem;padding-block:.75rem;display:grid}.attendance-review-totals dd{margin:0;font-weight:800}@media (width>=761px){.attendance-roster th:first-child{width:38%}.attendance-roster th:nth-child(2){width:36%}.attendance-roster th:last-child{width:26%}}@media (width<=760px){.attendance-capture{gap:.65rem}.attendance-heading,.attendance-tools{align-items:stretch;gap:.55rem;display:grid}.attendance-heading h2{margin-bottom:.25rem;font-size:1.12rem}.attendance-heading-actions{justify-content:flex-start}.attendance-savebar{gap:.55rem;padding:.55rem;position:static}.attendance-roster{box-shadow:none;background:0 0;border:none;overflow:visible}.attendance-roster tr{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:1fr;gap:.35rem .5rem;margin-bottom:.6rem;padding:.75rem;display:grid}.attendance-roster td{border-bottom:none;min-width:0;padding:.2rem 0;display:block}.attendance-student strong{line-height:1.2}.attendance-check{gap:.45rem;min-height:2.5rem;padding:.15rem 0}.attendance-check input{width:1.45rem;height:1.45rem}.attendance-check .attendance-status{font-weight:800}.attendance-options{text-align:left}.attendance-options .button{min-height:2.5rem;padding:.45rem .6rem}.attendance-search,.attendance-savebar>.button{width:100%}.attendance-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;width:100%;display:grid}.attendance-totals>span{background:color-mix(in srgb, var(--pale-sky), transparent 78%);border:1px solid var(--line);text-align:center;white-space:normal;border-radius:999px;padding:.28rem .5rem}.attendance-dialog .modal-actions>.button{flex:100%}}@media (width<=420px){.attendance-totals{grid-template-columns:1fr}.attendance-state-controls{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.attendance-capture *,.attendance-dialog,.attendance-dialog *{transition:none;animation:none}}.directory-section{flex-direction:column;gap:1.15rem;width:100%;margin-top:.65rem;display:flex}.directory-heading-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex}.directory-heading-bar h3{color:var(--text);margin:0 0 .2rem;font-size:1.18rem;font-weight:700}.directory-heading-bar p{color:var(--muted);margin:0;font-size:.88rem}.directory-grid,.roster-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-content:start;gap:1.25rem;display:grid}.directory-link{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:center;gap:1.1rem;min-width:0;padding:1.35rem 1.25rem;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;box-shadow:0 1px 3px #0000000a}.directory-link:hover,.directory-link:focus-visible{border-color:var(--sea-green);transform:translateY(-2px);box-shadow:0 6px 18px #00000014}.directory-link>section{flex:1;min-width:0}.directory-link-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.directory-link h2{color:var(--text);margin:0;font-size:1.2rem;font-weight:700}.directory-shift-badge{background:var(--surface-alt);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600}.directory-link p{color:var(--text);overflow-wrap:anywhere;margin:0 0 .45rem;font-size:.95rem;font-weight:500}.directory-link small,.roster-member small{color:var(--muted);align-items:center;gap:.35rem;font-size:.84rem;font-weight:600;display:inline-flex}.directory-symbol,.member-symbol{border-radius:calc(var(--radius) - 2px);background:color-mix(in srgb, var(--sea-green) 12%, var(--surface));width:48px;height:48px;color:var(--sea-green);flex:0 0 48px;place-items:center;display:grid}.directory-symbol .icon{width:22px;height:22px}.directory-link.unassigned .directory-symbol{background:var(--surface-alt);color:var(--muted)}.directory-link-arrow{color:var(--muted);flex:none;transition:transform .2s,color .2s}.directory-link:hover .directory-link-arrow{color:var(--sea-green);transform:translate(4px)}.directory-auxiliary-bar{background:color-mix(in srgb, var(--surface-alt), var(--surface) 60%);border:1px dashed var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:.75rem;margin-top:.35rem;padding:.75rem 1.15rem;display:flex}.roster-heading,.grading-context{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;margin-bottom:.75rem;display:flex}.roster-heading h2,.grading-context h2{margin:0;font-size:1.2rem}.roster-search{align-items:end;gap:.4rem;max-width:100%;display:flex}.roster-search label{flex:1}.roster-search input{width:min(100%,24rem)}label.roster-search{align-items:start;width:min(100%,24rem);display:grid}.grading-capture .roster-heading{justify-content:flex-start;align-items:end}.grading-context .help-text{margin:.35rem 0 0}.grading-context .eyebrow{margin-bottom:.25rem}.roster-member{border:1px solid var(--line);background:var(--surface);border-radius:6px;align-items:center;gap:.75rem;min-width:0;padding:.85rem;display:flex}.roster-member>section{overflow-wrap:anywhere;flex:1;min-width:0}.roster-member a{color:var(--ink);text-decoration:none}.roster-member a:hover{text-decoration:underline}.icon-button{flex:none;width:44px;min-height:44px;padding:.5rem}.full-width{grid-column:1/-1}.field-error{color:var(--danger);margin-top:.25rem;font-size:.85rem;display:block}.status-pending{background:color-mix(in srgb, var(--warning) 18%, var(--surface));color:var(--ink)}[data-attendance-row][data-status=pending] .attendance-status{color:var(--ink);background:color-mix(in srgb, var(--warning) 18%, var(--surface));border-radius:4px;padding:.25rem .4rem}.grading-capture{align-self:start;gap:.75rem;min-width:0;display:grid}.grading-context{border-bottom:1px solid var(--line);padding-block:.25rem .75rem}.grading-description{color:var(--muted);white-space:pre-line;margin:0 0 .75rem}.grading-roster{min-width:0}.grading-roster table{table-layout:fixed;min-width:0}.grading-roster td{white-space:normal;vertical-align:middle;padding:.65rem .75rem}.grading-roster td:first-child strong,.grading-roster td:first-child small{overflow-wrap:anywhere;display:block}.grading-roster small{color:var(--muted);font-size:.8rem}.grading-roster td:first-child .status-badge{margin-top:.3rem}.grading-roster input:not([type=checkbox]),.grading-roster select{width:100%;min-width:0}.grading-roster th:first-child{width:30%}.grading-roster .field-error{color:var(--danger)}.delivery-check{cursor:pointer;align-items:center;gap:.5rem;min-height:44px;display:inline-flex}.delivery-check input{width:1.3rem;height:1.3rem;accent-color:var(--sea-green)}.grading-savebar{z-index:5;padding:.75rem;padding-bottom:max(.75rem, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex;position:sticky;bottom:0}.grading-totals{flex-wrap:wrap;gap:.5rem 1rem;font-size:.875rem;display:flex}.grading-totals small{color:var(--muted);flex-basis:100%}.danger-zone,.historical-roster{border-top:1px solid var(--line);margin-top:1rem;padding-top:.75rem}.danger-zone summary,.historical-roster summary{cursor:pointer;padding:.5rem 0;font-weight:600}.danger-zone summary{color:var(--danger)}.danger-zone summary .icon{vertical-align:middle}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.grading-team{border-top:1px solid var(--line);min-width:0;padding-block:.5rem}.grading-team>header{flex-wrap:wrap;gap:.5rem;padding-block:.5rem}.grading-team h2{margin:0;font-size:1.125rem}.grading-team [data-team-summary],.student-progress-state{color:var(--muted);overflow-wrap:anywhere;font-size:.8rem;display:block}.team-grading-tools{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding-block:.5rem;display:flex}.team-grading-tools button,.team-grading-tools label{min-height:44px}.grading-roster td{overflow-wrap:anywhere}[hidden]{display:none!important}@media (width<=760px){.grading-context{gap:.45rem;padding-block:.15rem .55rem}.grading-capture{gap:.55rem}.grading-capture .roster-heading{align-items:stretch;gap:.5rem;display:grid}.grading-capture .compact-field,.grading-capture .select-filter{width:100%}.grading-savebar{gap:.55rem;padding:.55rem;position:static}.grading-roster tr{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .45rem;margin-bottom:.45rem;padding:.55rem;display:grid}.grading-roster td{min-width:0;padding:.15rem;display:block}.grading-roster td:first-child,.grading-roster td:last-child{grid-column:1/-1}.grading-roster td:first-child:before{content:none}.grading-roster td:before{color:var(--muted);margin-bottom:.25rem;font-size:.75rem;display:block}.grading-roster input:not([type=checkbox]),.grading-roster select{min-height:2.45rem;padding:.45rem .55rem}.delivery-check{min-height:2.45rem}.grading-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;width:100%;display:grid}.grading-totals>span{background:color-mix(in srgb, var(--pale-sky), transparent 78%);border:1px solid var(--line);text-align:center;border-radius:999px;padding:.28rem .5rem}.grading-savebar>.row-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.grading-savebar .button{white-space:normal;min-height:44px;padding:.6rem}.roster-search,.roster-search input{width:100%}}@media (width<=420px){.grading-roster tr,.grading-savebar>.row-actions,.grading-totals{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.directory-link{transition:none}}
