@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/prompt-thai-300-normal-qs9oCq2b.woff2)format("woff2"),url(/assets/prompt-thai-300-normal-CDWjDcdW.woff)format("woff")}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/prompt-thai-400-normal-BrkKv8cO.woff2)format("woff2"),url(/assets/prompt-thai-400-normal-DJypnfr3.woff)format("woff")}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/prompt-thai-500-normal-C18pDUoL.woff2)format("woff2"),url(/assets/prompt-thai-500-normal-D7YNqUJD.woff)format("woff")}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/prompt-thai-600-normal-MrdfU7zR.woff2)format("woff2"),url(/assets/prompt-thai-600-normal-CYPViXds.woff)format("woff")}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/prompt-thai-700-normal-Cg4aQ0Nn.woff2)format("woff2"),url(/assets/prompt-thai-700-normal-Cb5ilR-c.woff)format("woff")}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/prompt-thai-800-normal-C5mlVDGm.woff2)format("woff2"),url(/assets/prompt-thai-800-normal-Bs-MxK4y.woff)format("woff")}@font-face{font-family:Prompt;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/prompt-thai-900-normal-CUPIgdit.woff2)format("woff2"),url(/assets/prompt-thai-900-normal-SWXqWzko.woff)format("woff")}@font-face{font-family:TH Sarabun New;src:url(/fonts/THSarabunNew/THSarabunNew.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:TH Sarabun New;src:url(/fonts/THSarabunNew/THSarabunNew-Bold.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:TH Sarabun New;src:url(/fonts/THSarabunNew/THSarabunNew-Italic.ttf)format("truetype");font-style:italic;font-weight:400;font-display:swap}:root{color:#33243d;font-synthesis:none;text-rendering:optimizelegibility;letter-spacing:.012em;--purple-950:#351a36;--purple-900:#542750;--purple-800:#912a79;--purple-700:#a33488;--purple-100:#f3e5f0;--purple-50:#fbf3f9;--gold-500:#b8841c;--gold-700:#825b12;--ink:#33243d;--ink-muted:#756b78;--muted:var(--ink-muted);--paper:#f6f4f7;--app-canvas:#f5f3f4;--line:#ddd8e0;--line-strong:#cfc6d1;--surface:#fff;--surface-soft:#f6f4f7;--table-heading:#f6f4f7;--table-divider:#e8e3e9;--dialog-backdrop-color:#1d0f268c;--dialog-backdrop-blur:blur(6px);--font-latin:"Outfit Variable";--font-thai:"Prompt";--font-body:var(--font-latin), var(--font-thai), "Noto Sans Thai", "Leelawadee UI", Tahoma, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-page:1.875rem;--text-page-mobile:1.625rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--text-display:clamp(2.4rem, 4.8vw, 4.25rem);--text-display-compact:clamp(2rem, 3.6vw, 3.25rem);--leading-tight:1.02;--leading-body:1.6;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-pill:999px;--control-sm:2.5rem;--control-md:2.75rem;--control-lg:3rem;--page-gutter:clamp(1rem, 3vw, 2rem);--page-top:var(--space-4);--page-bottom:calc(5rem + var(--safe-bottom));--page-max:76rem;--page-max-wide:84rem;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--shadow-control:0 .35rem 1rem #2e1b3914;--shadow-lg:0 1.5rem 4rem #1b0c263d;--shadow-timetable:0 .75rem 2rem #2e1b391a;--shadow-surface:0 1rem 2.5rem #2e1b3914;background:#f5f2f7;font-family:Outfit Variable,Prompt,Noto Sans Thai,Leelawadee UI,Tahoma,sans-serif;line-height:1.55}*{box-sizing:border-box}html{background:#f5f2f7;min-width:0}body{min-width:0;min-height:100dvh;font-family:var(--font-body);font-size:var(--text-md);font-weight:400;line-height:var(--leading-body);background:var(--app-canvas);background-attachment:fixed;margin:0}button,input,select,textarea{font:inherit}code,pre,kbd,samp{font-family:var(--font-body)}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}:focus-visible{outline-offset:2px;outline:3px solid #56308d47}.ui-page{width:min(calc(100% - (var(--page-gutter) * 2)), var(--page-max));padding-block:var(--page-top) var(--page-bottom);margin-inline:auto}.ui-page--wide{--page-max:var(--page-max-wide)}.ui-page-header{min-height:3.5rem;padding-bottom:var(--space-3);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.domain-nav{scrollbar-width:thin;border-bottom:1px solid var(--line);align-items:stretch;gap:.25rem;max-width:100%;min-height:2.75rem;margin:.25rem 0 1rem;display:flex;overflow-x:auto}.domain-nav a{min-height:2.75rem;color:var(--ink-muted);font-size:var(--text-sm);white-space:nowrap;border-bottom:2px solid #0000;flex:none;align-items:center;padding:.45rem .75rem;font-weight:650;text-decoration:none;display:inline-flex}.domain-nav a:hover{color:var(--purple-800)}.domain-nav a.active{border-bottom-color:var(--purple-800);color:var(--purple-800)}.domain-nav a:focus-visible{outline:2px solid var(--purple-800);outline-offset:-3px;border-radius:.3rem}.ui-page-header>div:first-child{flex:20rem;min-width:min(100%,20rem)}.ui-page-actions{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}@media (width<=960px){.ui-page{width:min(100% - 1.25rem, var(--page-max));padding-top:var(--space-4)}}@media (width<=560px){.ui-page{width:min(100% - 1rem, var(--page-max));padding-bottom:4rem}.ui-page-header{align-items:flex-start;gap:var(--space-2);flex-direction:column}.ui-page-header>div:first-child{flex:none;width:100%;min-width:0}.ui-page-actions{justify-content:stretch;width:100%}.ui-page-actions>.ui-button{flex:auto}}.ui-eyebrow{color:var(--gold-500);font-size:var(--text-xs);letter-spacing:.14em;margin:0;font-weight:700}.ui-title{color:var(--purple-950);font-size:var(--text-page);font-weight:var(--weight-bold);letter-spacing:-.015em;margin:0;line-height:1.2}.ui-page-header>div:first-child>p:last-child{color:var(--ink-muted);font-size:var(--text-sm);margin:.2rem 0 0}.ui-section-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:1.3}.ui-subsection-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:1.4}.ui-body-text{font-size:var(--text-md);font-weight:var(--weight-regular)}.ui-caption{font-size:var(--text-sm);font-weight:var(--weight-regular)}@media (width<=560px){.ui-title{font-size:var(--text-page-mobile)}}.ui-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface)}.ui-table-region,.roster-table-wrap,.course-table-wrap{overscroll-behavior-inline:contain;width:100%;min-width:0;max-width:100%;overflow-x:auto}.ui-dialog-backdrop,.course-dialog-backdrop,.structure-dialog-backdrop{z-index:40;padding:var(--space-4);place-items:center;display:grid;position:fixed;inset:0}:is(.ui-dialog-backdrop,.course-dialog-backdrop,.structure-dialog-backdrop,.student-account-dialog-backdrop,.release-rehearsal-backdrop,.result-status-dialog-backdrop,.roster-archive-backdrop,.advisory-leave-dialog-backdrop,.exam-bank-dialog-backdrop,.exam-catalog-dialog-backdrop,.exam-rich-dialog-backdrop){background:var(--dialog-backdrop-color);-webkit-backdrop-filter:var(--dialog-backdrop-blur);backdrop-filter:var(--dialog-backdrop-blur)}.ui-dialog,.course-dialog,.structure-discard-dialog{width:min(100%,34rem);max-height:calc(100dvh - 2rem);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--surface);border:1px solid #ffffff8c;position:relative;overflow-y:auto;box-shadow:0 1.5rem 5rem #00000047}.ui-button{min-height:var(--control-md);padding-inline:var(--space-4);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;box-shadow:none;border:1px solid #0000;transition:color .14s,background-color .14s,border-color .14s,box-shadow .14s,transform .1s;display:inline-flex}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button:active:not(:disabled){transform:translateY(0)scale(.985)}.ui-button:focus-visible{outline:0;box-shadow:0 0 0 3px #56308d33}.ui-button:disabled,.ui-button[aria-disabled=true]{opacity:.46;cursor:not-allowed;pointer-events:none;box-shadow:none}.ui-button--default,.ui-button--primary{color:#fff;background:var(--purple-800)}.ui-button--default:hover:not(:disabled),.ui-button--primary:hover:not(:disabled){background:#742765;box-shadow:0 .45rem 1rem #912a792e}.ui-button--secondary{color:var(--purple-950);background:#eee8f2;border-color:#0000}.ui-button--secondary:hover:not(:disabled){background:#e4daeb}.ui-button--outline{color:var(--purple-800);background:#ffffffc2;border-color:#d8cedb}.ui-button--outline:hover:not(:disabled){color:var(--purple-950);background:#fff;border-color:#b9a9c4;box-shadow:0 .4rem 1rem #301d4314}.ui-button--ghost{color:var(--purple-800);background:0 0}.ui-button--ghost:hover:not(:disabled){color:var(--purple-950);background:#912a7914}.ui-button--destructive{color:#fff;background:#a52d3d}.ui-button--destructive:hover:not(:disabled){background:#8c2232;box-shadow:0 .45rem 1rem #8c223229}.ui-button--link{height:auto;min-height:auto;color:var(--purple-800);text-underline-offset:.25rem;background:0 0;border-radius:0;padding:0;text-decoration:underline}.ui-button--link:hover:not(:disabled){color:var(--purple-950);transform:none}.ui-button--size-sm{min-height:2.35rem;font-size:var(--text-sm);border-radius:.55rem;padding-inline:.75rem}.ui-button--size-lg{min-height:3.1rem;padding-inline:1.35rem}.ui-button--size-icon{width:var(--control-md);padding:0}.ui-field{gap:var(--space-2);min-width:0;display:grid}.ui-field>span{color:var(--ink-muted);font-size:var(--text-xs);font-weight:700}.ui-field :is(input,select,textarea){width:100%;min-width:0;min-height:var(--control-md);padding-inline:var(--space-3);border-radius:var(--radius-md);color:var(--purple-950);background:var(--surface);font-size:var(--text-sm);border:1px solid #d6ccd7}.ui-field :is(input,select,textarea):focus-visible{outline-offset:0;border-color:var(--gold-500);outline:3px solid #b8841c2e}.ui-field :is(input,select,textarea):disabled{color:#7c7280;background:#ebe7ea}.ui-field :is(input,textarea)[aria-invalid=true],.ui-field select[aria-invalid=true]{background:#fff4f6;border-color:#be3e48}.ui-state{min-height:12rem;padding:var(--space-6);border-radius:var(--radius-lg);place-content:center;justify-items:center;gap:var(--space-2);text-align:center;display:grid}.ui-state>:is(p,strong){margin:0}.ui-state--loading{color:var(--ink-muted)}.ui-state--empty{border:1px solid var(--line);min-height:7rem;color:var(--ink-muted);background:var(--surface)}.ui-state--error{color:#8e3442;background:#fff4f4;border:1px solid #e6c8cd}.login-page{background:linear-gradient(90deg, var(--purple-950), var(--purple-800), var(--purple-950)) top / 100% 4px no-repeat, var(--paper);grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid}html:has(.login-page){scrollbar-width:none}html:has(.login-page)::-webkit-scrollbar{display:none}.login-header,.login-footer{width:min(100% - 3rem,90rem);margin-inline:auto}.student-login-form{text-align:left;border:1px solid var(--line);background:#fffc;border-radius:.75rem;margin-top:1rem;padding:1.1rem;box-shadow:0 .75rem 2rem #2212320d}.student-login-form h2{color:var(--purple-950);font-size:var(--text-lg);margin:0}.student-login-form label{margin-top:.65rem;display:block}.student-login-form label span{color:var(--purple-950);font-size:var(--text-sm);margin-bottom:.35rem;font-weight:600;display:block}.student-login-form input{width:100%;min-height:2.8rem;font:inherit;background:#fff;border:1px solid #cfc7d5;border-radius:.4rem;padding:.55rem .75rem}.student-login-form input:focus-visible{outline-offset:1px;outline:3px solid #e3bd55}.student-login-form button{background:var(--purple-800);color:#fff;width:100%;min-height:3rem;font:inherit;cursor:pointer;border:0;border-radius:.4rem;margin-top:.8rem;font-weight:700}.student-login-form button:disabled{opacity:.6;cursor:wait}.student-login-form .student-login-error{color:#872f3b;margin:.7rem 0 0}.login-header{justify-content:space-between;align-items:center;gap:2rem;min-height:5.5rem;display:flex}.school-identity{color:var(--purple-950);align-items:center;gap:1rem;text-decoration:none;display:inline-flex}.school-identity img{object-fit:contain;width:4.15rem;height:4.15rem}.school-identity span,.school-identity strong,.school-identity small{display:block}.school-identity strong{font-size:var(--text-xl);letter-spacing:.018em;font-weight:700;line-height:1.42}.school-identity small{color:var(--ink-muted);font-size:var(--text-xs);margin-top:.25rem;font-weight:500}.product-name,.portal-label{letter-spacing:.2em;font-size:var(--text-xs);font-weight:700}.product-name{color:#756879}.login-main{isolation:isolate;place-items:center;min-height:0;padding:1rem 1.5rem;display:grid;position:relative;overflow:hidden}.emblem-watermark{z-index:-1;aspect-ratio:1;opacity:.035;filter:grayscale();pointer-events:none;background:url(/school-emblem.png) 50%/contain no-repeat;width:min(31rem,72vw);position:absolute}.login-card{text-align:center;width:min(100%,22.7rem)}.portal-label{color:var(--gold-500);margin:0}.audience-label{color:var(--ink-muted);font-size:var(--text-sm);letter-spacing:.02em;margin:.8rem 0 0;font-weight:500}.login-card h1{color:var(--purple-950);letter-spacing:-.018em;margin:1rem 0 .6rem;font-size:clamp(1.6rem,3.5vw,2.55rem);font-weight:700;line-height:1.08}.login-action{margin-top:1rem}.google-login-button{color:#fff;background:var(--gold-500);width:100%;min-height:2.75rem;font-size:var(--text-md);letter-spacing:.018em;border:0;border-radius:.65rem;justify-content:center;align-items:center;gap:.65rem;padding:.55rem 1rem;font-weight:700;text-decoration:none;transition:transform .16s,background .16s,box-shadow .16s;display:flex;box-shadow:0 1rem 2.4rem #b8841c29}.google-login-button:hover{background:color-mix(in srgb, var(--gold-500), white 12%);transform:translateY(-2px);box-shadow:0 1.2rem 2.8rem #b8841c38}.google-login-button:focus-visible{outline-offset:4px;outline:3px solid #e3bd55}.google-login-button.is-loading{opacity:1;cursor:wait}.button-loader{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:1.15rem;height:1.15rem;animation:.8s linear infinite spin}.access-note{color:#8a7f88;font-size:var(--text-sm);letter-spacing:.018em;margin:.8rem 0 0;font-weight:500}.account-ready,.login-error{background:#ffffffa8;border:1px solid #d8d1da;border-radius:.65rem;justify-content:center;align-items:center;gap:.8rem;min-height:4.4rem;padding:.85rem 1.2rem;display:flex}.account-ready span:last-child,.account-ready small,.account-ready strong,.login-error strong,.login-error span{display:block}.account-ready small{color:var(--ink-muted);font-size:var(--text-xs)}.account-ready strong{color:var(--purple-950);margin-top:.1rem}.account-ready-dot{background:#3d9d67;border-radius:50%;width:.65rem;height:.65rem;box-shadow:0 0 0 .3rem #3d9d6721}.account-ready{color:inherit;text-decoration:none}.account-ready>b{color:var(--purple-800);font-size:var(--text-page-mobile);margin-left:.25rem}.login-error{color:#872f3b}.login-error span{font-size:var(--text-sm);margin-top:.15rem}.login-footer{border-top:1px solid var(--line);color:#827882;min-height:3.75rem;font-size:var(--text-xs);letter-spacing:.018em;justify-content:space-between;align-items:center;gap:2rem;font-weight:500;display:flex}.route-state{text-align:center;background:var(--paper);min-height:100vh;color:var(--purple-950);place-content:center;display:grid}.app-shell{--sidebar-width:14.75rem;grid-template-columns:var(--sidebar-width) minmax(0, 1fr);background:var(--app-canvas);min-height:100dvh;transition:grid-template-columns .18s;display:grid}.app-sidebar{z-index:40;width:var(--sidebar-width);min-width:0;height:100dvh;padding:calc(.9rem + var(--safe-top)) calc(.85rem + var(--safe-right)) calc(.7rem + var(--safe-bottom)) calc(.85rem + var(--safe-left));color:#f5f2f7;background:var(--purple-900);box-shadow:none;border-top:0;border-right:1px solid #683561;flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-brand{align-items:center;gap:.7rem;min-height:3.65rem;padding:0 .35rem .65rem;display:flex}.sidebar-brand img{object-fit:contain;flex:none;width:2.55rem;height:2.55rem}.sidebar-brand span{white-space:nowrap;min-width:0;display:grid}.sidebar-brand strong{color:#fff;font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:.075em}.sidebar-brand small{color:#ddd6e1;font-size:var(--text-xs);margin-top:.1rem;font-weight:650}.sidebar-academic-context{color:#f3eef5;grid-template-columns:.5rem minmax(0,1fr);align-items:center;gap:.55rem;min-height:2.85rem;margin:.15rem .25rem .35rem;padding:.4rem .25rem;text-decoration:none;display:grid}.sidebar-academic-context.is-link{transition:color .14s}.sidebar-academic-context.is-link:hover{color:#fff}.sidebar-context-status{background:#b49b5d;border-radius:50%;width:.4rem;height:.4rem;display:block;box-shadow:0 0 0 .18rem #b49b5d1f}.sidebar-context-status.is-open{background:#6f9d86;box-shadow:0 0 0 .18rem #6f9d861f}.sidebar-context-copy{white-space:nowrap;min-width:0;line-height:1.2;display:grid}.sidebar-context-copy small{color:#d0c7d4;font-size:var(--text-xs);font-weight:700}.sidebar-context-copy strong{color:inherit;font-size:var(--text-xs);text-overflow:ellipsis;margin-top:.1rem;font-weight:750;overflow:hidden}.sidebar-navigation{scrollbar-width:thin;scrollbar-color:#ffffff47 transparent;flex:1;min-height:0;margin-right:-.4rem;padding:.35rem .4rem .7rem 0;overflow-y:auto}.sidebar-navigation::-webkit-scrollbar{width:.25rem}.sidebar-navigation::-webkit-scrollbar-thumb{background:#ffffff47;border-radius:99rem}.sidebar-group{margin-top:.35rem}.sidebar-group:first-child{margin-top:0}.sidebar-group-toggle{color:#dcd4e2;width:100%;min-height:2.5rem;font:inherit;font-size:var(--text-sm);font-weight:var(--weight-bold);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.4rem;grid-template-columns:1.1rem minmax(0,1fr) 1rem;align-items:center;gap:.6rem;padding:.35rem .5rem;display:grid}.sidebar-group-toggle:hover{color:#fff;background:#ffffff14}.sidebar-group-toggle>svg:first-child{width:1rem;height:1rem}.sidebar-group-chevron{width:.9rem;transition:transform .14s}.sidebar-group.is-open .sidebar-group-chevron{transform:rotate(180deg)}.sidebar-group nav{gap:.08rem;display:grid}.sidebar-group nav[hidden]{display:none}.sidebar-group a{color:#eee9f1;min-height:2.55rem;font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;border-radius:.35rem;grid-template-columns:1.15rem minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.35rem .5rem;text-decoration:none;transition:color .12s,background .12s;display:grid;position:relative}.sidebar-group a:hover{color:#fff;background:#ffffff1f}.sidebar-group a.active{color:#fff;box-shadow:none;font-weight:var(--weight-bold);background:#812a70;border:1px solid #ffffff24;border-radius:.65rem}.sidebar-group a>svg:first-child{color:#ded7e2;width:1.05rem;height:1.05rem;transition:color .12s}.sidebar-group a:hover>svg:first-child{color:#fff}.sidebar-group a.active>svg:first-child{color:#fff;filter:drop-shadow(0 1px 1px #1408192e)}.sidebar-badge{color:#3b3040;min-width:1.35rem;height:1.35rem;font-size:var(--text-xs);background:#d6c797;border-radius:99rem;place-items:center;padding:0 .3rem;display:grid}.sidebar-footer{border-top:1px solid #ffffff29;padding-top:.55rem}.sidebar-account{align-items:center;gap:.65rem;min-width:0;padding:.35rem .4rem .5rem;display:flex}.sidebar-account>span{color:#3d3450;width:2rem;height:2rem;font-size:var(--text-xs);background:linear-gradient(145deg,#ddd6e4,#c6bdcf);border:1px solid #ffffff3d;border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid;box-shadow:inset 0 1px #ffffff85}.sidebar-account div{min-width:0;display:grid}.sidebar-account strong{color:#fff;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-account small{color:#d5cdd9;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;margin-top:.08rem;overflow:hidden}.sidebar-footer-actions{grid-template-columns:1fr auto;gap:.15rem;display:grid}.sidebar-footer-actions button{color:#ddd6e1;min-height:2.25rem;font:inherit;font-size:var(--text-xs);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:.3rem;align-items:center;gap:.5rem;padding:.35rem .4rem;font-weight:650;display:flex}.sidebar-footer-actions button:hover{color:#fff;background:#ffffff1c}.sidebar-group a:focus-visible,.sidebar-group-toggle:focus-visible,.sidebar-academic-context:focus-visible,.sidebar-footer-actions button:focus-visible,.sidebar-mobile-close:focus-visible{outline-offset:2px;outline:2px solid #76607f}.sidebar-footer-actions button:disabled{opacity:.55}.sidebar-footer-actions svg{width:1rem}.app-shell-content{min-width:0}.app-shell-content>.context-page,.app-shell-content>.inspection-page{background:0 0;min-height:100dvh}.app-shell-content>.context-page>.inspection-header,.app-shell-content>.inspection-page>.inspection-header,.app-shell-content .inspection-header{display:none}.app-shell-content .route-state{min-height:100dvh}.mobile-edge-opener,.sidebar-mobile-close,.sidebar-scrim{display:none}.shell-auth-state{text-align:center;background:var(--app-canvas);place-content:center;justify-items:center;min-height:100dvh;padding:2rem;display:grid}.shell-auth-state img{width:5rem}.shell-auth-state h1{color:var(--purple-950);margin:1rem 0 .2rem}.shell-auth-state p{color:var(--ink-muted);margin:0 0 1.2rem}.shell-auth-state a{color:#fff;background:var(--purple-800);border-radius:.65rem;padding:.8rem 1.2rem;font-weight:700;text-decoration:none}.workspace-home{--page-top:clamp(2.5rem, 6vw, 5rem)}.workspace-home>header{max-width:46rem}.workspace-home>header>p{color:var(--gold-500);font-size:var(--text-xs);letter-spacing:.15em;margin:0;font-weight:700}.workspace-home h1{color:var(--purple-950);font-size:var(--text-display);font-weight:500;line-height:var(--leading-tight);letter-spacing:-.025em;margin:1rem 0}.workspace-home>header>span{color:var(--ink-muted)}.workspace-shortcuts{border-top:1px solid #d9d1ca;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 2rem;margin-top:3rem;display:grid}.workspace-shortcuts a{min-height:6.2rem;color:var(--purple-950);border-bottom:1px solid #d9d1ca;grid-template-columns:2.8rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.25rem .2rem;text-decoration:none;display:grid}.workspace-shortcuts a>svg{width:2.8rem;height:2.8rem;color:var(--purple-800);background:#e9e1ef;border-radius:.7rem;padding:.7rem;transition:color .15s,background .15s}.workspace-shortcuts a>span{display:grid}.workspace-shortcuts strong{font-size:var(--text-sm)}.workspace-shortcuts small{color:var(--ink-muted);font-size:var(--text-xs);margin-top:.18rem}.workspace-shortcuts b{color:#a398a3;font-size:var(--text-xl);transition:transform .15s}.workspace-shortcuts a:hover>svg{color:#fff;background:var(--purple-800)}.workspace-shortcuts a:hover b{transform:translate(.2rem)}.workspace-home-dashboard{--page-top:var(--space-4);padding-bottom:var(--page-bottom);gap:var(--space-4);display:grid}.home-dashboard-header{min-height:3.5rem;padding-bottom:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-5);border-bottom:1px solid #533c5c24;display:flex}.home-dashboard-header h1,.home-dashboard-header p,.home-dashboard-header span{margin:0}.home-dashboard-header h1{color:var(--purple-950);font-size:var(--text-page);font-weight:var(--weight-bold);letter-spacing:-.015em;line-height:1.2}@media (width<=560px){.home-dashboard-header h1{font-size:var(--text-page-mobile)}}.home-dashboard-header>div>span{color:var(--ink-muted);font-size:var(--text-sm);margin-top:.2rem;display:block}.home-dashboard-header>p{border-radius:var(--radius-md);align-items:center;gap:var(--space-2);color:#5e5361;min-height:2.5rem;font-size:var(--text-xs);background:#fff;padding:.45rem .7rem;display:inline-flex}.home-dashboard-header>p svg{width:1rem;color:var(--gold-500)}.home-dashboard-state{margin-top:var(--space-2)}.home-week-navigation{align-items:center;gap:.4rem;width:fit-content;max-width:100%;display:flex}.home-week-navigation>strong{min-width:14rem;color:var(--purple-950);font-size:var(--text-sm);text-align:center}.home-week-navigation button{border-radius:var(--radius-md);min-width:2.5rem;min-height:2.5rem;color:var(--purple-800);background:var(--purple-100);font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;padding:.35rem .65rem;font-weight:700;display:inline-flex}.home-week-navigation button:hover{background:#eae0f5}.home-week-navigation button svg{width:1rem;height:1rem}.home-week-navigation .home-week-today{white-space:nowrap}.home-timetable-section{min-width:0;padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-timetable);background:#fff}.home-timetable-section>header{min-height:var(--control-lg);margin-bottom:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.home-timetable-section>header h2,.home-timetable-section>header p{margin:0}.home-timetable-section>header h2{color:var(--purple-950);font-size:var(--text-lg);font-weight:650}.home-timetable-section>header p{color:var(--ink-muted);font-size:var(--text-xs);margin-top:.1rem}.home-advisor-picker{gap:var(--space-1);display:grid}.home-advisor-picker span{color:var(--ink-muted);font-size:var(--text-xs);font-weight:650}.home-advisor-picker select{min-width:9rem;min-height:var(--control-md);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--purple-950);background:var(--purple-100);font:inherit;border:0}.home-week-table-scroll{overscroll-behavior-inline:contain;scrollbar-gutter:stable;max-width:100%;overflow-x:auto}.home-week-table{gap:.2rem;width:100%;display:grid}.home-period-heading,.home-break-heading{text-align:center;border-radius:.4rem;place-content:center;min-width:0;min-height:2.85rem;display:grid}.home-period-heading{color:var(--ink-muted);font-size:var(--text-xs);background:#fff;font-weight:700}.home-period-heading.is-period{color:#fff;background:var(--purple-800)}.home-period-heading.is-period,.home-break-heading,.home-day-heading,.home-week-cell,.home-week-break{box-shadow:0 .1rem .28rem #2e1b3914}.home-period-heading strong{font-size:var(--text-xs);line-height:1.1}.home-period-heading small{color:#f0e9fa;font-size:var(--text-xs);font-variant-numeric:tabular-nums;margin-top:.15rem;line-height:1}.home-break-heading{color:#6b5000;font-size:var(--text-xs);background:#ffe382;font-weight:700}.home-week-row{display:contents}.home-day-heading{min-width:0;min-height:5.4rem;color:var(--purple-950);background:#f7f4fa;border-radius:.4rem;flex-wrap:wrap;align-content:center;align-items:center;gap:.2rem;padding:.35rem;display:flex}.home-day-heading strong{min-width:0;font-size:var(--text-xs);line-height:1.1}.home-day-heading small{color:var(--purple-800);font-size:var(--text-xs);flex-basis:100%;padding-left:.7rem}.home-day-heading.is-today{background:#eadff8}.home-day-dot{background:#dfa900;border-radius:50%;flex:none;width:.36rem;height:.36rem;display:inline-block}.home-day-dot.day-1{background:#dc5b9a}.home-day-dot.day-2{background:#35966a}.home-day-dot.day-3{background:#ba8126}.home-day-dot.day-4{background:#3d82d3}.home-week-break{background:#fff4d6;border-radius:.4rem;min-height:5.4rem}.home-week-cell{background:#faf8fc;border-radius:.4rem;gap:.15rem;min-width:0;min-height:5.4rem;display:grid}.home-week-cell-item{min-width:0;display:grid}.home-week-cell-item a,.home-week-cell-item article{min-width:0;height:100%;color:var(--purple-950);background:var(--timetable-background,var(--purple-100));border:0;border-radius:.35rem;flex-direction:column;align-content:flex-start;padding:.32rem;text-decoration:none;display:flex;box-shadow:0 .1rem .3rem #2e1b3917}.home-week-cell-item a:hover{background:color-mix(in srgb, var(--timetable-background,var(--purple-100)), var(--timetable-accent,var(--purple-700)) 10%)}.home-week-cell-item a:focus-visible{outline:2px solid var(--timetable-accent,var(--purple-700));outline-offset:2px}.home-week-cell-item strong{color:#2f2435;-webkit-line-clamp:3;font-size:var(--text-xs);-webkit-box-orient:vertical;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.home-week-cell-item small{color:var(--timetable-accent,var(--purple-800));font-size:var(--text-xs);margin-bottom:.15rem;font-weight:750;line-height:1.1}.home-week-cell-item span{color:#5d5262;font-size:var(--text-xs);overflow-wrap:anywhere;margin-top:auto;padding-top:.3rem;line-height:1.2}.home-week-cell-item em{border-radius:var(--radius-sm);color:#8f2840;width:fit-content;font-size:var(--text-xs);background:#fbe6eb;margin-top:.25rem;padding:.08rem .3rem;font-style:normal;font-weight:650}.home-week-empty{color:#9a909f;font-size:var(--text-xs);margin:auto;font-weight:650}.home-week-mobile{display:none}.home-mobile-day{background:#fff;border-radius:.55rem;min-width:0;overflow:hidden;box-shadow:0 .2rem .7rem #2e1b3912}.home-mobile-day>header{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:2.6rem;color:var(--purple-950);background:var(--purple-100);padding:.45rem .65rem;display:flex}.home-mobile-day>header.is-today{background:#e8dcf7}.home-mobile-day>header strong{font-size:var(--text-xs);align-items:center;gap:.4rem;display:inline-flex}.home-mobile-day>header span{font-size:var(--text-xs)}.home-mobile-periods{background:#fff;gap:.15rem;display:grid}.home-mobile-period{background:#faf8fc;grid-template-columns:4.1rem minmax(0,1fr);align-items:stretch;gap:.35rem;min-width:0;min-height:4.2rem;padding:.35rem;display:grid}.home-mobile-period-label{color:var(--purple-800);text-align:center;align-content:center;display:grid}.home-mobile-period-label b{font-size:var(--text-xs)}.home-mobile-period-label time{color:var(--ink-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;margin-top:.15rem}.home-mobile-slot{background:#f5f1f8;border-radius:.4rem;gap:.15rem;min-width:0;min-height:3.8rem;display:grid}.home-mobile-break{color:#6b5000;font-size:var(--text-xs);text-align:center;background:#fff4d6;padding:.3rem;font-weight:700}.home-advisor-empty{min-height:5rem;padding:var(--space-3);align-items:center;gap:var(--space-3);color:var(--ink-muted);background:#faf8fc;border-radius:.7rem;display:flex}.home-advisor-empty svg{width:1.4rem;color:var(--purple-700)}.home-advisor-empty span{display:grid}.home-advisor-empty strong{color:#514654;font-size:var(--text-sm)}.home-advisor-empty small{font-size:var(--text-xs);margin-top:.1rem}@media (width<=820px){.home-week-table-scroll{display:none}.home-week-mobile{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.home-timetable-section{padding:var(--space-3)}.home-timetable-section>header{align-items:flex-start}}@media (width<=560px){.workspace-home-dashboard{width:min(100% - 1rem, var(--page-max-wide));padding-top:var(--space-4)}.home-week-navigation{width:100%}.home-week-navigation>strong{min-width:0;font-size:var(--text-xs);flex:1}.home-week-navigation button{min-width:2.25rem;min-height:2.25rem}.home-dashboard-header{align-items:flex-start;gap:var(--space-2);flex-direction:column}.home-dashboard-header>p{width:100%}.home-timetable-section>header{flex-direction:column;align-items:flex-start}.home-advisor-picker,.home-advisor-picker select{width:100%}.home-week-mobile{grid-template-columns:minmax(0,1fr)}}@media (width<=320px){.home-week-navigation{flex-wrap:wrap}.home-week-navigation .home-week-today{width:100%;min-height:2rem}.home-timetable-section{padding:var(--space-2)}.home-mobile-period{padding-inline:var(--space-1);grid-template-columns:3.75rem minmax(0,1fr)}.home-week-cell-item a,.home-week-cell-item article{padding:var(--space-2)}}@media (width<=960px){.app-shell{display:block}.app-sidebar{width:min(19rem,100vw - 3rem);transition:transform .18s;position:fixed;left:0;transform:translate(-105%)}.is-mobile-open .app-sidebar{transform:translate(0)}.sidebar-brand{padding-right:2.5rem}.sidebar-mobile-close{top:calc(.55rem + var(--safe-top));right:calc(.55rem + var(--safe-right));color:#f2edf4;background:0 0;border:0;place-items:center;width:3rem;height:3rem;padding:.75rem;display:grid;position:absolute}.sidebar-mobile-close svg{width:1.15rem}.mobile-edge-opener{z-index:32;width:calc(1.75rem + var(--safe-left));cursor:pointer;touch-action:pan-y;background:0 0;border:0;height:100dvh;padding:0;display:block;position:fixed;top:0;left:0}.mobile-edge-opener:before{content:"";top:50%;left:var(--safe-left);background:var(--purple-800);border-radius:0 .35rem .35rem 0;width:.25rem;height:3rem;position:absolute;transform:translateY(-50%)}.mobile-edge-opener:focus-visible{outline:2px solid var(--gold-500);outline-offset:-3px}.is-mobile-open .mobile-edge-opener{display:none}.sidebar-scrim{z-index:35;opacity:0;pointer-events:none;background:#1c0e236b;border:0;width:100%;height:100%;transition:opacity .18s;position:fixed;inset:0}.is-mobile-open .sidebar-scrim{opacity:1;pointer-events:auto;display:block}.app-shell-content{padding-top:0;padding-right:var(--safe-right);padding-left:var(--safe-left)}.app-shell-content>.context-page,.app-shell-content>.context-page,.app-shell-content>.inspection-page{min-height:100dvh}.workspace-home{width:min(100% - 2rem,76rem);padding-top:2rem}.workspace-shortcuts{grid-template-columns:1fr;gap:0}.sidebar-group-toggle,.sidebar-group a,.sidebar-footer-actions button{min-height:3rem}}@media (width<=960px) and (height<=430px){.app-sidebar{padding-top:calc(.35rem + var(--safe-top));padding-bottom:calc(.35rem + var(--safe-bottom))}.sidebar-brand{min-height:2.75rem;padding:0 3rem .25rem .35rem}.sidebar-brand img{width:2rem;height:2rem}.sidebar-brand small,.sidebar-academic-context,.sidebar-account{display:none!important}.sidebar-navigation{padding-top:.1rem}.sidebar-footer{padding-top:.2rem}.sidebar-footer-actions{grid-template-columns:1fr auto}.sidebar-mobile-close{top:calc(.2rem + var(--safe-top))}}.behavior-page{--page-max:76rem;padding-top:var(--space-4)}.behavior-hero{margin-bottom:.75rem}.behavior-create>div>p,.behavior-catalog-head p{color:var(--gold-500);font-size:var(--text-xs);letter-spacing:.15em;margin:0;font-weight:700}.behavior-hero-icon{color:#fff;background:var(--purple-800);border-radius:50%;flex:none;place-items:center;width:3.5rem;height:3.5rem;display:grid}.behavior-hero-icon svg{width:1.5rem}.behavior-state{min-height:7rem;padding:var(--space-4);text-align:center;place-content:center;justify-items:center;display:grid}.behavior-state.error{color:#913c47}.behavior-state button{color:#fff;background:var(--purple-800);border:0;border-radius:.55rem;padding:.6rem .9rem}.behavior-summary{grid-template-columns:auto auto 1fr;align-items:center;gap:1.5rem;margin-top:0;padding:1rem;display:grid}.behavior-summary>div{grid-template-columns:auto auto;align-items:baseline;gap:.5rem;display:grid}.behavior-summary strong{color:var(--purple-800);font-size:var(--text-page);line-height:1}.behavior-summary span,.behavior-summary p{color:var(--ink-muted);font-size:var(--text-xs)}.behavior-summary p{text-align:right;max-width:30rem;margin:0 0 0 auto}.behavior-create{color:#fff;background:#2d1839;border-radius:1rem;grid-template-columns:1.1fr .8fr .8fr .55fr 1.2fr;gap:.75rem;margin-top:.75rem;padding:1rem;display:grid;box-shadow:0 .9rem 2rem #2714301f}.behavior-create>div{grid-column:1/-1}.behavior-create h2{font-size:var(--text-xl);margin:.15rem 0 0}.behavior-create label{align-content:start;gap:.35rem;display:grid}.behavior-create label>span{color:#c5b9ca;font-size:var(--text-xs);font-weight:700}.behavior-create label small{color:#918398}.behavior-create input{color:#2d1839;background:#fff;border:1px solid #ffffff2b;border-radius:.65rem;width:100%;min-height:3rem;padding:0 .75rem}.behavior-score-field small{color:#c5b9ca;min-height:1rem;font-size:var(--text-xs)}.behavior-type-picker{background:#ffffff17;border-radius:.65rem;grid-template-columns:1fr 1fr;gap:.2rem;min-height:3rem;padding:.2rem;display:grid}.behavior-type-picker button{color:#c5b9ca;font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;border-radius:.5rem;justify-content:center;align-items:center;gap:.3rem;display:flex}.behavior-type-picker button svg{width:1rem}.behavior-type-picker button.active{color:#fff;background:var(--purple-800)}.behavior-type-picker button.active.positive{background:#1d7658}.behavior-type-picker button.active.negative{background:#9a3d4b}.behavior-description{grid-column:1/4}.behavior-submit{color:#2d1839;min-height:3rem;font:inherit;font-size:var(--text-xs);cursor:pointer;background:#e5bd4a;border:0;border-radius:.65rem;grid-area:2/5;justify-content:center;align-self:end;align-items:center;gap:.4rem;font-weight:700;display:flex}.behavior-submit svg{width:1rem}.behavior-submit:disabled{opacity:.55}.behavior-create>.behavior-review-policy{grid-column:4/-1;align-items:end;gap:.35rem;padding-top:.15rem;display:grid}.behavior-review-policy>span{color:#c5b9ca;font-size:var(--text-xs);align-items:center;gap:.4rem;font-weight:700;display:flex}.behavior-review-policy>span svg{color:#e5bd4a;width:1rem}.behavior-review-policy button{text-align:left;color:#d1c6d5;width:100%;min-width:0;font:inherit;cursor:pointer;background:#ffffff12;border:1px solid #ffffff2e;border-radius:.6rem;padding:.55rem .75rem;display:grid}.behavior-review-policy button.active{color:#fff;background:#e5bd4a2e;border-color:#d6aa34}.behavior-review-policy button b{font-size:var(--text-xs)}.behavior-review-policy button small{color:inherit;font-size:var(--text-xs);opacity:.78}.behavior-form-error{color:#982d3e;font-size:var(--text-xs);background:#fde9ec;border-radius:.55rem;grid-column:1/-1;margin:0;padding:.6rem .75rem}.behavior-catalog{margin-top:1rem}.behavior-catalog-head{justify-content:space-between;align-items:end;gap:1rem;display:flex}.behavior-catalog-head h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin:.2rem 0 0}.behavior-catalog-head>span{color:#716674;font-size:var(--text-xs);background:#e7e0e8;border-radius:99rem;padding:.35rem .65rem}.behavior-list{border-top:1px solid #d9d1ca;margin-top:.8rem}.behavior-list article{border-bottom:1px solid #d9d1ca;grid-template-columns:2.6rem minmax(0,1fr) auto auto auto;align-items:center;gap:.8rem;min-height:5.5rem;padding:1rem .2rem;display:grid}.behavior-list article>span{color:#1b7858;background:#dcefe8;border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;display:grid}.behavior-list article.negative>span{color:#9b3f4b;background:#f4dfe2}.behavior-list article>span svg{width:1.15rem}.behavior-list article p,.behavior-list article h3{margin:0}.behavior-list article p{color:#9c7a21;font-size:var(--text-xs);letter-spacing:.1em;font-weight:700}.behavior-list article h3{font-size:var(--text-md)}.behavior-list article small{color:var(--ink-muted);font-size:var(--text-xs)}.behavior-review-badge{color:#866310;font-size:var(--text-xs);align-items:center;gap:.25rem;margin-top:.25rem;display:flex}.behavior-review-badge svg{width:.75rem}.behavior-list article em{color:#15704f;font-size:var(--text-xs);background:#ddf1e9;border-radius:99rem;padding:.3rem .55rem;font-style:normal;font-weight:700}.behavior-list article.inactive{opacity:.62}.behavior-list article.inactive em{color:#706674;background:#e5dfe7}.behavior-list article button{color:var(--purple-800);background:var(--surface);font:inherit;font-size:var(--text-xs);cursor:pointer;border:1px solid #d5cbd7;border-radius:.55rem;padding:.5rem .7rem;font-weight:700}.behavior-list article button:disabled{opacity:.45;cursor:default}.behavior-score-badge{color:#176c50;font-size:var(--text-xs);white-space:nowrap;background:#dcefe8;border-radius:99rem;padding:.3rem .55rem}.behavior-score-badge.negative{color:#923847;background:#f3dfe3}.behavior-row-actions{align-items:center;gap:.35rem;display:flex}.behavior-row-actions button{align-items:center;gap:.3rem;display:flex}.behavior-row-actions svg{width:.85rem}.behavior-row-actions .danger,.behavior-delete-confirm .danger{color:#943846;background:#fff8f8;border-color:#e1c0c5}.behavior-edit-panel{opacity:1;border-top:1px dashed #d9d1ca;grid-column:2/-1;grid-template-columns:1fr 1.2fr .55fr 1.5fr auto auto;align-items:end;gap:.7rem;padding:1rem 0 .2rem;display:grid}.behavior-edit-panel label{gap:.3rem;display:grid}.behavior-edit-panel label span{color:var(--ink-muted);font-size:var(--text-xs);font-weight:700}.behavior-edit-panel input{width:100%;min-height:2.75rem;color:var(--purple-950);background:var(--surface);font:inherit;font-size:var(--text-xs);border:1px solid #d6ccd7;border-radius:.55rem;padding:0 .65rem}.behavior-edit-actions{gap:.35rem;display:flex}.behavior-edit-actions button{white-space:nowrap;align-items:center;gap:.3rem;min-height:2.75rem;display:flex}.behavior-edit-actions svg{width:.9rem}.behavior-edit-actions .save{border-color:var(--purple-800);color:#fff;background:var(--purple-800)}.behavior-edit-review{white-space:nowrap;align-items:center;gap:.3rem;min-height:2.75rem;display:flex}.behavior-edit-review svg{width:.9rem}.behavior-edit-review.active{color:#77570b;background:#fff7dc;border-color:#c59b2e}.behavior-delete-confirm{opacity:1;border-top:1px dashed #d9d1ca;grid-column:2/-1;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.9rem 0 .2rem;display:grid}.behavior-delete-confirm>svg{color:#943846;width:1.2rem}.behavior-delete-confirm>div:nth-child(2){gap:.15rem;display:grid}.behavior-delete-confirm strong{font-size:var(--text-xs)}.behavior-delete-confirm span{color:var(--ink-muted);font-size:var(--text-xs)}.behavior-delete-confirm>div:last-child{gap:.35rem;display:flex}.behavior-empty{text-align:center;min-height:14rem;color:var(--ink-muted);place-content:center;justify-items:center;display:grid}.behavior-empty svg{width:2rem}.behavior-empty strong{color:var(--purple-950);margin-top:.6rem}.behavior-empty p{font-size:var(--text-xs);margin:.2rem 0 0}@media (width<=820px){.behavior-page{width:min(100% - 2rem,76rem)}.behavior-summary{grid-template-columns:1fr 1fr;gap:1rem}.behavior-summary p{text-align:left;grid-column:1/-1;margin:0}.behavior-create{grid-template-columns:1fr 1fr}.behavior-create>div,.behavior-description{grid-column:1/-1}.behavior-submit{grid-area:auto/1/auto/-1}.behavior-create>.behavior-review-policy{grid-column:1/-1}.behavior-edit-panel{grid-template-columns:1fr 1fr}.behavior-edit-panel .description,.behavior-edit-actions{grid-column:1/-1}}@media (width<=540px){.behavior-hero>div>span{display:none}.behavior-create{grid-template-columns:1fr}.behavior-create>*{grid-column:1!important}.behavior-review-policy{flex-direction:column;align-items:stretch}.behavior-review-policy button{width:100%;min-width:0}.behavior-list article{grid-template-columns:2.6rem 1fr auto}.behavior-list article>.behavior-score-badge{grid-column:2;justify-self:start}.behavior-row-actions{grid-column:2/-1;justify-self:start}.behavior-edit-panel{grid-column:1/-1;grid-template-columns:1fr 1fr}.behavior-edit-panel .description,.behavior-edit-actions,.behavior-delete-confirm{grid-column:1/-1}.behavior-delete-confirm{grid-template-columns:2rem 1fr}.behavior-delete-confirm>div:last-child{grid-column:1/-1;justify-content:flex-end}}.behavior-record-page{--page-max:76rem;--control-sm:2.75rem;padding-top:var(--space-4)}.behavior-record-hero{margin-bottom:.65rem}.behavior-record-form{margin-top:0}.behavior-record-meta{border:1px solid var(--line);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:var(--space-4);background:#fff;min-height:3.5rem;margin-bottom:.65rem;padding:.45rem .7rem;display:flex}.behavior-record-meta>div{gap:var(--space-2);flex-wrap:wrap;display:flex}.behavior-record-meta>div span{color:#665a69;font-size:var(--text-xs);font-weight:650}.behavior-record-meta>div span+span{padding-left:var(--space-2);border-left:1px solid var(--line)}.behavior-record-meta label{align-items:center;gap:var(--space-2);color:var(--ink-muted);font-size:var(--text-xs);font-weight:650;display:flex}.behavior-record-meta label>div{align-items:center;gap:.45rem;width:100%;min-width:0;display:flex}.behavior-record-meta svg{width:1rem;color:var(--gold-500)}.behavior-record-meta input{min-width:0;min-height:2.4rem;color:var(--purple-950);font-size:var(--text-xs);background:#fff;border:1px solid #d5cdd7;border-radius:.55rem;flex:1 1 0;padding:0 .65rem}.behavior-entry-surface{box-shadow:none;background:#fff;grid-template-columns:minmax(0,1fr) 19rem;align-items:start;padding:0;display:grid}.behavior-entry-editor{min-width:0;padding:1rem 1.25rem}.behavior-flow-section{border:0;min-width:0;margin:0;padding:0 0 1rem}.behavior-flow-section+.behavior-flow-section{border-top:1px solid var(--line);padding-top:1rem}.behavior-flow-section.is-locked{opacity:.48}.behavior-flow-heading{grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:2.35rem;margin-bottom:.7rem;display:grid}.behavior-flow-heading p,.behavior-flow-heading h2{margin:0}.behavior-flow-heading p{color:var(--gold-500);font-size:var(--text-xs);font-weight:700}.behavior-flow-heading h2{color:var(--purple-950);font-size:var(--text-md);margin-top:.05rem;font-weight:650}.behavior-step-number{color:#fff;background:var(--purple-800);width:2rem;height:2rem;font-size:var(--text-xs);border-radius:50%;place-items:center;font-weight:700;display:grid}.behavior-manage-link{min-height:2.75rem;color:var(--purple-800);font-size:var(--text-xs);align-items:center;font-weight:650;text-decoration:none;display:inline-flex}.behavior-manage-link:hover{text-decoration:underline}.behavior-student-filters{grid-template-columns:1.05fr .5fr 1.45fr;gap:.6rem;display:grid}.behavior-student-filters label{gap:.25rem;min-width:0;display:grid}.behavior-student-filters label>span{color:var(--ink-muted);font-size:var(--text-xs);font-weight:650}.behavior-student-filters label>div{position:relative}.behavior-student-filters svg{z-index:1;color:#887a8d;pointer-events:none;width:1rem;position:absolute;top:50%;left:.7rem;transform:translateY(-50%)}.behavior-student-filters input,.behavior-student-filters select{--control-padding-inline:2.5rem .75rem;width:100%;min-width:0;min-height:var(--control-md);color:var(--purple-950);font:inherit;font-size:var(--text-sm);background:#fff;border:1px solid #d5cdd7;border-radius:.55rem;outline:0;padding:0 .75rem 0 2.5rem}.behavior-student-filters :is(input,select):focus{border-color:var(--purple-800);box-shadow:0 0 0 3px #4a25821a}.behavior-student-filters input::placeholder{color:#9d929d}.behavior-search-note{color:var(--ink-muted);font-size:var(--text-xs);margin:.5rem 0 0}.behavior-student-results{border:1px solid var(--line);overscroll-behavior:contain;background:#fff;border-radius:.65rem;width:100%;max-height:18rem;margin-top:.6rem;display:grid;overflow-y:auto}.behavior-student-results>button{text-align:left;min-height:3.5rem;color:var(--purple-950);cursor:pointer;background:#fff;border:0;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.5rem .65rem;display:grid}.behavior-student-results>button+button{border-top:1px solid var(--line)}.behavior-student-results>button:hover{background:#faf8fb}.behavior-student-results>button>span{width:1.8rem;height:1.8rem;color:var(--purple-800);font-size:var(--text-xs);background:#eee9f1;border-radius:50%;place-items:center;font-weight:700;display:grid}.behavior-student-results div{min-width:0;display:grid}.behavior-student-results strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.behavior-student-results small{color:var(--ink-muted);font-size:var(--text-xs)}.behavior-student-results b{color:var(--purple-800);font-size:var(--text-xs)}.behavior-student-results>p,.behavior-results-more{color:var(--ink-muted);font-size:var(--text-xs);margin:0;padding:.7rem}.behavior-results-more{border-top:1px solid var(--line);background:#fff;position:sticky;bottom:0}.behavior-selected-student{border-left:3px solid var(--purple-800);background:#faf9fb;grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:4.2rem;padding:.55rem .65rem;display:grid}.behavior-selected-student>span{color:#fff;background:var(--purple-800);border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;display:grid}.behavior-selected-student svg{width:1rem}.behavior-selected-student div{min-width:0;display:grid}.behavior-selected-student small{color:var(--ink-muted);font-size:var(--text-xs)}.behavior-selected-student strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.behavior-selected-student button{min-height:2.35rem;color:var(--purple-800);font:inherit;font-size:var(--text-xs);background:#fff;border:1px solid #d3c8d6;border-radius:.5rem;padding:0 .7rem;font-weight:650}.behavior-category-dropdown{grid-template-columns:minmax(0,1fr) 12rem;align-items:end;gap:.75rem;display:grid}.behavior-category-dropdown>label{gap:.25rem;display:grid}.behavior-category-dropdown>label>span{color:var(--purple-950);font-size:var(--text-xs);font-weight:650}.behavior-category-dropdown>label>span b{color:#a43d4c}.behavior-category-dropdown>label>div{position:relative}.behavior-category-dropdown select{--control-padding-inline:.8rem 2.8rem;width:100%;min-height:var(--control-lg);color:var(--purple-950);appearance:none;font:inherit;font-size:var(--text-sm);cursor:pointer;background:#fff;border:1px solid #cfc4d4;border-radius:.55rem;padding:0 2.8rem 0 .8rem;font-weight:650}.behavior-category-dropdown select:focus{border-color:var(--purple-800);outline:3px solid #56307e21}.behavior-category-dropdown label svg{width:1rem;color:var(--purple-800);pointer-events:none;position:absolute;top:50%;right:.8rem;transform:translateY(-50%)}.behavior-category-dropdown aside{min-height:var(--control-lg);background:0 0;border-left:3px solid #25805f;align-content:center;padding:.2rem 0 .2rem .7rem;display:grid}.behavior-category-dropdown aside.negative{border-color:#9b3f4b}.behavior-category-dropdown aside.review{border-color:#c39727}.behavior-category-dropdown aside.waiting{border-color:#c8bdca}.behavior-category-dropdown aside span,.behavior-category-dropdown aside small{color:var(--ink-muted);font-size:var(--text-xs)}.behavior-category-dropdown aside strong{color:#176c50;font-size:var(--text-sm)}.behavior-category-dropdown aside.negative strong{color:#923847}.behavior-category-dropdown aside.review strong{color:#76550a}.behavior-category-dropdown aside.waiting strong{color:#817684}.behavior-score-empty{grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.65rem 0;display:grid}.behavior-score-empty>span{color:#923847}.behavior-score-empty svg{width:1.15rem}.behavior-score-empty strong,.behavior-score-empty p{margin:0}.behavior-score-empty strong{font-size:var(--text-sm)}.behavior-score-empty p{color:var(--ink-muted);font-size:var(--text-xs);margin-top:.1rem}.behavior-score-empty a{color:var(--purple-800);font-size:var(--text-xs);font-weight:650}.behavior-incident-fields{gap:.55rem;display:grid}.behavior-incident-fields label{gap:.25rem;display:grid}.behavior-incident-fields label>span{color:#746977;font-size:var(--text-xs);font-weight:650}.behavior-incident-fields label span b{color:#a43d4c}.behavior-incident-fields label small{color:#9d929d;font-weight:500}.behavior-incident-fields input,.behavior-incident-fields textarea{width:100%;min-height:var(--control-md);color:var(--purple-950);resize:vertical;background:#fff;border:1px solid #d5cdd7;border-radius:.55rem;padding:.65rem .75rem}.behavior-incident-fields label>div{position:relative}.behavior-incident-fields label>div svg{color:#8f8291;width:1rem;position:absolute;top:.8rem;left:.7rem}.behavior-incident-fields label>div input{--control-padding-inline:2.3rem .75rem;padding-left:2.3rem}.behavior-more-toggle{width:fit-content;min-height:2.75rem;color:var(--purple-800);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;padding:0;font-weight:650;display:inline-flex}.behavior-more-toggle svg{width:.9rem;transition:transform .15s}.behavior-more-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.behavior-optional-fields{grid-template-columns:.8fr 1.2fr;gap:.65rem;display:grid}.behavior-record-review{border-left:1px solid var(--line);background:#faf9fa;border-radius:.7rem;gap:.8rem;min-width:0;margin:.75rem .75rem .75rem 0;padding:1rem;display:grid;position:sticky;top:1rem}.behavior-record-review header p,.behavior-record-review header h2{margin:0}.behavior-record-review header p{color:var(--gold-500);font-size:var(--text-xs);font-weight:700}.behavior-record-review header h2{color:var(--purple-950);font-size:var(--text-md);margin-top:.1rem}.behavior-record-review ol{margin:0;padding:0;list-style:none;display:grid}.behavior-record-review li{grid-template-columns:1.7rem minmax(0,1fr);align-items:center;gap:.55rem;min-height:3.2rem;padding:.45rem 0;display:grid}.behavior-record-review li+li{border-top:1px solid var(--line)}.behavior-record-review li>span{width:1.5rem;height:1.5rem;color:var(--ink-muted);font-size:var(--text-xs);border:1px solid #cfc6d2;border-radius:50%;place-items:center;font-weight:700;display:grid}.behavior-record-review li.is-complete>span{color:#2f7857;background:#edf5f0;border-color:#5d8c74}.behavior-record-review li svg{width:.8rem}.behavior-record-review li div{min-width:0;display:grid}.behavior-record-review li small{color:var(--ink-muted);font-size:var(--text-xs)}.behavior-record-review li strong{color:#4f4452;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.behavior-impact{color:#70313c;font-size:var(--text-xs);background:#fff5f6;border-left:3px solid #a43d4c;margin:0;padding:.65rem;line-height:1.5}.behavior-impact.is-review{color:#73570f;background:#fff9ea;border-color:#c39727}.behavior-record-error{color:#923747;font-size:var(--text-xs);background:#f9e5e8;border-radius:.55rem;margin:0;padding:.65rem}.behavior-record-submit{gap:.45rem;margin-top:auto;display:grid}.behavior-record-submit>span{color:var(--ink-muted);font-size:var(--text-xs)}.behavior-record-submit button{width:100%;min-height:3rem}.behavior-evidence-card{background:#f8fbf9;border-color:#c9ddd3;margin-top:1.25rem;overflow:hidden;box-shadow:0 .65rem 1.8rem #1f5e4614}.behavior-evidence-card>header{color:#166e50;background:#e1f1e9;align-items:center;gap:.7rem;padding:.85rem 1rem;display:flex}.behavior-evidence-card>header>span{color:#fff;background:#25815f;border-radius:50%;place-items:center;width:2rem;height:2rem;display:grid}.behavior-evidence-card>header svg{width:1rem}.behavior-evidence-card>header div{display:grid}.behavior-evidence-card>header small{color:#537167;font-size:var(--text-xs)}.behavior-evidence-card form{grid-template-columns:minmax(12rem,1.2fr) minmax(10rem,.8fr) 8rem auto;align-items:end;gap:.75rem;padding:1rem;display:grid}.behavior-evidence-card form>div p{color:var(--purple-950);font-size:var(--text-xs);align-items:center;gap:.35rem;margin:0;font-weight:700;display:flex}.behavior-evidence-card form>div p svg{width:.9rem}.behavior-evidence-card form>div em{color:var(--ink-muted);font-size:var(--text-xs);font-style:normal;font-weight:500}.behavior-evidence-card form>div>span{color:var(--ink-muted);font-size:var(--text-xs);margin-top:.18rem;line-height:1.5;display:block}.behavior-evidence-card label{gap:.3rem;display:grid}.behavior-evidence-card label>span{color:#756b76;font-size:var(--text-xs);font-weight:700}.behavior-evidence-card input,.behavior-evidence-card select{width:100%;min-height:2.7rem;color:var(--purple-950);background:var(--surface);font:inherit;font-size:var(--text-xs);border:1px solid #d2c9d5;border-radius:.55rem;padding:0 .7rem}.behavior-evidence-card .url{grid-column:1/4}.behavior-evidence-card form>button{color:#fff;background:var(--purple-800);min-height:2.7rem;font:inherit;font-size:var(--text-xs);cursor:pointer;white-space:nowrap;border:0;border-radius:.55rem;padding:0 .9rem;font-weight:700}.behavior-evidence-card form>button:disabled{opacity:.45}.behavior-evidence-card form>.error,.behavior-evidence-card form>.saved{color:#923747;font-size:var(--text-xs);grid-column:1/-1;margin:0}.behavior-evidence-card form>.saved{color:#166e50;align-items:center;gap:.25rem;display:flex}.behavior-evidence-card form>.saved svg{width:.8rem}.behavior-evidence-readonly{color:var(--ink-muted);font-size:var(--text-xs);margin:0;padding:.8rem 1rem}.behavior-history{padding-inline:var(--space-5);margin-top:1.25rem}.behavior-history-toggle{width:100%;color:var(--purple-950);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 0;display:flex}.behavior-history-toggle>span{align-items:center;gap:.75rem;display:flex}.behavior-history-toggle>span>svg{width:1.25rem;color:var(--purple-800)}.behavior-history-toggle>span span{gap:.15rem;display:grid}.behavior-history-toggle strong{font-size:var(--text-sm)}.behavior-history-toggle small{color:var(--ink-muted);font-size:var(--text-xs);font-weight:400}.behavior-history-toggle>svg{width:1.1rem;color:var(--ink-muted);transition:transform .16s}.behavior-history.open .behavior-history-toggle>svg{transform:rotate(180deg)}.behavior-history-body{padding-bottom:1rem}.behavior-history-state{color:var(--ink-muted);font-size:var(--text-xs);text-align:center;margin:0;padding:2rem 0}.behavior-history-state.error{color:#913c47;justify-content:center;align-items:center;gap:.75rem;display:flex}.behavior-history-state button,.behavior-history-more{color:var(--purple-800);background:var(--surface);font:inherit;font-size:var(--text-xs);cursor:pointer;border:1px solid #d3c8d6;border-radius:.5rem;padding:.5rem .75rem;font-weight:700}.behavior-history-list article{border-top:1px solid #e2dad3;grid-template-columns:9rem minmax(0,1fr) auto;align-items:start;gap:1rem;padding:.9rem 0;display:grid}.behavior-history-date{color:var(--ink-muted);font-size:var(--text-xs)}.behavior-history-list article>div{min-width:0}.behavior-history-student{align-items:baseline;gap:.55rem;display:flex}.behavior-history-student strong{font-size:var(--text-sm)}.behavior-history-student small,.behavior-history-list article>div>small{color:var(--ink-muted);font-size:var(--text-xs)}.behavior-history-list p{font-size:var(--text-xs);margin:.2rem 0}.behavior-history-list em{color:#217151;font-size:var(--text-xs);white-space:nowrap;background:#dff0e8;border-radius:99rem;padding:.25rem .5rem;font-style:normal;font-weight:700}.behavior-history-list article.negative em{color:#923847;background:#f3dfe3}.behavior-history-list article.voided{color:#756b76}.behavior-history-list article.voided em{color:#706771;background:#e7e2e6}.behavior-history-list .behavior-void-reason{color:#8d3e4a;margin-top:.25rem;display:block}.behavior-score-text{color:#176c50;font-weight:700}.behavior-score-text.negative{color:#923847}.behavior-score-text.pending{color:#85630f}.behavior-history-list article.voided .behavior-score-text{color:#756b76;text-decoration:line-through}.behavior-history-actions{align-items:center;gap:.4rem;display:flex}.behavior-history-actions button{color:#8d3e4a;font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;padding:.3rem .45rem;font-weight:700}.behavior-history-actions button.evidence{color:var(--purple-800);align-items:center;gap:.2rem;display:inline-flex}.behavior-history-actions button.evidence svg{width:.75rem}.behavior-history-actions button.add-evidence{color:#176c50;align-items:center;gap:.2rem;display:inline-flex}.behavior-history-actions button.add-evidence svg{width:.75rem}.behavior-history-actions em.review-pending{color:#7c5b0d;background:#fff1c7}.behavior-history-actions em.review-approved{color:#176c50;background:#dff0e8}.behavior-history-actions em.review-rejected{color:#923847;background:#f3dfe3}.behavior-history-actions em.review-cancelled{color:#706771;background:#e7e2e6}.behavior-history-actions button.review{color:#76550a;align-items:center;gap:.2rem;display:inline-flex}.behavior-history-actions button.review svg{width:.75rem}.behavior-evidence-add-panel{border-top:1px dashed #d9d1ca;grid-column:1/-1;padding:.8rem 0 .15rem 10rem}.behavior-evidence-add-panel>p{color:var(--purple-950);font-size:var(--text-xs);align-items:center;gap:.3rem;margin:0 0 .55rem;font-weight:700;display:flex}.behavior-evidence-add-panel>p svg{width:.8rem}.behavior-evidence-add-panel form{grid-template-columns:minmax(10rem,1fr) 7rem minmax(13rem,1.4fr) auto auto;align-items:end;gap:.55rem;display:grid}.behavior-evidence-add-panel label{gap:.25rem;display:grid}.behavior-evidence-add-panel label>span{color:#756b76;font-size:var(--text-xs);font-weight:700}.behavior-evidence-add-panel input,.behavior-evidence-add-panel select{width:100%;min-height:2.45rem;color:var(--purple-950);background:var(--surface);font:inherit;font-size:var(--text-xs);border:1px solid #d2c9d5;border-radius:.5rem;padding:0 .6rem}.behavior-evidence-add-panel form>button{color:#fff;background:var(--purple-800);min-height:2.45rem;font:inherit;font-size:var(--text-xs);cursor:pointer;white-space:nowrap;border:0;border-radius:.5rem;padding:0 .7rem;font-weight:700}.behavior-evidence-add-panel form>button.cancel{color:var(--purple-800);background:0 0;border:1px solid #d3c8d6}.behavior-evidence-add-panel form>button:disabled{opacity:.45}.behavior-evidence-add-panel form>p.error{color:#923747;font-size:var(--text-xs);grid-column:1/-1;margin:0}.behavior-evidence-list{border-top:1px dashed #d9d1ca;grid-column:1/-1;gap:.4rem;padding:.7rem 0 .1rem 10rem;display:grid}.behavior-evidence-list>p{color:var(--ink-muted);font-size:var(--text-xs);margin:0}.behavior-evidence-list>p.error{color:#923747}.behavior-evidence-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem;display:grid}.behavior-evidence-list a{color:var(--purple-950);background:#f5f0f8;border-radius:.5rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.55rem .65rem;text-decoration:none;display:grid}.behavior-evidence-list a:hover{background:#eee6f3}.behavior-evidence-list a>svg{width:.85rem;color:var(--purple-700)}.behavior-evidence-list a span{display:grid}.behavior-evidence-list a strong{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.behavior-evidence-list a small{color:var(--ink-muted);font-size:var(--text-xs)}.behavior-evidence-item>button{color:#8d3e4a;min-height:2rem;font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;align-items:center;gap:.2rem;padding:0 .45rem;font-weight:700;display:inline-flex}.behavior-evidence-item>button svg{width:.72rem}.behavior-evidence-item>button:disabled{opacity:.5}.behavior-void-panel{border-top:1px dashed #d9d1ca;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.65rem;padding:.85rem 0 .2rem 10rem;display:grid}.behavior-void-panel label{gap:.3rem;display:grid}.behavior-void-panel label span{color:#756b76;font-size:var(--text-xs);font-weight:700}.behavior-void-panel textarea{width:100%;color:var(--purple-950);background:var(--surface);font:inherit;font-size:var(--text-xs);resize:vertical;border:1px solid #d3c8d6;border-radius:.55rem;padding:.65rem}.behavior-void-panel>p{color:#923747;font-size:var(--text-xs);grid-column:1/-1;margin:0}.behavior-void-panel>div{gap:.4rem;display:flex}.behavior-void-panel button{min-height:2.5rem;color:var(--purple-800);background:var(--surface);font:inherit;font-size:var(--text-xs);cursor:pointer;border:1px solid #d3c8d6;border-radius:.5rem;padding:0 .7rem;font-weight:700}.behavior-void-panel button:last-child{color:#fff;background:#8d3e4a;border-color:#8d3e4a}.behavior-void-panel button:disabled{opacity:.5}.behavior-review-panel{border-top:1px dashed #d9d1ca;grid-column:1/-1;grid-template-columns:auto minmax(12rem,1fr) auto;align-items:end;gap:.65rem;padding:.85rem 0 .2rem 10rem;display:grid}.behavior-review-choice{background:#e9e2e9;border-radius:.55rem;gap:.2rem;min-height:2.65rem;padding:.18rem;display:flex}.behavior-review-choice button{color:#6f6472;font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;border-radius:.4rem;padding:0 .7rem;font-weight:700}.behavior-review-choice button.active.approve{color:#fff;background:#217557}.behavior-review-choice button.active.reject{color:#fff;background:#9b3f4b}.behavior-review-panel label{gap:.3rem;display:grid}.behavior-review-panel label span{color:#756b76;font-size:var(--text-xs);font-weight:700}.behavior-review-panel input{width:100%;min-height:2.65rem;color:var(--purple-950);background:var(--surface);font:inherit;font-size:var(--text-xs);border:1px solid #d3c8d6;border-radius:.55rem;padding:0 .65rem}.behavior-review-panel>p{color:#923747;font-size:var(--text-xs);grid-column:1/-1;margin:0}.behavior-review-panel>div:last-child{gap:.4rem;display:flex}.behavior-review-panel>div:last-child button{min-height:2.65rem;color:var(--purple-800);background:var(--surface);font:inherit;font-size:var(--text-xs);cursor:pointer;white-space:nowrap;border:1px solid #d3c8d6;border-radius:.5rem;padding:0 .7rem;font-weight:700}.behavior-review-panel>div:last-child button:last-child{border-color:var(--purple-800);color:#fff;background:var(--purple-800)}.behavior-review-panel>div:last-child button:disabled{opacity:.5}.behavior-history-more{margin-top:.8rem}.behavior-history-more:disabled{opacity:.55}@media (width<=900px){.behavior-record-page{padding-bottom:calc(10rem + var(--safe-bottom))}.behavior-entry-surface{grid-template-columns:1fr}.behavior-record-review{z-index:20;right:max(.75rem, var(--safe-right));bottom:max(.5rem, var(--safe-bottom));left:max(5.25rem, var(--safe-left));border:1px solid var(--line);box-shadow:var(--shadow-control);grid-template-columns:minmax(0,1fr) auto;align-items:center;margin:0;position:fixed;top:auto}.behavior-record-review header,.behavior-record-review ol{display:none}.behavior-record-review .behavior-impact{min-width:0}.behavior-record-review .behavior-record-error{grid-column:1/-1}.behavior-record-submit{min-width:11rem}.behavior-history-list article{grid-template-columns:1fr auto;gap:.35rem .75rem}.behavior-history-date{grid-column:1/-1}}@media (width<=820px){.behavior-record-page{--control-sm:3rem}.behavior-record-review{right:max(.5rem, var(--safe-right));left:max(.5rem, var(--safe-left))}.behavior-manage-link,.behavior-more-toggle{min-height:3rem}}@media (width<=620px){.behavior-record-page{width:min(100% - 1rem,76rem)}.behavior-record-hero{align-items:flex-start}.behavior-record-meta{flex-direction:column;align-items:stretch;gap:.35rem}.behavior-record-meta label{flex-direction:column;align-items:stretch;gap:.2rem}.behavior-record-meta input{width:100%}.behavior-entry-editor{padding:.85rem}.behavior-flow-heading{grid-template-columns:2rem minmax(0,1fr)}.behavior-manage-link{grid-column:2}.behavior-student-filters{grid-template-columns:1fr .45fr}.behavior-student-filters .name{grid-column:1/-1}.behavior-student-results{max-height:15rem}.behavior-selected-student{grid-template-columns:2.25rem minmax(0,1fr)}.behavior-selected-student button{grid-column:2;width:fit-content}.behavior-category-dropdown,.behavior-optional-fields{grid-template-columns:1fr}.behavior-category-dropdown aside{min-height:2.8rem}.behavior-score-empty{grid-template-columns:1.75rem minmax(0,1fr)}.behavior-score-empty a{grid-column:2}.behavior-record-review{grid-template-columns:1fr;gap:.5rem}.behavior-record-review .behavior-impact{font-size:var(--text-xs)}.behavior-record-submit{grid-template-columns:minmax(0,1fr) auto;align-items:center}.behavior-record-submit button{width:auto;min-width:10rem}.behavior-evidence-card form{grid-template-columns:1fr 8rem}.behavior-evidence-card form>div,.behavior-evidence-card .url,.behavior-evidence-card form>button{grid-column:1/-1}.behavior-evidence-add-panel{padding-left:0}.behavior-evidence-add-panel form{grid-template-columns:1fr 7rem}.behavior-evidence-add-panel form .url{grid-column:1/-1}.behavior-evidence-add-panel form>button{grid-row:auto}.behavior-evidence-list{padding-left:0}.behavior-void-panel{grid-template-columns:1fr;padding-left:0}.behavior-void-panel>div{justify-content:flex-end}.behavior-review-panel{grid-template-columns:1fr;padding-left:0}.behavior-review-panel>div:last-child{justify-content:flex-end}}.student-account-page{padding-top:var(--space-4);padding-bottom:4rem}.student-account-page .ui-page-header{margin-bottom:.75rem}.student-account-page .text-link{color:var(--purple-800);font-size:var(--text-sm);font-weight:700;text-decoration:none}.student-account-page .text-link:hover{text-decoration:underline}.student-account-header-actions{align-items:center;gap:.75rem;display:flex}.student-account-header-actions button{min-height:var(--control-md);border-radius:var(--radius-md);color:var(--purple-800);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:1px solid #cfc1d7;align-items:center;gap:.4rem;padding:.5rem .8rem;font-weight:700;display:inline-flex}.student-account-header-actions button svg{width:1rem}.student-account-import-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);margin-bottom:1.2rem;padding:1.25rem}.student-account-import-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.student-account-import-heading span{color:var(--gold-700);font-size:var(--text-xs);letter-spacing:.12em;font-weight:800}.student-account-import-heading h2{color:var(--purple-950);font-size:var(--text-xl);margin:.15rem 0}.student-account-import-heading p{color:var(--ink-muted);font-size:var(--text-sm);margin:0}.student-account-import-heading>button{width:2.4rem;height:2.4rem;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:.5rem;place-items:center;display:grid}.student-account-import-heading>button:hover{background:#f1ebf3}.student-account-import-heading>button svg{width:1rem}.student-account-import-panel .file-drop{min-height:6.5rem;padding-block:1rem}.student-account-import-columns{margin-block:.75rem}.student-account-import-summary{border-block:1px solid var(--line);flex-wrap:wrap;gap:1.5rem;margin-top:1rem;padding-block:.75rem;display:flex}.student-account-import-summary span{color:var(--ink-muted);font-size:var(--text-sm)}.student-account-import-summary strong{color:var(--purple-950);font-size:var(--text-lg);margin-right:.2rem}.student-account-import-preview{border:1px solid var(--line);border-radius:var(--radius-md);margin-top:.8rem;overflow:auto}.student-account-import-preview table{border-collapse:collapse;width:100%;min-width:48rem}.student-account-import-preview th,.student-account-import-preview td{border-bottom:1px solid var(--line);font-size:var(--text-xs);text-align:left;padding:.55rem .7rem}.student-account-import-preview th{color:var(--ink-muted);background:var(--table-heading)}.student-account-import-preview tbody tr:last-child td{border-bottom:0}.student-account-import-preview>p{color:var(--ink-muted);font-size:var(--text-xs);background:#f8f4ef;margin:0;padding:.6rem .7rem}.student-account-import-panel .preview-button{margin-top:.85rem}.student-account-import-confirm{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.student-account-import-confirm label{color:var(--purple-950);font-size:var(--text-sm);align-items:center;gap:.55rem;font-weight:700;display:flex}.student-account-import-confirm input{width:1rem;height:1rem;accent-color:var(--purple-800)}.student-account-import-confirm>button{min-height:var(--control-md);border-radius:var(--radius-md);color:#fff;background:var(--purple-800);font:inherit;font-size:var(--text-sm);cursor:pointer;border:0;padding:.55rem 1rem;font-weight:800}.student-account-import-confirm>button:disabled{opacity:.45;cursor:not-allowed}.student-account-import-panel .commit-success{margin-top:1rem}.student-account-controls{border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--purple-950);background:var(--surface);justify-content:space-between;align-items:end;gap:1rem;padding:.8rem;display:flex}.student-account-selects{flex:1;grid-template-columns:minmax(9rem,.65fr) minmax(9rem,.65fr) minmax(11rem,1fr);gap:.75rem;display:grid}.student-account-controls label{gap:.3rem;min-width:0;display:grid}.student-account-controls label>span{color:var(--ink-muted);font-size:var(--text-xs);font-weight:700}.student-account-controls select{width:100%;min-width:0;min-height:var(--control-md);border-radius:var(--radius-md);color:var(--purple-950);font:inherit;background:#fff;border:1px solid #d8cedb;padding:.5rem .7rem;font-weight:700}.student-account-summary{white-space:nowrap;flex:none;grid-template-columns:repeat(4,minmax(4.4rem,1fr));gap:.4rem;display:grid}.student-account-summary span{min-height:var(--control-md);color:var(--ink-muted);background:#f6f2ee;border-left:2px solid #c9becd;align-content:center;gap:.05rem;padding:.35rem .55rem;display:grid}.student-account-summary strong{color:var(--purple-950);font-size:var(--text-md);line-height:1}.student-account-summary small{font-size:var(--text-xs)}.student-account-summary .is-unlinked{background:#fff7e7;border-left-color:#b8841c}.student-account-summary .is-unlinked strong{color:#8a5b08}.student-account-summary .is-linked{border-left-color:#2f8b62}.student-account-toolbar{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);justify-content:space-between;align-items:center;gap:.75rem;margin:.65rem 0 .5rem;padding:.3rem;display:flex}.student-account-tabs{gap:.2rem;display:inline-flex}.student-account-tabs button{min-height:var(--control-md);color:var(--ink-muted);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;border-radius:.45rem;padding:.4rem .8rem;font-weight:700}.student-account-tabs button.is-active{color:#fff;background:var(--purple-800)}.student-account-search{width:min(23rem,44%);min-height:var(--control-md);background:#fff;border:1px solid #d8cedb;border-radius:.5rem;align-items:center;gap:.5rem;padding:0 .7rem;display:flex}.student-account-search svg{width:1rem;color:var(--ink-muted);flex:none}.student-account-search input{width:100%;min-width:0;color:var(--purple-950);font:inherit;background:0 0;border:0;outline:0}.student-account-action-error{margin-bottom:.65rem}.student-account-table-wrap{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow:auto}.student-account-table{border-collapse:collapse;width:100%;min-width:62rem}.student-account-table th{border-bottom:1px solid var(--line);color:var(--ink-muted);background:var(--table-heading);font-size:var(--text-xs);text-align:left;padding:.55rem .8rem}.student-account-table td{vertical-align:middle;border-bottom:1px solid #e6dfe5;padding:.45rem .8rem}.student-account-table tbody tr:last-child td{border-bottom:0}.student-account-table td:nth-child(2){min-width:15rem}.student-account-table td:nth-child(2) strong,.linked-account strong{color:var(--purple-950);font-size:var(--text-sm);display:block}.student-account-table td small,.linked-account small{color:var(--ink-muted);font-size:var(--text-xs);margin-top:.1rem;display:block}.student-account-roll{width:4rem;color:var(--purple-950);text-align:center;font-weight:800}.account-state{min-height:1.65rem;color:var(--ink-muted);font-size:var(--text-xs);white-space:nowrap;background:#eee8e5;border-radius:999px;align-items:center;gap:.3rem;padding:.18rem .5rem;font-weight:700;display:inline-flex}.account-state svg{width:1rem}.account-state.is-linked{color:#267153;background:#eaf5ef}.student-account-email{width:min(100%,21rem);min-height:var(--control-md);border-radius:var(--radius-md);color:var(--purple-950);font:inherit;font-size:var(--text-sm);background:#fff;border:1px solid #d8cedb;padding:.45rem .65rem}.student-account-email:focus{border-color:var(--purple-800);outline:3px solid #4d268b1f}.student-account-action{text-align:right;width:10.5rem}.icon-text-button{min-height:var(--control-md);border-radius:var(--radius-md);color:var(--purple-800);font:inherit;font-size:var(--text-xs);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #cfc1d7;justify-content:center;align-items:center;gap:.35rem;padding:.5rem .75rem;font-weight:800;display:inline-flex}.icon-text-button svg{width:1rem}.icon-text-button:hover{background:#f4eef8}.icon-text-button.is-danger{color:#9e3442;border-color:#e2c9ce}.icon-text-button:disabled{cursor:not-allowed;opacity:.45}.student-account-dialog-backdrop{z-index:100;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.student-account-dialog{border-radius:var(--radius-lg);background:var(--surface);width:min(100%,29rem);box-shadow:var(--shadow-lg);padding:1.4rem}.student-account-dialog>svg{color:#9e3442;width:1.4rem}.student-account-dialog h2{color:var(--purple-950);font-size:var(--text-xl);margin:.6rem 0 .2rem}.student-account-dialog p{color:var(--ink-muted);margin:0 0 1rem}.student-account-dialog label{gap:.35rem;display:grid}.student-account-dialog label span{color:var(--ink-muted);font-size:var(--text-sm);font-weight:700}.student-account-dialog textarea{border-radius:var(--radius-md);width:100%;color:var(--purple-950);font:inherit;resize:vertical;background:#fff;border:1px solid #d8cedb;padding:.7rem}.student-account-dialog>div{justify-content:flex-end;gap:.55rem;margin-top:1rem;display:flex}.student-account-dialog button{min-height:var(--control-md);border-radius:var(--radius-md);color:var(--purple-800);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:1px solid #d8cedb;padding:.5rem .85rem;font-weight:700}.student-account-dialog button.is-danger{color:#fff;background:#9e3442;border-color:#9e3442}.student-account-dialog button:disabled{opacity:.45;cursor:not-allowed}@media (width<=980px){.student-account-controls{flex-direction:column;align-items:stretch;gap:.85rem}.student-account-summary{border-top:1px solid var(--line);padding-top:.75rem}}@media (width<=680px){.student-account-page .ui-page-header{gap:.75rem}.student-account-header-actions{justify-content:space-between;gap:.5rem;width:100%}.student-account-import-confirm{flex-direction:column;align-items:stretch}.student-account-import-confirm>button{width:100%}.student-account-selects{grid-template-columns:1fr}.student-account-summary{white-space:normal;grid-template-columns:1fr 1fr;display:grid}.student-account-toolbar{flex-direction:column;align-items:stretch;padding:.4rem}.student-account-tabs{width:100%}.student-account-tabs button{flex:1}.student-account-search{width:100%}}.score-entry-page{padding-top:var(--space-4)}.score-entry-page .ui-page-header{margin-bottom:.75rem}.score-entry-course-picker{color:var(--purple-950);background:var(--surface);grid-template-columns:minmax(18rem,36rem) minmax(23rem,1fr) auto;align-items:end;gap:.75rem 1.25rem;padding:.75rem 1rem;display:grid}.score-entry-course-picker label,.score-entry-course-picker>div{min-width:0}.score-entry-course-picker label>span,.score-entry-course-picker>div>span{color:var(--ink-muted);font-size:var(--text-xs);margin-bottom:.35rem;font-weight:700;display:block}.score-entry-course-picker select{width:100%;min-height:2.9rem;color:var(--purple-950);font:inherit;background:#fff;border:1px solid #d6cadf;border-radius:.65rem;padding-inline:.8rem;font-weight:700}.score-room-tabs{scrollbar-width:thin;gap:.4rem;display:flex;overflow-x:auto}.score-room-tabs button{border:1px solid var(--line);min-width:0;min-height:2.9rem;color:var(--purple-800);background:var(--surface);font:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;border-radius:.6rem;flex:4rem;padding:.55rem;font-weight:700}.score-room-tabs button:hover{background:var(--table-heading)}.score-room-tabs button.active{border-color:var(--purple-800);color:#fff;background:var(--purple-800)}.score-room-tabs button:disabled{opacity:.55;cursor:default}.score-entry-course-picker>small{color:var(--ink-muted);font-size:var(--text-xs);white-space:nowrap;align-self:center}.score-entry-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0 .6rem;display:flex}.score-entry-toolbar>div:first-child{gap:.1rem;min-width:0;display:grid}.score-entry-toolbar strong{font-size:var(--text-lg)}.score-entry-toolbar span{color:var(--ink-muted);font-size:var(--text-sm)}.score-entry-toolbar>div:last-child{gap:.55rem;display:flex}.score-entry-toolbar .ui-button{justify-content:center;align-items:center;gap:.4rem;display:inline-flex}.score-entry-toolbar .ui-button svg{width:1rem}.score-entry-draft{color:#8a640e;font-size:var(--text-sm);text-align:right;justify-content:flex-end;align-items:center;gap:.65rem;margin:0 0 .65rem;font-weight:700;display:flex}.score-entry-draft.error,.score-entry-error{color:#a73544}.score-entry-draft button{color:inherit;font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:.2rem 0}.score-entry-conflict{color:#772532;background:#fff7f7;border-left:3px solid #a73544;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 .75rem;padding:.7rem .8rem;display:flex}.score-entry-conflict>div{gap:.1rem;display:grid}.score-entry-conflict strong{font-size:var(--text-sm)}.score-entry-conflict span{color:#765c62;font-size:var(--text-xs)}.score-entry-conflict .ui-button{flex:none;min-height:2.35rem;padding:.45rem .8rem}.workflow-conflict{color:#772532;background:#fff7f7;border-left:3px solid #a73544;justify-content:space-between;align-items:center;gap:.8rem;padding:.65rem .7rem;display:flex}.workflow-conflict>div{gap:.1rem;display:grid}.workflow-conflict strong{font-size:var(--text-sm)}.workflow-conflict span{color:#765c62;font-size:var(--text-xs)}.workflow-conflict button{color:inherit;font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;flex:none;padding:.25rem 0;font-weight:700}.gradebook-readiness{color:var(--ink-muted);font-size:var(--text-xs);align-items:center;gap:.45rem 1.1rem;margin:0 0 .65rem;display:flex}.gradebook-readiness span{white-space:nowrap}.gradebook-readiness b{color:var(--purple-950);margin-left:.15rem}.gradebook-readiness small{color:#6e626f;font-size:inherit;margin-left:auto}.gradebook-workflow-status{background:#f5f1f6;border-left:3px solid #9b8ca1;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 .7rem;padding:.65rem .8rem;display:flex}.gradebook-workflow-status>div:first-child{gap:.1rem;min-width:0;display:grid}.gradebook-workflow-status strong{color:var(--purple-950);font-size:var(--text-sm)}.gradebook-workflow-status span{color:var(--ink-muted);font-size:var(--text-xs)}.gradebook-workflow-status>div:last-child{align-items:center;gap:.5rem;display:flex}.gradebook-workflow-status.submitted{background:#fff8e9;border-left-color:#b27a12}.gradebook-workflow-status.locked{background:#edf7f2;border-left-color:#2f7458}.gradebook-workflow-status .ui-button{min-height:2.45rem}.gradebook-workflow-dialog label{text-align:left;gap:.35rem;display:grid}.gradebook-workflow-dialog label span{color:var(--ink-muted);font-size:var(--text-sm);font-weight:700}.gradebook-workflow-dialog textarea{border:1px solid var(--line);width:100%;color:var(--purple-950);font:inherit;resize:vertical;background:#fff;border-radius:.55rem;padding:.65rem .75rem}.score-review-page{padding-top:var(--space-4)}.score-review-page .ui-page-header{margin-bottom:.75rem}.score-review-controls{color:#fff;background:var(--purple-950);grid-template-columns:minmax(0,1fr) 9rem 10rem;align-items:end;gap:.8rem;padding:.75rem .9rem;display:grid}.score-review-controls label{gap:.3rem;display:grid}.score-review-controls label span{color:#d7cadc;font-size:var(--text-xs);font-weight:700}.score-review-controls :is(input,select){width:100%;min-height:2.75rem;color:var(--purple-950);font:inherit;background:#fff;border:1px solid #cfc3d5;border-radius:.5rem;padding:.35rem .6rem;font-weight:700}.score-review-status-tabs{align-items:center;gap:.35rem;display:flex}.score-review-status-tabs button{color:#d7cadc;min-height:2.75rem;font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:1px solid #ffffff38;border-radius:.5rem;align-items:center;gap:.35rem;padding:.4rem .75rem;font-weight:700;display:inline-flex}.score-review-status-tabs button svg{width:1rem}.score-review-status-tabs button.active{color:var(--purple-950);background:#fff;border-color:#fff}.score-review-summary{color:var(--ink-muted);font-size:var(--text-sm);flex-wrap:wrap;gap:.4rem 1.2rem;margin:.85rem 0 .55rem;display:flex}.score-review-summary b{color:var(--purple-950);margin-left:.15rem}.score-review-list{overflow:hidden}.score-review-list-head,.score-review-list article{grid-template-columns:minmax(17rem,1.7fr) minmax(10rem,1fr) 7rem 9rem 10rem 6rem;align-items:center;gap:.8rem;padding:.7rem .9rem;display:grid}.score-review-list-head{color:var(--ink-muted);font-size:var(--text-xs);background:#eee8ef;font-weight:800}.score-review-list article{border-top:1px solid var(--line);color:var(--purple-950);font-size:var(--text-sm)}.score-review-list article:first-of-type{border-top:0}.score-review-list article>div:first-child{gap:.1rem;min-width:0;display:grid}.score-review-list article>div:first-child strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.score-review-list article>div:first-child span,.score-review-list article time{color:var(--ink-muted);font-size:var(--text-xs)}.score-review-list article>div:nth-child(4){gap:.15rem;min-width:0;display:grid}.score-review-list article>div:nth-child(4) small{color:#a23a47;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.score-review-state{color:#76500b;width:fit-content;font-size:var(--text-xs)}.score-review-state.draft{color:#6c5e6f}.score-review-state.returned{color:#a23a47}.score-review-state.locked{color:#287055}.score-review-list article>a{color:var(--purple-800);justify-self:end;font-weight:800;text-decoration:none}.score-review-list article>a:hover{text-decoration:underline}.correction-queue-page{padding-top:var(--space-4)}.correction-queue-page .ui-page-header{margin-bottom:.75rem}.correction-queue-controls{color:#fff;background:var(--purple-950);grid-template-columns:minmax(26rem,1fr) minmax(18rem,1fr) 8rem 9rem;align-items:end;gap:.75rem;padding:.75rem .9rem;display:grid}.correction-queue-controls label{gap:.28rem;display:grid}.correction-queue-controls label>span{color:#d7cadc;font-size:var(--text-xs);font-weight:700}.correction-queue-controls :is(input,select){width:100%;min-height:2.75rem;color:var(--purple-950);font:inherit;background:#fff;border:1px solid #cfc3d5;border-radius:.5rem;padding:.35rem .6rem;font-weight:700}.correction-queue-tabs{gap:.3rem;display:flex;overflow-x:auto}.correction-queue-tabs button{color:#d7cadc;min-height:2.75rem;font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:1px solid #ffffff38;border-radius:.5rem;flex:none;padding:.4rem .65rem;font-weight:700}.correction-queue-tabs button.active{color:var(--purple-950);background:#fff;border-color:#fff}.correction-queue-controls form label>div{display:flex;position:relative}.correction-queue-controls form svg{width:1rem;color:var(--ink-muted);position:absolute;top:.72rem;left:.65rem}.correction-queue-controls form input{border-radius:.5rem 0 0 .5rem;padding-left:2rem}.correction-queue-controls form button{color:var(--purple-950);background:var(--gold-400);font:inherit;cursor:pointer;border:0;border-radius:0 .5rem .5rem 0;padding:.35rem .75rem;font-weight:800}.correction-queue-summary{color:var(--ink-muted);font-size:var(--text-sm);flex-wrap:wrap;gap:.4rem 1.2rem;margin:.85rem 0 .55rem;display:flex}.correction-queue-summary b{color:var(--purple-950);margin-left:.15rem}.correction-queue-summary .has-overdue{color:#a23a47}.correction-queue-summary button{color:var(--purple-800);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;align-items:center;gap:.25rem;margin-left:auto;padding:0;font-weight:800;display:inline-flex}.correction-queue-summary button svg{width:.95rem}.correction-queue-summary button.active{color:#a23a47}.correction-sla-strip{color:var(--ink-muted);font-size:var(--text-xs);justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.55rem;display:flex}.correction-sla-strip b{color:var(--purple-950)}.correction-sla-strip button{color:var(--purple-800);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;align-items:center;gap:.25rem;padding:.2rem .35rem;font-weight:800;display:inline-flex}.correction-sla-strip button svg{width:.9rem}.correction-queue-list{overflow:hidden}.correction-queue-head,.correction-queue-list article{grid-template-columns:minmax(13rem,1.15fr) minmax(12rem,1fr) 9rem minmax(14rem,1.2fr) 9rem 8rem;align-items:center;gap:.8rem;padding:.72rem .9rem;display:grid}.correction-queue-head{color:var(--ink-muted);font-size:var(--text-xs);background:#eee8ef;font-weight:800}.correction-queue-list article{border-top:1px solid var(--line);color:var(--purple-950);font-size:var(--text-sm)}.correction-queue-list article>div:not(.correction-score-change,.correction-queue-actions){gap:.08rem;min-width:0;display:grid}.correction-queue-list article span,.correction-queue-list article small,.correction-queue-list article time{color:var(--ink-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.correction-queue-student strong{font-size:var(--text-base)}.correction-score-change{align-items:center;gap:.45rem;display:flex}.correction-score-change span{text-align:center;min-width:2.5rem;display:grid}.correction-score-change b{color:var(--purple-950);font-size:var(--text-lg)}.correction-score-change i{color:var(--ink-muted);font-style:normal}.correction-queue-state{color:#76500b;width:fit-content;font-size:var(--text-xs)}.correction-queue-state.published{color:#287055}.correction-queue-state.rejected{color:#a23a47}.correction-queue-state.awaiting_publication{color:var(--purple-800)}.correction-sla-state{width:fit-content;color:var(--ink-muted);font-size:var(--text-xs);font-style:normal}.correction-sla-state.due_soon{color:#91620b}.correction-sla-state.overdue{color:#a23a47;font-weight:800}.correction-queue-actions{justify-content:flex-end;display:flex}.correction-queue-actions :is(button,a){border:1px solid var(--purple-800);color:#fff;background:var(--purple-800);min-height:2.35rem;font:inherit;font-size:var(--text-xs);cursor:pointer;border-radius:.45rem;place-items:center;padding:.35rem .65rem;font-weight:800;text-decoration:none;display:inline-grid}.correction-queue-actions :is(button.secondary,a){color:var(--purple-800);background:#fff}.correction-queue-pagination{color:var(--ink-muted);font-size:var(--text-sm);justify-content:center;align-items:center;gap:.8rem;margin-top:.85rem;display:flex}.correction-queue-pagination button{border:1px solid var(--line);min-height:2.35rem;color:var(--purple-800);font:inherit;cursor:pointer;background:#fff;border-radius:.45rem;padding:.35rem .75rem;font-weight:800}.correction-queue-pagination button:disabled{cursor:not-allowed;opacity:.45}.correction-queue-dialog{width:min(34rem,100%);min-width:0}.correction-queue-dialog-body{gap:.85rem;padding:1rem 1.25rem;display:grid}.correction-queue-dialog-body>p{color:var(--ink-muted);font-size:var(--text-sm);margin:0}.correction-queue-dialog-body>p b{color:var(--purple-950)}.correction-queue-dialog-body label{color:var(--purple-950);font-size:var(--text-sm);gap:.3rem;font-weight:800;display:grid}.correction-queue-dialog-body textarea{border:1px solid var(--line);width:100%;color:var(--purple-950);font:inherit;resize:vertical;background:#fff;border-radius:.5rem;padding:.55rem .7rem}.correction-sla-form{grid-template-columns:1fr 1fr}.correction-sla-form input{border:1px solid var(--line);width:100%;min-height:2.7rem;color:var(--purple-950);font:inherit;background:#fff;border-radius:.5rem;padding:.45rem .65rem}.correction-sla-form>p{grid-column:1/-1}.correction-calendar-dialog{width:min(48rem,100%)}.correction-calendar-settings{border-top:1px solid var(--line);grid-column:1/-1;gap:.55rem;padding-top:.8rem;display:grid}.correction-calendar-fields{grid-template-columns:9.5rem 10rem minmax(0,1fr) auto;gap:.45rem;min-width:0;display:grid}.correction-calendar-fields>*{min-width:0}.correction-calendar-fields :is(input,select,button){border:1px solid var(--line);min-height:2.45rem;font:inherit;background:#fff;border-radius:.45rem;padding:.35rem .55rem}.correction-calendar-fields button{color:#fff;background:var(--purple-800);font-weight:800}.correction-calendar-row{color:var(--ink-muted);font-size:var(--text-sm);grid-template-columns:7rem 4rem 1fr auto;align-items:center;gap:.55rem;display:grid}.correction-calendar-row b{color:var(--purple-950)}.correction-calendar-row button{color:#a23a47;font:inherit;cursor:pointer;background:0 0;border:0;font-weight:800}.correction-dialog-score{grid-template-columns:1fr auto 1fr;align-items:center;gap:.8rem;display:grid}.correction-dialog-score>span{border-left:3px solid var(--line);color:var(--ink-muted);font-size:var(--text-xs);background:#faf8fb;padding:.75rem;display:grid}.correction-dialog-score>span:last-child{border-left-color:var(--purple-800)}.correction-dialog-score strong{color:var(--purple-950);font-size:var(--text-xl)}.correction-dialog-score i{color:var(--ink-muted);font-style:normal}.correction-dialog-warning,.correction-dialog-ready{background:#fff8e7;border-left:3px solid #b07913;padding:.6rem .7rem;color:#76500b!important}.correction-dialog-ready{background:#eef8f3;border-left-color:#287055;color:#23684a!important}.release-readiness-page{padding-top:var(--space-4)}.release-readiness-page .ui-page-header{margin-bottom:.75rem}.release-readiness-controls{color:#fff;background:var(--purple-950);justify-content:space-between;align-items:end;gap:1rem;padding:.8rem 1rem;display:flex}.release-readiness-controls label{gap:.3rem;width:min(22rem,100%);display:grid}.release-readiness-controls label>span{color:#d7cadc;font-size:var(--text-xs);font-weight:700}.release-readiness-controls select{min-height:2.75rem;color:var(--purple-950);font:inherit;background:#fff;border:1px solid #cfc3d5;border-radius:.55rem;padding:.4rem .7rem;font-weight:700}.release-readiness-tabs{gap:.3rem;display:flex;overflow-x:auto}.release-readiness-tabs button{color:#d7cadc;min-height:2.75rem;font:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #ffffff38;border-radius:.55rem;padding:.45rem .8rem;font-weight:700}.release-readiness-tabs button.active{color:var(--purple-950);background:#fff;border-color:#fff}.release-readiness-summary{color:var(--ink-muted);font-size:var(--text-sm);flex-wrap:wrap;gap:.4rem 1.5rem;margin:.9rem 0 .6rem;display:flex}.release-readiness-summary strong{color:var(--purple-950);font-size:var(--text-md);margin-inline:.15rem}.release-readiness-summary .issues strong{color:#a23a47}.release-readiness-summary .ready strong{color:#287055}.release-readiness-list{overflow:hidden}.release-readiness-list>header,.release-readiness-list article{grid-template-columns:minmax(16rem,1.5fr) minmax(9rem,.8fr) 5rem 8rem minmax(15rem,1.25fr) 5rem;align-items:center;gap:.8rem;padding:.75rem 1rem;display:grid}.release-readiness-list>header{color:var(--ink-muted);font-size:var(--text-xs);background:#eee8ef;font-weight:800}.release-readiness-list article{border-top:1px solid var(--line);color:var(--purple-950);font-size:var(--text-sm)}.release-course{gap:.08rem;min-width:0;display:grid}.release-course strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.release-course span{color:var(--ink-muted);font-size:var(--text-xs)}.release-state{font-size:var(--text-xs);white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.release-state svg{width:.95rem;height:.95rem}.release-state.issues{color:#a23a47}.release-state.ready{color:#287055}.release-state.published{color:var(--purple-800)}.release-issues{color:#695e6c;min-width:0;font-size:var(--text-xs);flex-wrap:wrap;gap:.15rem .55rem;display:flex}.release-issues small{color:#a23a47;font-size:inherit}.release-readiness-list article>a{color:var(--purple-800);justify-self:end;font-weight:800;text-decoration:none}.release-readiness-list article>a:hover{text-decoration:underline}.release-rehearsal-open{color:var(--purple-800);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;justify-self:end;align-items:center;gap:.3rem;padding:.35rem 0;font-weight:800;display:inline-flex}.release-rehearsal-open svg{width:.95rem;height:.95rem}.release-readiness-limit{color:var(--ink-muted);font-size:var(--text-xs);text-align:right;margin:.7rem 0 0}.release-rehearsal-backdrop{z-index:80;place-items:center;padding:2rem;display:grid;position:fixed;inset:0}.release-rehearsal-dialog{width:min(54rem,100%);max-height:calc(100vh - 4rem);padding:1.25rem;overflow-y:auto;box-shadow:0 1.5rem 4rem #1a0d2240}.release-rehearsal-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.8rem;display:flex}.release-rehearsal-dialog>header span{color:var(--gold-700);font-size:var(--text-xs);letter-spacing:.13em;font-weight:900}.release-rehearsal-dialog>header h2{color:var(--purple-950);font-size:var(--text-xl);font-weight:var(--weight-semibold);margin:.15rem 0 0}.release-rehearsal-dialog>header button{width:2.5rem;height:2.5rem;color:var(--ink-muted);cursor:pointer;background:#eee8ef;border:0;border-radius:.55rem;place-items:center;display:grid}.release-rehearsal-dialog>header button svg{width:1.15rem}.release-rehearsal-safe{color:#245f49;font-size:var(--text-sm);background:#edf8f2;border-left:3px solid #287055;align-items:center;gap:.55rem;margin:.9rem 0;padding:.7rem .85rem;font-weight:700;display:flex}.release-rehearsal-safe svg{flex:none;width:1.1rem}.release-rehearsal-course{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.65rem;display:flex}.release-rehearsal-course strong{color:var(--purple-950)}.release-rehearsal-course span{color:var(--ink-muted);font-size:var(--text-xs)}.release-rehearsal-samples{border-block:1px solid var(--line)}.release-rehearsal-samples article{border-top:1px solid var(--line);grid-template-columns:minmax(13rem,1fr) 2fr;align-items:center;gap:1rem;padding:.75rem .15rem;display:grid}.release-rehearsal-samples article:first-child{border-top:0}.release-rehearsal-samples article>div:first-child{gap:.1rem;display:grid}.release-rehearsal-samples article>div:first-child span{color:var(--ink-muted);font-size:var(--text-xs)}.release-rehearsal-samples dl{grid-template-columns:.7fr .6fr 1fr 1.2fr;gap:.65rem;margin:0;display:grid}.release-rehearsal-samples dl div{min-width:0}.release-rehearsal-samples dt{color:var(--ink-muted);font-size:var(--text-xs)}.release-rehearsal-samples dd{color:var(--purple-950);font-size:var(--text-sm);margin:.1rem 0 0;font-weight:800}.release-rehearsal-last{color:var(--ink-muted);font-size:var(--text-xs);margin:.65rem 0 0}.release-rehearsal-note{gap:.3rem;margin-top:.85rem;display:grid}.release-rehearsal-note span{color:var(--ink-muted);font-size:var(--text-xs);font-weight:700}.release-rehearsal-note textarea{border:1px solid var(--line);width:100%;color:var(--purple-950);font:inherit;resize:vertical;background:#fff;border-radius:.55rem;padding:.6rem .7rem}.release-rehearsal-dialog>footer{justify-content:flex-end;gap:.55rem;margin-top:.9rem;display:flex}.release-rehearsal-dialog>footer button{min-height:2.7rem;font:inherit;cursor:pointer;border-radius:.55rem;padding:.5rem 1rem;font-weight:800}.release-rehearsal-dialog>footer .secondary{border:1px solid var(--line);color:var(--purple-800);background:#fff}.release-rehearsal-dialog>footer .primary{border:1px solid var(--purple-800);color:#fff;background:var(--purple-800)}.release-rehearsal-dialog>footer button:disabled{opacity:.6;cursor:wait}.release-rehearsal-error,.release-rehearsal-success{font-size:var(--text-sm);margin:.65rem 0 0;font-weight:700}.release-rehearsal-error{color:#a23a47}.release-rehearsal-success{color:#287055;align-items:center;gap:.35rem;display:flex}.release-rehearsal-success svg{width:1rem}.result-reports-page{--report-line:#ddd4df;padding-top:var(--space-4)}.result-reports-page .ui-page-header{margin-bottom:.75rem}.result-report-controls{background:var(--surface);grid-template-columns:auto minmax(20rem,1fr) minmax(13rem,.35fr);align-items:end;gap:.75rem;margin-bottom:.75rem;padding:.85rem;display:grid}.result-report-modes{gap:.25rem;display:flex}.result-report-modes button{border:1px solid var(--line);min-height:2.75rem;color:var(--purple-800);background:var(--surface);font:inherit;cursor:pointer;border-radius:.5rem;padding:.5rem .85rem;font-weight:800}.result-report-modes button[aria-selected=true]{border-color:var(--purple-800);color:#fff;background:var(--purple-800)}.result-report-controls label{gap:.25rem;min-width:0;display:grid}.result-report-controls label>span{color:var(--ink-muted);font-size:var(--text-xs);font-weight:700}.result-report-controls select{border:1px solid var(--line);width:100%;min-height:2.75rem;color:var(--purple-950);background:var(--surface);font:inherit;border-radius:.5rem;padding:.45rem .65rem;font-weight:700}.result-report-capability{color:#7a5b24;font-size:var(--text-xs);align-items:flex-start;gap:.45rem;margin:0 0 .75rem;display:flex}.result-report-capability svg{flex:none;width:1rem}.result-report-sheet{overflow:hidden}.result-report-sheet>header{border-bottom:1px solid var(--report-line);justify-content:space-between;align-items:flex-end;gap:1rem;padding:1rem 1.1rem;display:flex}.result-report-sheet>header p{color:var(--gold-700);font-size:var(--text-xs);letter-spacing:.08em;margin:0 0 .2rem;font-weight:900}.result-report-sheet>header h2{color:var(--purple-950);font-size:var(--text-xl);margin:0}.result-report-sheet>header span{color:var(--ink-muted);font-size:var(--text-sm)}.result-report-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.result-report-actions button{border:1px solid var(--line);min-height:2.5rem;color:var(--purple-800);font:inherit;font-size:var(--text-xs);cursor:pointer;background:#fff;border-radius:.5rem;align-items:center;gap:.35rem;padding:.45rem .7rem;font-weight:800;display:inline-flex}.result-report-actions button:last-child{border-color:var(--purple-800);color:#fff;background:var(--purple-800)}.result-report-actions button:disabled{opacity:.45;cursor:not-allowed}.result-report-actions svg{width:1rem}.result-report-summary{color:var(--ink-muted);font-size:var(--text-sm);border-bottom:1px solid var(--report-line);background:#f7f3f7;flex-wrap:wrap;gap:.35rem 1.4rem;padding:.6rem 1.1rem;display:flex}.result-report-summary b{color:var(--purple-950);margin-left:.2rem;font-size:1.05em}.result-report-distribution{border-bottom:1px solid var(--report-line);color:var(--ink-muted);font-size:var(--text-xs);flex-wrap:wrap;align-items:baseline;gap:.35rem 1rem;padding:.55rem 1.1rem;display:flex}.result-report-distribution>strong{color:var(--purple-950)}.result-report-distribution span{white-space:nowrap}.result-report-distribution b{color:var(--purple-950);margin-left:.2rem;font-size:1.08em}.result-report-document-heading,.result-report-signatures,.result-report-print-meta{display:none}.result-report-table-wrap{width:100%;overflow-x:auto}.result-report-sheet table{border-collapse:collapse;width:100%;min-width:52rem}.result-report-sheet th,.result-report-sheet td{border-bottom:1px solid var(--report-line);text-align:left;white-space:nowrap;padding:.55rem .7rem}.result-report-sheet th{color:var(--ink-muted);background:var(--table-heading);font-size:var(--text-xs)}.result-report-sheet td{color:var(--purple-950);font-size:var(--text-sm)}.result-report-sheet th:first-child,.result-report-sheet td:first-child{text-align:center}.result-report-admin-column{text-align:right!important}.result-report-status-button{border:1px solid var(--line);min-height:2rem;color:var(--purple-800);font:inherit;font-size:var(--text-xs);cursor:pointer;background:#fff;border-radius:.45rem;padding:.3rem .65rem;font-weight:800}.result-report-status-button:hover{border-color:var(--purple-700);background:#f5effa}.result-report-row-actions{justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.result-report-row-actions>span{color:var(--ink-muted);font-size:var(--text-xs)}.result-report-status-button.is-pending{color:#7a5410;background:#fff9e9;border-color:#b8841c}.result-status-dialog-backdrop{z-index:100;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.result-status-dialog{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:min(100%,35rem);max-height:calc(100dvh - 2rem);overflow-y:auto;box-shadow:0 1.5rem 5rem #00000047}.result-status-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.15rem 1.25rem .85rem;display:flex}.result-status-dialog>header span{color:var(--gold-700);font-size:var(--text-xs);letter-spacing:.08em;font-weight:900}.result-status-dialog>header h2{color:var(--purple-950);font-size:var(--text-lg);margin:.15rem 0 0}.result-status-dialog>header p{color:var(--ink-muted);font-size:var(--text-sm);margin:.15rem 0 0}.result-status-dialog>header button{width:2rem;height:2rem;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;padding:.35rem}.result-status-dialog>header button svg{width:100%;height:100%}.result-status-form{grid-template-columns:1fr 1fr;gap:.8rem;padding:1rem 1.25rem;display:grid}.result-status-form label{color:var(--purple-950);font-size:var(--text-sm);gap:.3rem;font-weight:800;display:grid}.result-status-form select,.result-status-form input,.result-status-form textarea{border:1px solid var(--line);width:100%;min-height:2.75rem;color:var(--purple-950);font:inherit;background:#fff;border-radius:.5rem;padding:.55rem .7rem}.result-status-form textarea{resize:vertical}.result-status-note{grid-column:1/-1}.result-status-history{border-top:1px solid var(--line);gap:.65rem;margin:0 1.25rem;padding:.9rem 0;display:grid}.result-status-history>strong{color:var(--purple-950);font-size:var(--text-sm)}.result-status-history>span{color:var(--ink-muted);font-size:var(--text-sm)}.result-status-history>article{grid-template-columns:.55rem 1fr;gap:.55rem;display:grid}.result-status-history>article>i{background:var(--purple-700);border-radius:50%;width:.5rem;height:.5rem;margin-top:.45rem}.result-status-history article div{gap:.05rem;display:grid}.result-status-history article b{color:var(--purple-950);font-size:var(--text-sm)}.result-status-history article span,.result-status-history article small{color:var(--ink-muted);font-size:var(--text-xs)}.result-status-history-error{color:#a22f3e!important}.result-status-error{color:#a22f3e;font-size:var(--text-sm);margin:0 1.25rem}.result-status-dialog>footer{justify-content:flex-end;gap:.6rem;padding:.9rem 1.25rem 1.15rem;display:flex}.result-status-dialog>footer button{border:1px solid var(--purple-800);color:#fff;background:var(--purple-800);min-height:2.65rem;font:inherit;cursor:pointer;border-radius:.5rem;padding:.5rem .9rem;font-weight:800}.result-status-dialog>footer button.secondary{border-color:var(--line);color:#a22f3e;background:#fff;margin-right:auto}.result-status-dialog>footer button:disabled{cursor:not-allowed;opacity:.5}.correction-review-detail{gap:.8rem;padding:1rem 1.25rem;display:grid}.correction-review-detail dl{grid-template-columns:1fr 1fr;gap:.65rem;margin:0;display:grid}.correction-review-detail dl div{gap:.05rem;display:grid}.correction-review-detail dt{color:var(--ink-muted);font-size:var(--text-xs)}.correction-review-detail dd{color:var(--purple-950);margin:0;font-weight:800}.correction-review-detail>p{border-left:3px solid var(--gold-500);color:var(--purple-950);font-size:var(--text-sm);background:#faf6ed;margin:0;padding:.65rem .75rem}.correction-review-detail label{color:var(--purple-950);font-size:var(--text-sm);gap:.3rem;font-weight:800;display:grid}.correction-review-detail textarea{border:1px solid var(--line);width:100%;color:var(--purple-950);font:inherit;resize:vertical;background:#fff;border-radius:.5rem;padding:.55rem .7rem}.correction-publication-body{gap:.9rem;padding:1rem 1.25rem;display:grid}.correction-comparison{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.correction-comparison article{border:1px solid var(--line);background:#fff;border-radius:.65rem;gap:.15rem;padding:.85rem;display:grid}.correction-comparison article:last-child{background:#f8f3fb;border-color:#bca8ce}.correction-comparison span{color:var(--ink-muted);font-size:var(--text-xs)}.correction-comparison strong{color:var(--purple-950);font-size:var(--text-xl)}.correction-comparison small{color:var(--ink-muted);font-size:var(--text-sm)}.correction-publication-body label{color:var(--purple-950);font-size:var(--text-sm);gap:.3rem;font-weight:800;display:grid}.correction-publication-body textarea{border:1px solid var(--line);width:100%;color:var(--purple-950);font:inherit;resize:vertical;background:#fff;border-radius:.5rem;padding:.55rem .7rem}.correction-rehearsed{color:#23684a;font-size:var(--text-sm);background:#eef8f3;border-left:3px solid #2f8b62;margin:0;padding:.65rem .75rem}.result-report-sheet>footer{color:var(--ink-muted);font-size:var(--text-xs);padding:.55rem 1.1rem}.student-results-page{padding-top:var(--space-4)}.student-results-page .ui-page-header{margin-bottom:.75rem}.student-results-identity{align-items:baseline;gap:.7rem;margin-bottom:.7rem;display:flex}.student-results-identity strong{color:var(--purple-950);font-size:var(--text-lg)}.student-results-identity span{color:var(--ink-muted);font-size:var(--text-sm)}.student-results-list{overflow:hidden}.student-results-head,.student-results-list article{grid-template-columns:7rem minmax(15rem,1fr) 6rem 5rem 4.5rem 8rem 9rem;align-items:center;gap:.75rem;padding:.75rem .9rem;display:grid}.student-results-head{color:var(--ink-muted);font-size:var(--text-xs);background:#eee8ef;font-weight:800}.student-results-list article{border-top:1px solid var(--line);color:var(--purple-950);font-size:var(--text-sm)}.student-results-list article:first-of-type{border-top:0}.student-results-list article>div{min-width:0;display:grid}.student-results-list article>div span{color:var(--ink-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-results-list article>b{text-align:center}.student-grade{color:#fff;background:var(--purple-800);border-radius:50%;place-items:center;width:2.4rem;height:2.4rem;display:grid}.assessment-manager{margin-bottom:1rem;padding:1.1rem 1.2rem}.assessment-manager>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:1rem;padding-bottom:.8rem;display:flex}.assessment-manager>header span{color:var(--gold-700);font-size:var(--text-xs);letter-spacing:.08em;font-weight:800}.assessment-manager>header h2{font-size:var(--text-lg);margin:.1rem 0 0}.assessment-manager>header>strong{font-size:var(--text-md)}.assessment-first-run{grid-template-columns:minmax(13rem,1fr) minmax(8rem,.55fr) minmax(12rem,1fr) auto;align-items:end;gap:.75rem;padding:1rem 0 .1rem;display:grid}.assessment-first-run p{color:var(--ink-muted);font-size:var(--text-sm);margin:.15rem 0 0}.assessment-first-run label,.assessment-create label{color:var(--ink-muted);font-size:var(--text-xs);gap:.3rem;font-weight:700;display:grid}.assessment-first-run input,.assessment-create :is(input,select),.assessment-list :is(input,select){width:100%;min-width:0;min-height:2.65rem;color:var(--purple-950);font:inherit;background:#fff;border:1px solid #d4ccd6;border-radius:.5rem;padding:.5rem .65rem}.assessment-create{border-bottom:1px solid var(--line);grid-template-columns:minmax(9rem,.75fr) minmax(14rem,1.8fr) minmax(10rem,1fr) 7rem auto;align-items:end;gap:.65rem;padding:.9rem 0;display:grid}.assessment-create>p{color:#a73544;font-size:var(--text-sm);grid-column:1/-1;margin:0}.assessment-list{display:grid}.assessment-list>p{color:var(--ink-muted);font-size:var(--text-sm);margin:1rem 0 .2rem}.assessment-list article{border-bottom:1px solid var(--line);grid-template-columns:8rem minmax(12rem,1fr) 5rem auto;align-items:center;gap:.7rem;min-height:3.8rem;padding:.55rem 0;display:grid}.assessment-list article:last-child{border-bottom:0}.assessment-list article.inactive{opacity:.55}.assessment-list article>span{color:var(--gold-700);font-size:var(--text-xs);font-weight:800}.assessment-list article>div:first-of-type{min-width:0;display:grid}.assessment-list article small{color:var(--ink-muted);font-size:var(--text-xs)}.assessment-list article>b{text-align:center}.assessment-list article>div:last-child{justify-content:flex-end;gap:.3rem;display:flex}.assessment-list article button{border:1px solid var(--line);min-width:2.4rem;min-height:2.4rem;color:var(--purple-800);font:inherit;cursor:pointer;background:#fff;border-radius:.45rem}.assessment-list article button svg{width:.95rem}.gradebook-surface{overflow:hidden}.gradebook-scroll{width:100%;max-height:min(66vh,48rem);overflow:auto}.gradebook-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%}.gradebook-table th,.gradebook-table td{height:2.75rem;color:var(--purple-950);text-align:center;background:#fff;border-bottom:1px solid #ddd6dc;border-right:1px solid #ddd6dc;padding:.25rem .35rem}.gradebook-table thead th{z-index:5;color:#fff;background:var(--purple-800);font-size:var(--text-xs);position:sticky;top:0}.gradebook-table thead tr:nth-child(2) th{background:var(--purple-700);height:3.6rem;top:2.75rem}.gradebook-table thead th.phase-before_midterm{background:var(--purple-800)}.gradebook-table thead th.phase-midterm{background:var(--purple-950)}.gradebook-table thead th.phase-after_midterm{background:var(--purple-800)}.gradebook-table thead th.phase-final{background:var(--purple-950)}.gradebook-table thead button{color:#fff;width:4.3rem;min-height:3rem;font:inherit;cursor:pointer;background:0 0;border:0;padding:.25rem}.gradebook-table thead button span{max-width:4rem;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.gradebook-table thead button b{font-size:var(--text-sm);margin-top:.15rem;display:block}.gradebook-table tbody tr:hover :is(td,th){background:#faf7fb}.gradebook-table .sticky-roll{z-index:3;width:4rem;min-width:4rem;position:sticky;left:0}.gradebook-table .sticky-name{z-index:3;text-align:left;width:15rem;min-width:15rem;position:sticky;left:4rem}.gradebook-table thead .sticky-roll,.gradebook-table thead .sticky-name{z-index:8;color:#fff;background:var(--purple-950);text-align:center}.gradebook-table tbody .sticky-roll,.gradebook-table tbody .sticky-name{background:#fff}.gradebook-table tbody .sticky-name strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.gradebook-table td{width:4.9rem;min-width:4.9rem}.gradebook-table input{width:4rem;min-height:2.05rem;color:var(--purple-950);font:inherit;font-size:var(--text-sm);text-align:center;background:#fff;border:1px solid #d4ccd6;border-radius:.35rem;padding:.25rem;font-weight:700}.gradebook-table input:focus-visible{border-color:var(--purple-800);outline:3px solid #4d268b1f}.gradebook-table input.changed{background:#fffaf0;border-color:#9a761d}.gradebook-table td.invalid{background:#fff0f2}.gradebook-table td.invalid input{border-color:#b6404f}.gradebook-table .phase-total{color:#5d5260;background:#f0ecef;font-weight:800}.gradebook-table .grand-total{color:var(--purple-950);background:#e9e1ed;font-weight:900}.gradebook-table .grand-total strong{display:block}.gradebook-table .grand-total small{color:#8a6d75;font-size:var(--text-xs);white-space:nowrap;margin-top:-.1rem;font-weight:700;display:block}.gradebook-table .grand-total.complete small{color:#317258}.gradebook-table .grade-preview{width:4.5rem;min-width:4.5rem;color:var(--purple-950);font-size:var(--text-md);background:#f5f1f6;font-weight:900}.gradebook-table .grade-preview.incomplete{color:#8a7e8b;font-weight:700}.gradebook-table thead th.evaluation-group{background:var(--purple-800);letter-spacing:.01em}.gradebook-table thead th.evaluation-group.reading{background:var(--purple-950)}.gradebook-table .evaluation-heading{width:3.25rem;min-width:3.25rem}.gradebook-table .evaluation-heading span{background:#ffffff24;border-radius:50%;place-items:center;width:1.55rem;height:1.55rem;display:inline-grid}.gradebook-table .evaluation-cell{width:3.25rem;min-width:3.25rem;padding-inline:.2rem}.gradebook-table .evaluation-cell input{width:2.7rem}.gradebook-table .evaluation-result-heading,.gradebook-table .evaluation-result{width:6.2rem;min-width:6.2rem}.gradebook-table .evaluation-result{color:var(--purple-950);font-size:var(--text-sm);white-space:nowrap;background:#f0ecef;font-weight:800}.gradebook-mobile{display:none}@media (width>=901px) and (width<=1180px){.gradebook-table input{min-height:3rem}.gradebook-table th,.gradebook-table td{height:3.5rem}}@media (width<=900px){.score-entry-course-picker{grid-template-columns:minmax(15rem,1fr) minmax(12rem,1fr)}.score-entry-course-picker>small{grid-column:1/-1}.assessment-create{grid-template-columns:1fr 1fr}.assessment-create>.ui-button{grid-column:2}.assessment-first-run{grid-template-columns:1fr 1fr}.assessment-first-run>div:first-child{grid-column:1/-1}}@media (width<=720px){.score-entry-page .ui-page-actions{display:none}.score-entry-course-picker{grid-template-columns:1fr;gap:.8rem;padding:.85rem}.score-entry-course-picker>small{grid-column:auto}.score-entry-toolbar{flex-direction:column;align-items:stretch}.score-entry-toolbar>div:last-child{grid-template-columns:1fr 1fr;display:grid}.score-entry-toolbar .ui-button{min-height:var(--control-lg);padding-inline:.6rem}.score-entry-draft{text-align:left;justify-content:flex-start}.score-entry-conflict{flex-direction:column;align-items:stretch}.score-entry-conflict .ui-button{width:fit-content}.workflow-conflict{flex-direction:column;align-items:flex-start}.gradebook-readiness{flex-wrap:wrap;align-items:flex-start}.gradebook-readiness small{width:100%;margin-left:0}.gradebook-workflow-status{flex-direction:column;align-items:stretch}.gradebook-workflow-status>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gradebook-workflow-status>div:last-child .ui-button:only-child{grid-column:1/-1}.score-review-controls{grid-template-columns:1fr 1fr}.score-review-status-tabs{grid-column:1/-1;overflow-x:auto}.score-review-status-tabs button{flex:none}.score-review-list-head{display:none}.score-review-list article{grid-template-columns:minmax(0,1fr) auto;gap:.45rem .8rem}.score-review-list article>div:first-child{grid-column:1/-1}.score-review-list article>span:nth-child(2):before{content:"ครู ";color:var(--ink-muted)}.score-review-list article>span:nth-child(3){justify-self:end}.score-review-list article>div:nth-child(4){grid-column:1/2}.score-review-list article time{justify-self:end}.score-review-list article>a{border-top:1px solid var(--line);grid-column:1/-1;justify-self:stretch;place-items:center;min-height:2.5rem;display:grid}.correction-queue-controls{grid-template-columns:1fr 1fr}.correction-queue-tabs,.correction-queue-controls form{grid-column:1/-1}.correction-queue-head{display:none}.correction-queue-list article{grid-template-columns:minmax(0,1fr) auto;gap:.55rem .8rem}.correction-queue-student,.correction-queue-list article>div:nth-child(4){grid-column:1/-1}.correction-queue-list article>div:nth-child(2){grid-column:1}.correction-score-change{grid-area:2/2;justify-self:end}.correction-queue-list article>div:nth-child(5){grid-column:1}.correction-queue-actions{grid-column:2;justify-self:end}.correction-queue-actions :is(button,a){min-height:2.5rem}.correction-queue-summary button{width:100%;margin-left:0}.correction-sla-strip{flex-direction:column;align-items:flex-start}.correction-sla-form{grid-template-columns:1fr}.correction-sla-form>p,.correction-calendar-settings{grid-column:1}.correction-calendar-fields{grid-template-columns:1fr}.correction-calendar-row{grid-template-columns:6.5rem 3.5rem 1fr auto}.release-readiness-controls{flex-direction:column;align-items:stretch}.release-readiness-controls label,.release-readiness-tabs{width:100%}.release-readiness-tabs button{flex:1 0 auto}.release-readiness-list>header{display:none}.release-readiness-list article{grid-template-columns:minmax(0,1fr) auto;gap:.45rem .8rem}.release-course,.release-issues{grid-column:1/-1}.release-readiness-list article>span:nth-child(2){color:var(--ink-muted)}.release-readiness-list article>span:nth-child(3){justify-self:end}.release-state{grid-column:1}.release-readiness-list article>a,.release-rehearsal-open{grid-area:3/2;justify-self:end}.release-rehearsal-backdrop{place-items:end center;padding:.75rem}.release-rehearsal-dialog{max-height:calc(100vh - 1.5rem);padding:1rem}.release-rehearsal-course{flex-direction:column;align-items:flex-start;gap:.1rem}.release-rehearsal-samples article{grid-template-columns:1fr;gap:.55rem}.release-rehearsal-samples dl{grid-template-columns:1fr 1fr}.release-rehearsal-dialog>footer{grid-template-columns:1fr 1.5fr;display:grid}.result-report-controls{grid-template-columns:1fr}.result-report-modes button{flex:1}.result-report-sheet>header{flex-direction:column;align-items:flex-start}.result-report-actions{justify-content:flex-start;width:100%}.result-report-actions button{flex:1;justify-content:center}.result-status-form{grid-template-columns:1fr}.result-status-note{grid-column:auto}.student-results-identity{flex-direction:column;align-items:flex-start;gap:.1rem}.student-results-head{display:none}.student-results-list article{grid-template-columns:minmax(0,1fr) auto auto;gap:.45rem .8rem}.student-results-list article>span:first-child{color:var(--ink-muted);font-size:var(--text-xs);grid-column:1/-1}.student-results-list article>div{grid-column:1/2}.student-results-list article>span:nth-child(3){display:none}.student-results-list article>b{align-self:center}.student-results-list article>span:nth-last-child(-n+2){grid-column:1/-1}.student-results-list article>span:nth-last-child(2):before{content:"คุณลักษณะ: ";color:var(--ink-muted)}.student-results-list article>span:last-child:before{content:"อ่าน–คิด–เขียน: ";color:var(--ink-muted)}.assessment-manager{padding:.9rem}.assessment-first-run,.assessment-create{grid-template-columns:1fr}.assessment-first-run>*,.assessment-create>*,.assessment-create>.ui-button{grid-column:1}.assessment-list article{grid-template-columns:1fr auto}.assessment-list article>span,.assessment-list article>div:last-child{grid-column:1/-1}.gradebook-surface{display:none}.gradebook-mobile{gap:.7rem;display:grid}.gradebook-student-card{overflow:hidden}.gradebook-student-card>header{background:#f1ebf3;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:.5rem;padding:.75rem .9rem;display:grid}.gradebook-student-card>header span{color:var(--ink-muted);font-size:var(--text-xs)}.gradebook-student-card>header strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gradebook-student-card>header b{color:var(--purple-800)}.gradebook-student-card>header b small{color:var(--ink-muted);font-size:var(--text-xs);text-align:right;font-weight:600;display:block}.gradebook-student-card section{border-top:1px solid var(--line);padding:.65rem .9rem}.gradebook-student-card section h3{color:var(--ink-muted);font-size:var(--text-xs);justify-content:space-between;margin:0 0 .35rem;display:flex}.gradebook-student-card section label{min-height:var(--control-lg);grid-template-columns:minmax(0,1fr) 5.5rem;align-items:center;gap:.75rem;display:grid}.gradebook-student-card section label>span{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gradebook-student-card section label small{color:var(--ink-muted);margin-left:.35rem}.gradebook-student-card input{width:100%;min-height:2.5rem;color:var(--purple-950);font:inherit;text-align:center;background:#fff;border:1px solid #d4ccd6;border-radius:.4rem;padding:.35rem;font-weight:700}.gradebook-student-card input.changed{background:#fffaf0;border-color:#9a761d}.gradebook-student-card input[aria-invalid=true]{background:#fff0f2;border-color:#b6404f}.gradebook-student-card .mobile-evaluation label{align-items:start;padding-block:.25rem}.gradebook-student-card .mobile-evaluation label>span{text-overflow:clip;white-space:normal;padding-top:.55rem;line-height:1.3;overflow:visible}}@media (width<=480px){.behavior-student-filters{grid-template-columns:1fr}.behavior-student-filters .name{grid-column:auto}.behavior-history-toggle small{display:none}.behavior-history-student{flex-direction:column;align-items:flex-start;gap:.1rem}.behavior-score-empty{grid-template-columns:1.75rem minmax(0,1fr)}}.behavior-summary-page{--page-max:76rem;padding-top:var(--space-4)}.behavior-summary-hero{margin-bottom:.75rem}.behavior-summary-filters{grid-template-columns:.8fr 1fr .55fr 1.45fr 1.1fr;gap:.7rem;margin-top:0;padding:1rem;display:grid}.behavior-summary-filters label{gap:.35rem;display:grid}.behavior-summary-filters label>span{color:var(--ink-muted);font-size:var(--text-xs);font-weight:700}.behavior-summary-filters label>div{position:relative}.behavior-summary-filters svg{color:#7c6d80;width:1rem;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.behavior-summary-filters input,.behavior-summary-filters select{--control-padding-inline:2.25rem .7rem;width:100%;min-height:3rem;color:var(--purple-950);background:var(--surface);font:inherit;font-size:var(--text-xs);border:1px solid #d6ccd7;border-radius:.65rem;padding:0 .7rem 0 2.25rem}.behavior-score-state-filter{scrollbar-width:none;align-items:center;gap:.35rem;margin-top:.8rem;display:flex;overflow-x:auto}.behavior-score-state-filter::-webkit-scrollbar{display:none}.behavior-score-state-filter>span{color:var(--ink-muted);font-size:var(--text-xs);margin-right:.2rem;font-weight:700}.behavior-score-state-filter button{color:#6e6271;font:inherit;font-size:var(--text-xs);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #d7cdd8;border-radius:99rem;padding:.45rem .7rem;font-weight:700}.behavior-score-state-filter button.active{border-color:var(--purple-800);color:#fff;background:var(--purple-800);box-shadow:0 .35rem .8rem #45237b1f}.behavior-score-overview{grid-template-columns:repeat(3,auto) minmax(0,1fr);align-items:center;gap:1.25rem;margin-top:.75rem;padding:1rem;display:grid}.behavior-score-overview>div:not(.behavior-score-overview-action){grid-template-columns:1.5rem auto;align-items:center;gap:0 .45rem;min-width:8rem;display:grid}.behavior-score-overview svg{color:#756879;grid-row:1/3;width:1.25rem}.behavior-score-overview span{color:var(--ink-muted);font-size:var(--text-xs)}.behavior-score-overview strong{font-size:var(--text-lg)}.behavior-score-overview .positive svg,.behavior-score-overview .positive strong{color:#1c7657}.behavior-score-overview .negative svg,.behavior-score-overview .negative strong{color:#943846}.behavior-score-overview p{color:var(--ink-muted);font-size:var(--text-xs);text-align:right;margin:0}.behavior-score-overview-action{justify-content:flex-end;align-items:center;gap:.7rem;display:flex}.behavior-score-overview-action button{min-height:2.5rem;color:var(--purple-800);background:var(--surface);font:inherit;font-size:var(--text-xs);white-space:nowrap;cursor:pointer;border:1px solid #d3c8d6;border-radius:.55rem;align-items:center;gap:.35rem;padding:0 .75rem;font-weight:700;display:flex}.behavior-score-overview-action button svg{width:.95rem;color:var(--purple-800)}.behavior-score-overview-action button span{color:var(--ink-muted);font-size:var(--text-xs);padding-left:.25rem;font-weight:500}.behavior-score-overview-action button:disabled{opacity:.45;cursor:default}.behavior-summary-empty{min-height:15rem;color:var(--ink-muted);text-align:center;place-content:center;justify-items:center;gap:.35rem;display:grid}.behavior-summary-empty svg{width:2rem}.behavior-summary-empty strong{color:var(--purple-950);font-size:var(--text-sm)}.behavior-summary-empty span{font-size:var(--text-xs)}.behavior-score-table{margin-top:1.2rem}.behavior-score-table>header,.behavior-score-table article{grid-template-columns:minmax(16rem,1fr) repeat(4,5.5rem) 6rem;align-items:center;gap:.7rem;display:grid}.behavior-score-table>header{color:var(--ink-muted);font-size:var(--text-xs);text-align:center;padding:0 .75rem .55rem;font-weight:700}.behavior-score-table>header span:first-child{text-align:left}.behavior-score-table article{border-top:1px solid #dfd7d0;min-height:4.6rem;padding:.65rem .75rem}.behavior-score-table article.selected{background:#ede6f2a6}.behavior-score-table article>div{align-items:center;gap:.7rem;min-width:0;display:flex}.behavior-score-table article>div>b{width:2rem;height:2rem;color:var(--purple-800);font-size:var(--text-xs);background:#ebe4ed;border-radius:50%;place-items:center;display:grid}.behavior-score-table article>div>span{min-width:0;display:grid}.behavior-score-table article strong{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.behavior-score-table article small{color:var(--ink-muted);font-size:var(--text-xs)}.behavior-score-table article>em,.behavior-score-table article>span{text-align:center;font-size:var(--text-xs);font-style:normal;font-weight:700}.behavior-score-table article>button{color:var(--purple-800);background:var(--surface);font:inherit;font-size:var(--text-xs);cursor:pointer;border:1px solid #d3c8d6;border-radius:.5rem;justify-content:center;align-items:center;gap:.25rem;padding:.45rem .55rem;font-weight:700;display:flex}.behavior-score-table article>button svg{width:.8rem;transition:transform .15s}.behavior-score-table article.selected>button svg{transform:rotate(180deg)}.behavior-score-table .positive{color:#1c7657}.behavior-score-table .negative{color:#943846}.behavior-score-table>p{color:var(--ink-muted);font-size:var(--text-xs);text-align:center}.behavior-student-timeline{border-top:2px solid var(--purple-800);margin-top:1.2rem;padding-top:1.2rem}.behavior-student-timeline>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.behavior-student-timeline>header p,.behavior-student-timeline>header h2{margin:0}.behavior-student-timeline>header p{color:var(--gold-500);font-size:var(--text-xs);letter-spacing:.12em;font-weight:700}.behavior-student-timeline>header h2{font-size:var(--text-xl);margin-top:.15rem}.behavior-student-timeline>header span{color:var(--ink-muted);font-size:var(--text-xs)}.behavior-student-timeline>header>button{width:2.2rem;height:2.2rem;color:var(--purple-800);cursor:pointer;background:#eae3ec;border:0;border-radius:50%;place-items:center;display:grid}.behavior-student-timeline>header>button svg{width:1rem}.behavior-student-timeline .state{min-height:7rem;color:var(--ink-muted);font-size:var(--text-xs);justify-content:center;align-items:center;display:flex}.behavior-student-timeline .state.error{color:#943846;gap:.6rem}.behavior-student-timeline .state button{color:var(--purple-800);background:var(--surface);font:inherit;font-size:var(--text-xs);border:1px solid #d3c8d6;border-radius:.45rem;padding:.4rem .6rem}.behavior-student-timeline-list{margin-top:.8rem}.behavior-student-timeline-list article{border-top:1px solid #dfd7d0;grid-template-columns:9rem minmax(0,1fr) 4rem;align-items:start;gap:.9rem;padding:.8rem 0;display:grid}.behavior-student-timeline-list time{color:var(--ink-muted);font-size:var(--text-xs)}.behavior-student-timeline-list p{font-size:var(--text-xs);margin:.15rem 0}.behavior-student-timeline-list strong{font-size:var(--text-xs)}.behavior-student-timeline-list small{color:var(--ink-muted);font-size:var(--text-xs)}.behavior-student-timeline-list article>b{color:#1c7657;font-size:var(--text-xs);background:#ddf0e8;border-radius:99rem;justify-self:end;padding:.3rem .5rem}.behavior-student-timeline-list article.negative>b{color:#943846;background:#f3dfe3}.behavior-student-timeline-list article.voided{opacity:.62}.behavior-student-timeline-list article.voided>b{color:#706771;background:#e7e2e6}.behavior-timeline-more{min-height:2.5rem;color:var(--purple-800);background:var(--surface);font:inherit;font-size:var(--text-xs);cursor:pointer;border:1px solid #d3c8d6;border-radius:.5rem;margin:.8rem auto 0;padding:0 .8rem;font-weight:700;display:block}.behavior-timeline-more:disabled{opacity:.55;cursor:default}@media (width<=720px){.behavior-summary-page{width:min(100% - 2rem,76rem)}.behavior-summary-hero>svg{display:none}.behavior-summary-filters{grid-template-columns:1fr 1fr}.behavior-summary-filters .topic{grid-area:2/2}.behavior-summary-filters .name{grid-column:1/-1}.behavior-score-overview{grid-template-columns:1fr 1fr;gap:1rem}.behavior-score-overview-action{grid-column:1/-1;justify-content:space-between}.behavior-score-overview p{text-align:left}.behavior-score-table{overflow-x:auto}.behavior-score-table>header,.behavior-score-table article{min-width:49rem}.behavior-student-timeline-list article{grid-template-columns:1fr auto;gap:.25rem .7rem}.behavior-student-timeline-list time{grid-column:1/-1}}@media (width<=480px){.behavior-summary-filters{grid-template-columns:1fr}.behavior-summary-filters .name,.behavior-summary-filters .topic{grid-area:auto}.behavior-score-overview-action{flex-direction:column;align-items:stretch}.behavior-score-overview-action button{justify-content:center}}.inspection-page{min-height:100dvh;color:var(--purple-950);background:linear-gradient(90deg, var(--purple-950), var(--purple-800), var(--purple-950)) top / 100% 4px no-repeat, #f3f1f5}.inspection-header,.inspection-main{width:min(100% - 3rem,90rem);margin-inline:auto}.inspection-header{justify-content:space-between;align-items:center;gap:2rem;min-height:7rem;display:flex}.inspection-tools{align-items:center;gap:.8rem;display:flex}.notification-bell{width:2.8rem;height:2.8rem;color:var(--purple-800);background:var(--surface);border:1px solid #ddd3df;border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:0 .35rem 1rem #2b183214}.notification-bell svg{width:1.18rem}.notification-bell span{color:#fff;min-width:1.25rem;height:1.25rem;font-size:var(--text-xs);text-align:center;background:#b43e4b;border:2px solid #f3f1f5;border-radius:99rem;padding:0 .28rem;font-weight:900;line-height:1rem;position:absolute;top:-.25rem;right:-.25rem}.notification-main{width:min(calc(100% - (var(--page-gutter) * 2)), var(--page-max));padding-top:var(--space-4)}.notification-main>.context-state{min-height:12rem;margin-top:.75rem}.notification-panel{background:var(--surface);border:1px solid #e1d8d4;border-radius:1rem;margin-top:1.25rem;padding:1.4rem}.notification-panel-head{border-bottom:1px solid #e8e0db;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1.1rem;display:flex}.notification-panel-head>div{align-items:center;gap:.75rem;display:flex}.notification-panel-head svg{color:var(--purple-800)}.notification-panel-head span{color:#756a76;font-size:var(--text-xs)}.notification-panel-head span strong{color:#281536;font-size:var(--text-page-mobile);display:block}.notification-panel-head small{color:#81747e}.notification-list article{border-bottom:1px solid #ece4df;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.15rem .25rem;display:grid}.notification-list article:last-child{border-bottom:0}.notification-list article.read{opacity:.72}.notification-icon{color:#9a303d;background:#f8dfe2;border-radius:50%;place-items:center;width:2.8rem;height:2.8rem;display:grid}.notification-list span,.notification-list p{color:#81747e;font-size:var(--text-xs)}.notification-list h2{font-size:var(--text-lg);margin:.16rem 0}.notification-list p{margin:0}.notification-actions{align-items:center;gap:.55rem;display:flex}.notification-actions a,.notification-actions button{color:var(--purple-800);font:inherit;font-size:var(--text-xs);cursor:pointer;background:#fff;border:1px solid #d8cce0;border-radius:.6rem;padding:.62rem .8rem;font-weight:900}.notification-actions a{color:#fff;border-color:var(--purple-800);background:var(--purple-800)}.inspection-version{color:#796e7d;font-size:var(--text-xs);letter-spacing:.18em;font-weight:700}.inspection-main{padding:3rem 0 4rem}.inspection-hero{border-bottom:1px solid #d8d0c7;grid-template-columns:minmax(0,1fr) 15rem;align-items:end;gap:4rem;padding-bottom:3.25rem;display:grid}.inspection-eyebrow,.panel-label{color:var(--gold-500);font-size:var(--text-xs);letter-spacing:.2em;margin:0;font-weight:700}.inspection-hero h1{letter-spacing:-.035em;max-width:52rem;margin:1.2rem 0 1rem;font-size:clamp(3.2rem,6vw,6.4rem);line-height:.96}.inspection-lead{color:#6e6370;max-width:48rem;font-size:var(--text-md);margin:0;line-height:1.8}.inspection-score{background:#ffffff73;border:1px solid #d7cbdc;border-radius:1rem;flex-direction:column;justify-content:flex-end;min-height:12rem;padding:1.5rem;display:flex}.inspection-score strong{font-size:3.7rem;line-height:1}.inspection-score span{color:var(--purple-800);margin-top:.55rem;font-weight:700}.inspection-score small{color:#817683;margin-top:.45rem;line-height:1.5}.readiness-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.readiness-card{background:var(--surface);border:1px solid #ddd5cd;border-radius:.85rem;min-height:16rem;padding:1.6rem}.readiness-card-top{color:#9a8f98;justify-content:space-between;align-items:center;display:flex}.status-pill{color:#347351;font-size:var(--text-xs);align-items:center;gap:.45rem;font-weight:700;display:inline-flex}.status-pill i{background:#439b69;border-radius:50%;width:.48rem;height:.48rem;box-shadow:0 0 0 .25rem #439b691f}.readiness-card>small{color:var(--gold-500);margin-top:3.2rem;font-weight:700;display:block}.readiness-card h2{font-size:var(--text-xl);margin:.55rem 0 .45rem}.readiness-card p{color:#756a76;font-size:var(--text-sm);margin:0;line-height:1.7}.inspection-columns{grid-template-columns:1.15fr .85fr;gap:1rem;margin-top:1rem;display:grid}.workflow-panel,.prerequisite-panel{border-radius:.85rem;padding:2rem}.workflow-panel{color:#fff;background:var(--purple-950)}.prerequisite-panel{background:#e9e1d6;border:1px solid #ddd5cd}.workflow-panel h2,.prerequisite-panel h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin:.75rem 0 1.75rem}.workflow-panel .panel-label{color:#d5ab4c}.workflow-list,.prerequisite-list{margin:0;padding:0;list-style:none}.workflow-list{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.workflow-list li{gap:.8rem;display:flex}.workflow-list li>span,.prerequisite-list li>span{width:1.8rem;height:1.8rem;font-size:var(--text-xs);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.workflow-list li>span{color:var(--purple-950);background:#d8b45d}.workflow-list strong,.workflow-list small{display:block}.workflow-list small{color:#c9c0cc;margin-top:.35rem;line-height:1.5}.prerequisite-list{gap:.75rem;display:grid}.prerequisite-list li{color:#594e5b;align-items:center;gap:.8rem;display:flex}.prerequisite-list li>span{color:var(--purple-800);background:#ffffffa6}.api-strip{background:var(--surface);border:1px solid #d8d0c7;border-radius:.85rem;grid-template-columns:1fr 1fr auto;align-items:center;gap:2rem;margin-top:1rem;padding:1.4rem 1.6rem;display:grid}.api-strip small,.api-strip code{display:block}.api-strip small{color:#978b96;font-size:var(--text-xs);letter-spacing:.13em;font-weight:700}.api-strip code{color:var(--purple-800);font-size:var(--text-xs);overflow-wrap:anywhere;margin-top:.35rem}.api-budget{border-left:1px solid #ddd5cd;padding-left:2rem}.api-budget strong,.api-budget span{display:block}.api-budget strong{font-size:var(--text-page-mobile)}.api-budget span{color:#817682;font-size:var(--text-xs)}.inspection-actions{color:#817682;font-size:var(--text-xs);justify-content:space-between;gap:1rem;padding-top:1.5rem;display:flex}.inspection-back{color:var(--purple-800);font-weight:700;text-decoration:none}.inspection-back:hover{text-decoration:underline}.context-page{min-height:100dvh;color:var(--purple-950);background:linear-gradient(90deg, var(--purple-950), var(--purple-800), var(--purple-950)) top / 100% 4px no-repeat, #f3f1f5}.context-main{width:min(calc(100% - (var(--page-gutter) * 2)), var(--page-max));padding:var(--page-top) 0 var(--page-bottom);margin-inline:auto}.academic-context-title{margin-bottom:.75rem}.academic-context-title p:last-child{max-width:44rem}.academic-context-main{padding-top:var(--space-4)}.academic-context-main>.context-state{min-height:12rem;margin-top:.75rem}.context-route-links{flex-wrap:wrap;justify-content:flex-end;gap:.7rem;display:flex}.context-route-links a,.context-route-links button,.context-state a,.context-state button{color:var(--purple-800);font:inherit;font-size:var(--text-xs);cursor:pointer;background:#ffffff80;border:1px solid #d2c8d5;border-radius:.55rem;padding:.7rem 1rem;font-weight:700;text-decoration:none}.attendance-shortcut{color:var(--purple-900);background:#f1eaf9;border-radius:.7rem;padding:.55rem .8rem;font-weight:700;text-decoration:none}.substitution-page .context-main{padding-top:var(--space-4)}.substitution-page .context-main>.context-state{min-height:12rem;margin-top:.75rem}.substitution-page .ui-page-header{margin-bottom:.75rem}.substitution-toolbar{border-radius:var(--radius-lg);background:var(--purple-950,#291337);color:#fff;align-items:end;gap:1rem;margin-bottom:.75rem;padding:.75rem 1rem;display:flex}.substitution-toolbar label{gap:.25rem;min-width:15rem;font-weight:700;display:grid}.substitution-toolbar input{width:100%;min-height:var(--control-md);border-radius:var(--radius-md);color:#291337;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:inherit;font-size:var(--text-md);background:#fff;border:1px solid #fff;padding:0 .75rem;font-weight:800}.substitution-toolbar input::-webkit-calendar-picker-indicator{opacity:.85;cursor:pointer}.substitution-toolbar--teacher{margin-bottom:var(--space-5);padding:var(--space-4) 0 0;color:var(--purple-950);background:0 0;border-radius:0}.substitution-toolbar--teacher label{gap:var(--space-2);width:min(100%,29rem)}.substitution-toolbar--teacher label>span:first-child{color:var(--ink-muted);font-size:var(--text-xs);font-weight:750}.substitution-toolbar--teacher .substitution-date-input input{padding:0}.substitution-toolbar--teacher .substitution-date-input:focus-within{outline-offset:2px;outline:3px solid #56308d47}.substitution-day-summary{align-items:center;gap:.55rem;margin-left:auto;display:flex}.substitution-day-summary strong{color:#efc54a;font-size:var(--text-page)}.substitution-form-card,.substitution-list-card{background:var(--surface);border:1px solid #e2d9d0;border-radius:1.2rem;margin-bottom:1.5rem;padding:1.6rem}.absence-card{border:1px solid var(--line);background:var(--surface);border-radius:1.2rem;margin-bottom:1.5rem;padding:1.6rem}.absence-card .substitution-section-heading{margin-bottom:.45rem}.absence-card .substitution-section-heading>span svg{width:1.15rem}.absence-intro{color:#756a76;margin:0 0 1.1rem 3.5rem}.absence-form-grid{grid-template-columns:1.25fr .8fr .8fr .8fr;gap:.85rem;display:grid}.absence-form-grid label{color:#6f6470;font-size:var(--text-xs);gap:.3rem;font-weight:700;display:grid}.absence-form-grid input,.absence-form-grid select{color:#291337;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;width:100%;min-height:3rem;font:inherit;font-size:var(--text-sm);background:#fff;border:1px solid #d7cadd;border-radius:.7rem;padding:0 .75rem;font-weight:700}.absence-note{grid-column:1/-1}.absence-create{color:#fff;background:var(--purple-800);min-height:3.1rem;font:inherit;font-size:var(--text-sm);cursor:pointer;border:0;border-radius:.7rem;margin:1rem 0 0 auto;padding:0 1.2rem;font-weight:800;display:block}.absence-create:disabled{opacity:.48;cursor:not-allowed}.absence-day-list{border-top:1px solid #e2d8e5;margin-top:1.2rem;padding-top:1rem}.absence-day-list h3{color:#291337;font-size:var(--text-sm);margin:0 0 .65rem}.absence-day-list article{border-top:1px solid #eee5ed;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:.8rem 0;display:grid}.absence-day-list article>div:first-child{display:grid}.absence-day-list article span{color:#786d79;font-size:var(--text-xs)}.absence-counts{gap:.4rem;display:flex}.absence-counts span{background:#eee7f5;border-radius:999px;padding:.3rem .55rem;font-weight:700}.absence-day-list button{color:#963844;min-height:2.4rem;font:inherit;font-size:var(--text-xs);cursor:pointer;background:#fff;border:1px solid #dfcfd2;border-radius:.6rem;align-items:center;gap:.3rem;padding:0 .65rem;font-weight:800;display:inline-flex}.absence-day-list button svg{width:.95rem}.substitution-section-heading{align-items:center;gap:.8rem;margin-bottom:1.25rem;display:flex}.substitution-section-heading>span{aspect-ratio:1;background:var(--purple-800);color:#fff;border-radius:50%;place-items:center;width:2.7rem;font-weight:800;display:grid}.substitution-section-heading p{color:#b17b00;letter-spacing:.14em;font-size:var(--text-xs);margin:0;font-weight:800}.substitution-section-heading h2{color:#291337;margin:.15rem 0 0}.substitution-form-grid{grid-template-columns:1.4fr 1fr;gap:1rem;display:grid}.substitution-form-grid label{color:#6f6470;gap:.35rem;font-weight:700;display:grid}.substitution-form-grid input,.substitution-form-grid select{color:#271033;width:100%;min-height:3.35rem;font:inherit;background:#fff;border:1px solid #d9cde3;border-radius:.8rem;padding:0 .9rem;font-weight:700}.substitution-primary{background:var(--purple-800);color:#fff;width:min(34rem,100%);min-height:3.5rem;font:inherit;cursor:pointer;border:0;border-radius:.8rem;justify-content:center;align-items:center;gap:.6rem;margin:1.3rem 0 0 auto;font-weight:800;display:flex}.substitution-primary:disabled{opacity:.48;cursor:not-allowed}.substitution-list{gap:.7rem;display:grid}.substitution-list article{border-top:1px solid #e8dfd8;grid-template-columns:6.5rem minmax(12rem,1fr) minmax(12rem,.8fr) auto;align-items:center;gap:1rem;padding:1rem;display:grid}.substitution-list h3,.substitution-list p{margin:0}.substitution-period{display:grid}.substitution-period strong{color:var(--purple-800);font-size:var(--text-page-mobile)}.substitution-period span{color:#7c707d;font-size:var(--text-sm);font-weight:700}.substitution-assignee,.substitution-status{align-items:center;gap:.45rem;font-weight:700;display:flex}.substitution-status{color:#7a5500;white-space:nowrap;background:#fff0bd;border-radius:999px;padding:.45rem .7rem}.substitution-status svg{width:1rem}.substitution-status.accepted{color:#08754b;background:#dff5ea}.substitution-status.open{color:#5e5062;background:#eee8f2}.substitution-status-actions{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.substitution-status-actions>button{color:#963844;min-height:2.35rem;font:inherit;font-size:var(--text-xs);cursor:pointer;background:#fff;border:1px solid #dfcfd2;border-radius:.6rem;align-items:center;gap:.3rem;padding:0 .65rem;font-weight:800;display:inline-flex}.substitution-status-actions>button svg{width:.95rem}.substitution-status-actions>button:disabled{opacity:.5}.substitution-inbox{gap:1rem;display:grid}.substitution-inbox>article{background:var(--surface);border:1px solid #e2d9d0;border-left:.45rem solid #e2b83d;border-radius:1.1rem;grid-template-columns:7.5rem 1fr auto;align-items:center;gap:1.2rem;padding:1.5rem;display:grid}.substitution-inbox>article.accepted{border-left-color:#239062}.substitution-inbox-main h2{color:#291337;margin:.15rem 0 .35rem}.substitution-inbox-main>p:not(.inspection-eyebrow){color:#726773;align-items:center;gap:.3rem;margin:0;display:flex}.substitution-inbox-main small{background:#f5f0ea;border-radius:.55rem;margin-top:.55rem;padding:.5rem .7rem;display:block}.substitution-reason{color:#765200;font-size:var(--text-xs);background:#fff0bd;border-radius:999px;margin-top:.55rem;padding:.3rem .65rem;font-weight:800;display:inline-flex}.substitution-inherited-reason{border-left:4px solid var(--purple-800);background:#f7f2fb;border-radius:.4rem .8rem .8rem .4rem;grid-column:1/-1;grid-template-columns:auto 1fr;align-items:center;gap:.35rem 1rem;padding:.9rem 1rem;display:grid}.substitution-inherited-reason>div{align-items:center;gap:.65rem;display:flex}.substitution-inherited-reason span{color:#76697a;font-size:var(--text-xs);font-weight:700}.substitution-inherited-reason strong{color:var(--purple-800);background:var(--purple-100);font-size:var(--text-xs);border-radius:999px;padding:.28rem .65rem}.substitution-inherited-reason p{color:#291337;font-size:var(--text-sm);margin:0;font-weight:700}.substitution-inherited-reason small{color:#786d79;font-size:var(--text-xs);grid-column:1/-1}.substitution-inherited-empty{background:#faf8fb;border-left-color:#b9acbe}.substitution-inherited-empty p{grid-column:1/-1}.substitution-actions{gap:.6rem;display:flex}.substitution-actions button,.substitution-actions a{min-height:3rem;font:inherit;cursor:pointer;border-radius:.75rem;justify-content:center;align-items:center;gap:.35rem;padding:0 1rem;font-weight:800;text-decoration:none;display:flex}.substitution-actions button{color:#5e5062;background:#fff;border:1px solid #d8ccd9}.substitution-actions .accept{color:#fff;background:#218a60;border-color:#218a60}.substitution-actions.accepted{flex-direction:column;align-items:end}.substitution-actions.accepted span{color:#08754b;gap:.3rem;font-weight:800;display:flex}.substitution-actions.accepted a{color:var(--purple-800);background:#f0e9f8}.substitution-empty{color:#7b6f7c;text-align:center;place-items:center;gap:.4rem;min-height:10rem;display:grid}.substitution-empty svg{width:2rem;height:2rem}@media (width<=760px){.substitution-page .context-route-links{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;width:100%;overflow-x:auto}.substitution-page .context-route-links::-webkit-scrollbar{display:none}.substitution-page .context-route-links a{white-space:nowrap;flex:none}.substitution-toolbar{flex-direction:column;align-items:stretch}.substitution-toolbar label{min-width:0}.substitution-day-summary{margin-left:0}.substitution-form-grid{grid-template-columns:1fr}.absence-form-grid{grid-template-columns:1fr 1fr}.absence-form-grid label:first-child,.absence-note{grid-column:1/-1}.absence-intro{margin-left:0}.absence-day-list article{grid-template-columns:1fr}.absence-counts{flex-wrap:wrap}.substitution-inherited-reason{grid-template-columns:1fr}.substitution-inherited-reason small{grid-column:1}.substitution-list article{grid-template-columns:4.5rem 1fr}.substitution-assignee,.substitution-status-actions{grid-column:2}.substitution-status-actions{flex-direction:column;align-items:flex-start}.substitution-inbox>article{grid-template-columns:4.5rem 1fr}.substitution-actions{grid-column:1/-1}.substitution-actions.accepted{align-items:stretch}}.import-history{background:#ede7ef;border:1px solid #d9d0d9;border-radius:.85rem;margin-top:1rem;padding:1.5rem}.import-history-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.import-history-heading h2{font-size:var(--text-xl);margin:.25rem 0 0}.import-history-heading>button,.history-state button,.history-more{color:var(--purple-800);font:inherit;font-size:var(--text-xs);cursor:pointer;background:#ffffffa6;border:1px solid #cfc4d2;border-radius:.5rem;padding:.6rem .85rem;font-weight:700}.history-state{color:#756a76;min-height:7rem;font-size:var(--text-xs);justify-content:center;align-items:center;gap:.8rem;display:flex}.history-state .spinner{width:1.25rem;height:1.25rem;margin:0}.history-error{color:#913b48}.history-list{gap:.55rem;margin-top:1rem;display:grid}.history-list article{background:var(--surface);border:1px solid #d8cedb;border-radius:.65rem;grid-template-columns:6.5rem minmax(12rem,1fr) 8rem 9rem auto;align-items:center;gap:1rem;padding:.9rem 1rem;display:grid}.history-list article.is-selected{border-color:var(--purple-700);box-shadow:0 0 0 2px #912a791a}.history-status{color:#756a76;font-size:var(--text-xs);align-items:center;gap:.45rem;font-weight:700;display:flex}.history-dot{background:#a99da8;border-radius:50%;width:.5rem;height:.5rem}.history-dot.validated{background:#c18b2c;box-shadow:0 0 0 .22rem #c18b2c21}.history-dot.committed{background:#438f63;box-shadow:0 0 0 .22rem #438f6321}.history-dot.failed{background:#a94350}.history-source strong,.history-source span,.history-count strong,.history-count span{display:block}.history-source strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);overflow:hidden}.history-source span,.history-count span,.history-list time{color:#887d87;font-size:var(--text-xs);margin-top:.2rem}.history-count strong{font-size:var(--text-lg)}.history-list article>button{color:#fff;background:var(--purple-800);font:inherit;font-size:var(--text-xs);cursor:pointer;border:0;border-radius:.45rem;padding:.55rem .7rem;font-weight:700}.history-more{width:100%;margin-top:.7rem}.context-state{text-align:center;color:#756a76;place-content:center;justify-items:center;min-height:22rem;display:grid}.context-state-error strong{color:var(--purple-950);font-size:var(--text-page-mobile)}.context-state-error div{gap:.7rem;margin-top:1rem;display:flex}.timetable-csv-import{margin-top:1.4rem;padding:1.8rem}.course-csv-import{margin-bottom:1.4rem}.course-csv-import .timetable-csv-actions{grid-template-columns:auto minmax(15rem,1fr)}.timetable-csv-actions{grid-template-columns:auto minmax(15rem,1fr) minmax(12rem,.45fr);align-items:end;gap:.8rem;margin-top:1.4rem;display:grid}.timetable-csv-actions>button,.timetable-csv-actions>label{min-height:3.5rem;color:var(--purple-950);font:inherit;background:#fff;border:1px solid #d7cdda;border-radius:.7rem;font-weight:700}.timetable-csv-actions>button{cursor:pointer;padding:0 1.2rem}.timetable-csv-actions>label{align-content:center;gap:.2rem;padding:.55rem .8rem;display:grid;overflow:hidden}.timetable-csv-actions>label span{font-size:var(--text-xs);color:#746878;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timetable-csv-actions input[type=file]{font:inherit;font-size:var(--text-xs)}.timetable-csv-actions input[type=date]{font:inherit;color:var(--purple-950);border:0;padding:0;font-weight:700}.timetable-csv-issues{color:#8a303b;background:#fff1ee;border-radius:.75rem;margin-top:1rem;padding:1rem 1.15rem}.timetable-csv-issues strong{margin-bottom:.45rem;display:block}.timetable-csv-issues p{font-size:var(--text-sm);margin:.2rem 0}.timetable-csv-preview{margin-top:1.2rem}.timetable-csv-summary{grid-template-columns:repeat(4,1fr);gap:.7rem;display:grid}.timetable-csv-summary span{color:#726778;font-size:var(--text-xs);background:#f3eff7;border-radius:.7rem;padding:.8rem 1rem}.timetable-csv-summary strong{color:var(--purple-950);font-size:var(--text-xl);margin-top:.15rem;display:block}.timetable-csv-table{border-top:1px solid #e2dad4;margin-top:1rem}.timetable-csv-table>div{border-bottom:1px solid #e8e1dc;grid-template-columns:4rem 1fr 1.4fr .8fr .55fr;align-items:center;gap:1rem;padding:.75rem .3rem;display:grid}.timetable-csv-table span{min-width:0;font-weight:700}.timetable-csv-table small{color:#847986;margin-top:.15rem;font-weight:500;display:block}.timetable-csv-table em{color:#176b4c;font-style:normal;font-size:var(--text-xs);background:#def3e8;border-radius:999px;justify-self:start;padding:.32rem .65rem;font-weight:700}.timetable-csv-table em.skip{color:var(--purple-800);background:#eee9f5}@media (width<=760px){.timetable-csv-import{padding:1.1rem}.timetable-csv-actions,.course-csv-import .timetable-csv-actions{grid-template-columns:1fr}.timetable-csv-summary{grid-template-columns:repeat(2,1fr)}.timetable-csv-table{overflow-x:auto}.timetable-csv-table>div{min-width:48rem}.roster-card .teacher-edit-table,.teacher-edit-table tbody{width:100%;min-width:0;display:block}.teacher-edit-table thead{display:none}.teacher-edit-table tr:not(.teacher-edit-row){border-bottom:1px solid #e8e1db;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .75rem;width:100%;padding:1rem;display:grid}.teacher-edit-table tr:not(.teacher-edit-row) td{overflow-wrap:anywhere;border:0;text-align:left!important;width:auto!important;padding:0!important}.teacher-edit-table tr:not(.teacher-edit-row) td:last-child{grid-area:1/2/span 5;align-self:center}.teacher-edit-table .teacher-edit-row,.teacher-edit-table .teacher-edit-row>td{display:block;width:100%!important}}.year-switcher{color:#756a76;font-size:var(--text-sm);background:0 0;border:0;border-bottom:1px solid #ddd5cd;border-radius:0;justify-content:space-between;align-items:center;gap:1rem;margin-top:0;padding:0 0 .75rem;display:flex}.year-switcher select{min-width:16rem}.context-form{gap:1rem;min-width:0;margin-top:.75rem;display:grid}.context-editor{min-width:0;overflow:hidden}.context-section{background:0 0;border:0;border-bottom:1px solid #e1d9d2;border-radius:0;min-width:0;padding:1.75rem 2rem}.context-section:last-child{border-bottom:0}.context-section-heading{align-items:baseline;gap:.8rem;margin-bottom:1.25rem;display:flex}.context-section-heading>span{width:1.6rem;height:auto;color:var(--gold-500);font-size:var(--text-xs);background:0 0;font-weight:700}.context-section-heading small{color:var(--gold-500);font-size:var(--text-xs);letter-spacing:.16em;font-weight:700}.context-section-heading h2{font-size:var(--text-xl);margin:0}.context-field-grid{gap:1rem;min-width:0;display:grid}.context-field-grid-year{grid-template-columns:.7fr 1fr 1fr 1fr}.context-form label>span{color:#756a76;font-size:var(--text-xs);margin-bottom:.4rem;font-weight:500;display:block}.context-form input,.context-form select,.year-switcher select{width:100%;min-width:0;min-height:2.85rem;color:var(--purple-950);font:inherit;background:#fff;border:1px solid #d7ced7;border-radius:.5rem;padding:.6rem .75rem}.context-form input:focus,.context-form select:focus,.year-switcher select:focus{border-color:var(--gold-500);outline:3px solid #b8841c2e}.semester-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-width:0;display:grid}.semester-card{background:0 0;border:0;border-radius:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;min-width:0;padding:0;display:grid}.semester-card+.semester-card{border-left:1px solid #e1d9d2;padding-left:1rem}.semester-card>strong{font-size:var(--text-md);grid-column:1/-1}.context-hint{color:#7d727e;font-size:var(--text-xs);margin:-.55rem 0 1.25rem 2.4rem}.room-count-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;min-width:0;display:grid}.room-count-grid label{text-align:left;background:0 0;border:0;border-radius:0;padding:0}.room-count-grid label>span{color:var(--purple-950);font-size:var(--text-sm);font-weight:700}.room-count-grid input{text-align:left;font-size:var(--text-md);font-weight:700}.room-count-grid label>small{color:#8b808a;margin-top:.35rem;display:block}.room-total{color:#756a76;border-top:1px solid #e0d8d2;justify-content:space-between;margin-top:1rem;padding-top:1rem;display:flex}.room-total strong{color:var(--purple-950)}.context-submit-bar{color:var(--ink-muted);font-size:var(--text-xs);background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:1rem;padding:.25rem 0 0;display:flex}.context-submit-bar button{color:#fff;background:var(--purple-800);min-height:3rem;font:inherit;cursor:pointer;border:0;border-radius:.55rem;padding:.6rem 1.2rem;font-weight:700}.context-submit-bar button:disabled{opacity:.55;cursor:wait}.save-success{color:#23764e}.save-error{color:#a3333f}.context-data-warning{color:#68480c;font-size:var(--text-sm);background:#fff7df;border-left:3px solid #ba7a17;padding:.85rem 1rem}.context-data-warning strong,.context-data-warning span{display:block}.context-data-warning span{color:#756442;margin-top:.2rem}.context-data-warning>small{color:#8a7042;margin-top:.55rem;display:block}.context-warning-actions{flex-wrap:wrap;gap:.6rem;margin-top:.7rem;display:flex}.context-warning-actions button{color:#68480c;font:inherit;font-size:var(--text-xs);cursor:pointer;background:#fff;border:1px solid #b87918;border-radius:.45rem;padding:.55rem .75rem;font-weight:700}.context-warning-actions button:hover{background:#fffaf0}.context-warning-actions button:disabled{opacity:.5;cursor:not-allowed}.import-page{min-height:100dvh;color:var(--purple-950);background:linear-gradient(90deg, var(--purple-950), var(--purple-800), var(--purple-950)) top / 100% 4px no-repeat, #f3f1f5}.import-main{width:min(calc(100% - (var(--page-gutter) * 2)), var(--page-max));padding:var(--space-4) 0 var(--page-bottom);margin-inline:auto}.import-title-row p:last-child{max-width:39rem}.import-title-row .context-route-links{gap:.5rem}.import-title-row .context-route-links a,.import-title-row .context-route-links button{min-height:2.65rem;padding:.55rem .8rem}.offline-banner{color:#72571f;font-size:var(--text-xs);background:#fff5d8;border:1px solid #d0a64a;border-radius:.6rem;margin-top:1rem;padding:.8rem 1rem}.activity-notice{font-size:var(--text-xs);border:1px solid;border-radius:.6rem;margin-top:1rem;padding:.8rem 1rem;font-weight:700}.activity-notice.is-success{color:#195d3d;background:#e5f6ec;border-color:#8bc5aa}.activity-notice.is-draft{color:var(--purple-800);background:#f3edf9;border-color:#bca9d2}.activity-settings-page .section-title button:disabled{opacity:.45;cursor:not-allowed}.import-empty{min-height:7rem;padding:var(--space-4);border:1px solid var(--line);text-align:center;background:var(--surface);border-radius:.8rem;place-content:center;justify-items:center;margin-top:1rem;display:grid}.import-empty>span{color:#fff;background:var(--purple-800);width:2.5rem;height:2.5rem;font-size:var(--text-xs);border-radius:50%;place-items:center;display:grid}.import-empty h2{margin:1rem 0 .3rem}.import-empty p{color:#756a76;margin:0 0 1rem}.import-empty a{color:var(--purple-800);font-weight:700}.import-workspace{gap:.75rem;margin-top:.75rem;display:grid}.import-step{background:var(--surface);border:1px solid #ddd5cd;border-radius:.85rem;padding:1.25rem 1.5rem}.import-step--plain{background:0 0;border:0;border-radius:0}.import-step-heading{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.import-step-heading>span{color:#fff;background:var(--purple-800);width:2rem;height:2rem;font-size:var(--text-xs);border-radius:50%;place-items:center;font-weight:700;display:grid}.import-step-heading small{color:var(--gold-500);font-size:var(--text-xs);letter-spacing:.16em;font-weight:700}.import-step-heading h2{font-size:var(--text-xl);margin:.08rem 0 0;line-height:1.2}.import-context-grid{grid-template-columns:1fr 1fr 10rem;align-items:end;gap:1rem;display:grid}.import-context-grid label>span{color:#756a76;font-size:var(--text-xs);margin-bottom:.4rem;display:block}.import-context-grid select{width:100%;min-height:2.9rem;color:var(--purple-950);font:inherit;background:#fff;border:1px solid #d7ced7;border-radius:.5rem;padding:.6rem .75rem}.import-context-stat{border-left:1px solid #ddd5cd;flex-direction:column;justify-content:center;min-height:3.7rem;padding:.45rem 1rem;display:flex}.import-context-stat span{color:#817682;font-size:var(--text-xs)}.import-context-stat strong{font-size:var(--text-page);line-height:1.1}.file-drop{background:var(--surface);border:1px dashed #bdb1c1;border-radius:.8rem;grid-template-columns:1fr auto;align-items:center;gap:1rem;min-height:6.5rem;padding:1rem 1.25rem;display:grid;position:relative}.file-drop.has-file{background:#f5f0fa;border-style:solid;border-color:#8f75ad}.file-drop input{opacity:0;width:1px;height:1px;position:absolute}.file-drop label{cursor:pointer;flex-direction:column;justify-content:center;min-height:4rem;display:flex}.file-drop label strong,.file-drop label span{display:block}.file-drop label strong{font-size:var(--text-lg)}.file-drop label span{color:#817682;font-size:var(--text-xs);margin-top:.4rem}.file-drop :is(a,button){color:var(--purple-800);font:inherit;font-size:var(--text-xs);z-index:1;cursor:pointer;background:#fff;border:1px solid #d2c8d5;border-radius:.55rem;padding:.7rem 1rem;font-weight:700;text-decoration:none;position:relative}.csv-columns{flex-wrap:wrap;gap:.4rem;margin-top:1rem;display:flex}.csv-columns span{color:#756a76;font-size:var(--text-xs);background:#ece6df;border-radius:.3rem;padding:.28rem .5rem}.import-roll-note{color:#756a76;font-size:var(--text-xs);margin:.75rem 0 0}.student-entry-mode{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.student-entry-mode button{min-height:2.75rem;color:var(--purple-800);font:inherit;font-size:var(--text-xs);cursor:pointer;background:#fff;border:1px solid #cfc3d4;border-radius:.55rem;padding:.55rem .9rem;font-weight:700}.student-entry-mode button[aria-pressed=true]{border-color:var(--purple-800);color:#fff;background:var(--purple-800)}.student-manual-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.student-manual-form>label{grid-template-rows:minmax(1.4rem, auto) var(--control-md);align-content:start;gap:.35rem;min-width:0;display:grid}.student-manual-form>label>:is(input,select){height:var(--control-md)}.student-required-mark{color:#c12d3a;font-size:1em}.student-manual-actions{grid-column:1/-1;justify-content:flex-end;display:flex}.student-manual-actions button{color:#fff;background:var(--purple-800);min-height:2.9rem;font:inherit;font-size:var(--text-sm);cursor:pointer;border:0;border-radius:.55rem;padding:.65rem 1.25rem;font-weight:700}.student-manual-actions button:disabled{opacity:.5;cursor:not-allowed}.teacher-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-summary .roster-total{min-width:0}.teacher-import-panel{margin:1rem 0}.teacher-link-status{font-size:var(--text-xs);border-radius:999px;padding:.35rem .65rem;font-weight:700;display:inline-flex}.teacher-link-status.is-linked{color:#176b47;background:#dff2e8}.teacher-link-status.is-pending{color:#815b16;background:#f8edc9}.teacher-master-page{max-width:100%;overflow-x:clip}.teacher-master-page .roster-main{padding-top:var(--space-4)}.teacher-master-page .roster-title-row p:last-child{font-size:var(--text-sm)}.teacher-master-page .teacher-summary{margin-top:.75rem;padding:.8rem 1rem}.teacher-master-page .teacher-summary .roster-total{min-height:3.6rem}.teacher-master-page .teacher-import-panel{margin:.75rem 0;padding:1rem}.teacher-master-page .teacher-import-panel .import-step-heading{margin-bottom:.7rem}.teacher-master-page .teacher-import-panel .file-drop{min-height:5rem;padding:.75rem 1rem}.teacher-master-page td small{color:#817682}.student-roster-page{max-width:100%;overflow-x:clip}.student-roster-page .roster-main{padding-top:var(--space-4)}.student-roster-page .roster-title-row p:last-child{font-size:var(--text-sm)}.student-roster-page .roster-filters{margin-top:.75rem;padding:1rem}.student-roster-page .roster-total{min-height:3.6rem}@media (width<=760px){.teacher-master-page .roster-title-row{gap:.75rem}.teacher-master-page .context-route-links{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;width:100%;overflow-x:auto}.teacher-master-page .context-route-links::-webkit-scrollbar{display:none}.teacher-master-page .context-route-links a{white-space:nowrap;flex:none}.teacher-master-page .teacher-summary{grid-template-columns:repeat(3,minmax(6.5rem,1fr));overflow-x:auto}.teacher-master-page .teacher-summary .roster-total{border-top:0;border-left:1px solid #ddd5cd;padding:0 .75rem 0 0}.teacher-master-page .teacher-summary .roster-total:first-child{border-left:0}.teacher-master-page .teacher-import-panel .file-drop{grid-template-columns:1fr}.student-roster-page .roster-title-row{gap:.75rem}.student-roster-page .context-route-links{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;width:100%;overflow-x:auto}.student-roster-page .context-route-links::-webkit-scrollbar{display:none}.student-roster-page .context-route-links a{white-space:nowrap;flex:none}.student-roster-page .roster-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.student-roster-page .roster-filters label:nth-child(3),.student-roster-page .roster-total{grid-column:1/-1}.student-roster-page .roster-total{min-height:auto;padding:.75rem 0 0}.import-main .context-route-links{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;width:100%;overflow-x:auto}.import-main .context-route-links::-webkit-scrollbar{display:none}.import-main .context-route-links>*{white-space:nowrap;flex:none}}.teacher-edit-table th:last-child,.teacher-edit-table td:last-child{text-align:right;width:7rem}.teacher-row-edit{color:var(--purple-800);font:inherit;font-size:var(--text-xs);cursor:pointer;background:#fff;border:1px solid #d7cbdc;border-radius:.6rem;align-items:center;gap:.35rem;padding:.55rem .7rem;font-weight:800;display:inline-flex}.teacher-row-edit svg{width:1rem;height:1rem}.teacher-edit-row>td{background:#f8f3fb;text-align:left!important;padding:0!important}.teacher-edit-panel{border-block:2px solid var(--purple-800);padding:1.3rem 1.5rem 1.5rem}.teacher-edit-heading{justify-content:space-between;align-items:start;margin-bottom:1rem;display:flex}.teacher-edit-heading small{letter-spacing:.14em;font-weight:800;color:#b17b00!important}.teacher-edit-heading h3{color:#291337;font-size:var(--text-xl);margin:.15rem 0 0}.teacher-edit-heading>button{aspect-ratio:1;color:#685a6d;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:2.4rem;display:grid}.teacher-edit-heading>button:hover{background:#eee5f3}.teacher-edit-grid{grid-template-columns:.7fr .6fr 1fr 1fr;gap:.85rem;display:grid}.teacher-edit-grid label{color:#6e626f;font-size:var(--text-xs);align-content:start;gap:.3rem;font-weight:700;display:grid}.teacher-edit-grid input,.teacher-edit-grid select{color:#291337;width:100%;min-height:2.9rem;font:inherit;font-size:var(--text-sm);background:#fff;border:1px solid #d7cbdc;border-radius:.65rem;padding:0 .75rem;font-weight:700}.teacher-edit-grid input:disabled{color:#7b707c;background:#ebe7ea}.teacher-email-field{grid-column:span 2}.teacher-email-field small{line-height:1.35}.teacher-edit-actions{justify-content:flex-end;gap:.65rem;margin-top:1rem;display:flex}.teacher-edit-actions button{min-height:2.9rem;font:inherit;font-size:var(--text-xs);cursor:pointer;border-radius:.65rem;justify-content:center;align-items:center;gap:.4rem;padding:0 1rem;font-weight:800;display:inline-flex}.teacher-edit-cancel{color:#5e5262;background:#fff;border:1px solid #d7cbdc}.teacher-edit-save{color:#fff;background:var(--purple-800);border:0}.teacher-edit-save svg{width:1rem}.teacher-edit-save:disabled{opacity:.5;cursor:not-allowed}.teacher-role-summary{max-width:13rem;margin-top:.45rem;line-height:1.35;display:block}.teacher-advisory-summary{margin-top:var(--space-2);color:var(--purple-800);font-size:var(--text-xs);font-weight:700;display:block}.teacher-advisory-section{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line)}.teacher-advisory-heading{align-items:center;gap:var(--space-3);display:flex}.teacher-advisory-heading>svg{width:1.25rem;color:var(--purple-800)}.teacher-advisory-heading h4,.teacher-advisory-heading p{margin:0}.teacher-advisory-heading h4{color:var(--purple-950);font-size:var(--text-md)}.teacher-advisory-heading p,.teacher-advisory-state{color:var(--ink-muted);font-size:var(--text-sm)}.teacher-advisory-fields{margin-top:var(--space-4);gap:var(--space-3);grid-template-columns:minmax(8rem,.6fr) minmax(8rem,.6fr) minmax(14rem,1.4fr);display:grid}.teacher-advisory-fields label{gap:var(--space-2);color:var(--ink-muted);font-size:var(--text-xs);font-weight:700;display:grid}.teacher-advisory-fields select{width:100%;min-height:var(--control-md);padding-inline:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--purple-950);background:var(--surface);font:inherit;font-size:var(--text-sm)}.teacher-advisory-actions{margin-top:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.teacher-advisory-actions>span{color:var(--ink-muted);font-size:var(--text-sm)}.teacher-advisory-actions button{min-height:var(--control-md);padding-inline:var(--space-4);border-radius:var(--radius-md);align-items:center;gap:var(--space-2);color:#fff;background:var(--purple-800);font:inherit;font-size:var(--text-sm);cursor:pointer;border:0;font-weight:700;display:inline-flex}.teacher-advisory-actions button:disabled{opacity:.55;cursor:not-allowed}.teacher-advisory-actions svg{width:1rem}.teacher-access-section{border-top:1px solid #d9cedd;margin-top:1.25rem;padding-top:1.15rem}.teacher-access-heading,.teacher-access-heading>div{align-items:center;gap:.65rem;display:flex}.teacher-access-heading{justify-content:space-between}.teacher-access-heading svg{width:1.2rem;color:var(--purple-800)}.teacher-access-heading h4,.teacher-access-heading p{margin:0}.teacher-access-heading h4{color:#291337;font-size:var(--text-md)}.teacher-access-heading p{color:#756a76;font-size:var(--text-xs);margin-top:.15rem}.teacher-access-account{color:#716575;font-size:var(--text-xs);font-weight:700}.teacher-role-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:.85rem;display:grid}.teacher-role-option{color:#38273f;text-align:left;min-width:0;min-height:4.6rem;font:inherit;cursor:pointer;background:#fff;border:1px solid #d7cbdc;border-radius:.65rem;align-items:flex-start;gap:.6rem;padding:.75rem;display:flex}.teacher-role-option>span:last-child{min-width:0}.teacher-role-option strong,.teacher-role-option small{display:block}.teacher-role-option strong{font-size:var(--text-xs)}.teacher-role-option small{color:#796e7b;font-size:var(--text-xs);margin-top:.2rem;line-height:1.3}.teacher-role-option.is-selected{border-color:var(--purple-700);background:#f4eef9}.teacher-role-option.is-base{color:#62576a;cursor:default;background:#ece8ee}.teacher-role-option:disabled:not(.is-base){opacity:.55;cursor:not-allowed}.teacher-role-option>svg,.teacher-role-check{flex:0 0 1.15rem;place-items:center;width:1.15rem;height:1.15rem;display:grid}.teacher-role-check{border:1px solid #b9acbf;border-radius:.3rem}.is-selected .teacher-role-check{border-color:var(--purple-800);color:#fff;background:var(--purple-800)}.teacher-role-check svg{width:.8rem}.teacher-access-actions{justify-content:flex-end;margin-top:.85rem;display:flex}.teacher-access-actions button{color:#fff;background:var(--purple-800);min-height:2.8rem;font:inherit;font-size:var(--text-xs);cursor:pointer;border:0;border-radius:.65rem;align-items:center;gap:.4rem;padding:0 1rem;font-weight:800;display:inline-flex}.teacher-access-actions button:disabled{opacity:.5;cursor:not-allowed}.teacher-access-actions svg,.teacher-access-success svg{width:1rem}.teacher-access-success{color:#176b47;font-size:var(--text-xs);align-items:center;gap:.35rem;margin:.7rem 0 0;font-weight:700;display:flex}.teacher-access-history{border-top:1px solid #e2d9e5;margin-top:1rem;padding-top:.9rem}.teacher-access-history-heading{color:#38273f;font-size:var(--text-xs);align-items:center;gap:.45rem;display:flex}.teacher-access-history-heading svg{color:#76697a;width:1rem}.teacher-access-history-empty{color:#796e7b;font-size:var(--text-xs);margin:.65rem 0 0}.teacher-access-history ol{gap:.55rem;margin:.7rem 0 0;padding:0;list-style:none;display:grid}.teacher-access-history li{grid-template-columns:.55rem minmax(0,1fr);align-items:start;gap:.55rem;display:grid}.teacher-access-history-mark{background:var(--purple-700);border-radius:50%;width:.45rem;height:.45rem;margin-top:.32rem}.teacher-access-history li strong,.teacher-access-history li small{display:block}.teacher-access-history li strong{color:#38273f;font-size:var(--text-xs);line-height:1.4}.teacher-access-history li small{color:#796e7b;font-size:var(--text-xs);margin-top:.12rem}@media (width<=800px){.teacher-edit-grid{grid-template-columns:1fr 1fr}.teacher-email-field{grid-column:1/-1}.teacher-edit-panel{padding-inline:1rem}.teacher-role-options,.teacher-advisory-fields{grid-template-columns:1fr 1fr}.teacher-advisory-room{grid-column:1/-1}}@media (width<=520px){.teacher-advisory-fields{grid-template-columns:1fr}.teacher-advisory-room{grid-column:auto}.teacher-advisory-actions{flex-direction:column;align-items:stretch}.teacher-access-heading{align-items:flex-start}.teacher-access-account{display:none}.teacher-role-options{grid-template-columns:1fr}}.file-error{color:#9b3542;font-size:var(--text-xs);margin:.8rem 0 0}.time-range-issues{color:#8f2f3f;background:#fff4f6;border:1px solid #f4cdd3;border-radius:.75rem;margin:.8rem 0;padding:.8rem 1rem}.time-range-issues strong{color:#8f2f3f;margin-bottom:.35rem;display:block}.time-range-issues p{font-size:var(--text-xs);margin:.18rem 0}.local-pass,.commit-success{align-items:center;gap:1rem;display:flex}.local-pass>span,.commit-success>span{color:#fff;background:#3d9160;border-radius:50%;flex:none;place-items:center;width:2.6rem;height:2.6rem;font-weight:700;display:grid}.local-pass strong,.local-pass small,.commit-success strong{display:block}.local-pass small{color:#817682;margin-top:.25rem}.preview-button{color:#fff;background:var(--purple-800);width:100%;min-height:3.5rem;font:inherit;cursor:pointer;border:0;border-radius:.6rem;margin-top:1.4rem;font-weight:700}.preview-button:disabled{opacity:.5;cursor:wait}.issue-panel{border:1px solid #e0c1c5;border-radius:.7rem;overflow:hidden}.issue-panel>div:first-child{color:#82343e;background:#f9e9ea;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;display:flex}.issue-panel>div:first-child span{font-size:var(--text-xs)}.issue-table{background:#fff;max-height:22rem;overflow:auto}.issue-table>div{color:#6f626c;font-size:var(--text-xs);border-top:1px solid #eee6e6;grid-template-columns:5rem 9rem 1fr;gap:.8rem;padding:.7rem 1rem;display:grid}.issue-table code{color:#8d4350;font-size:var(--text-xs);overflow-wrap:anywhere}.preview-pass{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.preview-pass>div{background:#f6f1f8;border:1px solid #dcd2df;border-radius:.7rem;flex-direction:column;justify-content:flex-end;min-height:8rem;padding:1.2rem;display:flex}.preview-pass small{color:var(--gold-500);font-size:var(--text-xs);letter-spacing:.15em;font-weight:700}.preview-pass strong{margin-top:.5rem;font-size:2.3rem;line-height:1}.preview-pass span{color:#817682;font-size:var(--text-xs);margin-top:.3rem}.commit-panel{color:#fff;background:var(--purple-950);border-radius:.85rem;padding:2rem}.commit-panel h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin:.6rem 0 .4rem}.commit-panel p:not(.panel-label){color:#cfc6d3;font-size:var(--text-sm);margin:0}.confirm-check{color:#e1d9e4;cursor:pointer;border:1px solid #56435f;border-radius:.6rem;align-items:center;gap:.75rem;margin-top:1.4rem;padding:1rem;display:flex}.confirm-check input{accent-color:#d5aa4c;width:1.15rem;height:1.15rem}.commit-panel>button{width:100%;min-height:3.5rem;color:var(--purple-950);font:inherit;cursor:pointer;background:#e2bd5d;border:0;border-radius:.6rem;margin-top:1rem;font-weight:700}.commit-panel>button:disabled{opacity:.45;cursor:wait}.commit-success p{margin-top:.3rem!important}.commit-success>a{color:#fff;font-size:var(--text-xs);border:1px solid #6c5974;border-radius:.5rem;margin-left:auto;padding:.7rem 1rem;font-weight:700;text-decoration:none}.commit-success>button{min-height:2.6rem;color:var(--purple-950);font:inherit;font-size:var(--text-xs);cursor:pointer;background:#e2bd5d;border:1px solid #d7b65c;border-radius:.5rem;padding:.7rem 1rem;font-weight:700}.roster-page{min-height:100dvh;color:var(--purple-950);background:linear-gradient(90deg, var(--purple-950), var(--purple-800), var(--purple-950)) top / 100% 4px no-repeat, #f3f1f5}.roster-main{width:min(calc(100% - (var(--page-gutter) * 2)), 82rem);padding:var(--page-top) 0 var(--page-bottom);margin-inline:auto}.roster-title-row p:last-child{color:#756a76;max-width:42rem;margin:0}.roster-filters{border:1px solid var(--line);background:var(--surface);border-radius:.85rem;grid-template-columns:repeat(3,minmax(0,1fr)) 8rem;align-items:end;gap:1rem;margin-top:1rem;padding:1.3rem;display:grid}.roster-filters label>span{color:#756a76;font-size:var(--text-xs);margin-bottom:.4rem;display:block}.roster-filters select{width:100%;min-height:2.9rem;color:var(--purple-950);background:#fff;border:1px solid #d7ced7;border-radius:.5rem;padding:.6rem .75rem}.roster-filters select:focus{border-color:var(--gold-500);outline:3px solid #b8841c2e}.roster-total{border-left:1px solid #ddd5cd;grid-template-columns:1fr auto;align-content:end;min-height:4.7rem;padding-left:1rem;display:grid}.roster-total span{color:#817682;font-size:var(--text-xs);grid-column:1/-1}.roster-total strong{font-size:var(--text-page);line-height:1}.roster-total small{color:#817682;font-size:var(--text-xs);align-self:end}.roster-state,.roster-empty{min-height:7rem;padding:var(--space-4);border:1px solid var(--line);text-align:center;color:var(--ink-muted);background:var(--surface);border-radius:.85rem;place-content:center;justify-items:center;margin-top:1rem;display:grid}.roster-state p,.roster-empty p{margin:.4rem 0}.roster-empty-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.7rem;margin-top:.8rem;display:flex}.roster-state button,.roster-empty a,.roster-more{color:var(--purple-800);font:inherit;font-size:var(--text-xs);cursor:pointer;background:#fff;border:1px solid #d2c8d5;border-radius:.5rem;margin-top:.8rem;padding:.65rem .9rem;font-weight:700;text-decoration:none}.roster-error strong{color:#8d3541}.roster-card{border:1px solid var(--line);background:var(--surface);border-radius:.85rem;margin-top:1rem;overflow:hidden}.roster-card-heading{border-bottom:1px solid #e1d9d2;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.35rem 1.5rem;display:flex}.roster-card-heading h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin:.25rem 0 0}.roster-card-meta{align-items:center;gap:1rem;display:flex}.roster-card-meta>span{color:#817682;font-size:var(--text-xs);white-space:nowrap}.roster-archive-trigger{color:#9c3040;font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:1px solid #c77f89;border-radius:.45rem;padding:.55rem .75rem;font-weight:700}.roster-archive-trigger:hover{background:#faeaec}.roster-empty .roster-archive-trigger{padding:.65rem .9rem}.roster-card table{border-collapse:collapse;width:100%;min-width:46rem}.roster-card th,.roster-card td{border-bottom:1px solid var(--table-divider);text-align:left;padding:.85rem 1rem}.roster-card th{color:var(--ink-muted);background:var(--table-heading);font-size:var(--text-xs);letter-spacing:.04em;font-weight:700}.roster-card td{color:#655a66;font-size:var(--text-xs)}.roster-card td:first-child{text-align:center;color:#958a94;width:4rem}.roster-card td code{color:var(--purple-800);font-weight:700}.roster-card td strong{color:var(--purple-950)}.roster-student-link{color:inherit;justify-content:space-between;align-items:center;gap:1rem;text-decoration:none;display:flex}.roster-student-link span{color:var(--purple-800);font-size:var(--text-xs);opacity:0;font-weight:700;transition:opacity .18s,transform .18s;transform:translate(-.25rem)}.roster-student-link:hover span,.roster-student-link:focus-visible span{opacity:1;transform:none}.roster-status{color:#2e704d;font-size:var(--text-xs);white-space:nowrap;background:#e0f2e7;border-radius:999px;padding:.25rem .5rem;font-weight:700}.roster-more{width:calc(100% - 2rem);margin:1rem}.roster-archive-backdrop{z-index:80;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.roster-archive-dialog{width:min(100%,34rem);max-height:min(90dvh,48rem);color:var(--purple-950);background:var(--surface);border:1px solid #d9cdd7;border-radius:.8rem;padding:1.5rem;overflow-y:auto;box-shadow:0 1.5rem 4rem #1b0c263d}.roster-archive-dialog-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.roster-archive-dialog-head span{color:#9c3040;font-size:var(--text-xs);font-weight:700}.roster-archive-dialog-head h2{font-size:var(--text-xl);margin:.35rem 0 0;line-height:1.25}.roster-archive-dialog-head>button{color:#817682;font:inherit;font-size:var(--text-page-mobile);cursor:pointer;background:0 0;border:0;padding:0;line-height:1}.roster-archive-summary{color:#6f6570;font-size:var(--text-xs);margin:1rem 0 1.25rem;line-height:1.7}.roster-archive-summary strong{color:var(--purple-950)}.roster-archive-field{margin-top:1rem;display:block}.roster-archive-field>span{color:#655a66;font-size:var(--text-xs);margin-bottom:.4rem;display:block}.roster-archive-field input,.roster-archive-field textarea{width:100%;color:var(--purple-950);font:inherit;font-size:var(--text-xs);resize:vertical;background:#fff;border:1px solid #d2c8d5;border-radius:.5rem;padding:.7rem .8rem}.roster-archive-field input:focus,.roster-archive-field textarea:focus{border-color:#b45c69;outline:3px solid #9c30401f}.roster-archive-error{color:#9c3040;font-size:var(--text-xs);margin:1rem 0 0;font-weight:700}.roster-archive-actions{border-top:1px solid #e1d9d2;justify-content:flex-end;gap:.7rem;margin-top:1.5rem;padding-top:1rem;display:flex}.roster-archive-actions button{color:var(--purple-800);font:inherit;font-size:var(--text-xs);cursor:pointer;background:#fff;border:1px solid #d2c8d5;border-radius:.5rem;padding:.7rem 1rem;font-weight:700}.roster-archive-actions button.is-danger{color:#fff;background:#a93d4d;border-color:#a93d4d}.roster-archive-actions button:disabled{cursor:not-allowed;opacity:.45}.student-detail-page{min-height:100dvh;color:var(--purple-950);background:var(--app-canvas)}.student-detail-main{width:min(100% - 3rem,76rem);padding:var(--space-4) 0 5rem;margin-inline:auto}.student-detail-main .ui-page-actions a{color:var(--purple-800);font-size:var(--text-sm);font-weight:700;text-decoration:none}.student-profile-hero{color:#fff;background:var(--purple-950);border-radius:1rem;grid-template-columns:minmax(16rem,.8fr) minmax(0,1.2fr);gap:1.25rem;margin-top:.75rem;padding:1.25rem;display:grid}.student-profile-hero h2{letter-spacing:-.015em;margin:0 0 .35rem;font-size:clamp(1.45rem,2vw,1.8rem);line-height:1.2}.student-profile-hero p:last-child{color:#d8cddc;margin:0}.student-profile-hero dl{grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;margin:0;display:grid}.student-profile-hero dl div{border-bottom:1px solid #ffffff24;padding:.55rem .75rem}.student-profile-hero dt{color:#bbaec0;font-size:var(--text-xs)}.student-profile-hero dd{font-size:var(--text-md);margin:.35rem 0 0;font-weight:700}.student-edit-card,.student-audit-card,.student-enrollment-card{background:var(--surface);border:1px solid #ddd5cd;border-radius:1rem;margin-top:1rem;padding:1.5rem}.student-section-heading{justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.student-section-heading h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin:.25rem 0 0}.student-section-heading>span{color:#817682;font-size:var(--text-xs);text-align:right}.student-form-grid{grid-template-columns:.65fr 1fr 1fr 1fr;gap:1rem;margin-top:1.5rem;display:grid}.student-form-grid label>span{color:#756a76;font-size:var(--text-xs);margin-bottom:.4rem;display:block}.student-form-grid input,.student-form-grid select{width:100%;min-height:3rem;color:var(--purple-950);font:inherit;background:#fff;border:1px solid #d7ced7;border-radius:.5rem;padding:.65rem .75rem}.student-form-grid input:focus,.student-form-grid select:focus{border-color:var(--gold-500);outline:3px solid #b8841c2e}.student-birth-field small{color:#817682;font-size:var(--text-xs);margin-top:.45rem;display:block}.student-birth-field small strong{color:var(--purple-800)}.student-reason{grid-column:1/-1}.student-save-row{border-top:1px solid #e1d9d2;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;display:flex}.student-save-row>div{color:#817682;font-size:var(--text-xs)}.student-save-row button{color:#fff;background:var(--purple-800);min-width:12rem;font:inherit;font-size:var(--text-xs);cursor:pointer;border:0;border-radius:.55rem;padding:.8rem 1rem;font-weight:700}.student-save-row button:disabled{cursor:wait;opacity:.55}.student-move-card{background:#f0eaf3;border:1px solid #d7ced7;border-radius:1rem;margin-top:1rem;overflow:hidden}.student-move-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.5rem;list-style:none;display:flex}.student-move-card summary::-webkit-details-marker{display:none}.student-move-card summary span{gap:.2rem;display:grid}.student-move-card summary strong{color:var(--purple-950)}.student-move-card summary small{color:#817682;font-size:var(--text-xs)}.student-move-card summary b{color:var(--purple-800);font-size:var(--text-xs)}.student-move-card[open] summary{border-bottom:1px solid #d7ced7}.student-move-card form{background:var(--surface);padding:1.5rem}.student-withdraw-card{background:#fff;border:1px solid #e2c5ca;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:1.1rem 1.5rem;display:flex}.student-withdraw-card h2{color:var(--purple-950);font-size:var(--text-md);margin:0}.student-withdraw-card p{color:#756a76;font-size:var(--text-xs);margin:.3rem 0 0}.student-withdraw-card button{color:#9c3040;min-height:2.75rem;font:inherit;font-size:var(--text-xs);cursor:pointer;background:#fff;border:1px solid #b04b5a;border-radius:.55rem;flex:none;padding:.6rem .9rem;font-weight:750}.student-withdraw-card button:hover{background:#faeaec}.student-purge-preview{background:var(--surface);font-size:var(--text-xs);border:1px solid #ddd5cd;border-radius:.65rem;margin:.85rem 0;padding:.85rem 1rem}.student-purge-preview>strong{color:var(--purple-950)}.student-purge-preview ul{flex-wrap:wrap;gap:.35rem .9rem;margin:.6rem 0 0;padding-left:1.2rem;display:flex}.student-purge-preview li{color:#665c67}.student-purge-preview li strong{color:var(--purple-950)}.student-purge-preview p[role=alert]{color:#9c3040;margin:.7rem 0 0;font-weight:700}.student-purge-incident{background:#fff;border:1px solid #d7ced7;border-radius:.5rem;margin-top:.75rem;padding:.75rem}.student-purge-incident summary{color:var(--purple-950);cursor:pointer;font-weight:700}.student-purge-incident>button{color:#fff;background:var(--purple-800);font:inherit;cursor:pointer;border:0;border-radius:.45rem;margin-top:.75rem;padding:.55rem .8rem}.student-purge-incident>button:disabled{opacity:.5;cursor:default}.student-purge-review-confirm{align-items:flex-start;gap:.45rem;margin-top:.75rem;line-height:1.5;display:flex}.student-move-grid{grid-template-columns:1.1fr .6fr 1fr 1.1fr;gap:1rem;display:grid}.student-move-grid label>span{color:#756a76;font-size:var(--text-xs);margin-bottom:.4rem;display:block}.student-move-grid input,.student-move-grid select{width:100%;min-height:3rem;color:var(--purple-950);font:inherit;background:#fff;border:1px solid #d7ced7;border-radius:.5rem;padding:.65rem .75rem}.student-move-grid label small{color:#817682;font-size:var(--text-xs);margin-top:.4rem;display:block}.student-move-grid label small strong{color:var(--purple-800)}.student-move-confirm{color:var(--purple-950);font-size:var(--text-xs);background:#fff;border:1px solid #ddd5cd;border-radius:.6rem;align-items:center;gap:.7rem;margin-top:1.2rem;padding:.9rem 1rem;font-weight:700;display:flex}.student-move-confirm input{width:1.1rem;height:1.1rem;accent-color:var(--purple-800)}.student-move-locked{color:#8d3541;text-align:center;border:1px dashed #d0c6cf;border-radius:.7rem;padding:2rem}.student-enrollment-card ol{margin:1.2rem 0 0;padding:0;list-style:none}.student-enrollment-card li{border-top:1px solid #e5ddd6;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1rem 0 1rem 2.2rem;display:grid;position:relative}.student-enrollment-dot{background:var(--surface);border:2px solid #b6aab8;border-radius:50%;width:.7rem;height:.7rem;position:absolute;left:.35rem}.student-enrollment-card li.is-current .student-enrollment-dot{background:#3d9b6d;border-color:#3d9b6d;box-shadow:0 0 0 .3rem #e0f2e7}.student-enrollment-card li p{color:#817682;font-size:var(--text-xs);margin:.2rem 0 0}.student-enrollment-card li small{color:#817682;font-size:var(--text-xs);text-align:right}.student-audit-card ol{margin:1rem 0 0;padding:0;list-style:none}.student-audit-card li{border-top:1px solid #e5ddd6;grid-template-columns:2rem 1fr auto;align-items:center;gap:1rem;padding:1rem 0;display:grid}.student-audit-mark{color:#2e704d;background:#e0f2e7;border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;font-weight:700;display:grid}.student-audit-card li p{color:#817682;font-size:var(--text-xs);margin:.2rem 0 0}.student-audit-card li small{color:#817682;font-size:var(--text-xs);text-align:right;line-height:1.5}.student-audit-empty{color:#817682;text-align:center;border:1px dashed #d1c7cf;border-radius:.7rem;margin-top:1rem;padding:2.5rem}@media (width<=900px){.inspection-hero{grid-template-columns:1fr;gap:2rem}.inspection-score{min-height:auto}.readiness-grid{grid-template-columns:1fr}.readiness-card{min-height:auto}.readiness-card>small{margin-top:2rem}.inspection-columns{grid-template-columns:1fr}.api-strip{grid-template-columns:1fr;gap:1.2rem}.api-budget{border-top:1px solid #ddd5cd;border-left:0;padding:1rem 0 0}.context-field-grid-year{grid-template-columns:1fr 1fr}.semester-grid{grid-template-columns:1fr}.room-count-grid{grid-template-columns:repeat(3,1fr)}.import-context-grid{grid-template-columns:1fr 1fr}.import-context-stat{border-top:1px solid #ddd5cd;border-left:0;grid-column:1/-1;min-height:auto;padding-left:0}.history-list article{grid-template-columns:6rem 1fr 7rem}.history-list time{grid-column:2}.history-list article>button{grid-area:2/3}.roster-filters{grid-template-columns:1fr 1fr}.roster-total{border-top:1px solid #ddd5cd;border-left:0;padding:1rem 0 0}.student-profile-hero{grid-template-columns:1fr;gap:1.5rem}.student-form-grid,.student-move-grid{grid-template-columns:1fr 1fr}}@media (width<=680px){.inspection-header,.inspection-main{width:min(100% - 2rem,90rem)}.inspection-header{min-height:5.6rem}.inspection-version{display:none}.notification-main{width:min(100% - 1.25rem,76rem)}.notification-panel{padding:1rem}.notification-panel-head{flex-direction:column;align-items:flex-start}.notification-list article{grid-template-columns:auto minmax(0,1fr)}.notification-actions{flex-wrap:wrap;grid-column:2}.inspection-main{padding:2rem 0 3rem}.inspection-hero h1{font-size:clamp(2.8rem,15vw,4.2rem)}.workflow-list{grid-template-columns:1fr}.inspection-actions{flex-direction:column}.context-main{width:min(100% - 2rem,76rem)}.context-route-links{justify-content:flex-start}.context-section{padding:1.25rem}.context-field-grid-year,.semester-card{grid-template-columns:1fr}.context-hint{margin-left:0}.room-count-grid{grid-template-columns:repeat(2,1fr)}.year-switcher,.context-submit-bar{flex-direction:column;align-items:stretch}.year-switcher select{min-width:0}.import-main{width:min(100% - 2rem,76rem)}.import-title-row{flex-direction:column;align-items:flex-start}.import-step{padding:1.25rem}.import-context-grid,.preview-pass,.student-manual-form,.file-drop{grid-template-columns:1fr}.issue-panel>div:first-child{flex-direction:column}.issue-table>div{grid-template-columns:4.5rem 1fr}.issue-table>div span:last-child{grid-column:1/-1}.import-history{padding:1rem}.history-list article{grid-template-columns:1fr auto;gap:.65rem}.history-status{grid-column:1}.history-source{grid-column:1/-1}.history-count,.history-list time{grid-column:1}.history-list article>button{grid-area:3/2/5}.roster-main{width:min(100% - 2rem,82rem)}.roster-filters{grid-template-columns:1fr}.roster-card-heading{flex-direction:column;align-items:flex-start}.roster-card-meta{flex-direction:column;align-items:flex-start;width:100%}.roster-student-link span{display:none}.student-detail-main{width:min(100% - 2rem,76rem);padding-top:1rem}.student-profile-hero{padding:1.4rem}.student-profile-hero h1{font-size:var(--text-page)}.student-profile-hero dl{grid-template-columns:repeat(2,minmax(0,1fr))}.student-edit-card,.student-audit-card,.student-enrollment-card{padding:1.1rem}.student-section-heading,.student-save-row{flex-direction:column;align-items:stretch}.student-section-heading>span{text-align:left}.student-form-grid{grid-template-columns:1fr}.student-move-card summary{align-items:flex-start;padding:1rem}.student-move-card summary b{display:none}.student-move-card form{padding:1rem}.student-withdraw-card{flex-direction:column;align-items:stretch;padding:1rem}.student-move-grid{grid-template-columns:1fr}.student-save-row button{width:100%}.student-enrollment-card li{grid-template-columns:1fr}.student-enrollment-card li small{text-align:left}.student-audit-card li{grid-template-columns:2rem 1fr}.student-audit-card li small{text-align:left;grid-column:2}.commit-success{flex-wrap:wrap;align-items:flex-start}.commit-success>a{text-align:center;width:100%;margin-left:0}.commit-success>button{width:100%}}.spinner{border:2px solid #912a792e;border-top-color:var(--purple-800);border-radius:50%;width:2rem;height:2rem;margin:auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=680px){.login-header,.login-footer{width:min(100% - 2rem,90rem)}.login-header{min-height:5.6rem}.school-identity{gap:.7rem}.school-identity img{width:3rem;height:3rem}.school-identity strong{font-size:var(--text-md)}.school-identity small{font-size:var(--text-xs)}.product-name{display:none}.login-main{min-height:auto;padding:2.5rem 1rem}.emblem-watermark{width:25rem}.login-card h1{font-size:clamp(1.625rem,9vw,2.2rem)}.google-login-button{font-size:var(--text-sm)}.login-footer{text-align:center;flex-direction:column;justify-content:center;gap:.25rem;min-height:5.25rem;padding:1.1rem 0}}.course-main,.teaching-plan-main{padding-top:var(--space-4);padding-bottom:5rem}.teaching-plan-main>.ui-page-header{margin-bottom:1rem}.teaching-plan-summary{color:#766b78;font-size:var(--text-xs);flex-wrap:wrap;gap:.55rem 1.25rem;margin-bottom:1rem;font-weight:700;display:flex}.teaching-plan-summary span{align-items:center;gap:.4rem;display:inline-flex}.teaching-plan-summary svg{width:1rem;height:1rem;color:var(--purple-700)}.teaching-plan-summary b{color:#fff;background:var(--purple-700);width:1.25rem;height:1.25rem;font-size:var(--text-xs);border-radius:999px;place-items:center;display:inline-grid}.teaching-plan-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-bottom:1.25rem;display:grid}.teaching-plan-tabs a{color:#594765;background:#fff;border-radius:.8rem;align-items:center;gap:.65rem;min-height:3.35rem;padding:.65rem .85rem;font-weight:800;text-decoration:none;transition:color .15s,background .15s;display:flex}.teaching-plan-tabs a>span{width:1.7rem;height:1.7rem;color:var(--purple-800);background:#f1e8f7;border-radius:50%;flex:0 0 1.7rem;place-items:center;font-family:Outfit,sans-serif;display:grid}.teaching-plan-tabs a:hover{color:var(--purple-800);background:#f4edf8}.teaching-plan-tabs a.is-active{color:#fff;background:var(--purple-800)}.teaching-plan-tabs a.is-active>span{color:var(--purple-800);background:#fff}.teaching-plan-embedded>.context-page{background:0 0;width:100%;min-height:0}.teaching-plan-embedded .context-main{width:100%;max-width:none;margin:0;padding:0 0 2rem}.teaching-plan-embedded .course-filter-bar,.teaching-plan-embedded .timetable-filters{margin-top:0}.teacher-overview-heading,.teacher-overview-detail-heading{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.teacher-overview-heading>span{white-space:nowrap}.teacher-overview-heading h2,.teacher-overview-detail-heading h3{margin:0}.teacher-overview-heading p,.teacher-overview-detail-heading p{color:#766d7d;margin:.3rem 0 0}.teacher-overview-grid{grid-template-columns:minmax(15rem,19rem) minmax(0,1fr);gap:1rem;margin-top:1rem;display:grid}.teacher-overview-list{background:var(--surface);border:1px solid #ded5df;border-radius:1rem;min-width:0;padding:1rem}.teacher-overview-detail{min-width:0}.teacher-overview-list label{margin-bottom:.4rem;font-weight:800;display:block}.teacher-overview-list input{border:1px solid #d6cbdc;border-radius:.65rem;width:100%;min-height:2.8rem;padding:.5rem .75rem}.teacher-overview-list-items{gap:.35rem;max-height:38rem;margin-top:.75rem;display:grid;overflow-y:auto}.teacher-overview-list-items button{color:#291536;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.6rem;grid-template-columns:1fr auto;gap:.15rem .5rem;width:100%;padding:.7rem;display:grid}.teacher-overview-list-items button:hover,.teacher-overview-list-items button.is-active{background:#f3eafa;border-color:#cdb8e5}.teacher-overview-list-items button small{color:#756b7c;grid-column:1}.teacher-overview-list-items button span{color:var(--purple-800);grid-area:1/2/3;align-self:center;font-weight:800}.teacher-overview-detail-heading{margin-bottom:1rem;display:block}.teacher-overview-course{margin-top:.65rem;padding:1rem}.teacher-overview-course>div{flex-wrap:wrap;justify-content:space-between;gap:.7rem;display:flex}.teacher-overview-course p{margin:.45rem 0}.teacher-overview-course small{color:#655a6d}.teacher-overview-subject-heading{align-items:baseline}.teacher-overview-subject-heading>strong{font-size:var(--text-lg)}.teacher-overview-subject-heading>span{color:#655a6d;white-space:nowrap;font-weight:700}.teacher-overview-classrooms{gap:.7rem;margin-top:.9rem;display:grid}.teacher-overview-classroom{border-top:1px solid #e7dfe7;padding:.8rem 0 0}.teacher-overview-classroom>div{justify-content:space-between;gap:.75rem;display:flex}.teacher-overview-classroom>div span{color:#655a6d;white-space:nowrap}.teacher-overview-classroom p{color:#655a6d;margin:.3rem 0}.teacher-overview-actions{flex-wrap:wrap;gap:.45rem;margin-top:.8rem;display:flex}.teacher-overview-actions a{min-height:2.4rem;color:var(--purple-800);background:#f3eafa;border-radius:.6rem;align-items:center;padding:.45rem .7rem;font-weight:700;text-decoration:none;display:inline-flex}.teacher-overview-actions a:hover{background:#e8d9f5}.course-edit-return{color:#655a6d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.course-edit-return a{color:var(--purple-800);font-weight:800}.course-correction-fields{gap:.7rem;margin:1rem 0;display:grid}.course-correction-fields>p{color:#655a6d;margin:0}.course-correction-fields label{gap:.25rem;font-weight:800;display:grid}.course-correction-fields label span{color:#766d7d;font-size:var(--text-sm);font-weight:400}.course-correction-fields input{border:1px solid #d6cbdc;border-radius:.6rem;width:100%;min-height:2.7rem;padding:.5rem .7rem}.course-schedule-scroll-hint{color:#766d7d;font-size:var(--text-sm);display:none}@media (width<=820px){.teacher-overview-grid{grid-template-columns:1fr}.teacher-overview-list-items{max-height:17rem}}@media (width<=700px){.teaching-plan-main{padding-top:1rem}.teaching-plan-summary{grid-template-columns:1fr;gap:.35rem;display:grid}.teaching-plan-tabs a{min-height:3rem}.course-schedule-scroll-hint{display:block}}@media (width<=560px){.teaching-plan-tabs{grid-template-columns:1fr;gap:.3rem}.teaching-plan-tabs a{min-height:2.6rem;padding:.4rem .7rem}.teacher-overview-heading{flex-wrap:wrap;gap:.3rem}}.teaching-plan-context{background:var(--surface);border:1px solid #ddd4df;border-radius:1rem;grid-template-columns:repeat(2,minmax(10rem,1fr));gap:.75rem;margin:.75rem 0;padding:.8rem 1rem;display:grid}.teaching-plan-context label{color:#776b78;font-size:var(--text-xs);gap:.3rem;font-weight:700;display:grid}.teaching-plan-context select{color:#281536;min-height:2.75rem;font:inherit;background:#fff;border:1px solid #d9cedc;border-radius:.65rem;padding:.55rem .7rem;font-weight:800}.semester-setup-card{background:#fff8e8;border:1px solid #dfc486;border-radius:.9rem;align-items:center;gap:1rem;margin:.75rem 0 1rem;padding:.8rem 1rem;display:flex}.semester-setup-card.is-ready{background:#f1faf5;border-color:#b9d9c6}.semester-setup-card>div{gap:.15rem;margin-right:auto;display:grid}.semester-setup-card span,.semester-setup-card p{color:#756a77;font-size:var(--text-sm);margin:0}.semester-setup-card button{flex:none}.course-manual-entry{background:var(--surface);border:1px solid #ddd4df;border-radius:.9rem;margin:1rem 0}.course-manual-entry>summary{color:var(--purple-800);cursor:pointer;padding:.85rem 1rem;font-weight:800}.course-manual-entry .course-create-card{border:0;border-top:1px solid #e4dce5;border-radius:0 0 .9rem .9rem;margin:0}.course-room-scope{justify-content:space-between;align-items:end;gap:1rem;margin-top:1rem;padding:1rem 1.25rem;display:flex}.course-room-scope strong{color:#281536;font-size:var(--text-md)}.course-room-scope p,.course-import-scope-note{color:#756978;font-size:var(--text-sm);margin:.3rem 0 0}.course-room-scope label{color:#80727e;min-width:12rem;font-size:var(--text-sm);gap:.35rem;font-weight:700;display:grid}.course-room-scope select{color:#281536;min-height:2.8rem;font:inherit;background:#fff;border:1px solid #d9cedc;border-radius:.7rem;padding:.55rem .75rem;font-weight:800}.course-import-content .timetable-csv-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.course-roster-readiness{background:#f1faf5;border:1px solid #b9d9c6;border-radius:.9rem;gap:.7rem;margin:1rem 0;padding:1rem;display:grid}.course-roster-readiness.has-issues{background:#fff8e8;border-color:#dfc486}.course-roster-readiness>div{justify-content:space-between;gap:1rem;display:flex}.course-roster-readiness span,.course-roster-readiness li{color:#756a77;font-size:var(--text-sm)}.course-roster-readiness ul{margin:0;padding-left:1.2rem}.course-roster-readiness button{justify-self:start}.course-main .context-title-row{margin-bottom:.75rem}.course-main .context-title-row p:last-child{font-size:var(--text-sm)}.course-filter-bar{color:#281536;background:var(--surface);border:1px solid #ddd4df;border-radius:1rem;grid-template-columns:minmax(13rem,1fr) minmax(13rem,1fr) minmax(10rem,.6fr);gap:1rem;margin:.75rem 0 1rem;padding:.8rem 1rem;display:grid}.course-filter-bar label,.course-form-grid label,.course-dialog label{gap:.45rem;display:grid}.course-filter-bar span,.course-form-grid span,.course-dialog label span{color:#887b89;font-size:var(--text-sm);font-weight:700}.course-filter-bar label span{color:#776b78}.course-filter-bar select,.course-form-grid input,.course-form-grid select,.course-dialog input,.course-dialog select{color:#281536;width:100%;min-height:3.15rem;font:inherit;background:#fff;border:1px solid #d9cedc;border-radius:.75rem;padding:.72rem .85rem;font-weight:700}.course-filter-bar>div{border-left:1px solid #e2d9e3;justify-content:center;align-items:baseline;gap:.45rem;display:flex}.course-filter-bar>div span{color:#776b78}.course-filter-bar>div strong{color:var(--purple-800);font-size:var(--text-page-mobile)}.course-filter-bar>div small{color:#776b78}.course-create-card,.course-list-card{background:var(--surface);border:1px solid #ded4d0;border-radius:1.1rem;margin-top:1rem;padding:1.5rem}.course-csv-import{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;margin:0 0 1rem;padding:0}.course-csv-import>summary{min-height:3.25rem;color:var(--purple-800);cursor:pointer;align-items:center;gap:.65rem;padding:.7rem 1rem;font-weight:800;list-style-position:inside;display:flex}.course-csv-import>summary small{color:#7d717d;margin-left:auto;font-weight:600}.course-csv-import[open]>summary{border-bottom:1px solid #e4dce5}.course-import-content{padding:1.2rem}.course-import-content .context-section-heading{margin-bottom:.9rem}.course-create-heading{border-bottom:1px solid #e7dfdc;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex}.course-create-heading h2,.course-list-heading h2{font-size:var(--text-xl);margin:0}.course-create-heading p,.course-list-heading p{color:#776b78;font-size:var(--text-sm);margin:.2rem 0 0}.course-create-heading>span{color:var(--purple-800);font-size:var(--text-sm);background:#f1ebf5;border-radius:.55rem;flex:none;padding:.35rem .6rem;font-weight:800}.course-list-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.course-list-heading>label{color:#80727e;min-width:12rem;font-size:var(--text-sm);gap:.35rem;font-weight:700;display:grid}.course-list-heading select{color:#281536;min-height:2.8rem;font:inherit;background:#fff;border:1px solid #d9cedc;border-radius:.7rem;padding:.55rem .75rem;font-weight:800}.course-form-grid{grid-template-columns:1fr 1fr 1.35fr 1.35fr .65fr .8fr;gap:.85rem 1rem;margin-top:1rem;display:grid}.course-form-section-title{grid-column:1/-1;align-items:baseline;gap:.65rem;margin-top:.15rem;display:flex}.course-form-section-title:not(:first-child){border-top:1px solid #e7dfdc;margin-top:.45rem;padding-top:.9rem}.course-form-section-title strong{color:#281536}.course-form-section-title span{color:#817581;font-size:var(--text-sm)}.course-name-field{grid-column:span 2}.course-teacher-field{grid-column:span 3}.course-teacher-picker{background:#faf7fc;border:1px solid #d9cedc;border-radius:.85rem;margin:1rem 0 0;padding:1rem}.course-teacher-picker legend{color:#281536;padding:0 .35rem;font-weight:900}.course-teacher-picker legend small{color:#80727e;font-weight:700}.course-teacher-picker>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;max-height:13.5rem;display:grid;overflow-y:auto}.course-teacher-picker label{cursor:pointer;background:#fff;border:1px solid #e2d9e5;border-radius:.7rem;align-items:center;gap:.65rem;min-height:3.25rem;padding:.55rem .7rem;display:flex}.course-teacher-picker input{width:1.15rem;height:1.15rem;accent-color:var(--purple-800);flex:none}.course-teacher-picker label span{gap:.1rem;display:grid}.course-teacher-picker label strong{color:#281536;font-size:var(--text-sm)}.course-teacher-picker label small,.course-teacher-picker>p{color:#80727e;font-size:var(--text-xs);margin:0}.course-submit{color:#fff;background:var(--purple-800);width:min(100%,26rem);min-height:3.35rem;font:inherit;border:0;border-radius:.75rem;margin:0;font-weight:800;display:block}.course-submit:disabled{opacity:.55}.course-create-actions{justify-content:flex-end;align-items:center;gap:1rem;margin-top:1rem;display:flex}.course-create-actions>small{color:#817581}.course-import-note{color:#756a77;font-size:var(--text-xs);margin:.65rem 0 0}.course-import-prerequisite{background:#fff9eb;border:1px solid #e4c994;border-radius:.75rem;margin:1rem 0;padding:1rem}.course-import-prerequisite strong{color:#6c4300}.course-import-prerequisite p{color:#655a4c;margin:.3rem 0 .65rem}.course-import-prerequisite a{color:var(--purple-800);font-weight:800}.course-draft-notice{background:#fff8e8;border:1px solid #ddc58f;border-radius:.85rem;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1rem;padding:.9rem 1rem;display:flex}.course-draft-notice strong{color:#63420b}.course-draft-notice p{color:#665a49;font-size:var(--text-sm);margin:.2rem 0 0}.course-draft-notice a{color:var(--purple-800);flex:none;font-weight:800}@media (width<=560px){.course-draft-notice{flex-direction:column;align-items:flex-start}}.course-import-timetable{background:#fff;border:1px solid #ddd4df;border-radius:.85rem;margin:1rem 0;padding:1rem}.course-import-timetable-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.8rem;display:flex}.course-import-timetable-heading h3{color:var(--purple-950);font-size:var(--text-lg);margin:0}.course-import-timetable-heading p{color:#756a77;font-size:var(--text-sm);margin:.2rem 0 0}.course-import-timetable-heading label{color:#655a68;min-width:10rem;font-size:var(--text-sm);gap:.25rem;font-weight:700;display:grid}.course-import-timetable-heading select{min-height:2.5rem;color:var(--purple-950);font:inherit;background:#fff;border:1px solid #d9cedc;border-radius:.6rem;padding:.35rem .65rem}.course-import-week-head,.course-import-week-row{grid-template-columns:7rem repeat(5,minmax(0,1fr));display:grid}.course-import-week-head>*,.course-import-week-row>*{border-bottom:1px solid #e8e0e8;border-right:1px solid #e8e0e8;min-width:0;padding:.6rem}.course-import-week-head>:last-child,.course-import-week-row>:last-child{border-right:0}.course-import-week-head{color:#554362;font-size:var(--text-sm);text-align:center;background:#f4eef8;font-weight:800}.course-import-week-row>strong{color:var(--purple-950);font-size:var(--text-sm)}.course-import-week-row small,.course-import-slot span{color:#766b79;font-size:var(--text-xs);margin-top:.2rem;font-weight:500;display:block}.course-import-week-row>div{background:#fdfbf9}.course-import-slot{overflow-wrap:anywhere;color:#321a53;font-size:var(--text-xs);background:#eee7f6;border-radius:.55rem;padding:.45rem;line-height:1.35}.course-import-slot+.course-import-slot{margin-top:.35rem}.course-import-slot small{color:#a21f31;font-weight:800}.course-import-empty-slot{color:#b7aeb9;text-align:center;display:block}.course-import-mobile-days{display:none}@media (width<=820px){.course-import-week-table{display:none}.course-import-mobile-days{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.course-import-mobile-days>section{background:#fdfbf9;border:1px solid #e8e0e8;border-radius:.7rem;min-width:0;padding:.7rem}.course-import-mobile-days h4{color:var(--purple-950);margin:0 0 .5rem}.course-import-mobile-days p{color:#756a77;font-size:var(--text-sm);margin:0}.course-import-mobile-slot{border-top:1px solid #e8e0e8;grid-template-columns:4.5rem minmax(0,1fr);gap:.45rem;padding:.4rem 0;display:grid}.course-import-mobile-slot>strong{font-size:var(--text-xs)}.course-import-mobile-slot small{color:#766b79;font-size:var(--text-xs);font-weight:500;display:block}}@media (width<=560px){.course-import-timetable-heading{flex-direction:column;align-items:stretch}.course-import-mobile-days{grid-template-columns:minmax(0,1fr)}}.course-csv-import .csv-columns{margin-top:.75rem}.course-schedule-editor{border-top:1px solid #e3dae3;margin-top:1rem;padding-top:1rem}.course-schedule-editor>div:first-child{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.course-schedule-editor h3{color:var(--purple-950);font-size:var(--text-md);margin:0}.course-schedule-editor p{color:#756a77;font-size:var(--text-xs);margin:0}.course-schedule-empty{color:#756a77;background:#fbf9fb;border:1px dashed #cdbfd0;border-radius:.75rem;gap:.2rem;padding:1rem;display:grid}.course-schedule-empty strong{color:var(--purple-900)}.course-schedule-grid{grid-template-columns:6.5rem repeat(var(--course-period-count), minmax(4.8rem, 1fr));gap:.45rem;padding:.2rem 0 .45rem;display:grid;overflow-x:auto}.course-period-heading{text-align:center;color:#4a3f4e;min-width:4.8rem;font-size:var(--text-xs);font-weight:800}.course-period-heading small{color:#8b7f8e;margin-top:.15rem;font-weight:500;display:block}.course-schedule-row{display:contents}.course-schedule-row>strong{color:var(--purple-950);font-size:var(--text-xs);align-items:center;padding-left:.2rem;display:flex}.course-schedule-row button{color:#655b68;min-width:4.8rem;min-height:2.55rem;font:inherit;font-size:var(--text-xs);cursor:pointer;background:#fff;border:1px solid #ded4df;border-radius:.65rem;font-weight:700;transition:border-color .15s,background .15s,color .15s,transform .15s}.course-schedule-row button:hover:not(:disabled){border-color:var(--purple-700);color:var(--purple-800);background:#f7f1fd;transform:translateY(-1px)}.course-schedule-row button.is-selected{border-color:var(--purple-800);color:#fff;background:var(--purple-800);box-shadow:0 5px 12px #4e23882e}.course-schedule-row button:disabled{color:#a79da8;cursor:not-allowed;background:#f0ecef;border-style:dashed}.course-room-group{border:1px solid #e4dcd7;border-radius:1rem;margin-top:1.5rem;overflow:hidden}.course-room-group h3{color:#fff;background:#281536;justify-content:space-between;margin:0;padding:1rem 1.2rem;display:flex}.course-room-group h3 span{color:#8ce1ad;font-size:var(--text-sm)}.course-table-wrap table{border-collapse:collapse;width:100%;min-width:58rem}.course-table-wrap th,.course-table-wrap td{text-align:left;vertical-align:middle;border-bottom:1px solid #e9e1dc;padding:.9rem 1rem}.course-table-wrap th{color:var(--ink-muted);background:var(--table-heading);font-size:var(--text-sm)}.course-table-wrap td:first-child{gap:.18rem;display:grid}.course-table-wrap td strong,.course-table-wrap td small{display:block}.course-table-wrap td small{color:#81747e}.course-table-wrap code{color:var(--purple-800);font:inherit;font-weight:900}.course-row-actions{flex-wrap:wrap;gap:.45rem;display:flex}.course-mode-badge{color:#6c5f6c;width:fit-content;font-size:var(--text-xs);background:#eee8ed;border-radius:999px;margin:0 0 .3rem;padding:.22rem .48rem;font-weight:900;display:inline-flex}.course-mode-badge.co_teaching{color:#fff;background:var(--purple-800)}.course-table-wrap button,.course-table-wrap .course-row-actions a{border:1px solid var(--purple-800);color:var(--purple-800);font:inherit;white-space:nowrap;background:#fff;border-radius:.65rem;padding:.55rem .8rem;font-weight:800;text-decoration:none}.course-table-wrap .course-row-actions a,.course-table-wrap .course-row-actions .is-primary{color:#fff;background:var(--purple-800)}.course-roster-backdrop{align-items:flex-start;padding:2rem 1rem;overflow-y:auto}.course-roster-dialog{background:#fbf9f6;border:1px solid #ded4df;border-radius:1rem;width:min(78rem,100%);max-height:calc(100vh - 4rem);overflow-y:auto;box-shadow:0 24px 70px #2514313d}.course-roster-dialog .roster-version-page{background:0 0;width:100%;min-height:0}.course-roster-dialog .roster-version-main{width:100%;max-width:none;padding:1.25rem}.course-roster-dialog .context-title-row{padding-right:3rem;position:relative}.roster-inline-close{top:-.25rem;right:0}.course-dialog{gap:1rem;display:grid}.course-schedule-dialog{width:min(72rem,100vw - 2rem);max-width:none}.course-dialog h2,.course-dialog p{margin:0}.course-dialog>small{color:#766a76;line-height:1.5}.course-dialog>button[type=submit]{color:#fff;background:var(--purple-800);min-height:3.4rem;font:inherit;border:0;border-radius:.75rem;font-weight:800}.course-dialog-close{color:#6e6170;font-size:var(--text-page);background:0 0;border:0;position:absolute;top:.7rem;right:.8rem}@media (width<=960px){.course-form-grid{grid-template-columns:1fr 1fr}.course-name-field,.course-teacher-field{grid-column:span 2}.course-teacher-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.teaching-plan-context{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.7rem}.semester-setup-card{flex-direction:column;align-items:stretch}.semester-setup-card button{width:100%}.course-filter-bar,.course-form-grid,.course-teacher-picker>div{grid-template-columns:1fr}.course-main .context-route-links{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;width:100%;overflow-x:auto}.course-main .context-route-links::-webkit-scrollbar{display:none}.course-main .context-route-links a{white-space:nowrap;flex:none}.course-name-field,.course-teacher-field{grid-column:auto}.course-create-card,.course-list-card{padding:1.15rem}.course-csv-import{padding:0}.course-csv-import>summary{flex-direction:column;align-items:flex-start;gap:.1rem}.course-csv-import>summary small{margin-left:1.25rem}.course-create-heading,.course-create-actions{flex-direction:column;align-items:stretch}.course-create-heading>span{width:fit-content}.course-create-actions .course-submit{width:100%}.course-filter-bar>div{border-top:1px solid #e2d9e3;border-left:0;padding-top:.7rem}.course-form-section-title{flex-direction:column;align-items:flex-start;gap:.1rem}.course-list-heading{flex-direction:column;align-items:stretch}.course-schedule-editor>div:first-child{flex-direction:column;align-items:flex-start;gap:.25rem}.course-schedule-grid{grid-template-columns:5rem repeat(var(--course-period-count), 4.6rem)}}.roster-version-main{padding-top:var(--space-4);padding-bottom:5rem}.roster-version-main .context-title-row{margin-bottom:.75rem}.roster-version-main .context-title-row p:last-child{font-size:var(--text-sm)}.roster-version-hero{color:#fff;background:#281536;border-radius:1.2rem;grid-template-columns:1.2fr 1fr;gap:2rem;margin:2rem 0 1rem;padding:2rem;display:grid}.roster-version-hero h2{margin:.5rem 0;font-size:clamp(1.8rem,4vw,3rem)}.roster-version-hero p{color:#d4c7d7;margin:0}.roster-version-facts{grid-template-columns:repeat(3,1fr);align-items:center;gap:.75rem;display:grid}.roster-version-facts span{color:#bfaec6;font-size:var(--text-xs);border-left:1px solid #ffffff2e;gap:.3rem;padding-left:.9rem;display:grid}.roster-version-facts strong{color:#fff;font-size:var(--text-md)}.roster-effective-card{background:var(--surface);border:1px solid #dfd5d0;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.4rem;display:flex}.roster-effective-card p{color:#81747e;margin:.2rem 0 0}.roster-effective-card input{color:#281536;min-height:3rem;font:inherit;background:#fff;border:1px solid #d7ccd9;border-radius:.7rem;padding:.65rem .8rem;font-weight:800}.roster-warning{color:#7a4a00;background:#fff0c4;border-radius:.8rem;margin:1rem 0;padding:1rem 1.2rem;font-weight:800}.roster-version-list{background:var(--surface);border:1px solid #dfd5d0;border-radius:1.2rem;margin-top:1rem;padding:2rem}.roster-version-table-wrap{border:1px solid #e5dcd7;border-radius:.9rem;margin-top:1.2rem;overflow-x:auto}.roster-version-table-wrap table{border-collapse:collapse;width:100%;min-width:42rem}.roster-version-table-wrap th,.roster-version-table-wrap td{text-align:left;border-bottom:1px solid #e8e0da;padding:.85rem 1rem}.roster-version-table-wrap th{color:var(--ink-muted);background:var(--table-heading);font-size:var(--text-sm)}.roster-version-table-wrap code{color:var(--purple-800);font:inherit;font-weight:900}.roster-member-status{color:#087044;font-size:var(--text-xs);background:#ddf4e8;border-radius:99rem;padding:.35rem .65rem;font-weight:800;display:inline-flex}.roster-confirm-card{color:#fff;background:#281536;border-radius:1.2rem;grid-template-columns:1fr minmax(18rem,1fr);gap:1rem 2rem;margin-top:1rem;padding:2rem;display:grid}.roster-confirm-card h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin:.4rem 0}.roster-confirm-card p{color:#cfbfd4;margin:0}.roster-confirm-card label{border:1px solid #fff3;border-radius:.8rem;align-items:center;gap:.8rem;padding:1rem;font-weight:800;display:flex}.roster-confirm-card input{width:1.3rem;height:1.3rem}.roster-confirm-card>button{color:#281536;min-height:3.5rem;font:inherit;background:#e9bd46;border:0;border-radius:.75rem;grid-column:2;font-weight:900}.roster-confirm-card>button:disabled{opacity:.5}.roster-active-note{color:#fff;background:#281536;border-radius:1rem;align-items:center;gap:1rem;margin-top:1rem;padding:1.4rem;display:flex}.roster-active-note>span{width:3rem;height:3rem;font-size:var(--text-page-mobile);background:#3ba06f;border-radius:50%;place-items:center;display:grid}.roster-active-note p{color:#d6c9da;margin:.2rem 0 0}@media (width<=860px){.roster-version-hero,.roster-confirm-card{grid-template-columns:1fr}.roster-confirm-card>button{grid-column:auto}}@media (width<=640px){.roster-version-hero,.roster-version-list,.roster-confirm-card{padding:1.2rem}.roster-version-facts{grid-template-columns:1fr}.roster-effective-card{flex-direction:column;align-items:stretch}}.timetable-main{padding-top:var(--space-4);padding-bottom:5rem}.timetable-main .context-title-row{margin-bottom:.75rem}.timetable-main .context-title-row p:last-child{font-size:var(--text-sm)}.timetable-filters{color:var(--purple-950);background:var(--surface);grid-template-columns:repeat(3,1fr);gap:1rem;margin:.75rem 0 1rem;padding:.9rem 1rem;display:grid}.timetable-filters label,.timetable-effective{gap:.4rem;display:grid}.timetable-filters span{color:var(--ink-muted);font-size:var(--text-sm);font-weight:800}.timetable-filters select,.timetable-effective input,.timetable-entry-form select{color:#281536;min-height:3rem;font:inherit;background:#fff;border:1px solid #d7ccd9;border-radius:.7rem;padding:.65rem .8rem;font-weight:800}.timetable-period-card,.timetable-entry-form{margin-top:1rem;padding:2rem}.period-help{color:#756978;max-width:52rem;margin:1rem 0 .8rem;font-weight:700}.period-profile-head{color:#756978;font-size:var(--text-xs);grid-template-columns:minmax(13rem,1fr) minmax(18rem,.8fr) minmax(18rem,.8fr) 3.5rem;gap:.75rem;margin:1.3rem 0 .55rem;padding-left:3.2rem;display:grid}.period-profile-head strong{color:var(--purple-800)}.period-shared-head{grid-template-columns:minmax(13rem,1fr) minmax(18rem,.8fr) 3.5rem}.school-break-editor{grid-template-columns:1fr 1fr;gap:1rem;margin:1.25rem 0 1.6rem;display:grid}.school-break-editor fieldset{background:#faf6fc;border:1px solid #ddd1df;border-radius:.9rem;grid-template-columns:auto 1fr auto 1fr;align-items:end;gap:.65rem;margin:0;padding:1rem;display:grid}.school-break-editor legend{color:var(--purple-800);padding:0 .4rem;font-weight:900}.school-break-editor strong{color:#281536;align-self:center}.school-break-editor label{color:#756978;font-size:var(--text-xs);gap:.3rem;font-weight:800;display:grid}.school-break-editor input{min-width:0;min-height:2.8rem;font:inherit;background:#fff;border:1px solid #d9cedc;border-radius:.65rem;padding:.55rem .7rem;font-weight:800}.period-editor{gap:.65rem;margin-bottom:1rem;display:grid}.period-editor>div{grid-template-columns:2.5rem minmax(10rem,1fr) minmax(18rem,.8fr) minmax(18rem,.8fr) 3.5rem;align-items:center;gap:.65rem;display:grid}.period-editor strong{color:#fff;background:var(--purple-800);border-radius:50%;place-items:center;width:2.3rem;height:2.3rem;display:grid}.period-editor input{min-height:2.8rem;font:inherit;border:1px solid #d9cedc;border-radius:.65rem;padding:.55rem .7rem;font-weight:700}.period-editor fieldset{border:0;grid-template-columns:1fr auto 1fr;align-items:center;gap:.4rem;min-width:0;margin:0;padding:0;display:grid}.period-editor fieldset input{width:100%;min-width:0}.period-editor legend{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.period-editor-shared>div{grid-template-columns:2.5rem minmax(10rem,1fr) minmax(18rem,.8fr) 3.5rem}.period-remove,.period-add{min-height:2.8rem;font:inherit;cursor:pointer;border-radius:.65rem;font-weight:800}.period-remove{color:#a23d45;background:#fff8f7;border:1px solid #e0c8c8}.period-remove:disabled{opacity:.4;cursor:not-allowed}.period-add{border:1px dashed var(--purple-800);color:var(--purple-800);background:#f8f3fc;margin-bottom:1.2rem;padding:.65rem 1rem}.period-add:disabled{color:#807584;cursor:not-allowed;border-color:#cfc5d1}.timetable-effective{color:#81747e;width:min(100%,16rem);font-size:var(--text-sm);font-weight:800}.timetable-status{color:#fff;background:#281536;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:1.5rem 2rem;display:flex}.timetable-status h2,.timetable-status p{margin:.25rem 0}.timetable-status>span{border-radius:99rem;padding:.55rem .85rem;font-weight:900}.timetable-status>span.draft{color:#754b00;background:#ffe9aa}.timetable-status>span.published{color:#075f3a;background:#d7f3e4}.timetable-break-summary{color:#5e4100;background:#fff7d9;border-color:#e3cf99;align-items:center;gap:1rem;margin-top:1rem;padding:1rem 1.25rem;display:flex}.timetable-break-summary span{background:#fff;border-radius:.5rem;padding:.35rem .65rem;font-weight:900}.timetable-break-summary small{color:#756978;margin-left:auto;font-weight:700}.timetable-entry-form{grid-template-columns:1.3fr .6fr 1fr auto;align-items:end;gap:1rem;display:grid}.timetable-entry-form .context-section-heading{grid-column:1/-1}.timetable-entry-form label{color:#81747e;font-size:var(--text-sm);gap:.4rem;font-weight:800;display:grid}.timetable-entry-form>button,.timetable-publish button{color:#fff;background:var(--purple-800);min-height:3rem;font:inherit;border:0;border-radius:.7rem;padding:.65rem 1rem;font-weight:900}.timetable-week-review{margin-top:1rem}.timetable-publish{color:#fff;background:#281536;grid-template-columns:1fr auto;align-items:center;gap:1rem;margin-top:1rem;padding:1.5rem 2rem;display:grid}.timetable-publish h2,.timetable-publish p{margin:.25rem 0}.timetable-publish p{color:#cfbfd4}.timetable-publish button{color:#281536;background:#e9bd46}@media (width<=820px){.timetable-filters{grid-template-columns:1fr 1fr}.timetable-entry-form{grid-template-columns:1fr}.course-room-scope{flex-direction:column;align-items:stretch}.timetable-publish{grid-template-columns:1fr}.course-import-content .timetable-csv-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=560px){.timetable-filters{grid-template-columns:1fr 1fr}.course-import-content .timetable-csv-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.timetable-period-card,.timetable-entry-form{padding:1.2rem}.period-profile-head{display:none}.school-break-editor{grid-template-columns:1fr}.school-break-editor fieldset{grid-template-columns:1fr auto 1fr}.school-break-editor fieldset>strong{grid-column:1/-1}.period-editor>div{border-bottom:1px solid #e6ddda;grid-template-columns:2.3rem 1fr 3.5rem;padding-bottom:1rem}.period-editor>div fieldset{grid-column:2/-1}.timetable-break-summary{flex-direction:column;align-items:flex-start}.timetable-break-summary small{margin-left:0}}@media (width>=561px) and (width<=1100px){.period-profile-head{display:none}.school-break-editor{grid-template-columns:1fr}.period-editor>div{border-bottom:1px solid #e6ddda;grid-template-columns:2.5rem 1fr 3.5rem;padding-bottom:.9rem}.period-editor>div fieldset{grid-column:2/-1}}.attendance-main{width:min(calc(100% - (var(--page-gutter) * 2)), var(--page-max-wide));padding-top:var(--space-4)}.attendance-main>.context-state{min-height:12rem;margin-top:.5rem}.attendance-page .attendance-title-compact>div>p:last-child{display:none}.attendance-page .attendance-title-compact{flex-direction:column;justify-content:flex-start}.attendance-page .attendance-title-compact>div:first-child{flex:none}.attendance-page .attendance-title-compact>.ui-page-actions{flex:none;min-width:0}.attendance-page .attendance-title-compact .attendance-back{position:static}.attendance-back{width:fit-content;min-height:2.4rem;color:var(--purple-800);font:inherit;font-size:var(--text-sm);white-space:nowrap;background:#f7f0fb;border:1px solid #dacfe0;border-radius:.58rem;flex:none;align-self:auto;padding:.45rem .82rem;font-weight:700}.attendance-back:after{content:none}.attendance-page .attendance-date{margin:.42rem 0;padding:0;display:block}.attendance-date label{width:min(100%,19rem);margin:0;display:block}.attendance-date-picker,.attendance-date-picker:focus,.attendance-date-picker:active,.attendance-date-picker:focus-visible{box-sizing:border-box;appearance:auto;color:#281536;width:100%;min-width:0;max-width:100%;height:2.2rem;min-height:2.2rem;line-height:2.2rem;font:inherit;box-shadow:none;background:field;border:1px solid #d6ccd7;border-radius:.55rem;outline:none;margin:0;padding:0 .65rem;font-weight:400;margin-top:0!important;margin-bottom:0!important}.attendance-date-picker:focus-visible{box-shadow:none;border-color:#b89d3d;outline:none}.attendance-day-panel,.attendance-roster,.attendance-session-hero,.attendance-bulk-tools,.attendance-submit{background:var(--surface);border:1px solid #e5ddd7;border-radius:.8rem}.attendance-day-panel,.attendance-roster,.attendance-session-hero{padding:1rem 1.05rem}.attendance-day-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.attendance-day-heading h2{margin:.2rem 0}.attendance-day-heading>span{color:#0f6b4b;font-size:var(--text-xs);background:#dff4ea;border-radius:99rem;padding:.42rem .65rem;font-weight:700}.attendance-schedule-grid{grid-template-columns:minmax(0,1fr);gap:.55rem;margin-top:.75rem;display:grid}.attendance-schedule-grid>button{text-align:left;color:#281536;min-height:5rem;font:inherit;cursor:pointer;background:#f8f5f0;border:1px solid #e6dfda;border-radius:.75rem;grid-template-columns:4.8rem 1fr auto;align-items:center;gap:.75rem;padding:.72rem .8rem;display:grid}.attendance-schedule-grid>button:hover,.attendance-schedule-grid>button:focus-visible{border-color:#b8a2c9;outline:0}.attendance-schedule-grid>button .attendance-schedule-time{border-right:1px solid #e0d7df;justify-items:end;gap:.16rem;min-width:4.3rem;padding-right:.75rem;display:grid}.attendance-schedule-grid>button>div>strong{font-size:var(--text-lg);font-weight:900;line-height:1.25}.attendance-schedule-badge{color:#281536;width:fit-content;font-size:var(--text-xs);background:#f4eff7;border:1px solid #ddd3e5;border-radius:.58rem;align-items:center;margin:0;padding:.18rem .5rem;font-weight:700;line-height:1.2;display:inline-flex}.attendance-schedule-badge-row{flex-wrap:nowrap;align-items:center;gap:.3rem;margin:0 0 .12rem;display:flex}.attendance-schedule-grid>button>div>strong{color:#281536;margin:0}.attendance-schedule-grid .attendance-schedule-badge{width:fit-content;display:inline-flex}.attendance-course-code{color:var(--purple-800);background:#f5ebff;border-color:#ead7f4}.attendance-period-badge{color:#805d00;background:#fff7dd;border-color:#e3d8b8}.attendance-classroom-badge{color:#20539a;background:#edf5ff;border-color:#cde2fa}.attendance-schedule-grid .attendance-schedule-badge{font-size:var(--text-xs);border:0;border-radius:0;padding:0;font-weight:600;color:#756a76!important;background:0 0!important}.attendance-schedule-grid .attendance-schedule-badge+.attendance-schedule-badge:before{content:"·";color:#b1a5b2;margin:0 .45rem}.attendance-schedule-time span,.attendance-schedule-time small,.attendance-schedule-time small span{font-size:var(--text-lg);margin-top:0;font-weight:400;line-height:1.25;display:block}.attendance-schedule-time>span{color:var(--purple-800)}.attendance-schedule-time>small>span,.attendance-schedule-time>small{color:#83767f}.attendance-schedule-time span,.attendance-schedule-time>small,.attendance-schedule-time small span{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1, "onum" 0;font-kerning:none;letter-spacing:0;text-align:right}.attendance-schedule-grid div>small,.attendance-schedule-grid div>span:not(.attendance-schedule-badge){color:#82747f;font-size:var(--text-xs);display:block}.attendance-schedule-grid em{font-size:var(--text-xs);border-radius:99rem;padding:.38rem .62rem;font-style:normal;font-weight:700}.attendance-schedule-grid em.done{color:#0f6b4b;background:#dff4e8}.attendance-schedule-grid em.pending{color:#825a00;background:#fff0bd}.attendance-session-hero{border-left:.34rem solid var(--purple-800);justify-content:space-between;align-items:center;gap:1.2rem;margin-top:.4rem;display:flex}.attendance-session-hero h2,.attendance-session-hero p{margin:.2rem 0}.attendance-session-hero h2{font-size:clamp(1.3rem,2.1vw,1.7rem);display:inline}.attendance-session-hero>div:first-child>p:not(.panel-label){font-size:inherit;margin-left:.35rem;font-weight:600;display:inline}.attendance-session-hero>div:first-child>p:not(.panel-label):before{content:"· ";color:#756a76}.attendance-hero-submit{border:1px solid var(--purple-800);color:#fff;background:var(--purple-800);min-height:2.7rem;font:inherit;cursor:pointer;border-radius:.65rem;flex:none;padding:.55rem 1rem;font-weight:800;display:none}.attendance-hero-submit:disabled{opacity:.55;cursor:not-allowed}.attendance-header-actions{justify-content:space-between;align-items:center;gap:.65rem;width:100%;margin-left:auto;display:flex}.attendance-page .ui-page-actions{width:100%}.attendance-header-submit{border:1px solid var(--purple-800);color:#fff;background:var(--purple-800);min-height:2.4rem;font:inherit;font-size:var(--text-sm);cursor:pointer;border-radius:.58rem;padding:.45rem .85rem;font-weight:800}.attendance-header-submit:disabled{opacity:.55;cursor:not-allowed}.attendance-session-hero .panel-label{color:#8a6200}.attendance-counts{flex-wrap:wrap;gap:.5rem;display:flex}.attendance-counts span{color:#756978;text-align:center;min-width:4rem;font-size:var(--text-xs);background:#fff;border:1px solid #e4dbd6;border-radius:.6rem;padding:.44rem .62rem}.attendance-counts strong{color:#281536;font-size:var(--text-lg);margin-top:.08rem;display:block}.attendance-roster-head,.attendance-roster article{grid-template-columns:minmax(0,1fr);gap:.8rem;display:grid}.attendance-roster-head{color:#7f6f82;font-size:var(--text-xs);padding:0 .45rem .45rem;font-weight:700}.attendance-roster article{border-top:1px solid #eee9e4;align-items:start;padding:.85rem .55rem}.attendance-roster article.exception{background:#fdf8ef}.attendance-student-name{min-width:0}.attendance-student-name b{min-width:0;font-size:var(--text-md);align-items:center;gap:.48rem;line-height:1.22;display:flex}.attendance-roll-inline{color:var(--purple-800);font-weight:700;font-size:var(--text-md);font-variant-numeric:tabular-nums;flex:none}.attendance-name-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.attendance-student-name em{font-size:var(--text-xs);white-space:nowrap;border-radius:99rem;padding:.26rem .52rem;font-style:normal;font-weight:700;line-height:1}.attendance-student-name em.pending{color:#726773;background:#ece8ec}.attendance-student-name em.status-present{color:#0d6d4e;background:#e1f5ea}.attendance-student-name em.status-absent{color:#8e2731;background:#f8dfe2}.attendance-student-name em.status-truancy{color:#7b202b;background:#f5d7db}.attendance-student-name em.status-late{color:#7a5600;background:#fff0bd}.attendance-student-name em.status-sick_leave{color:#17628f;background:#dceef8}.attendance-student-name em.status-personal_leave{color:#6c2f80;background:#efe2f8}.attendance-student-name em.status-activity{color:#4d4888;background:#ece9fa}.attendance-late-minutes{color:#835f0f;font-size:var(--text-xs);grid-column:1/-1;justify-content:flex-end;align-items:center;gap:.4rem;font-weight:700;display:flex}.attendance-late-minutes input{width:4.2rem;min-height:var(--control-sm)}.attendance-status-buttons{grid-template-columns:repeat(7,minmax(0,1fr));gap:.18rem;display:grid}.attendance-status-buttons button{color:#524356;min-height:2.4rem;font:inherit;font-size:var(--text-xs);background:#fff;border:1px solid #d6ced8;border-radius:.55rem;justify-content:center;align-items:center;gap:.28rem;padding:.25rem .3rem;font-weight:700;display:inline-flex}.attendance-status-buttons svg{flex:none;width:.94rem;height:.94rem}.attendance-status-buttons button:hover,.attendance-status-buttons button:focus-visible{color:#3a2a4b;border-color:#aa99bf;outline:0}.attendance-status-buttons button.active{color:#fff}.attendance-status-buttons button.present.active{background:#1f8158;border-color:#1f8158}.attendance-status-buttons button.absent.active{background:#ad4149;border-color:#ad4149}.attendance-status-buttons button.truancy.active{background:#7f2632;border-color:#7f2632}.attendance-status-buttons button.late.active{background:#b37a00;border-color:#b37a00}.attendance-status-buttons button.sick_leave.active{background:#2d7ea9;border-color:#2d7ea9}.attendance-status-buttons button.personal_leave.active{border-color:var(--purple-700);background:var(--purple-700)}.attendance-status-buttons button.activity.active{background:#5d56a6;border-color:#5d56a6}.attendance-bulk-tools{justify-content:space-between;align-items:center;gap:1rem;margin:.8rem 0;padding:.9rem;display:flex}.attendance-bulk-tools p,.attendance-bulk-tools strong,.attendance-bulk-tools small{margin:0}.attendance-bulk-tools strong{font-size:var(--text-md);color:#261b2e}.attendance-bulk-tools small{color:#7b6f7f;font-size:var(--text-xs);margin-top:.15rem;display:none}.attendance-counts{display:none}.attendance-session-hero{border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.attendance-bulk-tools{border-top:0;border-radius:0 0 .8rem .8rem;margin-top:0}.attendance-bulk-tools>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;display:flex}.attendance-bulk-tools button{min-height:2.55rem;color:var(--purple-800);font:inherit;font-size:var(--text-xs);background:#fff;border:1px solid #d8ced9;border-radius:.58rem;align-items:center;gap:.35rem;padding:.45rem .72rem;font-weight:700;display:inline-flex}.attendance-bulk-tools button.reset{color:#6f6472;background:#f4f0ec}.attendance-submit{background:0 0;border:0;grid-template-columns:auto auto;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0 0;padding:0;display:grid}.attendance-submit>div{display:none}.attendance-submit p{color:#7a6f7b;font-size:var(--text-sm);margin:.1rem 0 0;line-height:1.5}.attendance-submit .file-error,.attendance-submit .success-note{grid-column:1/-1}.attendance-submit .success-note{color:#138255;font-weight:800}.attendance-submit button{border:1px solid var(--purple-800);color:#fff;background:var(--purple-800);min-height:3rem;font:inherit;border-radius:.7rem;padding:.62rem 1.4rem;font-weight:800}.attendance-submit button:disabled{opacity:.55;cursor:not-allowed}.attendance-submit .attendance-submit-back{color:var(--purple-800);background:#f7f2f8;border-color:#d8cedb;grid-area:1/1;display:inline-block}.attendance-submit>button:not(.attendance-submit-back){grid-area:1/2}@media (width>=851px){.attendance-page .context-title-row>div:first-child{flex:auto;min-width:0}.attendance-page .context-title-row>.ui-page-actions{flex:0 52rem;width:auto;min-width:20rem}.attendance-page .context-title-row.attendance-title-compact>div:first-child{flex:none}.attendance-page .context-title-row.attendance-title-compact>.ui-page-actions{flex:none;width:100%;min-width:0}.attendance-roster article{grid-template-columns:minmax(16rem,.7fr) minmax(0,1.8fr);align-items:center}.attendance-roster article>.attendance-status-buttons{grid-column:2}}.compliance-main{width:min(calc(100% - (var(--page-gutter) * 2)), var(--page-max-wide));padding-top:var(--space-4)}.compliance-title .ui-page-actions a{color:var(--purple-800);font-size:var(--text-sm);background:#ece5f1;border-radius:.6rem;padding:.65rem .85rem;font-weight:900;text-decoration:none}.compliance-controls{color:#fff;background:#281536;border-radius:.85rem;grid-template-columns:1fr 1.2fr 1fr auto;align-items:end;gap:.75rem;margin:1rem 0;padding:1rem;display:grid}.compliance-controls label{gap:.35rem;min-width:0;display:grid}.compliance-controls label span{color:#d2c5d5;font-size:var(--text-xs);font-weight:900}.compliance-controls input,.compliance-controls select{color:#281536;width:100%;min-width:0;min-height:2.65rem;font:inherit;background:#fff;border:0;border-radius:.58rem;padding:.5rem .65rem;font-weight:800}.compliance-controls button{color:#281536;min-height:2.65rem;font:inherit;cursor:pointer;background:#e5b947;border:0;border-radius:.58rem;padding:.5rem .9rem;font-weight:900}.compliance-controls button:disabled{opacity:.65}.compliance-main>.context-state{min-height:12rem;margin-top:.75rem}.compliance-summary{grid-template-columns:repeat(4,minmax(0,1fr)) 8rem;gap:.65rem;display:grid}.compliance-summary article,.compliance-summary>div{background:var(--surface);border:1px solid #e1d8d4;border-radius:.8rem;align-items:center;gap:.75rem;min-height:5rem;padding:.8rem 1rem;display:flex}.compliance-summary svg{color:#756978;width:1.35rem}.compliance-summary span{color:#756978;font-size:var(--text-xs)}.compliance-summary span strong{color:#281536;font-size:var(--text-xl);display:block}.compliance-summary article.complete svg{color:#168257}.compliance-summary article.missing svg{color:#ad4149}.compliance-summary>div{color:#fff;background:var(--purple-800);flex-direction:column;justify-content:center;gap:0}.compliance-summary>div strong{font-size:var(--text-page-mobile)}.compliance-summary>div span{color:#ded2e4}.compliance-teachers,.compliance-list{background:var(--surface);border:1px solid #e1d8d4;border-radius:.9rem;margin-top:1rem;padding:1.25rem}.compliance-teachers h2,.compliance-list h2{margin:.2rem 0}.compliance-teachers>div:last-child{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-top:1rem;display:grid}.compliance-teachers button{text-align:left;color:#281536;font:inherit;cursor:pointer;background:#fff;border:1px solid #e4dbd7;border-radius:.65rem;gap:.15rem;padding:.75rem;display:grid}.compliance-teachers button.active{border-color:var(--purple-800);box-shadow:inset .2rem 0 var(--purple-800)}.compliance-teachers button span{color:#756978;font-size:var(--text-xs)}.compliance-teachers button em{color:#a13741;font-size:var(--text-xs);font-style:normal;font-weight:900}.compliance-list-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.compliance-list-head>span{color:var(--purple-800);font-size:var(--text-xs);background:#eee6f7;border-radius:99rem;padding:.4rem .65rem;font-weight:900}.compliance-table{margin-top:.9rem}.compliance-row{border-top:1px solid #eee7e3;grid-template-columns:6rem minmax(15rem,1.3fr) minmax(12rem,1fr) 7rem;align-items:center;gap:1rem;padding:.75rem .55rem;display:grid}.compliance-row.header{color:#81747e;font-size:var(--text-xs);font-weight:900}.compliance-row time strong,.compliance-row time span,.compliance-row div strong,.compliance-row div span{display:block}.compliance-row time strong{color:var(--purple-800);font-size:var(--text-md)}.compliance-row time span,.compliance-row div span{color:#81747e;font-size:var(--text-xs)}.compliance-row>em{width:fit-content;font-size:var(--text-xs);border-radius:99rem;padding:.35rem .58rem;font-style:normal;font-weight:900}.compliance-row>em.submitted{color:#087044;background:#dff4e8}.compliance-row>em.corrected{color:#514995;background:#e6e4f6}.compliance-row>em.pending{color:#756978;background:#eee9ed}.compliance-row>em.missing{color:#8e2731;background:#f8dfe2}:is(.behavior-page,.behavior-record-page,.behavior-summary-page) label>span{font-size:var(--text-xs)}:is(.behavior-page,.behavior-record-page,.behavior-summary-page) button{min-height:var(--control-sm);font-size:var(--text-sm)}:is(.behavior-page,.behavior-record-page,.behavior-summary-page) :is(input,select,textarea){font-size:var(--text-sm)}:is(.behavior-page,.behavior-record-page,.behavior-summary-page,.context-main,.import-main,.roster-main,.attendance-main,.timetable-main,.course-main,.compliance-main) label:not(.confirm-check,.student-move-confirm){gap:var(--space-2);min-width:0;display:grid}:is(.behavior-page,.behavior-record-page,.behavior-summary-page,.context-main,.import-main,.roster-main,.attendance-main,.timetable-main,.course-main,.compliance-main) label:not(.confirm-check,.student-move-confirm)>span{color:var(--ink-muted);font-size:var(--text-xs);margin:0;font-weight:700}:is(.behavior-page,.behavior-record-page,.behavior-summary-page,.context-main,.import-main,.roster-main,.attendance-main,.timetable-main,.course-main,.compliance-main) :is(input,select,textarea):not([type=file]):not([type=checkbox]):not(.substitution-date-input input){width:100%;min-width:0;min-height:var(--control-md);padding-inline:var(--control-padding-inline,var(--space-3));border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-sm);color:var(--purple-950);border:1px solid #d6ccd7}:is(.behavior-page,.behavior-record-page,.behavior-summary-page,.context-main,.import-main,.roster-main,.attendance-main,.timetable-main,.course-main,.compliance-main) :is(input,select,textarea):not([type=file]):not([type=checkbox]):not(.substitution-date-input input):focus-visible{outline-offset:0;border-color:var(--gold-500);outline:3px solid #b8841c2e}:is(.behavior-page,.behavior-record-page,.behavior-summary-page,.context-main,.import-main,.roster-main,.attendance-main,.timetable-main,.course-main,.compliance-main) :is(input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]){background:#fff4f6;border-color:#be3e48}:is(.context-main,.import-main,.roster-main) button{min-height:var(--control-sm);font-size:var(--text-sm)}:is(.context-route-links,.substitution-actions,.import-title-row,.roster-title-row) a{min-height:var(--control-sm);font-size:var(--text-sm);justify-content:center;align-items:center;display:inline-flex}.substitution-status-actions>button,.absence-day-list button,.history-list article>button,.teacher-row-edit,.teacher-edit-actions button,.course-table-wrap button,.course-table-wrap .course-row-actions a{min-height:var(--control-sm);font-size:var(--text-sm)}.timetable-csv-actions>:is(button,label){min-height:var(--control-lg)}.timetable-csv-actions>label span,.timetable-csv-actions input[type=file]{font-size:var(--text-sm)}.timetable-csv-actions>label{min-width:0}.timetable-csv-actions input[type=file]{width:100%;min-width:0;max-width:100%}@media (width<=1200px){.context-title-row{gap:var(--space-4)}.context-route-links{justify-content:flex-start}.context-field-grid-year{grid-template-columns:repeat(2,minmax(0,1fr))}.semester-grid{grid-template-columns:1fr}.semester-card+.semester-card{border-top:1px solid #e1d9d2;border-left:0;padding:1rem 0 0}.room-count-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=850px){.attendance-main{width:min(100% - 1.25rem,84rem);padding-top:1rem}.attendance-page .context-title-row{gap:.75rem}.attendance-date{justify-content:stretch}.attendance-date label{width:100%}.attendance-schedule-grid{grid-template-columns:minmax(0,1fr);gap:.6rem}.attendance-schedule-grid>button{grid-template-columns:4.3rem 1fr auto}.attendance-session-hero{flex-direction:column;align-items:flex-start}.attendance-counts{width:100%;overflow-x:auto}.attendance-roster-head{display:none}.attendance-roster{padding:.8rem}.attendance-bulk-tools{flex-direction:column;align-items:stretch;padding:1rem}.attendance-bulk-tools>div:last-child{grid-template-columns:1fr 1fr;display:grid}.attendance-bulk-tools button{justify-content:center}.attendance-roster article{grid-template-columns:minmax(0,1fr);gap:.6rem;padding:.9rem .35rem}.attendance-student-name b{font-size:clamp(1rem,3.9vw,1.2rem)}.attendance-student-name em{margin-left:.45rem}.attendance-roster article>.attendance-status-buttons,.attendance-roster article>.attendance-late-minutes{grid-column:1}.attendance-status-buttons{gap:.15rem}.attendance-status-buttons button{min-height:2.85rem;padding:.3rem}.attendance-status-buttons button span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.attendance-status-buttons svg{width:1.28rem;height:1.28rem}.attendance-submit{grid-template-columns:auto auto}.compliance-main{width:min(100% - 1.25rem,84rem);padding-top:1rem}.compliance-controls,.compliance-summary{grid-template-columns:1fr 1fr}.compliance-summary>div{min-height:4.25rem}.compliance-teachers>div:last-child{grid-template-columns:1fr 1fr}.compliance-row{grid-template-columns:4.5rem 1fr auto;gap:.75rem}.compliance-row.header{display:none}.compliance-row>span{color:#756978;font-size:var(--text-xs);grid-column:2}.compliance-row>em{grid-area:1/3/span 2}}@media (width<=520px){.attendance-schedule-grid{grid-template-columns:minmax(0,1fr)}.attendance-schedule-grid>button{grid-template-columns:4.3rem 1fr auto}.attendance-schedule-grid em{width:fit-content}.attendance-counts span{min-width:4rem}.attendance-status-buttons{grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem}.compliance-controls{grid-template-columns:1fr}.compliance-summary{grid-template-columns:1fr 1fr}.compliance-summary article{min-height:4.5rem;padding:.7rem}.compliance-summary>div{grid-column:1/-1}.compliance-teachers>div:last-child{grid-template-columns:1fr}.compliance-row{grid-template-columns:3.8rem minmax(0,1fr)}.compliance-row>em{grid-area:auto/2}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ui-button{min-height:var(--control-md);padding-inline:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);box-shadow:var(--shadow-control);font-weight:700;line-height:1.2}.ui-button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}.ui-button.ui-button--primary{min-height:var(--control-md)}.behavior-record-submit .ui-button{min-height:var(--control-md);border-radius:var(--radius-md);font-size:var(--text-sm)}.ui-action-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ui-action-row>.ui-button{flex:none}.score-page{padding-bottom:5rem}.score-page .ui-page-actions{width:3rem;height:3rem;color:var(--purple-800);background:#eee7f2;border-radius:.8rem;place-items:center;display:grid}.score-page .ui-page-actions svg{width:1.35rem}.score-layout{grid-template-columns:minmax(17rem,.7fr) minmax(0,1.7fr);align-items:start;gap:1.4rem;margin-top:1.5rem;display:grid}.score-sidebar,.score-workspace{min-width:0}.score-sidebar{border-right:1px solid var(--line);padding-right:1.4rem}.score-section-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.score-section-heading span{color:var(--gold-700);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;font-weight:800}.score-section-heading h2{font-size:var(--text-lg);margin:.15rem 0 0}.score-section-heading>b{color:var(--ink-muted);font-size:var(--text-sm)}.score-category-form{border-block:1px solid var(--line);grid-template-columns:.7fr 1.3fr;gap:.75rem;margin-top:1rem;padding:1rem 0;display:grid}.score-page label{gap:.35rem;min-width:0;display:grid}.score-page label>span{color:var(--ink-muted);font-size:var(--text-sm);font-weight:700}.score-page :is(input,select){width:100%;min-width:0;min-height:var(--control-md);border-radius:var(--radius-md);color:var(--purple-950);background:var(--surface);font:inherit;border:1px solid #d8cedb;padding:.65rem .75rem}.score-page :is(input,select):focus-visible{border-color:var(--purple-800);outline:3px solid #4d268b24}.score-category-form .wide,.score-category-form>.ui-button,.score-category-form>.score-error{grid-column:1/-1}.score-category-form>.ui-button{justify-self:end}.score-category-list{margin-top:.5rem}.score-category-list article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.8rem;min-height:4.25rem;padding:.85rem .15rem;display:flex}.score-category-list article.inactive,.score-assessment-list article.inactive{opacity:.52}.score-category-list article>div:first-child{gap:.12rem;min-width:0;display:grid}.score-category-list code{width:fit-content;color:var(--purple-800);font:inherit;font-size:var(--text-xs);font-weight:800}.score-category-list strong{font-size:var(--text-md)}.score-category-list small{color:var(--ink-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.score-category-list article>input{margin-bottom:.4rem}.score-category-list article:has(>input){display:block}.score-category-list article:has(>input)>div{justify-content:flex-end;gap:.4rem;display:flex}.score-row-actions{flex:none;gap:.3rem;display:flex}.score-row-actions button,.score-assessment-edit button{min-width:2.25rem;min-height:2.25rem;color:var(--purple-800);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:1px solid #d8cedb;border-radius:.55rem;justify-content:center;align-items:center;gap:.3rem;padding:.45rem;font-weight:700;display:inline-flex}.score-category-list article:has(>input) button{min-width:2.25rem;min-height:2.25rem;color:var(--purple-800);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:1px solid #d8cedb;border-radius:.55rem;justify-content:center;align-items:center;gap:.3rem;padding:.45rem;font-weight:700;display:inline-flex}.score-row-actions svg{width:.95rem}@media (width<=1180px){.score-row-actions button,.score-assessment-edit button{min-width:3rem;min-height:3rem}.score-category-list article:has(>input) button{min-width:3rem;min-height:3rem}}.score-course-bar{border-radius:var(--radius-lg);color:#fff;background:var(--purple-950);justify-content:space-between;align-items:end;gap:1rem;padding:1rem 1.15rem;display:flex}.score-course-bar label{flex:1}.score-course-bar label>span,.score-course-bar small{color:#d5c9da}.score-course-bar select{background:#fff;font-weight:800}.score-total{grid-template-columns:auto minmax(10rem,1fr) auto;align-items:center;gap:1rem;margin:1rem 0;display:grid}.score-total>div:first-child{display:grid}.score-total span,.score-total p{color:var(--ink-muted);font-size:var(--text-sm)}.score-total strong{color:var(--purple-950);font-size:var(--text-page);line-height:1}.score-total strong small{color:var(--ink-muted);font-size:var(--text-sm);margin-left:.2rem}.score-total p{white-space:nowrap;margin:0}.score-meter{background:#e5dfe6;border-radius:99rem;height:.55rem;overflow:hidden}.score-meter i{border-radius:inherit;background:var(--purple-800);height:100%;transition:width .18s;display:block}.score-assessment-form{grid-template-columns:1fr 1.6fr .55fr 1fr;align-items:end;gap:.85rem;padding:1.2rem;display:grid}.score-assessment-form .score-section-heading,.score-assessment-form .description,.score-assessment-form>.score-error{grid-column:1/-1}.score-assessment-form>.ui-button{grid-column:4;justify-self:end}.score-assessment-list{margin-top:1rem;padding:1.2rem}.score-assessment-list article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 5rem auto;align-items:center;gap:1rem;min-height:4.8rem;padding:.8rem 0;display:grid}.score-assessment-main{gap:.16rem;min-width:0;display:grid}.score-assessment-main span{color:var(--gold-700);font-size:var(--text-xs);font-weight:800}.score-assessment-main strong{font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.score-assessment-main small{color:var(--ink-muted);font-size:var(--text-xs)}.score-assessment-list article>b{text-align:right;font-size:var(--text-xl)}.score-assessment-list article>b small{color:var(--ink-muted);font-size:var(--text-xs);font-weight:500;display:block}.score-assessment-edit{grid-column:1/-1;grid-template-columns:1fr 1.6fr .55fr 1fr auto;gap:.6rem;display:grid}.score-assessment-edit>div{gap:.35rem;display:flex}.score-empty{color:var(--ink-muted);font-size:var(--text-sm);text-align:center;margin:1rem 0;padding:1rem 0}.score-error{color:#982d3e;font-size:var(--text-sm);background:#fde9ec;border-radius:.5rem;margin:0;padding:.55rem .7rem}@media (width<=980px){.score-layout{grid-template-columns:1fr}.score-sidebar{border-right:0;border-bottom:1px solid var(--line);padding-bottom:1.2rem;padding-right:0}.score-assessment-form{grid-template-columns:1fr 1fr}.score-assessment-form .score-section-heading,.score-assessment-form .description,.score-assessment-form>.score-error{grid-column:1/-1}.score-assessment-form>.ui-button{grid-column:2}.score-assessment-edit{grid-template-columns:1fr 1fr}.score-assessment-edit>div{grid-column:1/-1;justify-content:flex-end}}@media (width<=620px){.score-page .ui-page-actions{display:none}.score-category-form,.score-assessment-form{grid-template-columns:1fr}.score-category-form>*,.score-assessment-form>*,.score-assessment-form>.ui-button{grid-column:1/-1}.score-course-bar{flex-direction:column;align-items:stretch}.score-total{grid-template-columns:1fr auto}.score-meter{grid-area:2/1/auto/-1}.score-assessment-list{padding:1rem}.score-assessment-list article{grid-template-columns:minmax(0,1fr) auto}.score-assessment-list article>.score-row-actions{grid-column:1/-1;justify-content:flex-end}.score-assessment-edit{grid-template-columns:1fr}}.course-structure-page{padding-top:var(--space-4)}.course-structure-page .ui-page-header{margin-bottom:.75rem}.structure-course-bar{border-radius:var(--radius-lg);color:#fff;background:var(--purple-950);grid-template-columns:minmax(18rem,48rem) minmax(14rem,1fr);align-items:center;gap:1.5rem;padding:.85rem 1.1rem;display:grid}.structure-course-bar label>span,.structure-course-bar>div span{color:#d7cadc}.structure-course-bar select{background:#fff;min-height:3.2rem;font-weight:800}.structure-course-summary{border-left:1px solid #ffffff2e;justify-items:end;gap:.08rem;min-width:0;padding-left:1.25rem;display:grid}.structure-course-summary strong{color:#fff;font-size:var(--text-md)}.structure-course-summary span{max-width:24rem;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.structure-course-summary small{color:#bcaec2;font-size:var(--text-xs)}.structure-sheet{margin-top:1rem;overflow:hidden}.structure-sheet-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.structure-sheet-heading>div:first-child{min-width:0}.structure-sheet-heading span{color:var(--gold-700);font-size:var(--text-xs);letter-spacing:.08em;font-weight:800}.structure-sheet-heading h2{font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap;margin:.15rem 0 0;overflow:hidden}.structure-save-state{color:#317258;font-size:var(--text-sm);border-left:3px solid #3c8a69;flex:none;padding-left:.75rem;font-weight:700}.structure-save-state.dirty{color:#916711;border-color:#c58b17}.structure-save-state.error{color:#9e3442;border-color:#b6404f}.structure-table-wrap{width:100%;overflow-x:auto}.structure-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:68rem}.structure-table th,.structure-table td{border-bottom:1px solid #dfd7df;border-right:1px solid #dfd7df}.structure-table th:last-child,.structure-table td:last-child{border-right:0}.structure-table thead th{color:var(--ink-muted);background:var(--table-heading);font-size:var(--text-sm);text-align:center;padding:.5rem .4rem;line-height:1.3}.structure-table thead tr:first-child th:first-child{width:3.2rem}.structure-table thead tr:first-child th:nth-child(2){width:4.5rem}.structure-table thead tr:first-child th:nth-child(3){width:17rem}.structure-table thead tr:first-child th:nth-child(4){width:28rem}.structure-table thead tr:first-child th:nth-child(6){width:5rem}.structure-table tbody td{vertical-align:middle;background:var(--surface);padding:.4rem}.structure-table :is(input,textarea){width:100%;min-width:0;min-height:3rem;color:var(--purple-950);font:inherit;font-size:var(--text-sm);background:#fff;border:1px solid #d4ccd6;border-radius:.45rem;padding:.6rem .65rem;line-height:1.45}.structure-table textarea{resize:vertical}.structure-table td:nth-child(2) input,.structure-table td:nth-child(n+5) input{text-align:center;padding-inline:.25rem}.structure-table :is(input,textarea):focus-visible{border-color:var(--purple-800);outline:3px solid #4d268b1f}.structure-delete{width:var(--control-md);height:var(--control-md);color:#983a48;cursor:pointer;background:#f8e9eb;border:0;border-radius:.45rem;place-items:center;margin:auto;display:grid}.structure-delete svg{width:1rem}.structure-delete:disabled{opacity:.4;cursor:default}.structure-table td.invalid{background:#fff7f7}.structure-table :is(input,textarea)[aria-invalid=true]{border-color:#b6404f;box-shadow:0 0 0 2px #b6404f1a}.structure-cell-error{color:#a73544;font-size:var(--text-xs);margin:.25rem .15rem 0;line-height:1.25;display:block}.structure-table tfoot th,.structure-table tfoot td{color:var(--purple-950);font-size:var(--text-md);text-align:center;background:#eee7f2;padding:.7rem .5rem;font-weight:800}.structure-table tfoot th{text-align:right}.structure-empty-row td{height:7rem;color:var(--ink-muted);font-size:var(--text-sm);text-align:center}.structure-actions{justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.25rem 1rem;display:flex}.structure-actions>div:first-child{gap:.15rem;display:grid}.structure-actions>div:first-child strong{font-size:var(--text-md)}.structure-actions>div:first-child strong.over{color:#a73544}.structure-actions>div:first-child span{color:var(--ink-muted);font-size:var(--text-xs)}.structure-actions>div:last-child{gap:.65rem;display:flex}.structure-actions .ui-button{align-items:center;gap:.4rem;display:inline-flex}.structure-actions .ui-button svg{width:1rem}.structure-validation{color:#7d5b0e;font-size:var(--text-sm);background:#fff8df;border-top:1px solid #ead8a9;margin:0;padding:.7rem 1.25rem}.structure-validation.error{color:#963342;background:#fcebed;border-color:#eccbd0}.structure-discard-dialog h2{color:var(--purple-950);font-size:var(--text-xl);margin:0}.structure-discard-dialog p{margin:var(--space-3) 0 var(--space-6);color:var(--ink-muted)}.structure-discard-dialog>div{justify-content:flex-end;gap:var(--space-3);display:flex}@media (width<=720px){.structure-course-bar{grid-template-columns:1fr;gap:.75rem}.structure-course-summary{border-top:1px solid #ffffff2e;border-left:0;justify-items:start;padding:.7rem 0 0}.structure-course-summary span{max-width:100%}.structure-sheet-heading{flex-direction:column;align-items:flex-start}.structure-actions{flex-direction:column;align-items:stretch}.structure-actions>div:last-child{grid-template-columns:1fr 1fr;display:grid}.structure-actions .ui-button{justify-content:center}}@media print{@page{size:A4 landscape;margin:10mm}.app-sidebar,.mobile-edge-opener,.sidebar-scrim,.result-reports-page>.ui-page-header,.result-report-controls,.result-report-capability,.result-report-actions,.result-report-admin-column,.result-status-dialog-backdrop{display:none!important}.app-shell{display:block!important}.app-main,.ui-page-container,.result-reports-page{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.result-report-sheet{box-shadow:none!important;border:0!important}.result-report-document-heading{text-align:center;border-bottom:1px solid #777;grid-template-columns:18mm 1fr 18mm;align-items:center;padding:0 0 4mm;display:grid}.result-report-document-heading:after{content:""}.result-report-document-heading img{object-fit:contain;justify-self:center;width:15mm;height:15mm}.result-report-document-heading strong{font-size:15pt;display:block}.result-report-document-heading h2{margin:.5mm 0;font-size:17pt;line-height:1.15}.result-report-document-heading span{font-size:11pt}.result-report-sheet>header{align-items:flex-end;padding:3mm 0}.result-report-sheet>header p{display:none}.result-report-sheet>header h2{font-size:14pt}.result-report-summary,.result-report-distribution{background:0 0;gap:1mm 5mm;padding:2mm 0}.result-report-table-wrap{overflow:visible}.result-report-sheet table{min-width:0;font-size:10pt}.result-report-sheet th,.result-report-sheet td{padding:2.2mm 2.5mm}.result-report-sheet thead{display:table-header-group}.result-report-sheet tr{break-inside:avoid}.result-report-signatures{break-inside:avoid;grid-template-columns:repeat(3,1fr);gap:10mm;margin-top:8mm;display:grid}.result-report-signatures>div{text-align:center;grid-template-columns:auto 1fr;align-items:end;gap:0 2mm;font-size:10pt;display:grid}.result-report-signatures i{border-bottom:1px dotted #555;min-width:32mm;height:7mm}.result-report-signatures strong,.result-report-signatures small{grid-column:1/-1;font-style:normal}.result-report-signatures small{min-height:4mm;margin-top:1mm}.result-report-print-meta{color:#555;text-align:right;margin:7mm 0 0;font-size:8pt;display:block}.result-report-sheet>footer{padding:2mm 0 0;font-size:8pt}}.year-rollover-page{padding-top:var(--space-4);padding-bottom:4rem}.year-rollover-page .ui-page-header{margin-bottom:.75rem}.year-rollover-controls{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(12rem,1fr) minmax(11rem,.75fr) auto minmax(12rem,1fr) auto;align-items:end;gap:.8rem;padding:1rem 1.1rem;display:grid}.year-rollover-controls label{gap:.35rem;min-width:0;display:grid}.year-rollover-controls label>span{color:var(--ink-muted);font-size:var(--text-sm);font-weight:700}.year-rollover-controls select{width:100%;min-height:var(--control-lg);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--purple-950);background:var(--surface);font:inherit;padding:.65rem 2.4rem .65rem .8rem;font-weight:700}.year-rollover-controls .ui-button{min-height:var(--control-lg);white-space:nowrap}.year-rollover-direction{width:1.3rem;height:1.3rem;color:var(--muted);margin-bottom:.8rem}.year-rollover-safety{color:var(--muted);font-size:var(--text-sm);align-items:center;gap:.55rem;margin:.8rem 0 1.4rem;display:flex}.year-rollover-safety svg{color:#26715b;width:1.05rem;height:1.05rem}.year-rollover-safety strong{color:#26715b}.year-rollover-readiness{border-top:2px solid var(--line-strong);border-bottom:1px solid var(--line);margin:0 0 1.5rem;padding:1rem 0}.year-rollover-readiness.is-ready{border-top-color:#26715b}.year-rollover-readiness>header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.65rem;display:flex}.year-rollover-readiness>header p{color:var(--muted);margin:.15rem 0 0}.year-rollover-readiness>header>span{color:#ad3342;white-space:nowrap;font-weight:800}.year-rollover-readiness.is-ready>header>span{color:#26715b}.year-rollover-readiness-list{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.year-rollover-readiness-list>div{border-bottom:1px solid var(--line);grid-template-columns:1.25rem minmax(0,1fr) auto;align-items:center;gap:.55rem;min-height:2.8rem;padding:.55rem .35rem;display:grid}.year-rollover-readiness-list>div:nth-child(odd){border-right:1px solid var(--line);padding-right:1rem}.year-rollover-readiness-list>div:nth-child(2n){padding-left:1rem}.year-rollover-readiness-list svg{color:#ad3342;width:1rem;height:1rem}.year-rollover-readiness-list .is-ready svg,.year-rollover-readiness-list .is-ready strong{color:#26715b}.year-rollover-readiness-list strong{color:#ad3342;font-size:var(--text-sm);white-space:nowrap}.year-rollover-semester-workflow{justify-content:space-between;align-items:flex-end;gap:1rem;padding-top:.9rem;display:flex}.year-rollover-semester-workflow>div:first-child{gap:.12rem;display:grid}.year-rollover-semester-workflow>div:first-child span{color:var(--muted);font-size:var(--text-sm)}.year-rollover-semester-workflow>div:first-child strong{font-size:var(--text-lg)}.year-rollover-lock-action{align-items:flex-end;gap:.7rem;margin-left:auto;display:flex}.year-rollover-lock-action label{color:var(--muted);font-size:var(--text-sm);gap:.3rem;font-weight:700;display:grid}.year-rollover-lock-action input{width:10rem;min-height:var(--control-lg);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);background:var(--surface);font:inherit;padding:.6rem .75rem;font-weight:800}.year-rollover-semester-workflow>.year-rollover-commit-error{text-align:right;margin-left:auto}.year-rollover-history{border-top:2px solid var(--purple-800);border-bottom:1px solid var(--line);margin:0 0 1.5rem;padding:1rem 0}.year-rollover-history>header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.7rem;display:flex}.year-rollover-history>header p,.year-rollover-history-detail header p{color:var(--muted);margin:.15rem 0 0}.year-rollover-history-list{border-top:1px solid var(--line)}.year-rollover-history-list>button:not(.ui-button){border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;min-height:3.7rem;color:var(--ink);font:inherit;cursor:pointer;background:0 0;grid-template-columns:7rem 9rem 6rem minmax(10rem,1fr) 12rem;align-items:center;gap:.8rem;padding:.65rem .35rem;display:grid}.year-rollover-history-list>button:not(.ui-button):hover,.year-rollover-history-list>button.is-active{background:var(--surface-soft)}.year-rollover-history-list>.ui-button{margin-top:.8rem}.year-rollover-history-status{width:fit-content;color:var(--muted);font-size:var(--text-xs);white-space:nowrap;background:#eee9e6;border-radius:99rem;padding:.18rem .5rem;font-weight:800}.year-rollover-history-status.is-committed{color:#1f6752;background:#e2f2ec}.year-rollover-history-status.is-rolled_back,.year-rollover-history-status.is-failed{color:#983a48;background:#f7e6e9}.year-rollover-history-detail{border-top:1px solid var(--line-strong);margin-top:1.2rem;padding-top:1rem}.year-rollover-history-detail>header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.7rem;display:flex}.year-rollover-history-detail-actions{align-items:center;gap:.65rem;display:flex}.year-rollover-history-detail-actions .ui-button svg,.year-rollover-summary-actions .ui-button svg{width:1rem;height:1rem}.year-rollover-history-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:.5rem 1.35rem;margin-bottom:.9rem;padding:.55rem 0;display:flex}.year-rollover-history-summary strong{color:var(--ink);font-size:var(--text-md);margin-left:.18rem}.year-rollover-history-summary .has-issue,.year-rollover-history-summary .has-issue strong{color:#ad3342}.year-rollover-history-reason{color:#983a48;margin:0 0 .8rem}.year-rollover-history-table-wrap{border:1px solid var(--line);border-radius:var(--radius-sm)}.year-rollover-history-table{min-width:48rem}.year-rollover-history-table td strong,.year-rollover-history-table td small{display:block}.year-rollover-history-table td small{color:var(--muted);margin-top:.1rem}.year-rollover-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:stretch;margin-bottom:1rem;display:flex}.year-rollover-summary>div{border-right:1px solid var(--line);gap:.1rem;min-width:9rem;padding:.85rem 1.15rem;display:grid}.year-rollover-summary>div:first-child{min-width:11rem;padding-left:0}.year-rollover-summary strong{font-size:var(--text-xl);line-height:1.2}.year-rollover-summary span{color:var(--muted);font-size:var(--text-sm)}.year-rollover-summary .has-issue strong{color:#ad3342}.year-rollover-summary-actions{justify-content:flex-end;margin:-.35rem 0 1rem;display:flex}.year-rollover-approval{border-top:2px solid var(--purple-800);border-bottom:1px solid var(--line);margin:1rem 0 1.25rem;padding:1rem 0}.year-rollover-approval.is-ready{border-top-color:#26715b}.year-rollover-approval>header,.year-rollover-approval>header>div{align-items:flex-start;gap:.7rem;display:flex}.year-rollover-approval>header{justify-content:space-between}.year-rollover-approval>header svg{width:1.2rem;height:1.2rem;color:var(--purple-800);margin-top:.15rem}.year-rollover-approval.is-ready>header svg{color:#26715b}.year-rollover-approval>header p{color:var(--muted);font-size:var(--text-sm);margin:.15rem 0 0}.year-rollover-approval>header .ui-button svg{width:1rem;height:1rem;margin:0}.year-rollover-approval-loading,.year-rollover-approval-waiting{color:var(--muted);font-size:var(--text-sm)}.year-rollover-approval-steps{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;margin-top:.9rem;display:grid}.year-rollover-approval-steps>article{min-width:0;padding:.9rem 1rem .25rem 0}.year-rollover-approval-steps>article+article{border-left:1px solid var(--line);padding-left:1rem}.year-rollover-approval-step-heading{align-items:flex-start;gap:.65rem;display:flex}.year-rollover-approval-step-heading>span{border:1px solid var(--line-strong);width:1.7rem;height:1.7rem;color:var(--muted);font-size:var(--text-sm);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.year-rollover-approval-steps>article.is-complete .year-rollover-approval-step-heading>span{color:#fff;background:#26715b;border-color:#26715b}.year-rollover-approval-step-heading p{color:var(--muted);font-size:var(--text-sm);margin:.12rem 0 0}.year-rollover-approval-form{gap:.55rem;margin:.8rem 0 0 2.35rem;display:grid}.year-rollover-approval-form label{color:var(--ink);font-size:var(--text-sm);cursor:pointer;align-items:flex-start;gap:.5rem;display:flex}.year-rollover-approval-form input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--purple-800);margin-top:.1rem}.year-rollover-approval-form>input[type=text]{min-height:var(--control-md);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);background:var(--surface);font:inherit;padding:.55rem .7rem}.year-rollover-approval-form .ui-button{width:fit-content}.year-rollover-approval-evidence{color:#26715b;font-size:var(--text-sm);grid-template-columns:1.1rem 1fr;gap:.25rem .45rem;margin:.7rem 0 0 2.35rem;display:grid}.year-rollover-approval-evidence svg{width:1rem;height:1rem}.year-rollover-approval-evidence small{color:var(--muted);grid-column:2}.year-rollover-approval-waiting{margin:.7rem 0 0 2.35rem}.year-rollover-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.year-rollover-tabs{align-items:center;gap:.25rem;display:flex;overflow-x:auto}.year-rollover-tabs button{min-height:2.45rem;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:.4rem;padding:.45rem .75rem;font-weight:700}.year-rollover-tabs button:hover{background:var(--surface-soft)}.year-rollover-tabs button.is-active{color:var(--purple-800);background:var(--purple-100)}.year-rollover-search{border-bottom:1px solid var(--line-strong);align-items:center;gap:.45rem;width:min(20rem,35%);min-height:2.55rem;padding:0 .7rem;display:flex}.year-rollover-search svg{width:1rem;color:var(--muted)}.year-rollover-search input{width:100%;font:inherit;background:0 0;border:0;outline:0}.year-rollover-table-wrap{border:1px solid var(--line);border-radius:var(--radius-sm)}.year-rollover-table{min-width:68rem}.year-rollover-table th{white-space:nowrap}.year-rollover-table td{vertical-align:middle}.year-rollover-table td:first-child{text-align:center;width:4.5rem}.year-rollover-table td:nth-child(2){min-width:16rem}.year-rollover-table td:nth-child(6){color:var(--muted);font-size:var(--text-sm)}.year-rollover-table td strong,.year-rollover-table td small{display:block}.year-rollover-table td small{color:var(--muted);margin-top:.12rem}.year-rollover-decision-buttons{gap:.35rem;min-width:25rem;display:flex}.year-rollover-decision-buttons button{border:1px solid var(--line-strong);min-height:2.25rem;color:var(--purple-800);background:var(--surface);font:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;border-radius:.45rem;padding:.35rem .65rem;font-weight:700}.year-rollover-decision-buttons button:hover{background:var(--purple-50)}.year-rollover-decision-buttons button.is-active{border-color:var(--purple-700);color:#fff;background:var(--purple-800)}.year-rollover-room-select{border:1px solid var(--line-strong);min-width:8rem;min-height:2.25rem;color:var(--ink);background:var(--surface);font:inherit;border-radius:.4rem;padding:.35rem 2rem .35rem .55rem;font-weight:700}.rollover-status{color:var(--ink);white-space:nowrap;align-items:center;gap:.35rem;font-weight:700;display:inline-flex}.rollover-status svg{width:1rem;height:1rem}.rollover-status.is-promote{color:#26715b}.rollover-status.is-requires_decision{color:#866000}.rollover-status.is-graduate_school{color:var(--purple-800)}.rollover-status.is-blocked{color:#ad3342}.year-rollover-pagination{color:var(--muted);font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:1rem;padding-top:.8rem;display:flex}.year-rollover-pagination>div{align-items:center;gap:.65rem;display:flex}.year-rollover-pagination button{border:1px solid var(--line);color:var(--purple-800);font:inherit;cursor:pointer;background:0 0;border-radius:.35rem;padding:.35rem .65rem;font-weight:700}.year-rollover-pagination button:disabled{color:var(--muted);opacity:.5;cursor:default}.year-rollover-commit{border-top:2px solid var(--purple-800);border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-top:1.5rem;padding:1rem 0;display:flex}.year-rollover-commit>div:first-child{max-width:34rem}.year-rollover-commit strong{font-size:var(--text-lg)}.year-rollover-commit p{color:var(--muted);margin:.2rem 0 0}.year-rollover-commit.is-blocked{border-top-color:var(--line-strong)}.year-rollover-confirm-fields{justify-content:flex-end;align-items:flex-end;gap:.8rem;display:flex}.year-rollover-confirm-fields label{color:var(--muted);font-size:var(--text-sm);gap:.3rem;font-weight:700;display:grid}.year-rollover-confirm-fields label:first-child{min-height:var(--control-lg);color:var(--ink);align-items:center;gap:.45rem;display:flex}.year-rollover-confirm-fields input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:var(--purple-800)}.year-rollover-confirm-fields input[type=text]{width:10.5rem;min-height:var(--control-lg);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);background:var(--surface);font:inherit;padding:.6rem .75rem;font-weight:800}.year-rollover-confirm-fields .ui-button{min-height:var(--control-lg);white-space:nowrap}.year-rollover-commit-error{width:100%;margin:.5rem 0 0;font-weight:700;color:#ad3342!important}.year-rollover-decisions-save{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.3rem;padding:.9rem 0;display:flex}.year-rollover-decisions-save p{color:var(--muted);margin:.15rem 0 0}.year-rollover-commit-success{border-top:2px solid #26715b;border-bottom:1px solid var(--line);align-items:center;gap:.7rem;margin-top:1.5rem;padding:1rem 0;display:flex}.year-rollover-commit-success svg{color:#26715b;width:1.2rem}.year-rollover-commit-success p{color:var(--muted);margin:.15rem 0 0}.year-rollover-commit-success .ui-button{margin-left:auto}.year-rollover-rollback{border-top:2px solid #ad3342;border-bottom:1px solid var(--line);grid-template-columns:minmax(16rem,.75fr) minmax(28rem,1.25fr);gap:1rem 2rem;margin-top:1rem;padding:1rem 0;display:grid}.year-rollover-rollback p{color:var(--muted);margin:.2rem 0 0}.year-rollover-rollback-fields{grid-template-columns:minmax(14rem,1fr) 10.5rem auto;align-items:end;gap:.8rem;display:grid}.year-rollover-rollback-fields label{color:var(--muted);font-size:var(--text-sm);gap:.3rem;font-weight:700;display:grid}.year-rollover-rollback-fields input[type=text]{width:100%;min-height:var(--control-lg);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);background:var(--surface);font:inherit;padding:.6rem .75rem;font-weight:700}.year-rollover-rollback-check{grid-column:1/-1;align-items:center;min-height:2rem;color:var(--ink)!important;gap:.45rem!important;display:flex!important}.year-rollover-rollback-check input{accent-color:#ad3342;width:1.05rem;height:1.05rem}.year-rollover-rollback-actions{gap:.55rem;display:flex}.year-rollover-rollback-success{border-top:2px solid #26715b;border-bottom:1px solid var(--line);align-items:center;gap:.7rem;margin-top:1.5rem;padding:1rem 0;display:flex}.year-rollover-rollback-success svg{color:#26715b;width:1.2rem}.year-rollover-rollback-success p{color:var(--muted);margin:.15rem 0 0}@media (width<=960px){.year-rollover-controls{grid-template-columns:1fr 1fr}.year-rollover-direction{display:none}.year-rollover-controls .ui-button{grid-column:1/-1;justify-self:start}.year-rollover-summary{overflow-x:auto}.year-rollover-history-list>button:not(.ui-button){grid-template-columns:7rem 8rem 5rem minmax(8rem,1fr)}.year-rollover-history-list time{grid-column:2/-1}.year-rollover-history-detail>header,.year-rollover-history-detail-actions{flex-direction:column;align-items:flex-start}.year-rollover-approval-steps{grid-template-columns:1fr}.year-rollover-approval-steps>article{padding-right:0}.year-rollover-approval-steps>article+article{border-top:1px solid var(--line);border-left:0;padding-left:0}.year-rollover-toolbar{flex-direction:column;align-items:stretch}.year-rollover-search{width:100%}.year-rollover-commit,.year-rollover-confirm-fields,.year-rollover-decisions-save{flex-direction:column;align-items:stretch}.year-rollover-decisions-save .ui-button{align-self:flex-start}.year-rollover-confirm-fields,.year-rollover-confirm-fields input[type=text]{width:100%}.year-rollover-commit-success{flex-wrap:wrap;align-items:flex-start}.year-rollover-commit-success .ui-button{margin-left:0}.year-rollover-semester-workflow{flex-direction:column;align-items:stretch}.year-rollover-lock-action{width:100%;margin-left:0}.year-rollover-lock-action label{flex:1}.year-rollover-lock-action input{width:100%}.year-rollover-rollback{grid-template-columns:1fr}.year-rollover-rollback-fields{grid-template-columns:1fr 1fr}.year-rollover-rollback-actions{grid-column:1/-1;justify-content:flex-end}}@media (width<=600px){.year-rollover-controls{grid-template-columns:1fr;padding-inline:0}.year-rollover-readiness>header{flex-direction:column}.year-rollover-approval>header{flex-direction:column;align-items:stretch}.year-rollover-approval>header .ui-button{width:fit-content}.year-rollover-approval-form,.year-rollover-approval-evidence,.year-rollover-approval-waiting{margin-left:0}.year-rollover-readiness-list{grid-template-columns:1fr}.year-rollover-readiness-list>div:nth-child(odd),.year-rollover-readiness-list>div:nth-child(2n){border-right:0;padding-inline:.35rem}.year-rollover-history-list>button:not(.ui-button){grid-template-columns:auto 1fr auto;gap:.35rem .6rem}.year-rollover-history-list>button:not(.ui-button)>span:nth-child(4),.year-rollover-history-list time{grid-column:2/-1}.year-rollover-controls .ui-button{grid-column:auto;width:100%}.year-rollover-summary>div{min-width:8.5rem;padding-inline:.8rem}.year-rollover-pagination{flex-direction:column;align-items:flex-start}.year-rollover-rollback-fields{grid-template-columns:1fr}.year-rollover-rollback-check,.year-rollover-rollback-actions{grid-column:auto}.year-rollover-rollback-actions{justify-content:stretch}.year-rollover-rollback-actions .ui-button{flex:1}}.pp5-cover-view{gap:1rem;display:grid}.pp5-cover-toolbar{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.pp5-cover-toolbar button{border:1px solid var(--line);min-height:2.65rem;color:var(--purple-800);font:inherit;cursor:pointer;background:#fff;border-radius:.5rem;padding:.5rem .9rem;font-weight:800}.pp5-cover-toolbar>button:last-child{border-color:var(--purple-800);color:#fff;background:var(--purple-800)}.pp5-document-tabs{align-items:center;gap:.35rem;display:flex}.pp5-document-tabs button[aria-pressed=true]{border-color:var(--purple-800);color:#fff;background:var(--purple-800)}.pp5-document-meta{color:var(--ink-muted);font-size:var(--text-sm);align-items:center;gap:.55rem;margin-left:auto;display:flex}.pp5-document-meta b{border-radius:var(--radius-pill);font-size:var(--text-xs);padding:.2rem .5rem}.pp5-document-meta em{color:#126348;font-style:normal;font-weight:700}.pp5-document-meta .is-draft{color:#8a5b00;background:#fff2cf}.pp5-document-meta .is-approved{color:#126348;background:#daf3e9}.pp5-document-actions{align-items:center;gap:.4rem;display:flex}.pp5-document-actions button:last-child{border-color:var(--purple-800);color:#fff;background:var(--purple-800)}.pp5-document-actions button:disabled{opacity:.5;cursor:not-allowed}.pp5-download-link{border:1px solid var(--purple-800);color:#fff;background:var(--purple-800);border-radius:.5rem;align-items:center;min-height:2.65rem;padding:.55rem .9rem;font-weight:800;text-decoration:none;display:inline-flex}.pp5-cover{color:#161216;letter-spacing:0;background:#fff;width:min(210mm,100%);min-height:297mm;margin:0 auto;padding:10mm 20mm;font-family:TH Sarabun New,Tahoma,sans-serif;font-size:14pt;line-height:1.05;box-shadow:0 .8rem 2.5rem #26142d1f}.pp5-cover-heading{text-align:center;justify-items:center;display:grid}.pp5-cover-heading img{object-fit:contain;width:18mm;height:18mm}.pp5-cover-heading h1{margin:3mm 0 1.5mm;font-size:18pt;font-weight:700}.pp5-cover-heading strong{font-size:16pt}.pp5-cover-heading p{color:#4f494f;margin:2mm 0 0}.pp5-cover-course{grid-template-columns:1fr .75fr 1fr;gap:3mm 8mm;margin-top:7mm;display:grid}.pp5-cover-course>div{grid-template-columns:max-content minmax(0,1fr) max-content;align-items:baseline;gap:2mm;min-width:0;display:grid}.pp5-cover-course .wide{grid-column:span 1}.pp5-cover-course .full{grid-column:1/-1;grid-template-columns:minmax(0,1fr);gap:0}.pp5-cover-course b{white-space:nowrap;font-weight:800}.pp5-cover-course span{white-space:nowrap;min-width:0;min-height:5mm;padding:0 2mm;display:block;position:relative;overflow:hidden}.pp5-cover-course span:before{display:none}.pp5-cover-course span:after{z-index:0;color:#777;content:"................................................................................................................................................................................................................................................................";letter-spacing:0;white-space:nowrap;font-weight:400;line-height:1;position:absolute;inset:0;overflow:hidden}.pp5-cover-course span>i{z-index:1;text-overflow:ellipsis;width:max-content;max-width:100%;margin:0 auto;padding:0;font-style:normal;display:block;position:relative;overflow:hidden;transform:translateY(-.4mm)}.pp5-cover-course .full span{align-items:baseline;padding:0;display:flex}.pp5-cover-course .full span>b{z-index:1;background:#fff;flex:none;position:relative}.pp5-cover-course .full span>i{flex:none;margin:0 0 0 4mm}.pp5-cover-course em{white-space:nowrap;font-style:normal}.pp5-cover-summary{margin-top:6mm}.pp5-cover-summary h2,.pp5-cover-approval h2{margin:0 0 2mm;font-size:14pt}.pp5-cover table{border-collapse:collapse;table-layout:fixed;width:100%}.pp5-cover th,.pp5-cover td{text-align:center;border:.25mm solid #222;height:7.2mm;padding:.6mm 1mm;font-size:11.5pt;font-weight:400}.pp5-cover th{font-weight:800}.pp5-cover-result-table th:first-child{width:25mm}.pp5-cover-evaluation-table{margin-top:4mm}.pp5-cover-evaluation-table th:first-child{width:25mm}.pp5-cover-approval{margin-top:5mm}.pp5-cover-approval-grid{border:.25mm solid #222;grid-template-columns:1fr 1fr;display:grid}.pp5-cover-signer{text-align:center;align-content:start;justify-items:center;min-height:30mm;padding:7mm 4mm 3mm;display:grid}.pp5-cover-signer:nth-child(odd){border-right:.25mm solid #222}.pp5-cover-signer:nth-child(-n+2){border-bottom:.25mm solid #222}.pp5-cover-signer p{grid-template-columns:1fr 42mm 1fr;align-items:baseline;width:100%;margin:0;display:grid}.pp5-cover-signer p b{justify-self:end;padding-right:2mm;font-weight:400}.pp5-cover-signer p i{color:#555;white-space:nowrap;width:42mm;font-style:normal;font-weight:400;line-height:1;overflow:hidden}.pp5-cover-signer p i:before{content:"................................................................";letter-spacing:0}.pp5-cover-signer span{min-height:5mm;margin-top:1mm}.pp5-cover-signer strong{font-weight:500}.pp5-cover-director{border-top:.25mm solid #222;grid-column:1/-1;grid-template-columns:.65fr 1.35fr;align-items:center;min-height:33mm;display:grid}.pp5-cover-director .pp5-cover-decision{gap:2mm;padding-left:14mm;display:grid}.pp5-cover-director .pp5-cover-signer{border:0}.pp5-cover-director>p{text-align:center;grid-column:2;margin:-8mm 0 2mm}.pp5-result-pages{gap:1.25rem;display:grid}.pp5-result-page{color:#111;letter-spacing:0;background:#fff;width:min(297mm,100%);min-height:210mm;margin:0 auto;padding:8mm 10mm;font-family:TH Sarabun New,Tahoma,sans-serif;font-size:12pt;line-height:1;box-shadow:0 .8rem 2.5rem #26142d1f}.pp5-result-page>header{grid-template-columns:minmax(60mm,.65fr) 1.35fr;align-items:end;gap:8mm;display:grid}.pp5-result-page>header>div{gap:.5mm;display:grid}.pp5-result-page>header strong{font-size:17pt}.pp5-result-page>header span{font-size:14pt}.pp5-result-page dl{grid-template-columns:1.5fr .8fr .7fr .65fr .8fr;gap:3mm;margin:0;display:grid}.pp5-result-page dl div{grid-template-columns:max-content minmax(0,1fr);align-items:end;gap:1.5mm;min-width:0;display:grid}.pp5-result-page dt{white-space:nowrap;font-weight:700}.pp5-result-page dd{text-align:center;text-overflow:ellipsis;white-space:nowrap;border-bottom:.2mm dotted #555;min-width:0;margin:0;padding:0 1mm .5mm;overflow:hidden}.pp5-result-page table{border-collapse:collapse;table-layout:fixed;width:100%;margin-top:3mm}.pp5-result-page th,.pp5-result-page td{text-align:center;border:.22mm solid #222;height:3.55mm;padding:0 .8mm;font-size:10.5pt;font-weight:400;line-height:.95}.pp5-result-page th{height:8mm;font-size:11pt;font-weight:700}.pp5-result-page th:first-child{width:10mm}.pp5-result-page th:nth-child(2){width:24mm}.pp5-result-page th:nth-child(3){width:70mm}.pp5-result-page th:nth-child(4),.pp5-result-page th:nth-child(5){width:23mm}.pp5-result-page th:nth-child(6),.pp5-result-page th:nth-child(7){width:38mm}.pp5-result-page td:nth-child(3){text-align:left;padding-left:2mm}.pp5-result-page>footer{grid-template-columns:1fr 1fr;gap:10mm;min-height:18mm;margin-top:3mm;display:grid;position:relative}.pp5-result-signature{text-align:center;grid-template-columns:max-content 42mm;justify-content:center;align-items:end;column-gap:2mm;display:grid}.pp5-result-signature i{border-bottom:.2mm dotted #555;height:4mm}.pp5-result-signature b,.pp5-result-signature small{grid-column:1/-1;font-size:11pt;font-weight:400}.pp5-result-page>footer>p{margin:0;font-size:10pt;position:absolute;bottom:0;right:0}.pp5-landscape-pages{gap:1.25rem;display:grid}.pp5-landscape-page{color:#111;letter-spacing:0;background:#fff;width:min(297mm,100%);min-height:210mm;margin:0 auto;padding:5mm 15mm;font-family:TH Sarabun New,Tahoma,sans-serif;font-size:10pt;line-height:1;box-shadow:0 .8rem 2.5rem #26142d1f}.pp5-landscape-heading{grid-template-columns:1fr 2fr 1fr;align-items:center;gap:3mm;min-height:6mm;font-size:11pt;display:grid}.pp5-landscape-heading>*{min-width:0}.pp5-landscape-heading span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pp5-landscape-heading b{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.pp5-landscape-heading span:last-child{text-align:right}.pp5-landscape-page table{border-collapse:collapse;table-layout:fixed;width:100%}.pp5-landscape-page th,.pp5-landscape-page td{text-align:center;border:.2mm solid #222;padding:.35mm .6mm;font-weight:400}.pp5-landscape-page th{font-weight:700}.pp5-structure-page h2{text-align:center;margin:6mm 0 4mm;font-size:16pt}.pp5-structure-page th,.pp5-structure-page td{min-height:8mm;padding:2mm;font-size:11pt}.pp5-structure-page th:first-child{width:16mm}.pp5-structure-page th:nth-child(2){width:60mm}.pp5-structure-page th:nth-child(3){width:auto}.pp5-structure-page th:nth-child(n+4){width:23mm}.pp5-structure-page td:nth-child(2),.pp5-structure-page td:nth-child(3){text-align:left}.pp5-structure-total th{font-weight:700}.pp5-attendance-print-page table,.pp5-scores-print-page table{margin-top:2mm}.pp5-attendance-print-page th,.pp5-attendance-print-page td{height:var(--pp5-student-row-height,3.65mm);font-size:var(--pp5-student-font-size,7.8pt);white-space:nowrap;padding:0 .35mm}.pp5-attendance-print-page thead th{height:14mm}.pp5-attendance-print-page th:first-child{width:7mm}.pp5-attendance-print-page th:nth-child(2){width:15mm}.pp5-attendance-print-page th:nth-child(3){width:32mm}.pp5-attendance-print-page th:nth-last-child(-n+6){width:8mm}.pp5-attendance-print-page td:nth-child(3){text-align:left;text-overflow:ellipsis;padding-left:1mm;overflow:hidden}.pp5-vertical{writing-mode:vertical-rl;width:6.8mm;transform:rotate(180deg);text-align:left!important}.pp5-scores-print-page th,.pp5-scores-print-page td{height:var(--pp5-student-row-height,3.65mm);font-size:var(--pp5-student-font-size,7.5pt);white-space:nowrap;padding:0 .3mm}.pp5-scores-print-page thead th{height:4mm}.pp5-scores-print-page thead tr:first-child th{height:7mm}.pp5-scores-print-page th small{font-size:7pt;font-weight:400;display:block}.pp5-scores-print-page th:first-child{width:8mm}.pp5-scores-print-page th:nth-child(2){width:17mm}.pp5-scores-print-page th:nth-child(3){width:43mm}.pp5-scores-print-page th:nth-child(4){width:7mm}.pp5-scores-print-page th:nth-child(n+5):nth-child(-n+11){width:11mm}.pp5-scores-print-page td:nth-child(3){text-align:left;text-overflow:ellipsis;padding-left:1mm;overflow:hidden}.pp5-settings-page{padding-top:var(--space-4);gap:var(--space-4);display:grid}.pp5-year-switcher{gap:var(--space-2);width:18rem;display:grid}.pp5-year-switcher span,.pp5-settings-form label>span{color:var(--ink-muted);font-size:var(--text-xs);font-weight:700}.pp5-year-switcher select,.pp5-settings-form input,.pp5-settings-form select{width:100%;min-height:var(--control-md);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--purple-950);font:inherit;background:#fff;padding:.55rem .75rem}.pp5-settings-form{gap:var(--space-4);grid-template-columns:minmax(22rem,.8fr) minmax(28rem,1.2fr);align-items:stretch;display:grid}.pp5-settings-template,.pp5-settings-identity,.pp5-settings-signers{padding:var(--space-4)}.pp5-settings-template,.pp5-settings-identity{align-content:start;display:grid}.pp5-settings-signers,.pp5-settings-savebar{grid-column:1/-1}.pp5-template-settings-grid,.pp5-settings-identity-grid{gap:var(--space-4);grid-template-columns:1fr;align-items:start;display:grid}.pp5-template-settings-grid>label,.pp5-template-status-control,.pp5-settings-identity-grid>label,.pp5-signer-list label{gap:var(--space-2);display:grid}.pp5-template-settings-grid>label>span,.pp5-template-status-control>span{color:var(--ink-muted);font-size:var(--text-xs);font-weight:700}.pp5-template-status-control>div{gap:var(--space-2);display:flex}.pp5-template-status-control button{min-height:var(--control-md);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--purple-800);font:inherit;font-size:var(--text-sm);cursor:pointer;background:#fff;padding:.5rem .8rem;font-weight:800}.pp5-template-status-control button[aria-pressed=true]{border-color:var(--purple-800);color:#fff;background:var(--purple-800)}.pp5-settings-section-title{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.pp5-settings-section-title span{color:var(--purple-950);font-size:var(--text-lg);font-weight:800}.pp5-settings-section-title strong{color:var(--ink-muted);font-size:var(--text-xs)}.pp5-emblem-setting{gap:var(--space-3);grid-template-columns:4.5rem minmax(0,1fr);align-items:center;display:grid}.pp5-emblem-setting>img{object-fit:contain;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;width:4.5rem;height:4.5rem;padding:.2rem}.pp5-emblem-setting>div{justify-items:start;gap:var(--space-1);display:grid}.pp5-emblem-setting span,.pp5-settings-hint{color:var(--ink-muted);font-size:var(--text-xs);line-height:1.45}.pp5-file-button{min-height:var(--control-sm);margin-top:var(--space-1);align-items:center;gap:var(--space-2);border:1px solid var(--purple-800);border-radius:var(--radius-sm);color:var(--purple-800);cursor:pointer;grid-auto-flow:column;padding:.35rem .7rem;display:inline-flex!important}.pp5-file-button svg{width:1rem}.pp5-file-button input{display:none}.pp5-settings-error{margin:var(--space-3) 0 0;color:#b33440;font-weight:700}.pp5-settings-hint{margin:var(--space-3) 0 0}.pp5-signer-list{border-top:1px solid var(--line);display:grid}.pp5-signer-list article{align-items:end;gap:var(--space-3);border-bottom:1px solid var(--line);grid-template-columns:minmax(10rem,.65fr) minmax(14rem,1fr) minmax(18rem,1.2fr);padding:.75rem 0;display:grid}.pp5-signer-list article>b{font-size:var(--text-sm);align-self:center}.pp5-settings-savebar{z-index:5;bottom:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:var(--space-4);color:var(--ink-muted);background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.75rem 1rem;display:flex;position:sticky;box-shadow:0 .75rem 2rem #29133724}.pp5-settings-savebar button{min-height:var(--control-md);border-radius:var(--radius-sm);align-items:center;gap:var(--space-2);color:#fff;background:var(--purple-800);font:inherit;cursor:pointer;border:0;padding:.55rem 1rem;font-weight:800;display:inline-flex}.pp5-settings-savebar button svg{width:1.1rem}.pp5-settings-savebar button:disabled{opacity:.55}@media (width<=980px){.pp5-settings-form{grid-template-columns:1fr}.pp5-settings-template,.pp5-settings-identity,.pp5-settings-signers,.pp5-settings-savebar{grid-column:auto}}@media (width<=820px){.pp5-settings-header{align-items:flex-start}.pp5-settings-header .ui-page-actions,.pp5-year-switcher{width:100%}.pp5-signer-list article{grid-template-columns:1fr}.pp5-settings-section-title{flex-direction:column;align-items:flex-start}.pp5-settings-savebar{gap:var(--space-2);padding:.55rem .65rem}.pp5-settings-savebar>div{font-size:var(--text-xs);line-height:1.3}.pp5-settings-savebar button{flex:none;justify-content:center}}.advisory-leave-page{padding-top:var(--space-4);padding-bottom:var(--page-bottom)}.advisory-leave-page .ui-page-header{margin-bottom:var(--space-3)}.advisory-leave-toolbar{margin:0 0 var(--space-5);padding:var(--space-4) 0 0;align-items:end;gap:var(--space-5);grid-template-columns:minmax(12rem,.55fr) minmax(20rem,1fr) auto;display:grid;border:0!important}.advisory-leave-toolbar label,.advisory-leave-toolbar>div{gap:var(--space-2);display:grid}.advisory-leave-toolbar label>span:first-child,.advisory-leave-toolbar>div>span{color:var(--ink-muted);font-size:var(--text-xs);font-weight:750}.advisory-date-input,.substitution-date-input{min-height:var(--control-md);padding-inline:var(--space-3);align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;display:flex}.advisory-date-input svg,.substitution-date-input svg{width:1rem;color:var(--purple-800)}.advisory-date-input input,.substitution-date-input input{width:100%;color:var(--purple-950);font:inherit;background:0 0;border:0;outline:0;font-weight:700}.advisory-room-buttons,.advisory-leave-options fieldset{gap:var(--space-2);flex-wrap:wrap;display:flex}.advisory-room-buttons button,.advisory-leave-options button{min-height:var(--control-md);padding-inline:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--purple-900);font:inherit;cursor:pointer;background:#fff;font-weight:750}.advisory-room-buttons button.is-active,.advisory-leave-options button.is-active{border-color:var(--purple-800);color:#fff;background:var(--purple-800)}.advisory-leave-toolbar>p{white-space:nowrap;justify-items:end;gap:.2rem;margin:0;display:grid}.advisory-leave-toolbar>p b{color:var(--purple-950)}.advisory-leave-toolbar>p span{color:var(--ink-muted);font-size:var(--text-sm)}.advisory-leave-feedback{margin:calc(var(--space-2) * -1) 0 var(--space-4);border-radius:var(--radius-md);color:#174c2c;background:#eef9f2;border:1px solid #b9ddc6;align-items:center;gap:.7rem;padding:.75rem 1rem;display:flex}.advisory-leave-feedback>span{color:#fff;background:#287a48;border-radius:50%;flex:none;place-items:center;width:1.65rem;height:1.65rem;font-weight:900;display:grid}.advisory-leave-feedback p{flex:1;margin:0;font-weight:750}.advisory-leave-feedback button{color:#42654e;width:2.5rem;height:2.5rem;font:inherit;font-size:var(--text-xl);cursor:pointer;background:0 0;border:0}.advisory-leave-dialog-backdrop{z-index:100;padding:var(--space-4);display:grid;position:fixed;inset:0;place-items:center!important}.advisory-leave-editor{width:min(36rem,100%);max-height:calc(100dvh - 2 * var(--space-4));background:#fff;border:1px solid #ddd5e0;border-radius:.75rem;padding:1.4rem 1.5rem 1.25rem;overflow-y:auto;box-shadow:0 .8rem 2.2rem #1c0d262e}.advisory-leave-editor header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.advisory-leave-editor header div{gap:.15rem;display:grid}.advisory-leave-editor header span{color:var(--ink-muted);font-size:var(--text-xs);font-weight:650}.advisory-leave-editor header strong{color:var(--purple-950);font-size:var(--text-xl);line-height:1.35}.advisory-leave-editor header>button{width:2rem;height:2rem;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:.4rem;place-items:center;padding:0;display:grid}.advisory-leave-editor header>button:hover{color:var(--purple-900);background:var(--surface-soft)}.advisory-leave-editor header>button svg{width:1.15rem}.advisory-leave-options{grid-template-columns:1fr;gap:1rem;margin-top:1.2rem;display:grid}.advisory-leave-options fieldset{border:0;align-content:flex-start;align-items:flex-start;gap:0;margin:0;padding:0}.advisory-leave-options fieldset button{flex:none}.advisory-leave-options legend{width:100%;color:var(--ink-muted);font-size:var(--text-xs);margin-bottom:.45rem;font-weight:700}.advisory-leave-options button{border-radius:0;min-height:2.65rem;margin-left:-1px;padding-inline:1rem;font-weight:700}.advisory-leave-options button:first-of-type{border-radius:.55rem 0 0 .55rem;margin-left:0}.advisory-leave-options button:last-of-type{border-radius:0 .55rem .55rem 0}.advisory-leave-options button.is-active{z-index:1;border-color:var(--purple-700);color:var(--purple-900);box-shadow:inset 0 -2px 0 var(--purple-700);background:#f1eafb;position:relative}.advisory-leave-note{color:var(--ink-muted);font-size:var(--text-xs);gap:.45rem;margin-top:1.1rem;font-weight:700;display:grid}.advisory-leave-note input{min-height:2.7rem;color:var(--purple-950);font:inherit;background:#fff;border:1px solid #d9d1dc;border-radius:.55rem;padding-inline:.85rem}.advisory-leave-editor footer{justify-content:flex-end;align-items:center;gap:.5rem;margin-top:1.25rem;display:flex}.advisory-leave-editor footer button{min-height:2.65rem;font:inherit;cursor:pointer;border-radius:.55rem;padding-inline:1.15rem;font-weight:780}.advisory-leave-editor .secondary-action{color:var(--ink-muted);background:0 0;border:0}.advisory-leave-editor .secondary-action:hover{color:var(--purple-900);background:var(--surface-soft)}.advisory-leave-editor .primary-action{color:#fff;background:var(--purple-800);border:0;align-items:center;gap:.45rem;display:inline-flex}.advisory-leave-editor .danger-action{color:#fff;background:#a72e3a;border:0}.advisory-leave-editor .primary-action svg{width:1rem}.advisory-leave-editor button:disabled{opacity:.55;cursor:wait}.advisory-cancel-dialog{width:min(31rem,100%)}.advisory-cancel-dialog>p{margin:var(--space-4) 0 0;color:var(--ink-muted);line-height:1.65}.advisory-roster-list{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.advisory-roster-list>header{padding:var(--space-4) var(--space-5);justify-content:space-between;align-items:end;gap:var(--space-4);border-bottom:1px solid var(--line);display:flex}.advisory-roster-list>header div{align-items:baseline;gap:var(--space-3);display:flex}.advisory-roster-list>header strong{color:var(--purple-950);font-size:var(--text-lg)}.advisory-roster-list>header span,.advisory-roster-list>header small{color:var(--ink-muted)}.advisory-roster-list ol{margin:0;padding:0;list-style:none}.advisory-roster-list li{min-height:4.5rem;padding:var(--space-3) var(--space-5);align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line);grid-template-columns:2.25rem minmax(15rem,1fr) auto;display:grid}.advisory-roster-list li:last-child{border-bottom:0}.advisory-roster-list li.has-leave{background:#fbf9fd}.advisory-roll{color:var(--purple-800);text-align:center;font-weight:800}.advisory-student{gap:.15rem;display:grid}.advisory-student strong{color:var(--purple-950)}.advisory-student span{color:var(--ink-muted);font-size:var(--text-sm)}.advisory-roster-list li.has-leave .advisory-student span{color:var(--purple-800);font-weight:700}.advisory-row-actions{align-items:center;gap:var(--space-2);display:flex}.advisory-row-actions button{min-height:var(--control-sm);padding-inline:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--purple-800);font:inherit;font-size:var(--text-sm);cursor:pointer;background:#fff;align-items:center;gap:.35rem;font-weight:750;display:inline-flex}.advisory-row-actions button svg{width:.95rem}.advisory-row-actions button.danger{color:#a72e3a}.attendance-managed-leave{color:var(--ink-muted);font-size:var(--text-xs);font-weight:650}.attendance-status-buttons button:disabled{cursor:not-allowed}.attendance-status-buttons button:disabled:not(.active){opacity:.45}@media (width<=800px){.advisory-leave-toolbar{grid-template-columns:1fr;align-items:stretch}.advisory-leave-toolbar>p{justify-items:start}.advisory-roster-list li{grid-template-columns:2rem 1fr}.advisory-row-actions{flex-wrap:wrap;grid-column:2}.advisory-roster-list>header{flex-direction:column;align-items:flex-start}.advisory-leave-dialog-backdrop{padding:1rem;place-items:center!important}.advisory-leave-editor{border:1px solid #ddd5e0;border-radius:.75rem;width:min(36rem,100vw - 2rem);max-height:calc(100dvh - 2rem);margin:auto;padding:1.2rem 1.25rem 1rem}.advisory-leave-editor footer{grid-template-columns:auto 1fr;display:grid}.advisory-leave-editor .primary-action{justify-content:center}}@page pp5-cover{size:A4 portrait;margin:0}@page pp5-result{size:A4 landscape;margin:0}@media print{.pp5-cover{page:pp5-cover;width:210mm!important;min-height:297mm!important;box-shadow:none!important;margin:0!important;padding:10mm 20mm!important}.pp5-cover-toolbar{display:none!important}.pp5-cover-view,.pp5-result-pages{display:block!important}.pp5-result-page{page:pp5-result;break-after:page;width:297mm!important;min-height:210mm!important;box-shadow:none!important;margin:0!important;padding:8mm 10mm!important}.pp5-result-page:last-child{break-after:auto}.pp5-landscape-pages{display:block!important}.pp5-landscape-page{page:pp5-result;break-after:page;width:297mm!important;min-height:210mm!important;box-shadow:none!important;margin:0!important;padding:5mm 15mm!important}.pp5-landscape-page:last-child{break-after:auto}}
