:root{--text:#64748b;--text-h:#0f172a;--bg:#f8fbff;--border:#e2e8f0;--code-bg:#f4f3ec;--accent:#1d4ed8;--accent-bg:#1d4ed81a;--accent-border:#1d4ed873;--social-bg:#f4f3ec80;--surface:#fff;--surface-soft:#f8fafc;--control-border:#cbd5e1;--control-radius:10px;--focus-border:#2563eb;--focus-ring:0 0 0 3px #2563eb24;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:Arial, Helvetica, sans-serif;--heading:Arial, Helvetica, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (width>=640px){.container{max-width:640px}}@media (width>=768px){.container{max-width:768px}}@media (width>=1024px){.container{max-width:1024px}}@media (width>=1280px){.container{max-width:1280px}}@media (width>=1536px){.container{max-width:1536px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (width<=1024px){:root{font-size:16px}}*,:before,:after{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;min-width:320px}body{background:radial-gradient(circle at 0 0, #bfdbfe80, transparent 28rem), radial-gradient(circle at 100% 100%, #a7f3d059, transparent 30rem), var(--bg);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}#root{text-align:center;border-inline:none;flex-direction:column;width:100%;max-width:100%;min-height:100svh;margin:0;display:flex}button,input,select,textarea{font:inherit}button{appearance:none}input,select,textarea{color:inherit}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 4px #3b82f61f;border-color:#60a5fa!important;outline:none!important}.sams-input-shell{border:1px solid var(--control-border);border-radius:var(--control-radius);min-width:0;max-width:100%;transition:border-color .16s,box-shadow .16s}.sams-input-shell:focus-within{border-color:var(--focus-border);box-shadow:var(--focus-ring)}.sams-input-shell>input,.sams-input-shell>input:focus{min-width:0;box-shadow:none!important;background:0 0!important;border:0!important;outline:0!important}:where(.fee-search,.bonafide-input-wrap){min-width:0;max-width:100%;transition:border-color .16s,box-shadow .16s}:where(.fee-search,.bonafide-input-wrap):focus-within{border-color:var(--focus-border)!important;box-shadow:var(--focus-ring)!important}:where(.fee-search,.bonafide-input-wrap) input,:where(.fee-search,.bonafide-input-wrap) input:focus{min-width:0;box-shadow:none!important;background:0 0!important;border:0!important;outline:0!important}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #3b82f659}select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#5b687a 50%),linear-gradient(135deg,#5b687a 50%,#0000 50%);background-position:calc(100% - 16px),calc(100% - 11px);background-repeat:no-repeat;background-size:5px 5px,5px 5px}input[type=checkbox]{appearance:auto}img,svg{max-width:100%;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:0;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:0;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}@media (width<=680px){.registration-form-grid{grid-template-columns:1fr!important}}.sams-auth-page,.sams-admin{background:radial-gradient(circle at 0 0,#bfdbfe99,#0000 30rem),radial-gradient(circle at 100% 100%,#a7f3d06b,#0000 34rem),#f8fbff!important}.sams-auth-page:before,.sams-auth-page:after,.sams-admin:before,.sams-admin:after{content:"";z-index:0;pointer-events:none;filter:blur(2px);border-radius:999px;position:fixed}.sams-auth-page:before,.sams-admin:before{background:#fbbf24;width:12px;height:12px;top:9%;right:7%}.sams-auth-page:after,.sams-admin:after{background:#34d399;width:15px;height:15px;bottom:8%;left:4%}.sams-admin:before,.sams-admin:after{display:none}.sams-login-page{flex-direction:column;height:100svh;display:flex;min-height:100svh!important;overflow:hidden!important}.sams-login-shell{flex:auto;width:100%;min-height:0!important;padding-block:clamp(12px,2.5vh,20px)!important}.sams-login-nav{flex:none;position:absolute;top:clamp(12px,2.5vh,20px);left:clamp(20px,5vw,64px);border-bottom:0!important;margin-bottom:0!important;padding-bottom:0!important}.sams-login-layout{align-content:center;min-height:0;gap:clamp(20px,4vw,48px)!important}.sams-login-form,.sams-register-card{border-color:#dbeafe!important;border-radius:28px!important;box-shadow:0 30px 90px #1e40af24!important}.sams-login-form{max-height:calc(100svh - clamp(80px,14vh,120px));position:relative;overflow:hidden auto;padding:clamp(22px,3.5vh,34px)!important}.sams-login-form:before{content:"";background:linear-gradient(90deg,#1d4ed8,#3b82f6,#34d399);height:5px;position:absolute;inset:0 0 auto}.sams-login-form input,.sams-register-page input,.sams-register-page select,.sams-register-page textarea{background:#f8fafc!important;border-radius:12px!important}.sams-login-form button[type=submit],.sams-register-page button[type=submit]{box-shadow:0 12px 28px #1d4ed838;background:#1d4ed8!important;border-radius:999px!important}.sams-login-form button[type=submit]:hover,.sams-register-page button[type=submit]:hover{transform:translateY(-1px);background:#1e40af!important}.sams-register-card>header{background:linear-gradient(135deg,#eff6ff,#fff 55%,#ecfdf5)}.sams-register-page section[style*="background: rgb(248, 250, 252)"],.sams-register-page section[style*="background:#f8fafc"]{border-radius:18px!important}.sams-admin .dashboard-shell{gap:24px!important;padding:24px clamp(16px,3vw,36px)!important}.sams-admin .dashboard-sidebar{border-color:#dbeafe!important;border-radius:24px!important;box-shadow:0 24px 70px #1e40af1a!important}.dashboard-sidebar__brand{justify-content:center;align-items:center;gap:10px;display:flex}.dashboard-shell--collapsed .dashboard-sidebar__brand{align-items:center}.dashboard-sidebar__toggle{color:#082f6b;cursor:pointer;background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex;position:absolute;top:10px;right:10px}.dashboard-shell--collapsed .dashboard-sidebar__toggle{justify-self:center;position:static}.sams-topbar{--profile-control-size:128px;--profile-avatar-size:120px;z-index:80;box-sizing:border-box;max-width:100%;min-height:44px;padding:0 max(12px, env(safe-area-inset-right)) 0 0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;justify-content:flex-end;align-self:stretch;align-items:center;gap:10px;display:flex;position:sticky;top:0;overflow:visible;width:100%!important}.sams-topbar__icon-button,.sams-topbar__profile-button{color:#475569;cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #dbe4f0;flex:none;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 8px 24px #0f172a0f}.sams-topbar__icon-button{border-radius:11px;width:42px;min-width:42px;height:42px;padding:0}.sams-topbar__profile{flex:none;min-width:0;position:relative;overflow:visible}.sams-topbar__profile-button{width:var(--profile-control-size);height:var(--profile-control-size);max-width:none;min-height:var(--profile-control-size);box-shadow:none;background:0 0;border:0;border-radius:50%;gap:0;padding:4px;overflow:hidden}.sams-topbar__profile-button:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.sams-topbar__avatar{width:var(--profile-avatar-size);height:var(--profile-avatar-size);aspect-ratio:1;font-size:calc(var(--profile-avatar-size) * .3);isolation:isolate;border-radius:50%;flex:none;font-weight:800;position:relative;overflow:hidden}.sams-topbar__avatar img{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.sams-topbar__avatar.identity-image--ringed{color:#1d4ed8;background:#24569b}.sams-topbar__avatar.identity-image--ringed img,.sams-topbar__avatar.identity-image--ringed .identity-image__initial{z-index:0;box-sizing:border-box;background:#dbeafe;border:2px solid #fffffff5;border-radius:50%;width:70%;height:70%;position:absolute;top:9%;left:15%}.sams-topbar__avatar.identity-image--ringed .identity-image__initial{place-items:center;display:grid}.sams-topbar__avatar .identity-image__initial{z-index:0;position:relative}.identity-image__role-ring{z-index:1;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.identity-image__role-text{fill:#fff;stroke:#082f6bb8;stroke-width:.75px;paint-order:stroke fill;letter-spacing:.2px;font-family:inherit;font-weight:800}.sams-topbar__profile-copy{display:none}.sams-topbar__profile-copy strong{color:#1e293b;font-size:12px}.sams-topbar__profile-copy small{color:#64748b;font-size:10px;font-weight:700}.sams-topbar__profile-button>svg{display:none}.sams-topbar__menu{z-index:40;background:#fff;border:1px solid #dbe4f0;border-radius:12px;gap:4px;width:210px;padding:7px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 42px #0f172a29}.sams-topbar__menu button{color:#334155;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;width:100%;min-height:44px;padding:10px;font-size:12px;font-weight:800;display:flex}.sams-topbar__menu button:hover{color:#1d4ed8;background:#eff6ff}.sams-topbar__menu button.is-danger{color:#b42318}.sams-topbar__menu button.is-danger:hover{color:#b42318;background:#fef2f2}.sams-topbar__menu button:focus-visible{outline-offset:2px;outline:3px solid #1967d259}.sams-brand-footer{z-index:1;color:#52647c;text-align:center;padding:18px 20px;font-size:clamp(.72rem,1.5vw,.82rem);font-weight:700;line-height:1.4;position:relative}.sams-brand-footer--admin{padding:8px 12px 2px}.sams-login-page>.sams-brand-footer{padding-block:clamp(8px,1.8vh,14px);position:absolute;bottom:0;left:0;right:0}.sams-admin .dashboard-sidebar nav button{border-radius:13px!important}.sams-admin .dashboard-sidebar nav button:hover{transform:translate(2px);color:#0f172a!important;background:#f1f5f9!important}.sams-admin .dashboard-content{gap:18px!important}.sams-admin .dashboard-content>*{width:100%;min-width:0}.sams-admin .dashboard-content>*,.sams-admin .dashboard-content>*>*{scroll-margin-top:20px}.sams-admin .dashboard-content section[style*="background: rgb(255, 255, 255)"],.sams-admin .dashboard-content div[style*="background: rgb(255, 255, 255)"],.sams-admin .dashboard-content section[style*="background:#ffffff"],.sams-admin .dashboard-content div[style*="background:#ffffff"]{border-color:#e2e8f0!important;border-radius:20px!important}.sams-admin .dashboard-content button{transition:transform .16s,box-shadow .16s,background-color .16s}.sams-admin .dashboard-content button:hover:not(:disabled){transform:translateY(-1px)}.sams-admin .dashboard-content input,.sams-admin .dashboard-content select,.sams-admin .dashboard-content textarea{background-color:#f8fafc!important;border-radius:12px!important}.sams-admin .dashboard-content table{border-collapse:separate;border-spacing:0}.sams-admin .dashboard-content :where(.staff-table-wrap,.teachers-table-wrap){overscroll-behavior-inline:contain;max-width:100%}.sams-admin .dashboard-content table thead th{z-index:2;position:sticky;top:0}.sams-admin .dashboard-content :where(form,fieldset,section,article,header,footer,div){min-width:0}.sams-admin .dashboard-content :where(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;max-width:100%}.sams-admin .dashboard-content :where(button[type=submit],.staff-button,.teachers-button){min-height:42px}@media (width<=820px){.sams-admin .dashboard-shell{padding:14px!important}.sams-admin .dashboard-sidebar{border-radius:20px!important}.sams-login-shell{padding-inline:20px!important}}@media (width<=680px){.sams-login-page{height:auto;min-height:100svh!important;overflow-y:auto!important}.sams-login-shell{min-height:calc(100svh - 44px)!important}.sams-login-nav{display:none}.sams-login-layout{grid-template-columns:minmax(0,1fr)!important}.sams-login-intro{display:none}.sams-login-form{max-height:none;overflow:hidden}.sams-login-page>.sams-brand-footer{position:static}}@media (width>=681px) and (height<=760px){.sams-login-intro h1{margin-bottom:12px!important;font-size:clamp(32px,4.5vw,48px)!important}.sams-login-intro>p{margin-bottom:18px!important;line-height:1.5!important}.sams-login-intro>div{gap:10px!important}.sams-login-intro>div>div{padding:12px!important}.sams-login-intro>div span{width:30px!important;height:30px!important;margin-bottom:8px!important}.sams-login-form>div:first-child{margin-bottom:18px!important}.sams-login-form h2{margin-top:14px!important;font-size:26px!important}.app-brand--login{gap:10px}.app-brand--login .app-logo{width:clamp(52px,8vh,64px);height:clamp(52px,8vh,64px);max-height:none}}@media (width<=560px){.sams-topbar{width:100%;min-height:44px;padding:0 max(8px, env(safe-area-inset-right)) 0 0;justify-content:flex-end;gap:8px}.sams-topbar__profile-button{width:var(--profile-control-size);height:var(--profile-control-size);min-width:var(--profile-control-size);max-width:var(--profile-control-size);min-height:var(--profile-control-size);gap:0;padding:4px}.sams-topbar__avatar{width:var(--profile-avatar-size);height:var(--profile-avatar-size);font-size:calc(var(--profile-avatar-size) * .3)}.sams-topbar__profile-copy,.sams-topbar__profile-button>svg{display:none}.sams-topbar__profile-copy strong{font-size:11px}.sams-topbar__profile-copy small{font-size:9px}}@media (width<=390px){.sams-topbar__profile-button{width:var(--profile-control-size);min-width:var(--profile-control-size);padding:4px}.sams-topbar__profile-copy{display:none}.sams-admin .dashboard-shell{gap:12px!important;padding:12px!important}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.sams-topbar__academic-year{flex:none;width:clamp(250px,25vw,290px);transition:border-color .16s,box-shadow .16s;box-shadow:0 8px 24px #0f172a0f!important}.sams-topbar__academic-year:hover:not(:has(select:disabled)){border-color:#94a3b8!important}.sams-topbar__academic-year:focus-within{border-color:#1967d2!important;box-shadow:0 0 0 3px #1967d229!important}.sams-topbar__academic-year .academic-year-select__label{color:#475569;white-space:nowrap;flex:none;font-size:12px;font-weight:850}.sams-topbar__academic-year select{flex:auto;width:100%;min-width:0!important;box-shadow:none!important;background-color:#0000!important;border:0!important;border-radius:0!important}.sams-topbar__academic-year select:focus{outline:0}.sams-topbar__academic-year:has(select:disabled){cursor:not-allowed;opacity:.72}.dashboard-content__scroller>*{width:100%;min-width:0;max-width:100%}.sams-admin :where(input,select,textarea,fieldset,table){max-width:100%}@media (width<=1100px){.sams-topbar__academic-year{width:260px}.sams-topbar__profile-button{width:var(--profile-control-size)}}@media (width<=700px){.sams-topbar__academic-year{width:168px}.sams-topbar{gap:7px}}@media (width<=560px){.sams-topbar__academic-year{width:146px}.sams-topbar__profile-button{max-width:var(--profile-control-size)}}@media (width<=1100px){.sams-topbar{--profile-control-size:112px;--profile-avatar-size:104px}}@media (width<=820px){.sams-topbar{--profile-control-size:88px;--profile-avatar-size:80px}}@media (width<=560px){.sams-topbar{--profile-control-size:60px;--profile-avatar-size:52px}}@media (width<=390px){.sams-topbar__academic-year{width:104px}}@media (width<=340px){.sams-topbar{padding-right:max(4px, env(safe-area-inset-right));gap:4px}.sams-topbar__academic-year{width:84px}}.sams-compact-page-title{color:#0f172a;letter-spacing:0;margin:0;font-size:clamp(22px,2.4vw,28px);font-weight:900;line-height:1.2}@media (width<=430px){.sams-topbar__academic-year{min-width:0}}@media (width<=560px){.sams-topbar__academic-year .academic-year-select__label{font-size:0}.sams-topbar__academic-year .academic-year-select__label:after{content:"Year";font-size:12px}}.dashboard-content>.sams-brand-footer--admin{flex:none}.class-subject-assignment--embedded h2{font-size:18px!important}.class-subject-assignment--embedded p,.class-subject-assignment--embedded label,.class-subject-assignment--embedded select,.class-subject-assignment--embedded input,.class-subject-assignment--embedded button{font-size:13px!important}.class-subject-assignment--embedded h3{font-size:17px!important}.class-subject-assignment__body{min-width:0}#subject-mappings{scroll-margin-top:18px}@media (width<=600px){.classes-assignment-summary{padding:16px}.classes-assignment-summary strong{font-size:16px}.class-subject-assignment--embedded .class-subject-assignment__body{gap:10px!important}.class-subject-assignment--embedded .class-subject-assignment__body>section{min-width:0;border-radius:12px!important;padding:14px!important}}.class-subject-assignment--embedded{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden}.classes-assignment-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;list-style:none;display:flex}.classes-assignment-summary::-webkit-details-marker{display:none}.classes-assignment-summary:after{content:"";border-top:9px solid #1967d2;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;transition:transform .16s}.class-subject-assignment--embedded[open] .classes-assignment-summary:after{transform:rotate(180deg)}.classes-assignment-summary span{gap:6px;display:grid}.classes-assignment-summary strong{color:#0f172a;font-size:18px;font-weight:900}.classes-assignment-summary small{color:#334155;font-size:13px}.home-page{--home-blue:#1d4ed8;--home-blue-dark:#173fae;--home-ink:#0f1f3d;--home-muted:#54637f;--home-rule:#dde4f2;min-height:100dvh;color:var(--home-ink);text-align:left;background:#fff;grid-template-rows:auto 1fr auto;font-family:Schibsted Grotesk,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid;overflow:hidden}.home-header{border-bottom:1px solid var(--home-rule);background:#fff;align-items:center;gap:clamp(12px,1.5vw,20px);min-height:clamp(58px,8.4vh,66px);padding:7px clamp(18px,4vw,64px);display:flex}.home-brand{align-items:center;gap:clamp(10px,1vw,14px);min-width:0;display:flex}.home-brand__mark{background:0 0;border-radius:50%;flex:none;place-items:center;width:clamp(46px,4vw,54px);height:clamp(46px,4vw,54px);display:grid;overflow:hidden}.home-brand__mark .app-logo{width:100%;max-width:none;height:100%}.home-brand__mark svg{stroke-width:2px;width:24px;height:24px}.home-brand__copy{gap:1px;min-width:0;line-height:1.2;display:grid}.home-brand__copy strong{color:var(--home-ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.home-brand__copy span{color:#7a869c;font-size:11.5px;font-weight:500}.home-login{border:1px solid var(--home-blue);min-height:40px;color:var(--home-blue);border-radius:999px;justify-content:center;align-items:center;gap:7px;margin-left:auto;padding:8px clamp(16px,1.8vw,24px);font-size:14px;font-weight:600;line-height:1;text-decoration:none;transition:color .16s,background-color .16s,border-color .16s;display:inline-flex}.home-login svg{width:17px;height:17px}.home-main{border-bottom:1px solid var(--home-rule);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:0;display:grid}.home-intro{background:linear-gradient(140deg,#eff6ffeb 0%,#fff0 42%),linear-gradient(#fff0 65%,#ecfdf58a),#fff;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;padding-inline:clamp(28px,4vw,72px);display:grid}.home-intro__content{align-self:center;padding-block:clamp(18px,3.7vh,40px)}.home-intro h1{max-width:13ch;color:var(--home-ink);letter-spacing:-.035em;margin:0;font-family:inherit;font-size:clamp(34px,min(4.6vw,7.2vh),58px);font-weight:800;line-height:1.02}.home-intro h1 span{color:var(--home-blue)}.home-intro__content>p{max-width:46ch;color:var(--home-muted);margin:clamp(14px,2.7vh,26px) 0 0;font-size:clamp(15px,min(1.15vw,2.2vh),17px);line-height:1.58}.home-actions{flex-wrap:wrap;gap:10px;margin-top:clamp(16px,3.2vh,30px);display:flex}.home-button{border:1px solid var(--home-blue);border-radius:9px;justify-content:center;align-items:center;min-height:clamp(42px,6.5vh,50px);padding:10px clamp(18px,1.8vw,25px);font-size:clamp(13.5px,1vw,15px);font-weight:600;line-height:1.2;text-decoration:none;transition:color .16s,background-color .16s,border-color .16s,transform .16s;display:inline-flex}.home-button--primary{background:var(--home-blue);color:#fff}.home-button--secondary{color:var(--home-blue);background:#fff}.home-capabilities{border-top:1px solid var(--home-rule);grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;margin:0;padding:0;list-style:none;display:grid}.home-capabilities li{color:#34435e;white-space:nowrap;justify-content:center;align-items:center;gap:clamp(6px,.65vw,10px);min-width:0;min-height:clamp(58px,10vh,82px);padding:10px clamp(5px,.85vw,13px);font-size:clamp(12px,.94vw,13.5px);font-weight:600;line-height:1.2;display:flex}.home-capabilities li+li{border-left:1px solid var(--home-rule)}.home-capabilities svg{width:19px;height:19px;color:var(--home-blue);stroke-width:1.8px;flex:none}.home-visual{background:#dce7f4;min-width:0;min-height:0;position:relative;overflow:hidden}.home-visual>img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%}.home-visual__shade{pointer-events:none;background:linear-gradient(90deg,#091b3a38 0%,#091b3a00 48%),linear-gradient(#091b3a00 58%,#091b3a52 100%);position:absolute;inset:0}.home-photo-caption{border-top:3px solid var(--home-blue);background:#fff;border-radius:0 14px 0 0;width:min(420px,78%);padding:clamp(13px,2.1vh,20px) clamp(18px,2.2vw,30px);position:absolute;bottom:0;left:0}.home-photo-caption h2{color:var(--home-ink);margin:0;font-family:inherit;font-size:clamp(15px,min(1.3vw,2.5vh),19px);font-weight:700;line-height:1.2}.home-photo-caption p{color:var(--home-muted);margin:clamp(4px,.8vh,8px) 0 0;font-size:clamp(12px,min(.9vw,1.9vh),14px);line-height:1.45}.home-footer{color:#5d6b83;background:#fff;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(12px,2vw,30px);min-height:clamp(44px,6.2vh,52px);padding:6px clamp(18px,4vw,64px);font-size:13px;line-height:1.2;display:grid}.home-contact{align-items:center;gap:clamp(12px,1.8vw,28px);min-width:0;display:flex}.home-contact a{color:inherit;white-space:nowrap;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.home-contact svg{width:15px;height:15px;color:var(--home-blue);stroke-width:1.9px}.home-copyright{text-align:center;white-space:nowrap;margin:0}.home-social{white-space:nowrap;justify-self:end;align-items:center;gap:7px;display:flex}.home-social__label{margin-right:3px;font-weight:500}.home-social__icon{color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.home-social__icon svg{fill:currentColor;width:15px;height:15px}@media (hover:hover){.home-login:hover,.home-button--secondary:hover{border-color:var(--home-blue-dark);color:var(--home-blue-dark);background:#eff6ff}.home-button--primary:hover{background:var(--home-blue-dark);border-color:var(--home-blue-dark);transform:translateY(-1px)}.home-contact a:hover{color:var(--home-blue)}}.home-page :is(a,button):focus-visible{outline-offset:3px;outline:3px solid #2563eb6b}@media (width<=1180px) and (width>=900px){.home-footer{font-size:12.2px}.home-social__label{display:none}.home-contact{gap:13px}}@media (width<=899px){.home-page{min-height:100dvh;display:block;overflow:visible}.home-header{min-height:66px;padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}.home-brand,.home-brand__copy{flex:auto;overflow:hidden}.home-login{flex:none}.home-brand__copy strong{font-size:clamp(12px,3.3vw,15px)}.home-main{display:block}.home-intro{padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));display:block}.home-intro__content{width:100%;min-width:0;max-width:100%;padding-block:clamp(42px,9vw,72px);overflow:hidden}.home-intro h1{max-width:14ch;font-size:clamp(38px,8.7vw,58px)}.home-intro__content>p{overflow-wrap:anywhere;width:100%;max-width:100%;font-size:clamp(16px,3.6vw,18px)}.home-actions{width:100%;max-width:100%}.home-button{min-height:48px;font-size:15px}.home-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}.home-capabilities li{justify-content:flex-start;min-height:68px;padding-inline:clamp(10px,3vw,22px);font-size:13.5px}.home-capabilities li:nth-child(odd){border-left:0}.home-capabilities li:nth-child(n+3){border-top:1px solid var(--home-rule)}.home-visual{min-height:clamp(390px,72vw,610px)}.home-photo-caption{width:min(440px,88%);padding:18px 20px}.home-photo-caption h2{font-size:18px}.home-photo-caption p{font-size:14px}.home-footer{min-height:0;padding-top:24px;padding-right:max(20px, env(safe-area-inset-right));padding-bottom:max(24px, env(safe-area-inset-bottom));padding-left:max(20px, env(safe-area-inset-left));text-align:center;grid-template-columns:1fr;justify-items:center;gap:16px;font-size:13px}.home-contact{flex-wrap:wrap;justify-content:center;gap:12px 22px}.home-social{grid-row:2;justify-self:center}.home-copyright{white-space:normal;grid-row:3}}@media (width<=540px){.home-brand__copy strong{max-width:31vw}.home-login{min-height:38px;padding-inline:14px}.home-actions{display:grid}.home-button{width:100%;max-width:100%}.home-contact{justify-items:center;display:grid}}@media (width>=900px) and (height<=600px){.home-page{height:auto;min-height:600px;overflow:auto}}@media (prefers-reduced-motion:reduce){.home-page *,.home-page :before,.home-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login-page{--login-blue:#1d4ed8;--login-blue-dark:#173fae;--login-teal:#0fb88a;--login-ink:#0f1f3d;--login-muted:#596883;--login-rule:#dde4f2;min-height:100dvh;color:var(--login-ink);text-align:left;background:radial-gradient(circle at 8% 18%,#bfdbfea8,#0000 31rem),radial-gradient(circle at 93% 78%,#a7f3d085,#0000 30rem),linear-gradient(135deg,#f2f7ff 0%,#fbfdff 47%,#eefcf7 100%);grid-template-rows:auto 1fr auto;font-family:Schibsted Grotesk,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid;overflow-x:hidden}.login-header{z-index:2;border-bottom:1px solid var(--login-rule);-webkit-backdrop-filter:blur(16px);background:#ffffffe0;align-items:center;min-height:68px;padding:8px clamp(18px,4vw,64px);display:flex;position:relative}.login-brand{min-width:0;color:inherit;border-radius:12px;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.login-brand__mark{background:0 0;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;display:grid;overflow:hidden;box-shadow:0 8px 20px #1d4ed833}.login-brand__mark .app-logo{width:100%;max-width:none;height:100%}.login-brand__mark svg{stroke-width:2px;width:24px;height:24px}.login-brand__copy{gap:2px;min-width:0;line-height:1.17;display:grid}.login-brand__copy strong{color:var(--login-ink);font-size:14px;font-weight:800}.login-brand__copy span{color:var(--login-blue);letter-spacing:.22em;font-size:12px;font-weight:800}.login-main{grid-template-columns:minmax(0,1.05fr) minmax(360px,440px);align-items:center;gap:clamp(44px,6vw,88px);width:min(1280px,100%);min-height:0;margin:0 auto;padding:clamp(28px,4vh,48px) clamp(24px,5vw,72px);display:grid}.login-pitch{min-width:0}.login-badge{color:#087f61;background:#ddf8ef;border:1px solid #0fb88a33;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:8px 12px;font-size:13px;font-weight:800;line-height:1.2;display:inline-flex}.login-badge svg{width:17px;height:17px}.login-pitch h1{max-width:14ch;color:var(--login-ink);letter-spacing:-.038em;margin:clamp(16px,2.5vh,24px) 0 0;font-family:inherit;font-size:clamp(30px,4vw,50px);font-weight:800;line-height:1.04}.login-pitch__copy{max-width:59ch;color:var(--login-muted);margin:clamp(14px,2.4vh,22px) 0 0;font-size:clamp(15px,1.3vw,17px);line-height:1.62}.login-features{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:clamp(20px,3.4vh,32px);display:grid}.login-feature{border:1px solid var(--login-rule);background:#ffffffe0;border-radius:14px;min-width:0;padding:16px;box-shadow:0 8px 26px #253e6d0d}.login-feature__icon{border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.login-feature__icon svg{width:18px;height:18px}.login-feature__icon--blue{color:var(--login-blue);background:#eaf1ff}.login-feature__icon--teal{color:#078162;background:#e3f9f2}.login-feature__icon--amber{color:#a45d05;background:#fff5dc}.login-feature h2{color:var(--login-ink);margin:12px 0 0;font-family:inherit;font-size:14px;font-weight:800;line-height:1.3}.login-feature p{color:var(--login-muted);margin:5px 0 0;font-size:12px;line-height:1.45}.login-panel{justify-content:flex-end;width:100%;display:flex}.login-card{border:1px solid var(--login-rule);background:#fffffff7;border-radius:20px;gap:18px;width:100%;padding:34px 34px 28px;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 70px #1e3a6e24}.login-card:before{content:"";background:linear-gradient(90deg, var(--login-blue), var(--login-teal));height:4px;position:absolute;inset:0 0 auto}.login-card__heading{margin-bottom:3px}.login-card__heading h2{color:var(--login-ink);letter-spacing:-.025em;margin:0;font-family:inherit;font-size:28px;font-weight:800;line-height:1.2}.login-card__heading p{color:var(--login-muted);margin:7px 0 0;font-size:14px;line-height:1.5}.login-field{gap:8px;min-width:0;display:grid}.login-field label{color:#31405c;text-align:left;font-size:14px;font-weight:800;line-height:1.3;display:block}.login-field input{width:100%;min-height:50px;color:var(--login-ink);background:#fbfdff;border:1px solid #cbd5e1;border-radius:11px;outline:none;padding:12px 14px;font-size:16px;line-height:1.25;transition:border-color .16s,box-shadow .16s,background-color .16s}.login-field input::placeholder{color:#8b98ad;opacity:1}.login-field input:focus-visible,.login-password:focus-within{background:#fff;box-shadow:0 0 0 4px #1d4ed824;border-color:var(--login-blue)!important}.login-password{border-radius:11px;position:relative}.login-password input{padding-right:58px}.login-password:focus-within input{box-shadow:none}.login-password__toggle{color:#66758e;cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.login-password__toggle svg{width:19px;height:19px}.login-error{color:#a51d1d;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin:-2px 0 0;padding:10px 12px;font-size:13px;line-height:1.45}.login-submit{border:1px solid var(--login-blue);background:var(--login-blue);color:#fff;cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:9px;min-height:50px;padding:11px 18px;font-size:16px;font-weight:800;line-height:1.2;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex;box-shadow:0 10px 22px #1d4ed833}.login-submit svg{width:17px;height:17px}.login-submit:disabled{cursor:wait;opacity:.68}.login-forgot{min-height:44px;color:var(--login-blue);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-self:center;margin-top:-9px;padding:8px 12px;font-size:14px;font-weight:800}.login-trust{color:#718096;text-align:center;justify-content:center;align-items:center;gap:7px;min-height:24px;margin:-7px 0 0;font-size:12px;font-weight:600;line-height:1.4;display:flex}.login-trust svg{color:#13956f;width:14px;height:14px}.login-footer{color:#64748b;text-align:center;border-top:1px solid #dde4f2cc;justify-content:center;align-items:center;min-height:44px;padding:10px 20px;font-size:12px;font-weight:600;line-height:1.4;display:flex}.login-page :is(a,button,input):focus-visible{outline-offset:3px;outline:3px solid #1d4ed84d}@media (hover:hover){.login-brand:hover .login-brand__copy strong,.login-forgot:hover{color:var(--login-blue-dark)}.login-password__toggle:hover{color:var(--login-blue);background:#edf3ff}.login-submit:not(:disabled):hover{border-color:var(--login-blue-dark);background:var(--login-blue-dark);transform:translateY(-1px)}}@media (width<=979px){.login-main{grid-template-columns:minmax(0,1fr);gap:34px;width:100%;padding:34px clamp(18px,6vw,56px) 40px}.login-panel{order:1;justify-content:center}.login-card{max-width:460px}.login-pitch{text-align:center;order:2;width:min(720px,100%);margin:0 auto}.login-badge,.login-pitch h1,.login-pitch__copy{margin-inline:auto}.login-features{text-align:left}}@media (width<=559px){.login-header{min-height:64px;padding-inline:14px}.login-brand{align-items:flex-start;gap:10px}.login-brand__mark{width:42px;height:42px}.login-brand__copy strong{white-space:normal;max-width:24ch;font-size:12px;line-height:1.25}.login-brand__copy span{font-size:12px}.login-main{gap:30px;padding:22px 14px 30px}.login-card{border-radius:16px;gap:16px;padding:28px 20px 22px}.login-card__heading h2{font-size:25px}.login-features{grid-template-columns:repeat(2,minmax(0,1fr))}.login-feature:last-child{grid-column:1/-1}}@media (width<=360px){.login-brand__copy strong{max-width:20ch}.login-card{padding-inline:16px}}@media (width>=980px) and (height>=680px){.login-page{height:100dvh;overflow:hidden}}@media (width>=980px) and (height<=760px){.login-header{min-height:60px;padding-block:6px}.login-brand__mark{width:40px;height:40px}.login-main{gap:42px;padding-block:18px}.login-pitch h1{margin-top:14px;font-size:clamp(30px,3.55vw,44px)}.login-pitch__copy{margin-top:12px}.login-features{margin-top:16px}.login-feature{padding:13px}.login-feature h2{margin-top:8px}.login-card{gap:13px;padding:26px 30px 20px}.login-card__heading h2{font-size:25px}.login-field input,.login-submit{min-height:46px}.login-footer{min-height:36px;padding-block:7px}}@media (width>=980px) and (height<=679px){.login-header{min-height:58px}.login-main{padding-block:16px}.login-card{padding-block:24px 18px}}@media (prefers-reduced-motion:reduce){.login-page *,.login-page :before,.login-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.staff-statistics{gap:14px;min-width:0;display:grid}.staff-statistics>h2{color:#0f172a;margin:0;font-size:clamp(1.25rem,2.5vw,1.6rem);font-weight:850}.staff-statistics__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.staff-statistic-card{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-width:0;min-height:166px;padding:20px;box-shadow:0 12px 32px #0f172a12}.staff-statistic-card__heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.staff-statistic-card h3{color:#475569;overflow-wrap:anywhere;min-width:0;margin:0;font-size:clamp(.92rem,1.7vw,1.08rem);line-height:1.35}.staff-statistic-card__heading>span{color:#0f9d58;background:#eaf8ef;border-radius:9px;flex:none;place-items:center;width:38px;height:38px;display:grid}.staff-statistic-card__heading svg{width:20px;height:20px}.staff-statistic-card>strong{color:#0f172a;overflow-wrap:anywhere;margin:15px 0 7px;font-size:clamp(1.8rem,5vw,2.65rem);line-height:1;display:block}.staff-statistic-card>p,.staff-statistic-card__skeleton small{color:#64748b;margin:0;font-size:.88rem}.staff-statistic-card__skeleton{gap:12px;margin-top:18px;display:grid}.staff-statistic-card__skeleton span{background:#edf2f7;border-radius:7px;width:min(55%,120px);height:36px}.staff-statistic-card__message{font-weight:700;color:#9e2532!important;margin-top:22px!important}.staff-statistic-card__error{justify-items:start;gap:10px;margin-top:18px;display:grid}.staff-statistic-card__error p{color:#8f202c;margin:0;font-weight:700}.staff-statistic-card__error button{color:#1769aa;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #1769aa;border-radius:8px;padding:9px 15px;font-weight:750}.staff-statistic-card__error button:focus-visible{outline-offset:2px;outline:3px solid #65a9df}@media (width<=900px){.staff-statistics__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.staff-statistics__grid{grid-template-columns:1fr}.staff-statistic-card{min-height:154px;padding:18px}}.dashboard-statistics{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem;min-width:0;display:grid}.pending-fees-card{box-sizing:border-box;border:1px solid var(--border);width:100%;min-width:0;font-family:var(--sans);background:#f8fafc;border-radius:8px;gap:14px;padding:16px;display:grid;overflow:hidden}.pending-fees-card header{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.pending-fees-card header>div{min-width:0}.pending-fees-card h3{color:var(--text-h);margin:0;font-family:inherit;font-size:16px;font-weight:700;line-height:1.35}.pending-fees-card header p{color:var(--text);margin:4px 0 0;font-size:.82rem;line-height:1.4}.pending-fees-card header>span{color:#1769aa;flex:none;font-size:.82rem;font-weight:750}.pending-fees-card strong{max-width:100%;color:var(--text-h);white-space:nowrap;margin:0 0 14px;font-size:clamp(1.35rem,3vw,1.9rem);font-weight:800;line-height:1.2;display:block}.pending-fees-card__breakdown{grid-template-columns:1fr;gap:10px;display:grid}.pending-fees-card__breakdown p{background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:12px;min-width:0;margin:0;padding:10px;display:grid}.pending-fees-card__breakdown span{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:.78rem;line-height:1.4}.pending-fees-card__breakdown b{color:#334155;text-align:right;white-space:nowrap;font-size:.9rem;line-height:1.4}.pending-fees-card__message,.pending-fees-card__error{color:var(--text);margin:0;line-height:1.5}.pending-fees-card__error{color:#8f202c;justify-items:start;gap:12px;display:grid}.pending-fees-card__error p{margin:0}.pending-fees-card__error button{color:#1769aa;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #1769aa;border-radius:8px;padding:9px 15px;font-weight:750}.pending-fees-card__error button:focus-visible{outline-offset:2px;outline:3px solid #65a9df}.pending-fees-card__skeleton{gap:10px;margin:0;display:grid}.pending-fees-card__skeleton span{background:#edf2f7;border-radius:8px;width:min(75%,230px);height:38px}.pending-fees-card__skeleton small{color:var(--text)}@media (width<=560px){.pending-fees-card{padding:14px}.pending-fees-card strong{font-size:clamp(1.15rem,7vw,1.55rem)}.pending-fees-card__breakdown p{grid-template-columns:minmax(0,1fr) max-content}}.shared-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:100%;min-width:0;overflow:hidden}.shared-table-wrapper__scroll{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;width:100%;max-width:100%;overflow-x:auto}.shared-table-wrapper__scroll:focus-visible{outline-offset:-2px;outline:2px solid #2563eb}.shared-table-wrapper table{border-collapse:separate;border-spacing:0;width:100%}.shared-table-wrapper thead th{color:#64748b;letter-spacing:.05em;text-align:left;text-transform:uppercase;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:11px;font-weight:850}.shared-table-wrapper tbody td{color:#475569;vertical-align:middle;border-bottom:1px solid #e2e8f0}.shared-table-wrapper tbody tr:last-child td{border-bottom:0}.shared-table-wrapper tbody tr:hover{background:#f8fafc}.shared-table-wrapper__cards{display:none}.shared-pagination{color:#475569;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;min-width:0;padding:14px 2px 0;font-size:12px;font-weight:750;display:grid}.shared-pagination__summary{margin:0}.shared-pagination__rows,.shared-pagination__controls{align-items:center;gap:8px;display:flex}.shared-pagination__rows select{color:#334155;min-height:36px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:9px;padding:6px 28px 6px 9px}.shared-pagination__controls button{color:#334155;min-height:36px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;justify-content:center;align-items:center;gap:4px;padding:7px 10px;display:inline-flex}.shared-pagination__controls button:hover:not(:disabled){color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.shared-pagination__controls button:focus-visible,.shared-pagination__rows select:focus-visible,.shared-data-state__action:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.shared-pagination__controls button:disabled,.shared-pagination__rows select:disabled{cursor:not-allowed;opacity:.45}.shared-pagination__page{color:#334155;text-align:center;white-space:nowrap;min-width:88px}.shared-data-state{color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:190px;padding:30px 20px;display:flex}.shared-data-state__spinner{color:#2563eb;animation:.8s linear infinite shared-data-state-spin}.shared-data-state__icon{color:#3730a3;background:#e0e7ff;border-radius:50%;place-items:center;width:50px;height:50px;display:grid}.shared-data-state--error{background:#fff7f7;border-color:#fecaca}.shared-data-state--error .shared-data-state__icon{color:#b42318;background:#fee2e2}.shared-data-state h3,.shared-data-state p{margin:0}.shared-data-state h3{color:#1e293b;font-size:16px}.shared-data-state p{max-width:460px;line-height:1.5}.shared-data-state__action{color:#fff;cursor:pointer;background:#2563eb;border:1px solid #2563eb;border-radius:9px;min-height:38px;margin-top:6px;padding:8px 14px;font-size:13px;font-weight:800}@keyframes shared-data-state-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.shared-data-state__spinner{animation-duration:1.8s}}@media (width<=700px){.shared-pagination{justify-content:center;padding-top:12px;display:flex}.shared-pagination__summary,.shared-pagination__rows,.shared-pagination__edge-button{display:none!important}.shared-pagination__controls{justify-content:space-between;width:100%}.shared-pagination__controls button{flex:0 auto}.shared-data-state{min-height:170px;padding:24px 16px}}@media (width<=640px){.shared-table-wrapper--has-mobile-cards .shared-table-wrapper__scroll{display:none}.shared-table-wrapper--has-mobile-cards .shared-table-wrapper__cards{gap:10px;padding:10px;display:grid}}.module-tabs{scrollbar-width:none;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:6px;max-width:100%;padding:5px;display:flex;overflow-x:auto}.module-tabs::-webkit-scrollbar{display:none}.module-tabs button{color:#64748b;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex:none;min-height:42px;padding:9px 16px;font-size:13px;font-weight:850}.module-tabs button.is-active{color:#1d4ed8;background:#fff;border-color:#bfdbfe;box-shadow:0 4px 12px #0f172a14}.module-tabs button:focus-visible{outline-offset:1px;outline:2px solid #2563eb}.shared-modal-backdrop{z-index:10000;background:#0f172a94;place-items:center;padding:clamp(12px,3vw,28px);display:grid;position:fixed;inset:0;overflow-y:auto}.shared-modal{background:#fff;border:1px solid #dbe4f0;border-radius:16px;flex-direction:column;width:min(100%,680px);max-height:calc(100svh - 24px);display:flex;overflow:hidden;box-shadow:0 28px 80px #0f172a47}.shared-modal--small{width:min(100%,460px)}.shared-modal--large{width:min(100%,980px)}.shared-modal__header,.shared-modal__footer{align-items:center;gap:10px;padding:16px 20px;display:flex}.shared-modal__header{border-bottom:1px solid #e2e8f0;justify-content:space-between}.shared-modal__header h2{color:#0f172a;margin:0;font-size:19px}.shared-modal__header button{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.shared-modal__body{min-height:0;padding:20px;overflow-y:auto}.shared-pdf-preview{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;height:min(76svh,860px);min-height:min(420px,100svh - 160px);overflow:hidden}.shared-pdf-preview iframe{border:0;width:100%;height:100%}.shared-modal__footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end}.shared-button{cursor:pointer;border:1px solid #0000;border-radius:9px;min-height:40px;padding:9px 15px;font-size:13px;font-weight:850}.shared-button--secondary{color:#334155;background:#fff;border-color:#cbd5e1}.shared-button--danger{color:#fff;background:#dc2626;border-color:#dc2626}.shared-button:disabled{cursor:not-allowed;opacity:.55}.shared-confirmation-copy{color:#475569;margin:0;line-height:1.6}.shared-field-error{color:#b42318;margin-top:5px;font-size:12px;font-weight:750;line-height:1.4;display:block}@media (width<=480px){.module-tabs button{min-height:44px;padding-inline:14px}.shared-modal-backdrop{align-items:end;padding:0}.shared-modal{border-radius:16px 16px 0 0;width:100%;max-height:92svh}.shared-modal__header,.shared-modal__body,.shared-modal__footer{padding-inline:16px}.shared-modal__footer>*{flex:1 1 0}}.staff-page{color:#0f172a;gap:22px;display:grid}.staff-page-header,.staff-bulk-card,.staff-list-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 18px 50px #0f172a12}.staff-page-header{justify-content:space-between;align-items:center;gap:24px;padding:clamp(24px,4vw,36px);display:flex}.staff-eyebrow{color:#2563eb;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:7px;margin-bottom:8px;font-size:13px;font-weight:800;display:flex}.staff-page-header h1{color:#0f172a;margin:0;font-size:clamp(27px,4vw,36px);font-weight:850;line-height:1.15}.staff-page-header p{color:#64748b;margin-top:8px;font-size:15px}.staff-add-menu{flex:none;position:relative}.staff-add-options{z-index:20;background:#fff;border:1px solid #dbe3ee;border-radius:13px;gap:5px;width:230px;padding:7px;display:grid;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 20px 45px #0f172a29}.staff-add-options button{color:#2563eb;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;width:100%;padding:10px;display:flex}.staff-add-options button:hover,.staff-add-options button:focus-visible{background:#eff6ff}.staff-add-options span,.staff-add-options strong,.staff-add-options small{display:block}.staff-add-options strong{color:#1e293b;font-size:13px}.staff-add-options small{color:#64748b;margin-top:2px;font-size:11px}.staff-button{cursor:pointer;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 16px;font-size:14px;font-weight:800;display:inline-flex}.staff-button:disabled,.staff-icon-button:disabled{cursor:not-allowed;opacity:.55}.staff-button-primary{color:#fff;background:#2563eb;box-shadow:0 10px 22px #2563eb38}.staff-button-primary:hover:not(:disabled){background:#1d4ed8}.staff-button-secondary{color:#334155;background:#fff;border-color:#cbd5e1}.staff-button-danger{color:#dc2626;background:#fff;border-color:#fecaca}.staff-bulk-card{background:linear-gradient(135deg,#eff6ff,#fff 62%,#ecfdf5);gap:18px;padding:22px;display:grid}.staff-bulk-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.staff-bulk-copy{align-items:center;gap:14px;display:flex}.staff-bulk-icon{color:#2563eb;background:#dbeafe;border-radius:14px;flex:0 0 46px;place-items:center;width:46px;height:46px;display:grid}.staff-bulk-copy h2{color:#0f172a;margin:0;font-size:18px;font-weight:850}.staff-bulk-copy p{color:#64748b;margin-top:5px;font-size:13px}.staff-bulk-actions{flex-wrap:wrap;gap:10px;display:flex}.staff-bulk-type{border:0;gap:8px;margin:0;padding:0;display:grid}.staff-bulk-type legend{color:#0f172a;font-size:14px;font-weight:800}.staff-bulk-type>p{color:#64748b;margin:0;font-size:13px}.staff-bulk-type>div{flex-wrap:wrap;gap:10px;display:flex}.staff-bulk-type label{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #bfdbfe;border-radius:11px;align-items:center;gap:9px;min-height:44px;padding:10px 14px;font-size:14px;font-weight:750;display:inline-flex}.staff-bulk-type label:has(input:checked){color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.staff-bulk-type input{accent-color:#2563eb;width:17px;height:17px;margin:0}.staff-file-input{display:none}.staff-upload-status{color:#047857;overflow-wrap:anywhere;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;width:min(100%,680px);padding:9px 12px;font-size:13px;display:flex}.staff-upload-status button{color:#b91c1c;font:inherit;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:6px;font-weight:800;display:inline-flex}.staff-upload-status button:disabled{cursor:not-allowed;opacity:.55}.staff-bulk-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;width:min(100%,680px);margin:0;padding:11px 13px;font-size:13px}.staff-bulk-result{background:#ffffffdb;border:1px solid #dbeafe;border-radius:14px;gap:13px;padding:16px;display:grid}.staff-bulk-result h3,.staff-bulk-result h4{color:#0f172a;margin:0}.staff-bulk-result h3{font-size:16px}.staff-bulk-result h4{font-size:14px}.staff-bulk-result dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.staff-bulk-result dl>div{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px}.staff-bulk-result dt{color:#64748b;font-size:13px}.staff-bulk-result dd{color:#0f172a;margin:4px 0 0;font-size:22px;font-weight:850}.staff-bulk-failures{gap:8px;display:grid}.staff-bulk-failures ul{color:#991b1b;max-height:240px;margin:0;padding:0 0 0 20px;font-size:13px;overflow:auto}.staff-bulk-failures li+li{margin-top:6px}.staff-list-card{min-width:0;overflow:hidden}.staff-list-toolbar{border-bottom:1px solid #e2e8f0;align-items:center;gap:16px;padding:20px;display:flex}.staff-search{color:#94a3b8;background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;flex:1;align-items:center;gap:10px;min-width:0;padding:0 14px;display:flex}.staff-search input{color:#0f172a;width:100%;min-height:44px;font-size:14px;box-shadow:none!important;background:0 0!important;border:0!important;outline:0!important}.staff-table-wrap{overflow-x:auto}.staff-table{border-collapse:collapse;width:100%;min-width:920px}.staff-table th{color:#64748b;letter-spacing:.06em;text-align:left;text-transform:uppercase;background:#f8fafc;padding:13px 18px;font-size:11px;font-weight:850}.staff-table td{color:#475569;vertical-align:middle;border-top:1px solid #eef2f7;padding:16px 18px;font-size:13px}.staff-table tbody tr{cursor:pointer;transition:background .15s}.staff-table tbody tr:hover,.staff-table tbody tr:focus{background:#f8fbff;outline:none}.staff-table td>strong,.staff-table td>small,.staff-person-cell strong,.staff-person-cell small{display:block}.staff-table td>strong,.staff-person-cell strong{color:#1e293b;font-size:13px}.staff-table td>small,.staff-person-cell small{color:#64748b;margin-top:3px;font-size:12px}.staff-person-cell{align-items:center;gap:11px;display:flex}.staff-person-cell img,.staff-table-avatar{border-radius:11px;flex:0 0 38px;width:38px;height:38px}.staff-person-cell img{-o-object-fit:cover;object-fit:cover}.staff-table-avatar{color:#1d4ed8;background:#dbeafe;place-items:center;font-weight:900;display:grid}.staff-pagination{color:#64748b;background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:18px;min-width:920px;padding:15px 18px;font-size:12px;font-weight:700;display:flex}.staff-pagination-controls{align-items:center;gap:12px;display:flex}.staff-pagination-controls strong{color:#334155;white-space:nowrap;font-size:12px}.staff-pagination-controls button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;align-items:center;gap:5px;min-height:34px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.staff-pagination-controls button:hover:not(:disabled){color:#1d4ed8;border-color:#93c5fd}.staff-pagination-controls button:disabled{cursor:not-allowed;opacity:.45}.staff-role,.staff-status,.staff-active{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.staff-role{color:#1d4ed8;background:#eff6ff}.staff-status{color:#475569;background:#f1f5f9}.staff-status-active,.staff-active.is-active{color:#047857;background:#ecfdf5}.staff-status-on_leave{color:#b45309;background:#fffbeb}.staff-status-suspended,.staff-status-resigned{color:#be123c;background:#fff1f2}.staff-active{color:#64748b}.staff-active.is-disabled{color:#be123c;background:#fff1f2}.staff-active.is-no_account{color:#475569;background:#f1f5f9}.staff-row-actions{width:max-content;position:relative}.staff-action-menu{z-index:20;background:#fff;border:1px solid #dbe4f0;border-radius:11px;width:218px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 16px 40px #0f172a29}.staff-action-menu button{color:#334155;width:100%;min-height:44px;font:inherit;text-align:left;cursor:pointer;background:#fff;border:0;align-items:center;gap:9px;padding:10px 13px;font-size:13px;font-weight:750;display:flex}.staff-action-menu button:hover,.staff-action-menu button:focus-visible{outline-offset:-2px;background:#f8fafc;outline:2px solid #2563eb}.staff-action-menu button.is-danger{color:#b42318}.account-access-form{gap:16px;display:grid}.staff-account-summary{justify-items:start}.staff-account-summary p{color:#64748b;margin:0;font-size:12px}.account-access-target,.account-access-suspension{color:#475569;gap:4px;font-size:13px;display:grid}.account-access-target strong,.account-access-suspension strong{color:#0f172a;font-size:15px}.account-access-warning{color:#78350f;background:#fffbeb;border-left:4px solid #d97706;border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.5}.account-access-check{color:#334155;cursor:pointer;align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;display:flex}.account-access-check input{accent-color:#2563eb;flex:0 0 20px;width:20px;height:20px}.account-access-live{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.staff-empty{color:#64748b;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:13px;min-height:270px;padding:32px;display:flex}.staff-empty strong{color:#475569;font-size:14px}.staff-empty-icon{color:#2563eb;background:#eff6ff;border-radius:18px;place-items:center;width:56px;height:56px;display:grid}.staff-alert{color:#b42318;background:#fff1f2;border:1px solid #fecaca;border-radius:11px;padding:11px 13px;font-size:13px;font-weight:700}.staff-list-alert{margin:18px 20px 0}.staff-modal-overlay{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172a99;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.staff-modal{background:#fff;border:1px solid #e2e8f0;border-radius:20px;width:min(900px,100%);max-height:calc(100svh - 40px);overflow:hidden;box-shadow:0 32px 90px #0f172a42}.staff-modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;display:flex}.staff-modal-identity{align-items:center;gap:13px;min-width:0;display:flex}.staff-modal-identity img,.staff-avatar{border-radius:14px;flex:0 0 46px;width:46px;height:46px}.staff-modal-identity img{-o-object-fit:cover;object-fit:cover}.staff-avatar{color:#2563eb;background:#dbeafe;place-items:center;display:grid}.staff-modal-header h2{color:#0f172a;margin:0;font-size:20px;font-weight:850}.staff-modal-header p{color:#64748b;margin-top:4px;font-size:12px}.staff-icon-button{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.staff-modal form{flex-direction:column;max-height:calc(100svh - 131px);display:flex}.staff-modal-body{gap:18px;padding:22px 24px;display:grid;overflow-y:auto}.staff-form-section{background:#fbfdff;border:1px solid #e2e8f0;border-radius:15px;gap:15px;padding:18px;display:grid}.staff-form-section h3{color:#334155;margin:0;font-size:14px;font-weight:850}.staff-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.staff-field{align-content:start;gap:7px;min-width:0;display:grid}.staff-field>span{color:#475569;font-size:12px;font-weight:750}.staff-field input,.staff-field select,.staff-field textarea,.staff-readonly-value{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:10px;width:100%;min-height:42px;padding:9px 11px;font-size:13px}.staff-password-input{display:block;position:relative}.staff-field .staff-password-input input{padding-right:42px}.staff-password-toggle{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:32px;height:32px;padding:0;display:inline-grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.staff-password-toggle:hover:not(:disabled){color:#2563eb;background:#eef2ff}.staff-password-toggle:focus-visible{outline-offset:1px;outline:2px solid #3b82f6}.staff-password-toggle:disabled{cursor:not-allowed;opacity:.55}.staff-field textarea{resize:vertical}.staff-field input:disabled,.staff-field select:disabled,.staff-field textarea:disabled{color:#475569;opacity:1;border-color:#e2e8f0;background:#f1f5f9!important}.staff-field [aria-invalid=true]{border-color:#f87171!important}.staff-field-wide{grid-column:1/-1}.staff-field-error{color:#dc2626;font-size:11px;line-height:1.35}.staff-readonly-value{color:#64748b}.staff-modal-footer{background:#fff;border-top:1px solid #e2e8f0;align-items:center;gap:10px;padding:15px 24px;display:flex}.staff-footer-spacer{flex:1}@media (width<=700px){.staff-page-header{flex-direction:column;align-items:stretch}.staff-add-button,.staff-add-menu{width:100%}.staff-add-options{width:auto;left:0;right:0}.staff-bulk-actions{display:grid}.staff-bulk-actions .staff-button{width:100%}.staff-bulk-type>div,.staff-upload-status{flex-direction:column;align-items:stretch}.staff-bulk-type label{width:100%}.staff-upload-status button{align-self:flex-start}.staff-bulk-result dl{grid-template-columns:1fr}.staff-list-toolbar{flex-direction:column;align-items:stretch}.staff-table-wrap{overflow:visible}.staff-table{min-width:0}.staff-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.staff-table,.staff-table tbody,.staff-table tr,.staff-table td{width:100%;display:block}.staff-table tbody{gap:12px;padding:12px;display:grid}.staff-table tbody tr{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px;position:relative}.staff-table td{border:0;padding:7px 0}.staff-table td:nth-child(2){overflow-wrap:anywhere}.staff-table td[data-label]{justify-content:space-between;align-items:center;gap:12px;display:flex}.staff-table td[data-label]:before{content:attr(data-label);color:#64748b;text-transform:uppercase;font-size:11px;font-weight:850}.staff-row-actions{margin-left:auto}.staff-action-menu{z-index:10001;width:auto;position:fixed;inset:auto 12px 12px}.staff-modal-overlay{align-items:end;padding:0}.staff-modal{border-radius:20px 20px 0 0;max-height:96svh}.staff-modal form{max-height:calc(96svh - 87px)}.staff-form-grid{grid-template-columns:1fr}.staff-field-wide{grid-column:auto}.staff-modal-header,.staff-modal-body,.staff-modal-footer{padding-left:16px;padding-right:16px}.staff-modal-footer{flex-wrap:wrap}}.staff-page{gap:14px}.staff-page-header{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.staff-eyebrow,.staff-page-header p{display:none}.staff-page-header h1{font-size:clamp(22px,2.4vw,28px);line-height:1.2}.teachers-page,.teachers-tab-content{color:#0f172a;text-align:left;gap:18px;display:grid}.teachers-header,.teachers-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;min-width:0;padding:clamp(20px,3vw,30px);box-shadow:0 18px 50px #0f172a12}.teachers-title-row,.teachers-title,.teachers-toolbar,.teachers-detail-header{align-items:center;display:flex}.teachers-title-row,.teachers-toolbar,.teachers-detail-header{justify-content:space-between;gap:16px}.teachers-title{gap:14px}.teachers-title>span{color:#1d4ed8;background:#dbeafe;border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.teachers-title svg{width:24px;height:24px}.teachers-title h1{margin:0;font-size:30px;font-weight:900}.teachers-title p,.teachers-bulk p{color:#64748b;margin-top:5px;font-size:14px}.teachers-search{color:#94a3b8;background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;align-items:center;gap:10px;margin-top:22px;margin-bottom:20px;padding:0 14px;display:flex}.teachers-search input{color:#0f172a;width:100%;min-height:46px;font-size:14px;box-shadow:none!important;background:0 0!important;border:0!important;outline:0!important}.teachers-tabs{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:7px;margin-top:18px;padding:5px;display:flex;overflow-x:auto}.teachers-tabs button{color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:1;min-width:max-content;min-height:42px;padding:9px 16px;font-size:13px;font-weight:850}.teachers-tabs button.is-active{color:#1d4ed8;background:#fff;border-color:#bfdbfe;box-shadow:0 4px 12px #0f172a14}.teachers-alert{border-radius:12px;width:50%;margin-top:20px;margin-left:20px;padding:12px 14px;font-size:13px;font-weight:750}.teacher{display:flex}.teachers-alert.is-error{color:#b42318;background:#fff1f2;border:1px solid #fecaca}.teachers-alert.is-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.teachers-card h2{margin:0 0 18px;font-size:20px;font-weight:900}.teachers-form-grid,.teachers-detail-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:15px;display:grid}.teachers-field{gap:7px;min-width:0;display:grid}.teachers-field>span,.teachers-field>label,.teachers-detail-grid span{color:#475569;font-size:12px;font-weight:800}.teachers-field input,.teachers-field select,.teachers-field textarea{color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;width:100%;min-height:43px;padding:9px 11px;font-size:13px}.teachers-field textarea{resize:vertical}.teachers-field-wide{grid-column:1/-1}.teachers-checkbox{color:#334155;align-self:end;align-items:center;gap:9px;min-height:43px;font-size:13px;font-weight:800;display:flex}.teachers-checkbox input{width:17px;height:17px}.teachers-actions,.teachers-row-actions{align-items:center;gap:40px;display:flex}.teachers-actions .teachers-alert{margin:0}.teachers-actions{margin-top:17px}.teachers-button{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 15px;font-size:13px;font-weight:850;display:inline-flex}.teachers-button:disabled,.teachers-row-actions button:disabled{cursor:not-allowed;opacity:.5}.teachers-button-primary{color:#fff;background:#2563eb}.teachers-button-secondary{color:#334155;background:#fff;border-color:#cbd5e1}.teacher-submit-form{display:flex}.teachers-toolbar{min-height:42px;margin-bottom:16px}.teachers-toolbar:before{content:""}.teachers-toolbar label{color:#64748b;align-items:center;gap:9px;font-size:12px;font-weight:800;display:flex}.teachers-toolbar-actions{align-items:center;gap:10px;display:flex}.teachers-status-filter{color:#64748b}.teachers-toolbar select{background:#f8fafc;border:1px solid #cbd5e1;border-radius:9px;min-height:38px;padding:7px 34px 7px 10px}.teachers-add-icon-button{color:#fff;cursor:pointer;background:#2563eb;border:1px solid #2563eb;border-radius:10px;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}.teachers-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.teachers-table-wrap{border:1px solid #e2e8f0;border-radius:12px;overflow-x:auto}.teachers-table{width:100%;min-width:780px;margin:0;border-collapse:collapse!important}.teachers-table th{color:#64748b;letter-spacing:.05em;text-align:left;text-transform:uppercase;background:#f8fafc;padding:12px 14px;font-size:11px;font-weight:850}.teachers-table td{color:#475569;vertical-align:middle;border-top:1px solid #e2e8f0;padding:14px;font-size:13px}.teachers-table td>strong,.teachers-table td>small,.teachers-person strong,.teachers-person small{display:block}.teachers-table td>strong,.teachers-person strong{color:#1e293b}.teachers-table td>small,.teachers-person small{color:#64748b;margin-top:3px;font-size:11px}.teachers-person{align-items:center;gap:10px;display:flex}.teachers-person img,.teachers-person>span{border-radius:11px;flex:0 0 38px;width:38px;height:38px}.teachers-person img{-o-object-fit:cover;object-fit:cover}.teachers-person>span{color:#1d4ed8;background:#dbeafe;place-items:center;font-weight:900;display:grid}.teachers-status{color:#475569;background:#f1f5f9;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:850;display:inline-flex}.teachers-status.status-active{color:#166534;background:#dcfce7}.teachers-status.status-on_leave{color:#92400e;background:#fef3c7}.teachers-status.status-suspended,.teachers-status.status-resigned,.teachers-status.status-inactive{color:#991b1b;background:#fee2e2}.teachers-row-actions button,.teachers-detail-header button{color:#2563eb;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.teachers-row-actions button.is-danger{color:#dc2626;border-color:#fecaca}.teachers-empty{color:#64748b;text-align:center;padding:28px;font-size:13px;font-weight:750}.teachers-detail-grid strong{color:#0f172a;margin-top:5px;font-size:13px;display:block}.teachers-field-error{color:#dc2626;font-size:11px;line-height:1.35}.teachers-field [aria-invalid=true]{border-color:#f87171}.teachers-filter-row{border-top:1px solid #e2e8f0;grid-template-columns:minmax(220px,420px);gap:15px;margin-top:24px;padding-top:20px;display:grid}.teachers-filter-row.is-two-column{grid-template-columns:repeat(2,minmax(220px,1fr))}.teachers-bulk{justify-items:start;gap:15px;display:grid}.teachers-bulk h2{margin-bottom:0}.teachers-bulk-icon{color:#2563eb;background:#dbeafe;border-radius:17px;place-items:center;width:58px;height:58px;display:grid}.teachers-columns{background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;gap:8px;width:100%;padding:15px;display:grid}.teachers-columns strong{font-size:13px}.teachers-columns code{overflow-wrap:anywhere;color:#1e40af;background:0 0;padding:0;font-size:12px;display:block}.teachers-bulk form{flex-wrap:wrap;align-items:center;gap:12px;width:100%;display:flex}.teachers-upload{color:#475569;cursor:pointer;background:#f8fbff;border:1px dashed #93c5fd;border-radius:12px;flex:1;align-items:center;gap:10px;min-height:54px;padding:12px 15px;font-size:13px;font-weight:750;display:flex}.teachers-upload input{display:none}.teachers-modal-overlay{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172a9e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.teachers-modal{background:#fff;border:1px solid #e2e8f0;border-radius:20px;width:min(940px,100%);max-height:calc(100svh - 40px);overflow:hidden;box-shadow:0 32px 90px #0f172a47}.teachers-modal-header,.teachers-modal-footer{align-items:center;padding:18px 24px;display:flex}.teachers-modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;gap:18px}.teachers-modal-header h2{color:#0f172a;margin:0;font-size:20px;font-weight:900}.teachers-modal-header p{color:#64748b;margin-top:4px;font-size:12px}.teachers-modal-header>button{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.teachers-modal form{flex-direction:column;max-height:calc(100svh - 128px);display:flex}.teachers-modal-body{padding:22px 24px;overflow-y:auto}.teachers-modal-footer{background:#fff;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:10px}@media (width<=700px){.teachers-title-row,.teachers-toolbar{flex-direction:column;align-items:stretch}.teachers-toolbar-actions{justify-content:flex-end}.teachers-button{width:100%}.teachers-field-wide{grid-column:auto}.teachers-filter-row.is-two-column{grid-template-columns:1fr}.teachers-bulk form{display:grid}.teachers-modal-overlay{align-items:end;padding:0}.teachers-modal{border-radius:20px 20px 0 0;max-height:96svh}.teachers-modal form{max-height:calc(96svh - 92px)}.form-alert{box-sizing:border-box;border-radius:10px;width:100%;margin:12px 0 18px;padding:12px 14px;font-size:14px;line-height:1.4}.form-alert--error{color:#b42318;background:#fff1f0;border:1px solid #ffb4a8}.form-alert--success{color:#067647;background:#ecfdf3;border:1px solid #a6f4c5}.teachers-modal-header,.teachers-modal-body,.teachers-modal-footer{padding-left:16px;padding-right:16px}}.teachers-password-field{min-width:0;display:block;position:relative}.teachers-password-field input{width:100%;padding-right:52px}.teachers-password-toggle{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:40px;height:40px;padding:0;transition:background-color .16s,color .16s;display:grid;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.teachers-password-toggle:hover:not(:disabled){color:#1d4ed8;background:#eff6ff}.teachers-password-toggle:focus-visible{outline-offset:1px;color:#1d4ed8;outline:3px solid #bfdbfe}.teachers-password-toggle:disabled{cursor:not-allowed;opacity:.55}.teachers-page,.teachers-tab-content{gap:14px}.teachers-header{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.teachers-title>span,.teachers-title p{display:none}.teachers-title h1{font-size:clamp(22px,2.4vw,28px);line-height:1.2}.teachers-search{margin-top:12px;margin-bottom:0}@media (width<=640px){.teachers-title-row,.teachers-title{align-items:flex-start}}.lv-page{color:#172033;gap:18px;display:grid}.lv-header{background:linear-gradient(135deg,#f0f7ff,#f8fbff);border:1px solid #dbe9f8;border-radius:18px;justify-content:space-between;align-items:flex-end;gap:18px;padding:22px 24px;display:flex}.lv-header span{color:#517095;letter-spacing:.09em;text-transform:uppercase;font-size:.76rem;font-weight:800}.lv-header h1{margin:3px 0;font-size:clamp(1.55rem,3vw,2.1rem)}.lv-header p{color:#637083;margin:0}.lv-primary,.lv-danger,.lv-ghost{min-height:40px;font:inherit;cursor:pointer;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:9px 15px;font-weight:750;display:inline-flex}.lv-primary{color:#fff;background:#1769aa}.lv-danger{color:#fff;background:#bd2c3a}.lv-ghost{color:#32465d;background:#edf2f7}.lv-primary:disabled{opacity:.55;cursor:not-allowed}.lv-tabs{scrollbar-width:thin;background:#fff;border:1px solid #dde5ee;border-radius:12px;gap:6px;max-width:100%;padding:5px;display:flex;overflow-x:auto}.lv-tabs button{color:#5d6979;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;align-items:center;gap:7px;padding:9px 12px;font-size:.88rem;font-weight:700;display:flex}.lv-tabs button.active{color:#12588f;background:#eaf4fc}.lv-content{gap:17px;display:grid}.lv-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.lv-toolbar h2,.lv-settings h2{margin:0;font-size:1.2rem}.lv-toolbar select,.lv-toolbar>input,.lv-inline>input{width:auto;min-width:135px}.lv-metrics{grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;display:grid}.lv-metrics article,.lv-card{background:#fff;border:1px solid #dfe6ed;border-radius:13px;padding:17px;box-shadow:0 3px 12px #192e4b0a}.lv-metrics span{color:#687688;min-height:34px;font-size:.84rem;display:block}.lv-metrics strong{font-size:1.65rem}.lv-table{border-collapse:collapse;width:100%}.lv-table th,.lv-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e8edf2;padding:12px 14px}.lv-table th{color:#526175;text-transform:uppercase;letter-spacing:.04em;background:#f7f9fb;font-size:.78rem}.lv-table td{font-size:.9rem}.lv-table td small{color:#778496;margin-top:3px;display:block}.lv-actions,.lv-inline,.lv-range{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.lv-actions button,.lv-list article>button{color:#1769aa;font:inherit;cursor:pointer;background:0 0;border:0;padding:2px;font-weight:700}.lv-actions button.danger{color:#b02331}.lv-badge{color:#445268;letter-spacing:.025em;background:#edf1f5;border-radius:999px;padding:4px 8px;font-size:.7rem;font-weight:850;display:inline-flex}.lv-badge--approved,.lv-badge--active{color:#17663c;background:#dff5e8}.lv-badge--pending{color:#855400;background:#fff0c9}.lv-badge--rejected,.lv-badge--excess{color:#9e2532;background:#fde5e8}.lv-badge--cancelled,.lv-badge--withdrawn,.lv-badge--unknown{color:#445268;background:#edf1f5}.lv-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.lv-card h3{margin:13px 0 7px}.lv-card h3 small{color:#728096;font-size:.73em}.lv-card p{color:#657386;font-size:.85rem;line-height:1.55}.lv-list{gap:9px;display:grid}.lv-list article{background:#fff;border:1px solid #e0e7ee;border-radius:11px;grid-template-columns:150px 1fr auto;align-items:center;gap:18px;padding:14px 17px;display:grid}.lv-list time{font-weight:750}.lv-list p{color:#718094;margin:4px 0 0;font-size:.84rem}.lv-range label{color:#657386;align-items:center;gap:6px;font-size:.78rem;display:flex}.lv-form{gap:14px;display:grid}.lv-form label{color:#37465a;gap:6px;font-size:.88rem;font-weight:700;display:grid}.lv-form input,.lv-form select,.lv-form textarea,.lv-toolbar select,.lv-toolbar input,.lv-inline input{box-sizing:border-box;color:#172033;width:100%;font:inherit;background:#fff;border:1px solid #cbd6e1;border-radius:8px;padding:10px 11px}.lv-form textarea{resize:vertical}.lv-form label small{color:#748194;font-weight:500}.lv-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.lv-form label.check{grid-template-columns:auto 1fr;align-items:center;gap:9px;display:flex}.lv-form label.check input{width:17px;height:17px}.lv-settings{background:#fff;border:1px solid #dfe6ed;border-radius:13px;max-width:570px;padding:22px}.lv-settings .lv-primary{justify-self:start}.lv-note{color:#4e6681;background:#edf6fd;border-radius:8px;margin:0;padding:10px 12px;font-size:.84rem}.lv-detail dl{grid-template-columns:1fr 1fr;gap:13px;display:grid}.lv-detail dl div{background:#f6f8fa;border-radius:8px;padding:11px}.lv-detail dt{color:#6e7b8c;font-size:.75rem}.lv-detail dd{margin:4px 0 0;font-weight:700}.lv-detail p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.lv-detail a{color:#1769aa;font-weight:700}.shared-data-table-wrapper{max-width:100%;overflow-x:auto}@media (width<=1100px){.lv-metrics{grid-template-columns:repeat(3,1fr)}.lv-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.lv-page{gap:13px}.lv-header{flex-direction:column;align-items:stretch;padding:18px}.lv-header .lv-primary{align-self:flex-start}.lv-metrics{grid-template-columns:repeat(2,1fr)}.lv-grid{grid-template-columns:1fr}.lv-toolbar{flex-direction:column;align-items:stretch}.lv-toolbar>*{align-self:stretch}.lv-toolbar select,.lv-toolbar>input{width:100%}.lv-inline,.lv-range{align-items:stretch}.lv-list article{grid-template-columns:1fr;gap:7px}.lv-form-row,.lv-detail dl{grid-template-columns:1fr}.lv-table{min-width:650px}}@media (width<=420px){.lv-metrics{grid-template-columns:1fr}.lv-header .lv-primary{width:100%}}.lv-adjust-form{min-width:0}.lv-adjust-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.lv-adjust-grid>div{align-content:start;gap:6px;display:grid}.lv-field-error{color:#b42332!important;font-weight:650!important}.lv-form [aria-invalid=true]{border-color:#c73543;box-shadow:0 0 0 2px #c735431f}.lv-form-alert{color:#8f202c;background:#fdebee;border-radius:8px;margin:0;padding:10px 12px;font-size:.88rem}.lv-character-count{color:#748194;justify-self:end;margin-top:-9px}.lv-adjust-actions{justify-content:flex-end;gap:10px;display:flex}.lv-adjust-actions button{min-height:44px}@media (width<=700px){.lv-adjust-grid{grid-template-columns:1fr 1fr}.lv-adjust-actions{width:100%}.lv-adjust-actions button{flex:1}}@media (width<=480px){.lv-adjust-grid{grid-template-columns:1fr}.lv-adjust-actions{flex-direction:column-reverse}.lv-adjust-actions button{width:100%}}.lv-attachment-action{justify-items:start;gap:10px;margin-top:16px;display:grid}.lv-attachment-button{white-space:normal;max-width:100%;min-height:44px}.lv-download-spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite lv-spin}@keyframes lv-spin{to{transform:rotate(360deg)}}@media (width<=480px){.lv-attachment-action,.lv-attachment-button{width:100%}}.lv-inline>button{min-height:44px}.shared-modal__body{min-width:0}@media (width<=700px){.lv-inline{width:100%}.lv-inline>button{flex:1;min-width:120px}.shared-modal__footer .lv-ghost,.shared-modal__footer .lv-primary,.shared-modal__footer .lv-danger{min-height:44px}}@media (width<=480px){.shared-modal{max-height:calc(100dvh - 16px)}.shared-modal__body{overflow-y:auto}.shared-modal__footer{flex-direction:column-reverse}.shared-modal__footer>button{width:100%}}.lv-icon-button{place-items:center;width:42px;min-width:42px;min-height:42px;padding:9px;display:inline-grid}.module-page,.module-stub-page{color:#0f172a;text-align:left;gap:20px;display:grid}.module-page-header,.module-page-content,.module-stub-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 18px 50px #0f172a12}.module-page-header{align-items:center;gap:16px;padding:clamp(22px,4vw,34px);display:flex}.module-page-icon,.module-card-icon,.module-stub-icon{color:#1d4ed8;background:#dbeafe;flex:none;place-items:center;display:grid}.module-page-icon{border-radius:16px;width:54px;height:54px}.module-page-eyebrow{color:#2563eb;letter-spacing:.07em;text-transform:uppercase;font-size:12px;font-weight:850}.module-page-header h1,.module-stub-card h1{color:#0f172a;margin:4px 0 0;font-weight:900}.module-page-header h1{font-size:clamp(27px,4vw,34px)}.module-page-header p,.module-page-section-heading p{color:#64748b;margin-top:7px;font-size:14px;line-height:1.6}.module-page-content{padding:clamp(20px,3vw,28px)}.module-page-section-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.module-page-section-heading h2{color:#0f172a;margin:0;font-size:20px;font-weight:900}.module-page-section-heading>span{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.module-card-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;display:grid}.module-card{min-height:190px;color:inherit;text-align:left;cursor:pointer;background:linear-gradient(145deg,#fff,#f8fbff);border:1px solid #e2e8f0;border-radius:16px;grid-template-columns:auto minmax(0,1fr);align-content:start;gap:13px;padding:18px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;position:relative}.module-card:hover{border-color:#93c5fd;transform:translateY(-2px);box-shadow:0 14px 30px #2563eb1c}.module-card-icon{border-radius:13px;width:43px;height:43px}.module-card-copy{min-width:0;padding-top:2px;display:block}.module-card-copy strong,.module-card-copy small{display:block}.module-card-copy strong{color:#1e293b;font-size:15px;font-weight:900}.module-card-copy small{color:#64748b;margin-top:7px;font-size:12px;line-height:1.55}.module-card-badge,.module-stub-badge{color:#1d4ed8;background:#eff6ff;border-radius:999px;width:fit-content;padding:5px 9px;font-size:10px;font-weight:850}.module-card-badge{position:absolute;bottom:18px;left:18px}.module-card-badge.is-development,.module-stub-badge.is-development{color:#047857;background:#ecfdf5}.module-card-arrow{color:#94a3b8;position:absolute;bottom:19px;right:18px}.module-stub-page{align-content:start;padding-block:clamp(4px,1vw,12px)}.module-stub-card{text-align:center;justify-self:center;justify-items:center;width:min(700px,100%);padding:clamp(30px,6vw,58px);display:grid}.module-stub-icon{border-radius:22px;width:72px;height:72px}.module-stub-badge{margin-top:18px}.module-stub-card h1{margin-top:15px;font-size:clamp(27px,4vw,36px)}.module-stub-description{color:#64748b;max-width:560px;margin-top:9px;font-size:14px;line-height:1.65}.module-stub-message{color:#2563eb;text-align:left;background:#eff6ff;border:1px solid #dbeafe;border-radius:14px;align-items:flex-start;gap:12px;width:100%;margin-top:26px;padding:16px;display:flex}.module-stub-message svg{flex:none}.module-stub-message strong{color:#1e3a8a;font-size:13px}.module-stub-message p{color:#475569;margin-top:5px;font-size:12px;line-height:1.55}.module-disabled-button{color:#64748b;cursor:not-allowed;background:#e2e8f0;border:0;border-radius:10px;margin-top:22px;padding:10px 18px;font-size:13px;font-weight:850}@media (width<=640px){.module-page-header,.module-page-section-heading{flex-direction:column;align-items:flex-start}.module-page-section-heading>span{white-space:normal}.module-card-grid{grid-template-columns:1fr}.module-page-header,.module-page-content,.module-stub-card{border-radius:16px}.module-stub-message{flex-direction:column}}.module-page{gap:14px}.module-page-header{display:none}.module-page-content{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.attendance-page{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}.attendance-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;min-width:0;box-shadow:0 18px 50px #0f172a12}.attendance-filter-card{grid-template-columns:minmax(180px,1fr) minmax(220px,1.3fr) minmax(170px,.9fr) auto;align-items:end;gap:14px;padding:clamp(18px,3vw,24px);display:grid}.attendance-field{gap:7px;min-width:0;display:grid}.attendance-field>span{color:#475569;font-size:12px;font-weight:850}.attendance-field input,.attendance-field select,.attendance-remarks{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:12px;outline-color:#2563eb;width:100%;min-height:44px;padding:10px 12px;font-size:13px}.attendance-button{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 15px;font-size:13px;font-weight:900;transition:transform .15s,box-shadow .15s;display:inline-flex}.attendance-button:hover:not(:disabled){transform:translateY(-1px)}.attendance-button:disabled{cursor:not-allowed;opacity:.6}.attendance-button--primary{color:#fff;background:#2563eb;box-shadow:0 14px 30px #2563eb33}.attendance-button--secondary{color:#334155;background:#fff;border-color:#cbd5e1}.attendance-class-summary{gap:14px;display:grid}.attendance-class-card{align-items:center;gap:14px;padding:18px;display:flex}.attendance-card-icon{color:#1d4ed8;background:#dbeafe;border-radius:14px;flex:none;place-items:center;width:45px;height:45px;display:grid}.attendance-class-card span,.attendance-stat span{color:#64748b;font-size:12px;font-weight:850}.attendance-class-card h2{color:#0f172a;margin:3px 0 4px;font-size:19px;font-weight:900}.attendance-class-card p{color:#64748b;font-size:13px}.attendance-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.attendance-stat{background:#fff;border:1px solid #e2e8f0;border-radius:16px;min-width:0;padding:15px;box-shadow:0 12px 35px #0f172a0f}.attendance-stat strong{color:#0f172a;margin-top:8px;font-size:25px;line-height:1;display:block}.attendance-stat--total{border-top:4px solid #2563eb}.attendance-stat--present{border-top:4px solid #16a34a}.attendance-stat--absent{border-top:4px solid #dc2626}.attendance-stat--late{border-top:4px solid #d97706}.attendance-stat--leave{border-top:4px solid #7c3aed}.attendance-stat--half-day{border-top:4px solid #0891b2}.attendance-grid-card{overflow:hidden}.attendance-card__header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.attendance-card__header h2{color:#0f172a;margin:0;font-size:19px;font-weight:900}.attendance-card__header p{color:#64748b;margin-top:4px;font-size:13px}.attendance-card__header>span{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850}.attendance-table-wrap{max-width:100%;overflow-x:auto}.attendance-table{border-collapse:collapse;width:100%;min-width:1080px}.attendance-table th{color:#64748b;letter-spacing:.04em;text-align:left;text-transform:uppercase;background:#f8fafc;padding:12px 14px;font-size:11px}.attendance-table td{color:#475569;vertical-align:middle;border-top:1px solid #eef2f7;padding:13px 14px;font-size:12px}.attendance-table td strong{color:#1e293b}.attendance-status-chips{flex-wrap:wrap;gap:7px;display:flex}.attendance-status-chips button{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;min-height:36px;padding:7px 10px;font-size:11px;font-weight:900}.attendance-status-chips button.is-selected{color:#1d4ed8;background:#dbeafe;border-color:#2563eb}.attendance-badge,.attendance-marked{text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;width:fit-content;padding:5px 9px;font-size:10px;font-weight:950;display:inline-flex}.attendance-badge--present{color:#166534;background:#dcfce7}.attendance-badge--absent{color:#991b1b;background:#fee2e2}.attendance-badge--late{color:#92400e;background:#fef3c7}.attendance-badge--leave{color:#5b21b6;background:#ede9fe}.attendance-badge--half-day{color:#155e75;background:#cffafe}.attendance-badge--neutral{color:#475569;background:#f1f5f9}.attendance-marked--marked{color:#1d4ed8;background:#eff6ff}.attendance-marked--new{color:#64748b;background:#f8fafc}.attendance-mobile-list{display:none}.attendance-student-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;gap:13px;padding:15px;display:grid}.attendance-student-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.attendance-student-card__top strong{color:#0f172a;font-size:15px;font-weight:900;display:block}.attendance-student-card__top span,.attendance-student-card__meta span{color:#64748b;font-size:12px}.attendance-student-card__meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-empty{color:#64748b;text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:20px;align-content:center;place-items:center;gap:10px;min-height:260px;padding:32px;display:grid}.attendance-empty strong{color:#0f172a;font-size:16px}.attendance-action-bar{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid #dbeafe;border-radius:18px;justify-content:flex-end;gap:10px;margin-top:4px;padding:14px;display:flex;position:sticky;bottom:0;box-shadow:0 -14px 40px #0f172a17}.attendance-modal{z-index:100;background:#0f172a94;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.attendance-modal__panel{background:#fff;border-radius:20px;width:min(520px,100%);overflow:hidden;box-shadow:0 32px 90px #0f172a4d}.attendance-modal__panel header{border-bottom:1px solid #e2e8f0;padding:22px}.attendance-modal__panel h2{color:#0f172a;margin:0;font-size:21px;font-weight:900}.attendance-modal__panel p{color:#64748b;margin-top:8px;font-size:13px;line-height:1.55}.attendance-modal__panel footer{justify-content:flex-end;gap:10px;padding:16px 22px;display:flex}.attendance-spin{animation:.8s linear infinite attendance-spin}@keyframes attendance-spin{to{transform:rotate(360deg)}}@media (width<=1199px){.attendance-filter-card{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-filter-card .attendance-button{width:fit-content}.attendance-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=767px){.attendance-page{padding-bottom:calc(150px + env(safe-area-inset-bottom,0px))}.attendance-filter-card,.attendance-summary-grid{grid-template-columns:1fr}.attendance-filter-card .attendance-button,.attendance-action-bar .attendance-button{width:100%}.attendance-class-card,.attendance-card__header,.attendance-student-card__top,.attendance-student-card__meta,.attendance-modal__panel footer{flex-direction:column;align-items:stretch}.attendance-table-wrap{display:none}.attendance-mobile-list{gap:12px;padding:14px;display:grid}.attendance-action-bar{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));flex-direction:column}.attendance-status-chips button{flex:110px;min-height:44px}}@media (width<=420px){.attendance-card,.attendance-empty,.attendance-action-bar{border-radius:15px}.attendance-status-chips button{flex-basis:100%}}.documentation-page,.documentation-placeholder{color:#0f172a;text-align:left;gap:18px;min-width:0;display:grid}.documentation-page header,.documentation-page section,.documentation-placeholder article{background:#fff;border:1px solid #dbeafe;border-radius:20px;padding:clamp(18px,3vw,30px);box-shadow:0 18px 50px #0f172a12}.documentation-page header{color:#1d4ed8;align-items:center;gap:16px;display:flex}.documentation-page header h1,.documentation-placeholder h1{color:#0f172a;margin:4px 0;font-size:clamp(27px,4vw,36px)}.documentation-page header p,.documentation-placeholder article>p{color:#2563eb;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.documentation-page header span{color:#64748b;font-size:14px}.documentation-heading{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.documentation-heading h2{margin:0;font-size:20px}.documentation-heading small{background:#f1f5f9;border-radius:999px;padding:5px 9px}.documentation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.documentation-card{color:#1e293b;text-align:left;cursor:pointer;background:#f8fbff;border:1px solid #e2e8f0;border-radius:16px;grid-template-columns:auto 1fr;align-content:start;gap:10px;min-height:170px;padding:17px;display:grid;position:relative}.documentation-card:hover,.documentation-card:focus-visible{border-color:#93c5fd;transform:translateY(-2px);box-shadow:0 14px 30px #2563eb1c}.documentation-card:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.documentation-card.is-unavailable{color:#64748b;background:#f8fafc}.documentation-card.is-unavailable .documentation-card-icon{color:#64748b;background:#e2e8f0}.documentation-card-icon{color:#1d4ed8;background:#dbeafe;border-radius:13px;place-items:center;width:43px;height:43px;display:grid}.documentation-card strong,.documentation-card small{display:block}.documentation-card small{color:#64748b;margin-top:6px;font-size:12px;line-height:1.5}.documentation-card em{color:#1d4ed8;background:#eff6ff;border-radius:999px;grid-column:1/-1;align-self:end;width:max-content;padding:5px 9px;font-size:10px;font-style:normal;font-weight:800}.documentation-card>svg:last-child{color:#64748b;position:absolute;bottom:16px;right:16px}.documentation-placeholder button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;width:max-content;padding:9px 13px}.documentation-placeholder article{text-align:center;max-width:700px;margin:auto}.documentation-placeholder article>svg{color:#1d4ed8}.documentation-placeholder article span{color:#1d4ed8;background:#eff6ff;border-radius:999px;margin:14px 0;padding:5px 9px;font-size:11px;display:inline-block}.documentation-placeholder article div{color:#475569;background:#eff6ff;border-radius:12px;padding:15px;font-size:13px}@media (width<=1024px){.documentation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.documentation-grid{grid-template-columns:1fr}.documentation-page header,.documentation-page section,.documentation-placeholder article{border-radius:16px}}.generated-page{color:#0f172a;text-align:left;gap:18px;min-width:0;display:grid}.documentation-back{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;align-items:center;gap:7px;width:max-content;padding:9px 13px;display:inline-flex}.generated-header,.generated-panel,.generated-filters{background:#fff;border:1px solid #dbeafe;border-radius:20px;padding:clamp(18px,3vw,30px);box-shadow:0 18px 50px #0f172a12}.generated-header p{color:#2563eb;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.generated-header h1{margin:4px 0;font-size:clamp(27px,4vw,36px)}.generated-header span,.generated-empty span{color:#64748b;font-size:14px}.generated-filters{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.generated-filters label{color:#334155;gap:6px;font-size:13px;font-weight:600;display:grid}.generated-filters input,.generated-filters select{min-height:42px;font:inherit;border:1px solid #cbd5e1;border-radius:9px;min-width:0;padding:9px 10px;font-weight:400}.generated-filters>div{align-items:end;gap:8px;display:flex}.generated-filters button,.generated-actions button,.generated-error button,.generated-viewer>button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:9px 12px;display:inline-flex}.generated-filters button[type=submit],.generated-actions button:first-child{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.generated-panel{overflow:hidden}.generated-row{border-bottom:1px solid #e2e8f0;grid-template-columns:1.4fr 1.3fr 1fr .8fr 1fr 1.6fr;align-items:center;gap:12px;padding:14px 0;font-size:13px;display:grid}.generated-row-head{color:#64748b;font-size:12px;font-weight:700}.generated-row span{min-width:0}.generated-row small{color:#64748b;margin-top:4px;display:block}.generated-actions{flex-wrap:wrap;gap:7px;display:flex}.generated-actions button{min-height:38px}.generated-empty,.generated-error{text-align:center;justify-items:center;gap:8px;padding:45px 15px;display:grid}.generated-empty strong,.generated-error p{margin:0;font-size:16px}.generated-error{color:#991b1b}.generated-error button{color:#0f172a}.generated-cards{display:none}.generated-viewer{z-index:20;background:#0f172acc;grid-template-rows:auto 1fr;gap:10px;padding:clamp(12px,3vw,30px);display:grid;position:fixed;inset:0}.generated-viewer>button{justify-self:end}.generated-viewer iframe{background:#fff;border:0;border-radius:10px;width:100%;height:100%}@media (width<=1000px){.generated-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.generated-filters>div{align-items:center}}@media (width<=640px){.generated-header,.generated-panel,.generated-filters{border-radius:16px}.generated-filters{grid-template-columns:1fr}.generated-filters>div{align-items:stretch}.generated-filters button{flex:1}.generated-table{display:none}.generated-cards{gap:12px;display:grid}.generated-cards article{border:1px solid #e2e8f0;border-radius:13px;padding:15px}.generated-cards h2{margin:0;font-size:16px}.generated-cards p{color:#64748b;margin:4px 0 12px}.generated-cards dl{grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px;display:grid}.generated-cards dt{color:#64748b;font-size:11px}.generated-cards dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:13px}}.tc-page{color:#0f172a;text-align:left;gap:16px;width:100%;min-width:0;max-width:1180px;margin:0 auto;display:grid}.tc-page>header,.tc-panel{background:#fff;border:1px solid #dbe4f0;border-radius:16px;min-width:0;padding:clamp(20px,2.5vw,28px);box-shadow:0 10px 30px #0f172a0e}.tc-page>header{justify-content:space-between;align-items:center;gap:20px;display:flex}.tc-page h1{color:#0f172a;margin:4px 0;font-size:clamp(26px,3.4vw,34px);line-height:1.18}.tc-page p{color:#2563eb;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.tc-page header span,.tc-panel>p{color:#64748b;font-size:14px}.tc-form-title{padding:18px 24px!important}.tc-form-title>div{min-width:0}.tc-form-title h1{margin:3px 0 2px!important}.tc-step-badge,.tc-status{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border-radius:999px;flex:none;padding:7px 11px;font-size:12px;font-weight:800}.tc-primary,.tc-actions button,.tc-page>button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:max-content;min-height:42px;padding:10px 14px;font-weight:800;display:inline-flex}.tc-primary{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.tc-primary:hover:not(:disabled){background:#1e40af}.tc-primary:disabled,.tc-actions button:disabled{cursor:not-allowed;opacity:.62}.tc-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.tc-stats article{background:#fff;border:1px solid #dbeafe;border-radius:12px;min-width:0;padding:18px}.tc-stats small,.tc-stats strong{display:block}.tc-stats small{color:#64748b}.tc-stats strong{margin-top:8px;font-size:28px}.tc-panel h2{margin:0 0 16px}.tc-row{text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e2e8f0;justify-content:space-between;gap:16px;width:100%;min-width:0;padding:14px 0;display:flex}.tc-row:last-child{border-bottom:0}.tc-actions{flex-wrap:wrap;gap:10px;display:flex}.tc-actions span{color:#64748b;align-self:center;font-size:13px}.tc-error,.tc-success,.tc-profile-warning{border-radius:10px;padding:13px 15px}.tc-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.tc-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.tc-form{gap:18px;display:grid}.tc-form fieldset{background:#fff;border:1px solid #dbeafe;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;padding:20px;display:grid}.tc-form legend{grid-column:1/-1;font-size:18px;font-weight:800}.tc-form label{color:#334155;min-width:0;padding-top:1px;font-size:13px;font-weight:700;display:block;position:relative}.tc-form input,.tc-form textarea,.tc-form select{background:#f8fafc;border:1px solid #cbd5e1;border-radius:9px;width:100%;min-height:42px;margin-top:6px;padding:9px 11px;display:block}.tc-form input[readonly]{color:#475569;cursor:default;background:#f1f5f9}.tc-form label small{color:#64748b;margin-top:4px;font-size:11px;display:block}.tc-required{color:#b91c1c;margin-left:4px;font-size:16px;font-weight:900;line-height:1}.tc-field-error{color:#b91c1c!important}.tc-panel dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;display:grid}.tc-panel dl div{background:#f8fafc;border-radius:9px;min-width:0;padding:12px}.tc-panel dt{color:#64748b;font-size:12px}.tc-panel dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:800}.tc-skeleton{background:linear-gradient(90deg,#eef2ff,#fff,#eef2ff) 0 0/200% 100%;border-radius:14px;height:130px;animation:1.4s infinite tc-shimmer}@keyframes tc-shimmer{to{background-position:-200% 0}}.tc-student-picker{align-content:start;gap:10px;padding:clamp(20px,2.5vw,26px);display:grid}.tc-section-heading{align-items:flex-start;gap:12px;margin-bottom:6px;display:flex}.tc-section-heading>div{min-width:0}.tc-section-heading h2{margin:0 0 3px;font-size:20px;line-height:1.3}.tc-section-heading p{color:#64748b;text-transform:none;font-size:14px;font-weight:400;line-height:1.5}.tc-step-number{color:#1d4ed8;background:#dbeafe;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:14px;font-weight:900;display:grid}.tc-student-picker>label{color:#334155;margin-top:4px;font-size:13px;font-weight:750}.tc-search-hint,.tc-search-status{color:#64748b;font-size:12px;line-height:1.4}.tc-search{color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:10px;align-items:center;gap:10px;width:100%;min-width:0;min-height:46px;padding:0 12px;transition:border-color .16s,box-shadow .16s;display:flex}.tc-search:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.tc-search>svg{flex:none}.tc-search input{flex:auto;width:100%;min-width:0;min-height:44px;padding:0;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;outline:0!important}.tc-search input::placeholder{color:#94a3b8;text-overflow:ellipsis}.tc-search button{color:#475569;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;width:32px;height:32px;padding:0;display:grid}.tc-search button:hover,.tc-search button:focus-visible{background:#e2e8f0}.tc-search-empty{color:#64748b!important;text-transform:none!important;font-size:14px!important;font-weight:400!important}.tc-lookup-dropdown{z-index:3;background:#fff;border:1px solid #cbd5e1;border-radius:10px;max-height:min(300px,42vh);overflow-y:auto;box-shadow:0 12px 24px #0f172a1a}.tc-lookup-dropdown button{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e2e8f0;gap:3px;width:100%;min-width:0;padding:11px 13px;display:grid}.tc-lookup-dropdown button:last-child{border-bottom:0}.tc-lookup-dropdown button:hover,.tc-lookup-dropdown button:focus-visible{background:#eff6ff;outline:0}.tc-lookup-dropdown strong{color:#1e293b}.tc-lookup-dropdown span,.tc-lookup-dropdown small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;display:block;overflow:hidden}.tc-selected-student{background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:16px 18px;display:grid}.tc-selected-student__icon{color:#1d4ed8;background:#dbeafe;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.tc-selected-student strong,.tc-selected-student span,.tc-selected-student small{overflow-wrap:anywhere;display:block}.tc-selected-student span,.tc-selected-student small{color:#64748b;margin-top:2px;font-size:12px}.tc-selected-student button{color:#1d4ed8;font:inherit;cursor:pointer;background:#fff;border:1px solid #93c5fd;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:9px 11px;font-size:13px;font-weight:800;display:inline-flex}.tc-selected-student button:hover,.tc-selected-student button:focus-visible{background:#dbeafe}.tc-language-select{width:100%;position:relative}.tc-language-validation{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.tc-language-trigger{color:#334155;width:100%;min-height:42px;font:inherit;text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:9px 11px;display:flex}.tc-language-trigger:focus-visible{outline-offset:1px;outline:3px solid #bfdbfe}.tc-language-placeholder{color:#64748b;font-weight:400}.tc-language-placeholder,.tc-language-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tc-language-menu{z-index:10;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 12px 24px #0f172a1a}.tc-language-option{color:#334155;cursor:pointer;border-radius:7px;align-items:center;gap:9px;padding:9px;font-size:13px;font-weight:600;display:flex!important}.tc-language-option:hover,.tc-language-option:focus-within{background:#eff6ff}.tc-language-option input{accent-color:#1d4ed8;width:16px!important;min-height:16px!important;margin:0!important;padding:0!important}.tc-profile-warning{color:#854d0e;background:#fffbeb;border:1px solid #fde68a}.tc-profile-warning strong,.tc-profile-warning span{display:block}.tc-profile-warning ul{margin:8px 0;padding-left:20px}.tc-profile-warning li{margin:4px 0}.tc-remarks{flex-basis:100%}.tc-pdf-preview{border:1px solid #cbd5e1;border-radius:12px;width:100%;height:min(80vh,900px)}@media (width<=700px){.tc-page>header{flex-direction:column;align-items:flex-start}.tc-step-badge{align-self:flex-start}.tc-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-form fieldset,.tc-panel dl{grid-template-columns:1fr}.tc-actions{z-index:2;background:#fff;border-top:1px solid #dbeafe;padding:12px;position:sticky;bottom:0}}@media (width<=640px){.tc-page{gap:12px}.tc-page>header,.tc-panel,.tc-form-title{border-radius:12px;padding:16px!important}.tc-form-title h1{font-size:clamp(23px,8vw,29px)}.tc-selected-student{grid-template-columns:auto minmax(0,1fr);align-items:start;padding:14px}.tc-selected-student button{grid-column:1/-1;width:100%}.tc-profile-warning{padding:13px}.tc-actions>*{max-width:100%}.tc-actions button,.tc-actions a{justify-content:center}.tc-form fieldset{padding:16px}}@media (width<=420px){.tc-section-heading{gap:9px}.tc-step-number{width:28px;height:28px}.tc-search{padding-inline:10px}.tc-search input{font-size:16px}}@media (prefers-reduced-motion:reduce){.tc-skeleton{animation:none}}.documentation-page>nav{border-bottom:1px solid #dbeafe;align-items:center;gap:4px;padding:4px;display:flex;overflow-x:auto}.documentation-page>nav button{color:#475569;min-height:44px;font:inherit;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:10px 16px;font-weight:700}.documentation-page>nav button:hover,.documentation-page>nav button:focus-visible{color:#1d4ed8;outline-offset:-2px;background:#eff6ff;outline:2px solid #93c5fd}.documentation-page>section{align-content:start;gap:16px;display:grid}.documentation-page>section label{color:#475569;gap:7px;font-size:13px;font-weight:700;display:grid}.documentation-page>section input,.documentation-page>section select,.documentation-page>section textarea{box-sizing:border-box;color:#0f172a;width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px}.documentation-page>section textarea{resize:vertical;min-height:96px}.documentation-page>section input:focus-visible,.documentation-page>section select:focus-visible,.documentation-page>section textarea:focus-visible{border-color:#2563eb;outline:3px solid #bfdbfe}.documentation-page>section .documentation-card{background:#f8fbff;grid-template-columns:1fr;gap:4px;min-height:0;padding:13px 15px}.documentation-page>section dl{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:0;padding:16px;display:grid}.documentation-page>section dl div{gap:4px;display:grid}.documentation-page>section dt{color:#64748b;font-size:12px;font-weight:700}.documentation-page>section dd{color:#0f172a;overflow-wrap:anywhere;margin:0;font-weight:600}.documentation-page>section article{box-shadow:none;background:#f8fbff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.documentation-page>section article small{color:#64748b;margin-top:3px;display:block}.documentation-page>section article button{min-height:44px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:10px;margin-left:auto;padding:10px 15px;font-weight:700}@media (width<=700px){.documentation-page{gap:12px}.documentation-page header,.documentation-page section{padding:16px}.documentation-page>section dl{grid-template-columns:1fr}.documentation-page>section article{flex-wrap:wrap;align-items:flex-start}.documentation-page>section article button{width:100%;margin-left:0}.documentation-page>section>button{width:100%}}@media (width<=420px){.documentation-page header h1{font-size:24px}.documentation-page>nav button{padding-inline:12px}}.documentation-page>nav button.is-active,.documentation-page>nav button[aria-selected=true]{color:#1d4ed8;background:#eff6ff;border-bottom:3px solid #2563eb}.documentation-page>section>button{touch-action:manipulation}.documentation-page>section .documentation-card{min-height:0!important;padding:12px 14px!important}.documentation-page>section .documentation-card small{font-size:12px;line-height:1.4}.documentation-page>section{min-width:0}.documentation-page>section input,.documentation-page>section select,.documentation-page>section textarea{max-width:100%}@media (width<=700px){.documentation-page>nav{margin-inline:-4px;padding-inline:8px}.documentation-page>section article,.documentation-page>section .documentation-card{box-sizing:border-box;width:100%}.documentation-page>section label+input{margin-top:0}}@media (pointer:coarse){.documentation-page button{min-height:44px}.documentation-page input,.documentation-page select,.documentation-page textarea{font-size:16px}}.bonafide-page{max-width:1260px;margin:0 auto;gap:0!important}.bonafide-page>header{margin-bottom:16px;border-color:#e2e8f0!important;border-radius:20px!important;padding:20px 28px!important;box-shadow:0 12px 35px #0f172a0d!important}.bonafide-page>header p{color:#075bd8!important;font-size:13px!important}.bonafide-page>header h1{margin:5px 0!important;font-size:29px!important}.bonafide-page>header span{color:#64748b!important;font-size:14px!important}.bonafide-page>.bonafide-tabs{background:0 0!important;padding:0 10px!important}.bonafide-page>.bonafide-tabs button{background:0 0!important}.bonafide-page>.bonafide-section{margin-top:14px;border-color:#e2e8f0!important;border-radius:17px!important;gap:8px!important;padding:22px 20px!important;box-shadow:0 12px 35px #0f172a0b!important}.bonafide-section h2{margin:0!important;font-size:17px!important}.bonafide-section>p{color:#64748b;margin:0 0 3px;font-size:13px}.bonafide-search-row{grid-template-columns:1fr 136px;gap:8px;display:grid}.bonafide-input-wrap{color:#475569;border:1px solid #cbd5e1;border-radius:9px;align-items:center;gap:10px;padding:0 13px;display:flex}.bonafide-input-wrap input{border:0!important;outline:0!important}.bonafide-primary{min-height:42px;color:#fff!important;background:#075bd8!important;border:1px solid #075bd8!important;border-radius:8px!important;font-weight:700!important}.bonafide-results{border:1px solid #cbd5e1;border-radius:9px;padding:0;overflow:hidden}.bonafide-result{text-align:left;background:#fff;border:0;border-bottom:1px solid #e2e8f0;border-radius:0;align-items:center;gap:12px;width:100%;padding:10px 14px;display:flex}.bonafide-result span{flex:1}.bonafide-result strong,.bonafide-result small{display:block}.bonafide-result small{color:#64748b;margin-top:4px}.bonafide-result em{color:#087443;background:#e9f8ef;border-radius:7px;padding:6px 11px;font-size:12px;font-style:normal;font-weight:700}.bonafide-verified{gap:8px;margin-top:3px;display:grid}.bonafide-verified dl{background:#fff;border:1px solid #d6dfeb;border-radius:9px;grid-template-columns:1.2fr 1.2fr 1.3fr 1.1fr .7fr;gap:12px;margin:0;padding:11px 16px;display:grid}.bonafide-verified dl div{gap:5px;display:grid}.bonafide-verified dt{font-size:12px;font-weight:700}.bonafide-verified dd{margin:0;font-size:13px}.bonafide-actions{justify-content:flex-end;gap:12px;margin-top:10px;display:flex}.bonafide-actions button{color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-width:100px;padding:10px 16px;font-weight:700}@media (width<=760px){.bonafide-search-row{grid-template-columns:1fr}.bonafide-verified dl{grid-template-columns:repeat(2,1fr)}}.bonafide-search-row{align-items:center;gap:12px;width:100%;min-width:0;display:flex}.bonafide-input-wrap{box-sizing:border-box;color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:10px;flex:1;align-items:center;gap:10px;min-width:0;height:48px;padding:0 14px;display:flex}.bonafide-input-wrap:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #bfdbfe}.bonafide-input-wrap>svg{flex:none}.bonafide-input-wrap input.bonafide-search-input{color:#0f172a;flex:1;width:100%;min-width:0;height:100%;padding:0;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;outline:0!important}.bonafide-input-wrap input.bonafide-search-input:focus{box-shadow:none!important;border:0!important;outline:0!important}.bonafide-clear{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;width:32px;height:32px;padding:0;display:grid}.bonafide-clear:hover,.bonafide-clear:focus-visible{color:#1d4ed8;background:#eff6ff;outline:2px solid #93c5fd}.bonafide-search-row>.bonafide-primary{flex:0 0 136px;height:48px;min-height:48px}@media (width<=760px){.bonafide-search-row{flex-direction:column;align-items:stretch}.bonafide-search-row>.bonafide-primary{flex:none;width:100%}}.certificate-alert{color:#991b1b;overflow-wrap:anywhere;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 14px}.certificate-notice{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:12px 14px}.certificate-request-list article{align-items:center}.certificate-request-summary{flex:220px;min-width:0}.certificate-row-actions{flex-wrap:wrap;flex:480px;justify-content:flex-end;gap:8px;display:flex}.certificate-row-actions button{min-height:44px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-weight:700;display:inline-flex;margin:0!important}.certificate-row-actions .primary{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.certificate-row-actions .danger{color:#b91c1c;border-color:#fecaca}.certificate-row-actions button:disabled{cursor:not-allowed;opacity:.55}.certificate-actions{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.certificate-actions button,.certificate-preview>button{min-height:44px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-weight:700;display:inline-flex}.certificate-actions .danger{color:#b91c1c;border-color:#fecaca}.certificate-remarks{flex:240px}.certificate-status{color:#334155;background:#e2e8f0;border-radius:999px;padding:5px 9px;font-size:12px;display:inline-block}.status-generated{color:#166534;background:#dcfce7}.status-rejected{color:#991b1b;background:#fee2e2}.status-pending_approval,.status-approved{color:#92400e;background:#fef3c7}.certificate-preview{z-index:40;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));color:#fff;background:#0f172ae6;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;display:grid;position:fixed;inset:0;overflow:hidden}.certificate-preview>button{justify-self:end}.certificate-preview iframe{background:#fff;border:0;border-radius:10px;width:100%;height:100%;min-height:0}.certificate-preview p{text-align:center;margin:0;font-size:13px}@media (width<=640px){.certificate-actions>*{flex:100%}.certificate-detail{overflow:hidden}.certificate-request-list article{display:grid!important}.certificate-row-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.certificate-row-actions button{width:100%!important}.certificate-row-actions button:last-child:nth-child(odd){grid-column:1/-1}}@media (width<=360px){.certificate-row-actions{grid-template-columns:1fr}}.approval-page{color:#0f172a;text-align:left;gap:18px;min-width:0;display:grid}.approval-page>header,.approval-panel{background:#fff;border:1px solid #dbeafe;border-radius:20px;padding:clamp(18px,3vw,30px);box-shadow:0 18px 50px #0f172a12}.approval-page>header{color:#1d4ed8;align-items:center;gap:14px;display:flex}.approval-page>header div{flex:1}.approval-page>header p{text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.approval-page>header h1{color:#0f172a;margin:4px 0;font-size:clamp(27px,4vw,36px)}.approval-page>header span{color:#64748b;font-size:14px}.approval-page button{color:#1e293b;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:9px 13px;font-weight:700;display:inline-flex}.approval-page button:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.approval-page button:disabled{cursor:not-allowed;opacity:.55}.approval-alert,.approval-notice{border-radius:11px;margin:0;padding:13px 15px}.approval-alert{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.approval-notice{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.approval-panel{gap:14px;display:grid}.approval-panel article{background:#f8fbff;border:1px solid #dbeafe;border-radius:15px;grid-template-columns:minmax(190px,1fr) minmax(220px,1fr) auto;align-items:end;gap:18px;min-width:0;padding:18px;display:grid}.approval-summary p{color:#2563eb;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:800}.approval-summary{min-width:0}.approval-summary h2{margin:0 0 5px;font-size:18px}.approval-summary small{overflow-wrap:anywhere;color:#64748b;display:block}.approval-summary span{color:#92400e;text-transform:uppercase;background:#fef3c7;border-radius:999px;margin-top:9px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-block}.approval-panel label{color:#475569;gap:6px;font-size:12px;font-weight:700;display:grid}.approval-panel textarea{resize:vertical;min-height:70px;font:inherit;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px}.approval-actions{grid-template-columns:repeat(2,minmax(100px,1fr));gap:8px;display:grid}.approval-actions .approve{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.approval-actions .reject{color:#b91c1c;border-color:#fecaca}.approval-empty{text-align:center;color:#64748b;padding:36px 12px}.approval-empty h2{color:#0f172a;margin:10px 0 5px}.approval-empty p{margin:0}.approval-preview{z-index:40;background:#0f172ae6;grid-template-rows:auto minmax(0,1fr);gap:10px;padding:clamp(12px,3vw,30px);display:grid;position:fixed;inset:0}.approval-preview>button{justify-self:end}.approval-preview iframe{background:#fff;border:0;border-radius:10px;width:100%;height:100%}@media (width<=900px){.approval-panel article{grid-template-columns:1fr 1fr}.approval-summary{grid-column:1/-1}}@media (width<=640px){.approval-page>header{flex-wrap:wrap;align-items:flex-start}.approval-page>header div{flex-basis:calc(100% - 50px)}.approval-page>header button{width:100%}.approval-panel article{grid-template-columns:1fr}.approval-summary{grid-column:auto}.approval-actions{grid-template-columns:1fr 1fr}.approval-actions button{width:100%}}.my-profile-page{flex-direction:column;gap:18px;width:100%;display:flex}.my-profile-state{color:#64748b;place-items:center;min-height:320px;font-weight:800;display:grid}.my-profile-state.is-error{color:#b42318}.my-profile-alert{border-radius:8px;margin:0;padding:12px 14px;font-size:14px;font-weight:800}.my-profile-alert.is-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.my-profile-alert.is-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.my-profile-hero,.my-profile-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 18px 50px #0f172a14}.my-profile-hero{justify-content:space-between;align-items:center;gap:18px;padding:clamp(18px,3vw,30px);display:flex}.my-profile-hero__identity{align-items:center;gap:18px;min-width:0;display:flex}.my-profile-avatar,.my-profile-student__photo{color:#1967d2;background:#eff6ff;border:3px solid #e2e8f0;border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid;overflow:hidden}.my-profile-avatar{width:96px;height:96px;font-size:34px}.my-profile-avatar img,.my-profile-student__photo img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.my-profile-hero h1{color:#0f172a;letter-spacing:0;overflow-wrap:anywhere;margin:0;font-size:clamp(24px,3vw,34px);font-weight:900}.my-profile-hero p{color:#64748b;overflow-wrap:anywhere;margin:5px 0 12px;font-size:14px;font-weight:750}.my-profile-status{color:#dc2626;background:#fef2f2;border-radius:999px;align-items:center;min-height:28px;padding:5px 12px;font-size:12px;font-weight:900;display:inline-flex}.my-profile-status.is-active{color:#16a34a;background:#f0fdf4}.my-profile-hero__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.my-profile-button{color:#fff;cursor:pointer;background:#1967d2;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 16px;font-size:14px;font-weight:900;display:inline-flex;box-shadow:0 12px 24px #1967d229}.my-profile-button.is-muted{color:#334155;box-shadow:none;background:#fff;border:1px solid #cbd5e1}.my-profile-button:disabled,.my-profile-action:disabled{cursor:not-allowed;opacity:.68}.my-profile-card{padding:clamp(18px,3vw,28px)}.my-profile-card h2{color:#0f172a;letter-spacing:0;margin:0 0 18px;font-size:20px;font-weight:900}.my-profile-grid,.my-profile-edit-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;display:grid}.my-profile-field{border-bottom:1px solid #f1f5f9;flex-direction:column;gap:6px;min-width:0;padding-bottom:12px;display:flex}.my-profile-field span,.my-profile-edit-grid label span,.my-profile-photo-control>span{color:#334155;font-size:13px;font-weight:900}.my-profile-field strong{color:#0f172a;overflow-wrap:anywhere;font-size:15px;font-weight:800;line-height:1.45}.my-profile-field small{color:#64748b;font-size:12px;line-height:1.35}.my-profile-edit-grid label{flex-direction:column;gap:7px;display:flex}.my-profile-edit-grid label.is-wide{grid-column:1/-1}.my-profile-edit-grid input,.my-profile-edit-grid select,.my-profile-edit-grid textarea{color:#0f172a;width:100%;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;padding:11px 12px;font-size:14px}.my-profile-edit-grid textarea{resize:vertical;min-height:104px}.my-profile-edit-grid input:focus,.my-profile-edit-grid select:focus,.my-profile-edit-grid textarea:focus{border-color:#1967d2;box-shadow:0 0 0 4px #1967d21c}.my-profile-photo-control input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.my-profile-photo-control strong{color:#1967d2;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:fit-content;min-height:42px;padding:10px 14px;font-size:14px;font-weight:900;display:inline-flex}.my-profile-students{flex-direction:column;gap:16px;display:flex}.my-profile-student{border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:72px minmax(0,1fr);gap:16px;padding:14px;display:grid}.my-profile-student__photo{width:72px;height:72px;font-size:24px}.my-profile-actions{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;display:grid}.my-profile-action{color:#0f172a;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:12px;min-height:86px;padding:16px;text-decoration:none;display:flex;box-shadow:0 12px 30px #0f172a0f}.my-profile-action__icon{color:#1967d2;background:#eff6ff;border-radius:8px;flex:none;place-items:center;width:38px;height:38px;display:grid}.my-profile-action strong,.my-profile-action small{display:block}.my-profile-action strong{font-size:14px;font-weight:900}.my-profile-action small{color:#64748b;margin-top:4px;font-size:12px;font-weight:750;line-height:1.35}@media (width<=720px){.my-profile-hero,.my-profile-hero__identity,.my-profile-student{align-items:flex-start}.my-profile-hero{flex-direction:column}.my-profile-hero__actions,.my-profile-button{width:100%}.my-profile-student{grid-template-columns:1fr}}.my-profile-page,.my-profile-page *{min-width:0}.my-profile-page{max-width:100%;padding-inline:0;padding-bottom:max(0px, env(safe-area-inset-bottom));overflow-x:clip;container-type:inline-size}.my-profile-hero,.my-profile-card,.my-profile-action,.my-profile-student{max-width:100%}.my-profile-hero__identity>div,.my-profile-action>span:last-child{min-width:0}.my-profile-hero__actions{flex:0 auto;min-width:min(100%,220px)}.my-profile-grid,.my-profile-edit-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}.my-profile-actions{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}.my-profile-button,.my-profile-action,.my-profile-photo-control strong{touch-action:manipulation;min-height:44px}.my-profile-edit-grid input,.my-profile-edit-grid select,.my-profile-edit-grid textarea{min-height:44px;font-size:16px}.my-profile-students{max-width:100%;overflow-x:hidden}@container (width>=900px){.my-profile-hero__actions{min-width:240px}.my-profile-actions{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=821px) and (width<=1180px){.my-profile-hero{align-items:flex-start}.my-profile-avatar{width:84px;height:84px;font-size:30px}.my-profile-hero__actions{max-width:220px}}@media (width<=820px){.my-profile-page{gap:14px}.my-profile-hero,.my-profile-card{padding:18px;box-shadow:0 14px 36px #0f172a12}.my-profile-card h2{font-size:18px}}@media (width<=640px){.my-profile-hero{align-items:stretch}.my-profile-hero__identity{align-items:flex-start;gap:14px}.my-profile-avatar{border-width:2px;width:72px;height:72px;font-size:26px}.my-profile-hero h1{font-size:24px;line-height:1.15}.my-profile-hero p{font-size:13px;line-height:1.45}.my-profile-grid,.my-profile-edit-grid,.my-profile-actions{grid-template-columns:1fr}.my-profile-action{min-height:74px}}@media (width<=430px){.my-profile-page{gap:12px}.my-profile-hero,.my-profile-card{padding:14px}.my-profile-hero__identity{grid-template-columns:62px minmax(0,1fr);display:grid}.my-profile-avatar{width:62px;height:62px;font-size:23px}.my-profile-status{min-height:26px;padding-inline:10px;font-size:11px}.my-profile-button,.my-profile-photo-control strong{width:100%}.my-profile-field strong,.my-profile-action strong{font-size:14px}.my-profile-student{padding:12px}}@media (width<=360px){.my-profile-hero__identity{grid-template-columns:1fr}.my-profile-avatar{width:58px;height:58px}}@media (height<=520px) and (orientation:landscape){.my-profile-hero{flex-direction:row;align-items:center}.my-profile-avatar{width:60px;height:60px;font-size:22px}.my-profile-hero h1{font-size:22px}.my-profile-card{padding-block:14px}}@supports (-webkit-touch-callout:none){.my-profile-page{padding-bottom:max(12px, env(safe-area-inset-bottom))}.my-profile-edit-grid input,.my-profile-edit-grid select,.my-profile-edit-grid textarea{appearance:none}}@supports (height:100dvh){.my-profile-page{min-height:auto}}@media (hover:none) and (pointer:coarse){.my-profile-button,.my-profile-action,.my-profile-photo-control strong{min-height:48px}.my-profile-action{padding:14px}.my-profile-edit-grid input,.my-profile-edit-grid select,.my-profile-edit-grid textarea{min-height:48px}}@media (width>=361px) and (width<=412px){.my-profile-hero__identity{grid-template-columns:64px minmax(0,1fr)}.my-profile-avatar{width:64px;height:64px}.my-profile-hero h1{font-size:23px}.my-profile-card h2{font-size:17px}}@media (width<=412px) and (hover:none) and (pointer:coarse){.my-profile-hero,.my-profile-card{padding-inline:13px}.my-profile-action__icon{width:36px;height:36px}.my-profile-field span,.my-profile-edit-grid label span,.my-profile-photo-control>span{font-size:12px}.my-profile-field strong{line-height:1.5}}@media (width<=380px) and (hover:none) and (pointer:coarse){.my-profile-hero__identity{grid-template-columns:58px minmax(0,1fr);gap:12px}.my-profile-avatar{width:58px;height:58px}.my-profile-hero h1{font-size:22px}.my-profile-action{gap:10px}}.my-profile-hero{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.my-profile-avatar{border-width:2px;width:58px;height:58px;font-size:22px}.my-profile-hero h1{font-size:clamp(22px,2.4vw,28px);line-height:1.2}.my-profile-hero p{margin-bottom:8px}@media (width<=640px){.my-profile-hero{gap:12px}}.my-profile-image-control{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:14px;display:flex}.my-profile-image-control>span{color:#334155;font-size:13px;font-weight:900}.my-profile-image-preview{color:#1967d2;background:#eff6ff;border:2px solid #e2e8f0;border-radius:12px;place-items:center;width:100%;min-height:112px;font-size:24px;font-weight:900;display:grid;overflow:hidden}.my-profile-image-preview img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%;min-height:112px}.my-profile-image-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.my-profile-image-actions{flex-wrap:wrap;gap:8px;display:flex}.my-profile-image-upload{color:#1967d2;min-height:42px;font:inherit;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:900;display:inline-flex}.my-profile-image-upload:focus-visible{outline-offset:2px;outline:3px solid #3b82f659}@media (width<=640px){.my-profile-image-control{padding:12px}.my-profile-image-preview,.my-profile-image-preview img{min-height:96px}}.my-profile-tabs{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;gap:8px;width:fit-content;max-width:100%;padding:6px;display:flex}.my-profile-tab{color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;min-height:40px;padding:9px 16px;font-size:14px;font-weight:900}.my-profile-tab.is-active{color:#1967d2;background:#fff;border-color:#1967d2;box-shadow:0 4px 12px #0f172a14}.my-profile-field-action{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.my-profile-field-action input{flex:180px;min-width:0}.my-profile-suggestions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.my-profile-suggestion{color:#0f172a;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;min-height:38px;padding:8px 12px;font-size:13px;font-weight:900}.my-profile-inline-error{color:#b42318;font-size:12px;font-weight:800;line-height:1.4}.my-profile-button.is-icon{width:42px;min-width:42px;padding-inline:9px}.fee-page{color:#0f172a;gap:20px;display:grid}.fee-page__header,.fee-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 18px 50px #0f172a12}.fee-page__header{justify-content:space-between;align-items:center;gap:20px;padding:clamp(22px,4vw,34px);display:flex}.fee-page__header h1{margin:3px 0 7px;font-size:clamp(28px,4vw,38px);font-weight:900;line-height:1.1}.fee-page__header p{color:#64748b;font-size:14px}.fee-eyebrow{color:#2563eb;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;font-size:12px;font-weight:900;display:inline-flex}.fee-page__actions,.fee-toolbar,.fee-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.fee-card{min-width:0;overflow:hidden}.fee-card__header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.fee-card__header h2{margin:0;font-size:19px;font-weight:850}.fee-card__body{padding:20px}.fee-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.fee-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.fee-summary-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.fee-summary{background:#fff;border:1px solid #e2e8f0;border-radius:17px;padding:18px;box-shadow:0 12px 35px #0f172a0f}.fee-summary span{color:#64748b;font-size:12px;font-weight:800;display:block}.fee-summary strong{margin-top:8px;font-size:25px;line-height:1.1;display:block}.fee-summary--blue{border-top:4px solid #2563eb}.fee-summary--green{border-top:4px solid #16a34a}.fee-summary--amber{border-top:4px solid #d97706}.fee-summary--red{border-top:4px solid #dc2626}.fee-field{gap:7px;min-width:0;display:grid}.fee-field>span{color:#475569;font-size:12px;font-weight:800}.fee-field input,.fee-field select,.fee-field textarea{color:#0f172a;border:1px solid #cbd5e1;min-height:43px;padding:9px 11px;font-size:13px}.fee-field input[type=checkbox]{width:18px;height:18px;min-height:auto;padding:0}.fee-field textarea{resize:vertical}.fee-checkbox{grid-template-columns:auto 1fr;align-content:center;align-items:center;padding-top:22px}.fee-field--wide{grid-column:1/-1}.fee-field__hint{color:#64748b;font-size:11px}.fee-search{color:#94a3b8;background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;align-items:center;gap:8px;padding:0 11px;display:flex}.fee-search input{min-height:43px;box-shadow:none!important;background:0 0!important;border:0!important}.fee-button{cursor:pointer;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:9px 14px;font-size:13px;font-weight:850;display:inline-flex}.fee-button:disabled{opacity:.55;cursor:not-allowed}.fee-icon-button{width:42px;min-width:42px;padding:9px}.fee-button--primary{color:#fff;background:#2563eb}.fee-button--secondary{color:#334155;background:#fff;border-color:#cbd5e1}.fee-button--danger{color:#b91c1c;background:#fff1f2;border-color:#fecaca}.fee-button--success{color:#fff;background:#15803d}.fee-link-button{color:#2563eb;cursor:pointer;background:0 0;border:0;padding:4px;font-size:12px;font-weight:850}.fee-table-wrap{max-width:100%;overflow-x:auto}.fee-table{width:100%;min-width:760px}.fee-table th{color:#64748b;letter-spacing:.05em;text-align:left;text-transform:uppercase;background:#f8fafc;padding:12px 15px;font-size:11px}.fee-table td{color:#475569;vertical-align:middle;border-top:1px solid #eef2f7;padding:14px 15px;font-size:12px}.fee-table td strong{color:#1e293b}.fee-empty{color:#64748b;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:190px;padding:28px;display:flex}.fee-spinner{border:3px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;width:31px;height:31px;animation:.8s linear infinite fee-spin}@keyframes fee-spin{to{transform:rotate(360deg)}}.fee-icon--spinning{animation:.8s linear infinite fee-spin}.fee-alert{color:#b91c1c;background:#fff1f2;border:1px solid #fecaca;border-radius:12px;padding:11px 13px;font-size:12px;font-weight:750}.fee-context-state{color:#1e40af;background:#eff6ff;border-bottom:1px solid #bfdbfe;justify-content:space-between;align-items:center;gap:12px;padding:13px 20px;font-size:13px;font-weight:750;display:flex}.fee-context-state--error{color:#b91c1c;background:#fff1f2;border-color:#fecaca}.fee-context-state--empty{color:#92400e;background:#fffbeb;border-color:#fde68a}.fee-status{text-transform:uppercase;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;display:inline-flex}.fee-status--success{color:#166534;background:#dcfce7}.fee-status--warning{color:#92400e;background:#fef3c7}.fee-status--danger{color:#991b1b;background:#fee2e2}.fee-status--neutral{color:#475569;background:#f1f5f9}.fee-student-picker{gap:12px;display:grid;position:relative}.fee-student-results{z-index:20;background:#fff;border:1px solid #dbe4f0;border-radius:13px;max-height:310px;padding:6px;display:grid;position:absolute;top:72px;left:0;right:0;overflow-y:auto;box-shadow:0 20px 45px #0f172a2b}.fee-student-results button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;gap:3px;padding:10px;display:grid}.fee-student-results button:hover{background:#eff6ff}.fee-student-results small,.fee-student-results>span{color:#64748b;font-size:11px}.fee-student-card{background:#eff6ff;border:1px solid #bfdbfe;border-radius:15px;grid-template-columns:minmax(160px,1fr) 2fr auto;align-items:center;gap:16px;padding:15px;display:grid}.fee-student-card strong,.fee-student-card span{display:block}.fee-student-card span{color:#64748b;margin-top:3px;font-size:11px}.fee-student-card dl{grid-template-columns:repeat(3,1fr);gap:10px;margin:0;display:grid}.fee-student-card dt{color:#64748b;text-transform:uppercase;font-size:10px}.fee-student-card dd{color:#1e293b;margin:2px 0 0;font-size:12px;font-weight:850}.fee-modal{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.fee-modal__panel{background:#fff;border-radius:20px;width:min(680px,100%);max-height:calc(100svh - 36px);overflow-y:auto;box-shadow:0 32px 90px #0f172a4d}.fee-modal__header,.fee-modal__body,.fee-modal__footer{padding:18px 21px}.fee-modal__header{border-bottom:1px solid #e2e8f0;justify-content:space-between;display:flex}.fee-modal__footer{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:10px;display:flex}.fee-tabs{background:#fff;border:1px solid #e2e8f0;border-radius:15px;gap:7px;padding:8px;display:flex;overflow-x:auto}.fee-tabs button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:none;padding:9px 12px;font-size:11px;font-weight:850}.fee-tabs button.is-active{color:#1d4ed8;background:#dbeafe}.fee-receipt{max-width:940px;margin:0 auto;padding:clamp(22px,4vw,38px)}.fee-receipt__brand{border-bottom:2px solid #1d4ed8;grid-template-columns:72px 1fr auto;align-items:center;gap:16px;padding-bottom:20px;display:grid}.fee-receipt__school-logo{color:#1d4ed8;background:#eff6ff;border-radius:8px;place-items:center;width:68px;height:68px;font-size:28px;font-weight:800;display:grid;overflow:hidden}.fee-receipt__school-logo img{-o-object-fit:contain;object-fit:contain;width:68px;height:68px}.fee-receipt__brand h2{margin:0;font-size:25px}.fee-receipt__brand p{color:#64748b;margin-top:3px;font-size:11px}.fee-receipt__number{text-align:right}.fee-receipt__details{grid-template-columns:repeat(2,1fr);gap:8px 26px;padding:20px 0;display:grid}.fee-receipt__details div{border-bottom:1px dashed #e2e8f0;justify-content:space-between;gap:12px;padding:7px 0;font-size:12px;display:flex}.fee-receipt__details span{color:#64748b}.fee-receipt__totals{gap:7px;width:min(390px,100%);margin:18px 0 18px auto;display:grid}.fee-receipt__totals div{justify-content:space-between;gap:16px;font-size:12px;display:flex}.fee-receipt__totals div:last-child{border-top:2px solid #0f172a;padding-top:8px;font-size:15px;font-weight:900}.fee-receipt__footer{color:#64748b;justify-content:space-between;gap:20px;margin-top:34px;font-size:11px;display:flex}.fee-signature{text-align:center;border-top:1px solid #64748b;min-width:170px;padding-top:5px}.fee-kv{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.fee-kv div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:11px;padding:11px}.fee-kv dt{color:#64748b;text-transform:uppercase;font-size:10px}.fee-kv dd{color:#1e293b;overflow-wrap:anywhere;margin:4px 0 0;font-size:12px;font-weight:800}.fee-ledger-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.fee-json{color:#dbeafe;white-space:pre-wrap;background:#0f172a;max-height:360px;margin:0;padding:16px;font-size:12px;line-height:1.5;overflow:auto}@media (width<=720px){.fee-page__header{flex-direction:column;align-items:stretch}.fee-grid,.fee-grid--3{grid-template-columns:1fr}.fee-field--wide{grid-column:auto}.fee-student-card{grid-template-columns:1fr}.fee-receipt__brand{grid-template-columns:52px 1fr}.fee-receipt__school-logo,.fee-receipt__school-logo img{width:48px;height:48px}.fee-receipt__number{text-align:left;grid-column:1/-1}.fee-receipt__details{grid-template-columns:1fr}.fee-receipt__footer{flex-direction:column}.fee-page__actions .fee-button{flex:1}}@media print{.sams-topbar,.dashboard-sidebar,.sams-brand-footer,.fee-page__header,.fee-receipt-actions{display:none!important}.dashboard-shell,.dashboard-content{height:auto!important;padding:0!important;display:block!important;overflow:visible!important}.fee-card{box-shadow:none!important;border:0!important}.fee-receipt{max-width:none;padding:0}}.fee-section-copy{color:#64748b;margin:5px 0 0;font-size:12px}.fee-student-load-grid{grid-template-columns:minmax(0,1fr) minmax(210px,280px);align-items:end;gap:16px;display:grid}.fee-student-year{align-self:start}.fee-helper-text{color:#64748b;margin:0;font-size:13px;line-height:1.6}.fee-helper-text+.fee-helper-text{color:#475569;margin-top:5px;font-weight:750}.fee-edit-fieldset{border:0;min-width:0;margin:0}.fee-edit-fieldset legend{color:#334155;grid-column:1/-1;width:100%;margin-bottom:4px;font-size:14px;font-weight:900}.fee-edit-fieldset:disabled{opacity:.72;background:#f8fafc}@media (width<=768px){.fee-student-load-grid{grid-template-columns:1fr}.fee-student-specific .fee-card__header{flex-direction:column;align-items:stretch}.fee-student-specific .fee-card__header .fee-button{width:100%}.fee-student-results{max-height:260px;box-shadow:none;position:static}.fee-student-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.fee-context-state{flex-direction:column;align-items:stretch;padding:13px 16px}.fee-context-state .fee-button{width:100%}.fee-card__body{padding:16px}.fee-class-structure__header{flex-direction:column;align-items:stretch}.fee-class-structure__header .fee-button{width:100%}.fee-student-card dl{grid-template-columns:1fr}.fee-student-specific .fee-actions{flex-direction:column;align-items:stretch}.fee-student-specific .fee-actions .fee-button{width:100%}.fee-student-fees-table{padding:0 14px 16px;overflow:visible}.fee-student-fees-table .fee-table{min-width:0}.fee-student-fees-table thead{display:none}.fee-student-fees-table tbody,.fee-student-fees-table tr,.fee-student-fees-table td{box-sizing:border-box;width:100%;display:block}.fee-student-fees-table tr{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-top:12px;overflow:hidden}.fee-student-fees-table td{overflow-wrap:anywhere;border-top:1px solid #eef2f7;grid-template-columns:minmax(105px,.8fr) minmax(0,1.2fr);gap:10px;padding:11px 12px;display:grid}.fee-student-fees-table td:before{content:attr(data-label);color:#64748b;text-transform:uppercase;font-size:10px;font-weight:850}}.fee-page{gap:14px}.fee-page__header{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.fee-eyebrow,.fee-page__header p{display:none}.fee-page__header h1{margin:0;font-size:clamp(22px,2.4vw,28px);line-height:1.2}@media (width<=720px){.fee-page__header{gap:12px}}.fee-balances-workflow .fee-tabs{border-radius:8px}.fee-search-panel{border-top:1px solid #e2e8f0;gap:12px;display:grid}.fee-search-results{background:#fff;border:1px solid #dbe4f0;border-radius:8px;max-height:330px;padding:6px;display:grid;overflow-y:auto}.fee-search-results>button{color:#334155;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;gap:3px;padding:11px;display:grid}.fee-search-results>button:hover,.fee-search-results>button:focus-visible{background:#eff6ff;outline:none}.fee-search-results small{color:#64748b}.fee-search-results .fee-load-more{color:#1d4ed8;text-align:center;border-top:1px solid #e2e8f0;border-radius:0;justify-items:center;font-weight:850}.fee-search-skeletons{gap:7px;display:grid}.fee-search-skeletons span{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:6px;height:48px;animation:1.2s linear infinite fee-search-shimmer}@keyframes fee-search-shimmer{to{background-position:-200% 0}}.fee-refresh-warning{color:#92400e;background:#fffbeb;border-block:1px solid #fcd34d;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 20px;font-size:13px;font-weight:750;display:grid}.fee-balance-create{background:#f8fafc;border-top:1px solid #e2e8f0}.fee-dialog-form{gap:18px;display:grid}.fee-dialog-form .fee-kv{margin:0}.fee-inline-loading{color:#64748b;align-items:center;gap:7px;font-size:12px;display:inline-flex}.fee-inline-loading .fee-spinner{border-width:2px;width:18px;height:18px}.fee-muted-action{color:#64748b;font-size:12px}.fee-balance-table tr.is-awaiting-refresh{background:#fffbeb}.fee-balance-table small{color:#64748b;line-height:1.5}@media (prefers-reduced-motion:reduce){.fee-search-skeletons span{animation-duration:2.4s}}@media (width<=720px){.fee-refresh-warning{grid-template-columns:auto 1fr}.fee-refresh-warning .fee-button{grid-column:1/-1;width:100%}.fee-balances-workflow .fee-student-card{grid-template-columns:1fr}.fee-balances-workflow .fee-student-card .fee-button{width:100%}}@media (width<=640px){.fee-balance-table{padding:0 12px 14px;overflow:visible}.fee-balance-table .fee-table{min-width:0}.fee-balance-table thead{display:none}.fee-balance-table tbody,.fee-balance-table tr,.fee-balance-table td{box-sizing:border-box;width:100%;display:block}.fee-balance-table tr{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:12px;overflow:hidden}.fee-balance-table td{overflow-wrap:anywhere;border-top:1px solid #eef2f7;grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);gap:10px;padding:11px 12px;display:grid}.fee-balance-table td:first-child{border-top:0}.fee-balance-table td:before{content:attr(data-label);color:#64748b;text-transform:uppercase;font-size:10px;font-weight:850}.fee-balance-table .fee-actions{flex-direction:column;align-items:stretch}.fee-balance-table .fee-actions .fee-button{width:100%}}.fee-legacy-section{border-top:1px solid #e2e8f0;min-width:0}.fee-legacy-header{align-items:flex-start}.fee-legacy-information{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin:16px 20px 0;padding:12px 14px;font-size:12px;line-height:1.55}.fee-legacy-table{padding-top:14px}.fee-legacy-table .fee-table{min-width:1320px}.fee-legacy-table td{overflow-wrap:anywhere;max-width:230px}.fee-legacy-badge-link{white-space:nowrap;text-decoration:none}.fee-legacy-upload{gap:16px;min-width:0;display:grid}.fee-legacy-template-link{align-items:center;gap:6px;width:fit-content;display:inline-flex}.fee-legacy-dropzone{color:#64748b;text-align:center;background:#f8fafc;border:2px dashed #94a3b8;border-radius:12px;justify-items:center;gap:9px;padding:clamp(22px,5vw,38px) 18px;transition:border-color .15s,background .15s;display:grid}.fee-legacy-dropzone strong{color:#1e293b;overflow-wrap:anywhere}.fee-legacy-dropzone.is-active{background:#eff6ff;border-color:#2563eb}.fee-legacy-selected-file{border:1px solid #cbd5e1;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:12px 14px;display:flex}.fee-legacy-selected-file>div:first-child{min-width:0}.fee-legacy-selected-file strong,.fee-legacy-selected-file span{overflow-wrap:anywhere;display:block}.fee-legacy-selected-file span{color:#64748b;margin-top:3px;font-size:11px}.fee-legacy-success{color:#166534;background:#f0fdf4;border:1px solid #86efac;border-radius:10px;padding:12px 14px;font-size:13px;font-weight:750}.fee-legacy-success p,.fee-alert p{margin:7px 0 0}.fee-legacy-result{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.fee-legacy-result .fee-summary{padding:14px}.fee-legacy-error-actions{justify-content:space-between;margin-bottom:10px}.fee-legacy-error-table{border:1px solid #e2e8f0;border-radius:8px;max-height:280px}.fee-legacy-error-table .fee-table{min-width:520px}.fee-balance-table tr:target{outline-offset:-3px;background:#fffbeb;outline:3px solid #f59e0b}@media (width<=720px){.fee-legacy-header{flex-direction:column;align-items:stretch}.fee-legacy-header .fee-actions{flex-direction:column;align-items:stretch;width:100%}.fee-legacy-header .fee-button{width:100%}.fee-legacy-selected-file{flex-direction:column;align-items:stretch}.fee-legacy-selected-file .fee-actions{justify-content:space-between}.fee-legacy-error-actions{flex-direction:column;align-items:stretch}.fee-legacy-error-actions .fee-button{width:100%}}@media (width<=480px){.fee-legacy-information{margin-inline:12px}.fee-legacy-dropzone{padding-inline:12px}.fee-legacy-result{grid-template-columns:1fr}}.fee-history{gap:14px;display:grid}.fee-history-table{min-width:1180px}.fee-history-row--legacy{background:#fffbeb}.fee-history-source{color:#92400e;white-space:nowrap;background:#fef3c7;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:850;display:inline-flex}.fee-pagination{color:#64748b;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:14px;padding:14px 20px;font-size:12px;display:flex}@media (width<=720px){.fee-pagination{justify-content:space-between;padding:12px 14px}}@media (width<=480px){.fee-history-table-wrap{padding:0 14px 14px;overflow:visible}.fee-history-table{min-width:0}.fee-history-table thead{display:none}.fee-history-table tbody,.fee-history-table tr,.fee-history-table td{box-sizing:border-box;width:100%;display:block}.fee-history-table tr{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-top:12px;overflow:hidden}.fee-history-table tr.fee-history-row--legacy{background:#fffbeb;border-color:#fcd34d}.fee-history-table td{overflow-wrap:anywhere;border-top:1px solid #eef2f7;grid-template-columns:minmax(110px,.8fr) minmax(0,1.2fr);gap:10px;padding:11px 12px;display:grid}.fee-history-table td:before{content:attr(data-label);color:#64748b;text-transform:uppercase;font-size:10px;font-weight:850}}.lifecycle-page{color:#172033;gap:18px;max-width:1280px;margin:0 auto;display:grid}.lifecycle-header{background:#fff;border:1px solid #dbe4ee;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;display:flex}.lifecycle-header>div{min-width:0}.lifecycle-header span,.year-card span{color:#1769aa;text-transform:uppercase;font-size:12px;font-weight:800}.lifecycle-header h1{margin:5px 0;font-size:28px}.lifecycle-header p,.lifecycle-panel-heading p,.rollover-readiness p{color:#64748b;margin:0;line-height:1.5}.lifecycle-header>strong{color:#1769aa;flex:none}.lifecycle-alert,.lifecycle-notice,.lifecycle-state{border-radius:8px;padding:13px 15px}.lifecycle-alert{color:#8f202c;background:#fff1f2;border:1px solid #f2b8bf}.lifecycle-notice{color:#17663c;background:#effaf3;border:1px solid #a8dfbd}.lifecycle-state{color:#64748b;background:#fff}.setup-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.setup-progress article{background:#fff;border:1px solid #dbe4ee;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:15px;display:grid}.setup-progress article.is-complete{background:#f3faf6}.setup-step-icon{color:#64748b;background:#eef2f6;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.is-complete .setup-step-icon{color:#17663c;background:#dff5e8}.setup-progress h2{overflow-wrap:anywhere;margin:0;font-size:15px}.setup-progress p{color:#64748b;margin:4px 0 0;font-size:12px}.setup-progress button,.year-actions button,.lifecycle-primary{color:#24415f;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #b7c5d4;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:9px 14px;font-weight:750;display:inline-flex}.lifecycle-primary{color:#fff;background:#1769aa;border-color:#1769aa}.setup-progress button:focus-visible,.year-actions button:focus-visible,.lifecycle-primary:focus-visible,.calendar-form input:focus-visible,.calendar-form select:focus-visible{outline-offset:2px;outline:3px solid #65a9df}.setup-progress button:disabled,.year-actions button:disabled,.lifecycle-primary:disabled{cursor:not-allowed;opacity:.55}.lifecycle-panel{background:#fff;border:1px solid #dbe4ee;border-radius:8px;gap:17px;padding:22px;display:grid}.lifecycle-panel-heading h2{margin:0 0 5px;font-size:19px}.calendar-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.calendar-form label{color:#40556c;gap:6px;min-width:0;font-size:13px;font-weight:700;display:grid}.calendar-form input,.calendar-form select{box-sizing:border-box;color:#172033;width:100%;min-width:0;min-height:44px;font:inherit;background:#fff;border:1px solid #c7d2df;border-radius:8px;padding:9px 11px}.calendar-form label:nth-of-type(5),.calendar-form label:nth-of-type(6){grid-column:span 2}.calendar-form .lifecycle-primary{justify-self:start}.active-year-review{gap:15px;display:grid}.active-year-review dl,.year-card dl{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:0;display:grid}.active-year-review dl div,.year-card dl div{background:#f6f8fa;border-radius:7px;min-width:0;padding:11px}.active-year-review dt,.year-card dt{color:#64748b;font-size:11px}.active-year-review dd,.year-card dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:750}.active-year-review .lifecycle-primary{justify-self:start}.rollover-readiness{color:#1769aa;background:#f1f8fd;border:1px solid #b9d7ef;border-radius:8px;align-items:flex-start;gap:12px;padding:16px;display:flex}.rollover-readiness strong{margin-bottom:3px;display:block}.year-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.year-card{background:#f8fafc;border:1px solid #dbe4ee;border-radius:8px;gap:13px;min-width:0;padding:16px;display:grid}.year-card h3{margin:4px 0 0;font-size:18px}.year-actions{flex-wrap:wrap;gap:10px;display:flex}.lifecycle-context{color:#334e68;background:#f1f8fd;border-left:3px solid #1769aa;margin:0;padding:10px 12px;font-weight:700}.lifecycle-empty{color:#64748b;margin:0}@media (width<=900px){.calendar-form{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-progress{grid-template-columns:1fr}}@media (width<=600px){.lifecycle-page{gap:12px}.lifecycle-header{flex-direction:column;align-items:stretch;padding:17px}.lifecycle-header h1{font-size:24px}.lifecycle-header>strong{align-self:flex-start}.lifecycle-panel{padding:16px}.setup-progress article{grid-template-columns:auto minmax(0,1fr)}.setup-progress button{grid-column:1/-1;width:100%}.calendar-form{grid-template-columns:1fr}.calendar-form label:nth-of-type(5),.calendar-form label:nth-of-type(6){grid-column:auto}.calendar-form .lifecycle-primary,.active-year-review .lifecycle-primary{width:100%}.year-grid{grid-template-columns:1fr}.year-actions{display:grid}.rollover-readiness{align-items:flex-start}}@media (pointer:coarse){.calendar-form input,.calendar-form select{font-size:16px}}@media (prefers-reduced-motion:reduce){.lifecycle-page *{scroll-behavior:auto!important;transition:none!important}}.setup-progress article.is-inline-action{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.setup-progress article.is-inline-action:hover{border-color:#82b6dc;transform:translateY(-1px);box-shadow:0 4px 14px #1769aa1a}.setup-progress article.is-inline-action:focus-visible{outline-offset:2px;outline:3px solid #65a9df}.setup-step-action{color:#24415f;background:#fff;border:1px solid #b7c5d4;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:9px 14px;font-weight:750;display:inline-flex}.is-incomplete .setup-step-icon{color:#9a6700;background:#fff4ce}#academic-calendar,#active-year{scroll-margin-top:18px}@media (width<=600px){.setup-step-action{box-sizing:border-box;grid-column:1/-1;width:100%}}@media (prefers-reduced-motion:reduce){.setup-progress article.is-inline-action{transition:none}.setup-progress article.is-inline-action:hover{transform:none}}.lifecycle-page{gap:20px}.lifecycle-header{background:linear-gradient(135deg,#fff 0%,#f7fbff 68%,#eef8ff 100%);border-color:#d6e3ee;border-radius:14px;padding:26px 28px;box-shadow:0 8px 28px #1f415f0f}.lifecycle-header h1{letter-spacing:-.025em}.setup-remaining{color:#1769aa;white-space:nowrap;background:#eef7fd;border:1px solid #b9d7ef;border-radius:999px;align-items:center;gap:8px;padding:9px 13px;font-size:13px;display:inline-flex}.setup-progress{gap:12px}.setup-progress article{border-radius:12px;min-height:78px;padding:16px 17px;box-shadow:0 2px 8px #1f415f09}.setup-progress article.is-complete{background:linear-gradient(135deg,#f5fbf7,#eff9f3);border-color:#cce8d8}.setup-progress article.is-incomplete{background:linear-gradient(135deg,#fff,#fbfcfe);border-color:#d7e1eb}.setup-step-icon{width:40px;height:40px}.setup-progress h2{color:#172033;font-size:15px;line-height:1.3}.setup-progress p.setup-step-status{flex-wrap:wrap;align-items:center;gap:7px;margin-top:6px;display:flex}.setup-step-status span{color:#765100;letter-spacing:.03em;text-transform:uppercase;background:#fff1c7;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800}.is-complete .setup-step-status span{color:#17663c;background:#dff5e8}.setup-step-action,.setup-progress button{border-color:#b9cee0;transition:background .15s,border-color .15s,color .15s;box-shadow:0 1px 2px #1f415f0a}.setup-step-action:after{content:"↓";color:#1769aa;margin-left:8px;font-size:16px}.setup-progress article.is-inline-action:hover .setup-step-action,.setup-progress button:hover{color:#1769aa;background:#f1f8fd;border-color:#1769aa}.lifecycle-panel{border-color:#d6e3ee;border-radius:14px;padding:25px;box-shadow:0 6px 22px #1f415f0d}.lifecycle-panel-heading{border-bottom:1px solid #e8eef4;padding-bottom:15px}.lifecycle-panel-heading h2{color:#172033;letter-spacing:-.01em}.calendar-form{gap:16px}.calendar-form label{color:#334e68;gap:8px}.calendar-form input,.calendar-form select{background:#fbfdff;border-color:#c9d6e2;border-radius:10px;transition:border-color .15s,box-shadow .15s,background .15s}.calendar-form input:hover,.calendar-form select:hover{background:#fff;border-color:#94b7d2}.calendar-form input:focus,.calendar-form select:focus{background:#fff;border-color:#1769aa;box-shadow:0 0 0 3px #1769aa1a}.lifecycle-primary{border-radius:10px;transition:background .15s,box-shadow .15s,transform .15s;box-shadow:0 4px 10px #1769aa2e}.lifecycle-primary:hover:not(:disabled){background:#125a91;transform:translateY(-1px);box-shadow:0 6px 14px #1769aa3b}.active-year-review dl{gap:14px}.active-year-review dl div{background:#f8fafc;border:1px solid #e8eef4;border-radius:10px;padding:14px}.active-year-review dt{text-transform:uppercase;letter-spacing:.035em;font-weight:700}.active-year-review dd{margin-top:7px;font-size:16px}@media (width<=600px){.lifecycle-header{padding:20px}.setup-remaining{align-self:flex-start}.setup-progress article{padding:15px}.lifecycle-panel{padding:18px}.lifecycle-panel-heading{padding-bottom:12px}.calendar-form{gap:14px}}@media (prefers-reduced-motion:reduce){.setup-step-action,.setup-progress button,.calendar-form input,.calendar-form select,.lifecycle-primary{transition:none}.lifecycle-primary:hover:not(:disabled){transform:none}}.lifecycle-alert{justify-content:space-between;align-items:center;gap:12px;display:flex}.lifecycle-alert button,.lifecycle-secondary{color:#24415f;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #b7c5d4;border-radius:10px;justify-content:center;align-items:center;padding:9px 14px;font-weight:750;display:inline-flex}.lifecycle-alert button{color:#8f202c;border-color:#d58c96;flex:none}.active-year-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important}.year-status-badge{color:#24415f;text-transform:capitalize;background:#e8f1f8;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.year-status-badge.is-confirmed{color:#17663c;background:#dff5e8}.year-status-badge.is-pending{color:#765100;background:#fff1c7}.date-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.date-comparison article{background:#f8fafc;border:1px solid #dbe4ee;border-radius:12px;gap:8px;min-width:0;padding:17px;display:grid}.date-comparison article.is-recommended{background:#f1f8fd;border-color:#b9d7ef}.date-comparison span,.confirmed-date-grid span{color:#64748b;text-transform:uppercase;letter-spacing:.035em;font-size:12px;font-weight:750}.date-comparison strong{color:#172033;font-size:15px;line-height:1.45}.active-year-editor{background:#fbfdff;border:1px solid #dbe4ee;border-radius:12px;gap:14px;padding:18px;display:grid}.active-year-date-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.active-year-date-fields label{color:#334e68;gap:7px;min-width:0;font-size:13px;font-weight:750;display:grid}.active-year-date-fields input{box-sizing:border-box;color:#172033;width:100%;min-width:0;min-height:44px;font:inherit;background:#fff;border:1px solid #c9d6e2;border-radius:10px;padding:9px 11px}.active-year-date-fields input:focus-visible,.lifecycle-secondary:focus-visible,.lifecycle-alert button:focus-visible{outline-offset:2px;outline:3px solid #65a9df}.active-year-date-fields input[aria-invalid=true]{border-color:#b42318}.field-error{color:#b42318;font-weight:700}.active-year-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.unsaved-indicator{color:#765100;margin:0;font-size:12px;font-weight:750}.confirmed-date-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.confirmed-date-grid div{background:#f3faf6;border:1px solid #cce8d8;border-radius:12px;gap:7px;padding:16px;display:grid}.active-year-empty{background:#f8fafc;border:1px dashed #b7c5d4;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.active-year-empty h3{color:#172033;margin:0;font-size:17px}.active-year-empty p{color:#64748b;margin:5px 0 0}.shared-confirmation-copy{white-space:normal}@media (width<=900px){.active-year-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (width<=600px){.lifecycle-alert,.active-year-empty{flex-direction:column;align-items:stretch}.lifecycle-alert button,.active-year-empty button{width:100%}.date-comparison,.active-year-date-fields,.confirmed-date-grid{grid-template-columns:1fr}.active-year-actions{display:grid}.active-year-actions button{width:100%}.active-year-summary{grid-template-columns:1fr!important}.active-year-editor{padding:14px}.date-comparison strong{overflow-wrap:anywhere}}@media (width<=480px){.shared-modal__footer{flex-direction:column-reverse}.shared-modal__footer>*{width:100%;min-height:44px}}.confirmed-date-section,.confirmed-date-edit-form{gap:14px;min-width:0;display:grid}.confirmed-date-section>.lifecycle-secondary{justify-self:start}.confirmed-date-edit-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.confirmed-date-edit-summary div{background:#f8fafc;border-radius:10px;min-width:0;padding:12px}.confirmed-date-edit-summary dt{color:#64748b;text-transform:uppercase;font-size:11px;font-weight:800}.confirmed-date-edit-summary dd{color:#172033;overflow-wrap:anywhere;margin:5px 0 0;font-weight:750}.confirmed-date-warning{color:#684b0b;background:#fff8e6;border:1px solid #efc36c;border-radius:10px;align-items:flex-start;gap:10px;padding:13px;display:flex}.confirmed-date-warning svg{flex:none}.confirmed-date-warning p{margin:0;line-height:1.5}.confirmed-date-warning strong{display:block}.confirmed-date-submit-error{color:#8f202c;background:#fff1f2;border:1px solid #f2b8bf;border-radius:9px;padding:11px 12px;font-weight:700}.confirmed-date-edit-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.confirmed-date-edit-fields label,.confirmed-date-reason{color:#334e68;gap:6px;min-width:0;font-size:13px;font-weight:750;display:grid}.confirmed-date-edit-fields input,.confirmed-date-reason textarea{box-sizing:border-box;color:#172033;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #c9d6e2;border-radius:10px;padding:10px 11px}.confirmed-date-edit-fields input{min-height:44px}.confirmed-date-reason textarea{resize:vertical}.confirmed-date-edit-fields input:focus-visible,.confirmed-date-reason textarea:focus-visible,.confirmed-date-acknowledgement input:focus-visible{outline-offset:2px;outline:3px solid #65a9df}.confirmed-date-edit-fields input[aria-invalid=true],.confirmed-date-reason textarea[aria-invalid=true]{border-color:#b42318}.confirmed-date-guidance{color:#765100;margin:0;font-size:12px;font-weight:750}.confirmed-date-acknowledgement{color:#334e68;border:1px solid #dbe4ee;border-radius:10px;align-items:flex-start;gap:10px;padding:12px;font-weight:700;line-height:1.45;display:flex}.confirmed-date-acknowledgement input{accent-color:#1769aa;flex:none;width:18px;height:18px;margin:1px 0 0}@media (width<=600px){.confirmed-date-section>.lifecycle-secondary{width:100%}.confirmed-date-edit-summary,.confirmed-date-edit-fields{grid-template-columns:1fr}.confirmed-date-edit-form{gap:12px}}@media (pointer:coarse){.confirmed-date-edit-fields input,.confirmed-date-reason textarea{font-size:16px}}.promotion-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.promotion-grid label{color:#40556c;gap:6px;min-width:0;font-size:13px;font-weight:700;display:grid}.promotion-grid input,.promotion-grid select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;font:inherit;background:#fff;border:1px solid #c7d2df;border-radius:8px;padding:9px 11px}.promotion-students{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.promotion-students>label{border:1px solid #dbe4ee;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:10px;display:flex}.promotion-students input{width:18px;height:18px}.promotion-students strong,.promotion-students small{display:block}.promotion-students small{color:#64748b;margin-top:3px}@media (width<=900px){.promotion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.promotion-grid,.promotion-students{grid-template-columns:1fr}}@media (pointer:coarse){.promotion-grid input,.promotion-grid select{font-size:16px}}.sams-admin{color:#0f172a;text-align:left;background:#f6f8fb;width:100%;height:100svh;min-height:100svh;position:relative;overflow:hidden}.dashboard-shell{z-index:1;box-sizing:border-box;grid-template-columns:260px minmax(0,1fr);align-items:stretch;gap:22px;width:100%;height:100svh;min-height:0;padding:20px clamp(16px,3vw,32px);transition:grid-template-columns .18s;display:grid;position:relative;overflow:hidden}.dashboard-shell--collapsed{grid-template-columns:92px minmax(0,1fr)}.dashboard-sidebar{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;height:100%;min-height:0;padding:22px;display:flex;overflow:hidden;box-shadow:0 18px 50px #0f172a14}.dashboard-content{overscroll-behavior:contain;flex-direction:column;gap:18px;min-width:0;height:100%;min-height:0;padding-right:4px;display:flex;overflow:hidden}.dashboard-content__scroller{overscroll-behavior:contain;scrollbar-gutter:stable;scroll-behavior:auto;flex-direction:column;flex:auto;gap:18px;min-height:0;display:flex;overflow:hidden auto}.sams-topbar{height:var(--profile-control-size,128px);min-height:var(--profile-control-size,128px);flex:0 0 var(--profile-control-size,128px)}.sams-topbar__menu{z-index:110}.sams-topbar__menu-button,.dashboard-sidebar-backdrop{display:none}.sams-topbar__spacer{flex:auto}.dashboard-shell--collapsed .dashboard-sidebar{padding-inline:14px!important}.dashboard-shell--collapsed .dashboard-sidebar__nav button{justify-content:center;padding-inline:10px!important}.dashboard-sidebar__fixed{border-bottom:1px solid #e2e8f0;flex:none;gap:18px;padding-bottom:18px;display:grid;position:relative}.dashboard-sidebar__nav{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;flex:auto;align-content:start;gap:8px;min-height:0;padding:18px 4px 4px 0;display:grid;overflow-y:auto}.dashboard-sidebar__menu-group{gap:5px;display:grid}.dashboard-sidebar__menu-group>button{color:#64748b;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;width:100%;padding:12px 14px;font-size:15px;font-weight:800;transition:all .2s;display:flex}.sams-admin .dashboard-sidebar__menu-group>button.is-active{color:#0f172a!important;background:#eff6ff!important;border-color:#bfdbfe!important}.dashboard-sidebar__submenu{gap:3px;padding:2px 0 5px 31px;display:grid}.dashboard-sidebar__submenu button{text-align:left;cursor:pointer;color:#64748b!important;background:0 0!important;border:0!important;border-left:2px solid #dbeafe!important;border-radius:0 9px 9px 0!important;padding:8px 10px!important;font-size:12px!important;font-weight:750!important}.dashboard-sidebar__submenu button.is-active{color:#1d4ed8!important;background:#eff6ff!important;border-left-color:#2563eb!important}.dashboard-sidebar__profile{background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid #dbeafe;border-radius:14px;align-items:center;gap:11px;min-width:0;min-height:54px;padding:10px 12px;display:flex}.dashboard-sidebar__profile.is-collapsed{justify-content:center;padding-inline:8px}.dashboard-sidebar__avatar,.sams-topbar__avatar{color:#1d4ed8;background:#dbeafe;border-radius:50%;flex:none;place-items:center;display:grid}.dashboard-sidebar__avatar{width:34px;height:34px}.dashboard-sidebar__profile-copy,.sams-topbar__profile-copy{gap:3px;min-width:0;display:grid}.dashboard-sidebar__profile-copy strong,.dashboard-sidebar__profile-copy small,.sams-topbar__profile-copy strong,.sams-topbar__profile-copy small{text-overflow:ellipsis;white-space:nowrap;line-height:1.15;overflow:hidden}.dashboard-sidebar__profile-copy strong{color:#0f172a;font-size:13px}.dashboard-sidebar__profile-copy small{color:#64748b;font-size:11px;font-weight:700}.dashboard-detail-grid{grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr)}.quick-view-panel{border:1px solid var(--border);min-width:0;font-family:var(--sans);background:#fff;border-radius:8px;align-content:start;gap:12px;padding:22px;display:grid;box-shadow:0 18px 50px #0f172a14}.quick-view-panel>h2{color:var(--text-h);font-family:var(--heading);letter-spacing:0;margin:0 0 6px;font-size:24px;font-weight:800;line-height:1.18}.quick-view-list{gap:12px;min-width:0;display:grid}.quick-view-card{border:1px solid var(--border);background:#f8fafc;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(max-content,42%);align-items:center;gap:16px;width:100%;min-width:0;min-height:64px;padding:14px 16px;display:grid}.quick-view-card__label,.quick-view-card__value{font-family:inherit;line-height:1.35}.quick-view-card__label{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:16px;font-weight:700}.quick-view-card__value{min-width:0;color:var(--text-h);text-align:right;white-space:nowrap;font-size:clamp(1rem,1.5vw,1.25rem);font-weight:800}.dashboard-page-header{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:clamp(20px,3vw,30px);box-shadow:0 18px 50px #0f172a12}.dashboard-summary-grid{align-items:stretch}.dashboard-summary-card{min-width:0;height:100%;transition:transform .16s,border-color .16s,box-shadow .16s}.dashboard-summary-card:hover{transform:translateY(-2px);border-color:#bfdbfe!important;box-shadow:0 20px 48px #1e40af1f!important}.classes-page,.classes-header-card,.classes-panel{width:100%;min-width:0}.classes-page{container-type:inline-size}.classes-configuration-grid{grid-template-columns:1fr!important}.classes-generate-button,.classes-save-button{white-space:nowrap;place-self:end;min-width:150px;min-height:44px;width:auto!important}.classes-save-area{min-height:44px}.student-manual-form{width:100%;max-width:1080px;margin:0 auto}.student-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-form-field-full{grid-column:1/-1}@media (pointer:coarse){.student-manual-form input,.student-manual-form select,.student-manual-form textarea{font-size:16px!important}}@media (width<=680px){.student-detail-header{grid-template-columns:1fr!important}}@container (width>=620px){.classes-configuration-grid{grid-template-columns:repeat(2,minmax(180px,1fr))!important}.classes-generate-button{justify-self:start}}@container (width>=1050px){.classes-configuration-grid{grid-template-columns:repeat(5,minmax(130px,1fr)) auto!important}.classes-generate-button{justify-self:end}}@media (width<=820px){.dashboard-shell{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr;overflow:hidden}.dashboard-sidebar{z-index:102;visibility:hidden;width:min(300px,100vw - 48px);height:auto;max-height:none;transition:transform .18s,visibility .18s;position:fixed;top:12px;bottom:12px;left:12px;transform:translate(calc(-100% - 24px))}.dashboard-sidebar.is-mobile-open{visibility:visible;transform:translate(0)}.dashboard-sidebar__toggle{display:none}.dashboard-sidebar-backdrop{z-index:101;cursor:pointer;background:#0f172a6b;border:0;width:100%;height:100%;padding:0;display:block;position:fixed;inset:0}.sams-topbar__menu-button{display:inline-flex}.dashboard-content{height:100%;max-height:none}.dashboard-detail-grid,.student-form-grid{grid-template-columns:1fr}.student-form-field-full{grid-column:auto}}@media (width<=560px){.sams-topbar{height:var(--profile-control-size,60px);min-height:var(--profile-control-size,60px);flex-basis:var(--profile-control-size,60px)}.dashboard-sidebar{padding:14px}.dashboard-sidebar__fixed{gap:12px;padding-bottom:12px}.dashboard-sidebar__nav{padding-top:12px}.dashboard-page-header{padding:20px;align-items:stretch!important}.dashboard-page-header h1{font-size:clamp(28px,9vw,38px)!important}.dashboard-summary-grid{grid-template-columns:1fr!important}.quick-view-panel{padding:18px}.quick-view-panel>h2{font-size:20px}.quick-view-card{grid-template-columns:minmax(0,1fr) minmax(max-content,46%);gap:12px;padding-inline:14px}.quick-view-card__label{font-size:15px}.quick-view-card__value{font-size:clamp(.9rem,4.5vw,1.1rem)}.classes-panel__body{padding:18px!important}.classes-mode-group{grid-template-columns:1fr 1fr;display:grid!important}.classes-mode-group>label{min-width:0!important}.classes-generate-button,.classes-save-button{justify-self:stretch;min-width:0;width:100%!important}.classes-save-area{display:grid!important}.classes-grade-row{grid-template-columns:1fr!important}}.role-dashboard{gap:18px;min-width:0;display:grid}.role-dashboard__header{align-items:center;gap:16px;display:flex}.role-dashboard__header h1,.sams-state-page h1{color:#0f172a;letter-spacing:0;margin:0;font-size:clamp(28px,4vw,42px);font-weight:900;line-height:1.08}.role-dashboard__header p,.sams-state-page p{color:#64748b;margin:8px 0 0;line-height:1.65}.role-dashboard .dashboard-summary-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.role-dashboard .dashboard-summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:20px;box-shadow:0 18px 50px #0f172a14}.role-dashboard .dashboard-summary-card strong{color:#0f172a;margin:10px 0 8px;font-size:30px;line-height:1;display:block}.role-dashboard .dashboard-summary-card p{color:#64748b;margin:0;font-size:14px}.role-dashboard__card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.role-dashboard__card-head>span:first-child{font-size:14px;font-weight:800}.role-dashboard__card-icon,.role-dashboard__title-icon,.sams-state-page__icon{border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.role-dashboard__card-icon{width:38px;height:38px}.role-dashboard__card-icon svg,.role-dashboard__title-icon svg{width:21px;height:21px}.role-dashboard__title-icon,.sams-state-page__icon{color:#1967d2;background:#eff6ff;width:48px;height:48px}.role-dashboard__panel,.sams-state-page{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:clamp(22px,3vw,32px);box-shadow:0 18px 50px #0f172a14}.role-dashboard__panel h2{color:#0f172a;letter-spacing:0;margin:0 0 16px;font-size:22px;font-weight:900}.role-dashboard__workflow{gap:12px;display:grid}.role-dashboard__workflow>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:12px;padding:14px;display:flex}.role-dashboard__workflow span{background:#1967d2;border-radius:999px;flex:none;width:10px;height:10px;margin-top:7px}.role-dashboard__workflow p{color:#334155;margin:0;font-weight:700;line-height:1.55}.sams-state-page{text-align:center;place-items:center;min-height:min(520px,70svh);display:grid}.sams-state-page button{color:#fff;cursor:pointer;background:#1967d2;border:0;border-radius:8px;min-height:44px;margin-top:10px;padding:11px 18px;font-weight:900}@media (width<=560px){.role-dashboard__header{align-items:flex-start}.role-dashboard .dashboard-summary-grid{grid-template-columns:1fr}}.dashboard-page-header{box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important}.dashboard-page-header h1,.role-dashboard__header h1,.sams-state-page h1{font-size:clamp(22px,2.4vw,28px)!important;line-height:1.2!important}.role-dashboard__title-icon,.sams-state-page__icon,.dashboard-page-header p,.role-dashboard__header p,.sams-state-page p{display:none!important}.dashboard-content__scroller{gap:14px}@media (width<=560px){.dashboard-page-header{padding:0!important}}.sams-toast{z-index:11000;top:max(20px, env(safe-area-inset-top));right:max(20px, env(safe-area-inset-right));color:#fff;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;width:min(380px,100vw - 32px);min-height:50px;padding:12px 12px 12px 16px;font-size:14px;font-weight:750;line-height:1.45;display:flex;position:fixed;box-shadow:0 18px 46px #0f172a38}.sams-toast--success{background:#15803d}.sams-toast--error{background:#b42318}.sams-toast--warning{background:#b45309}.sams-toast--info{background:#1d4ed8}.sams-toast button{color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:8px;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid}@media (width<=480px){.sams-toast{top:auto;right:16px;bottom:max(16px, env(safe-area-inset-bottom));width:auto;left:16px}}
