@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2)format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-700-normal-Qrb0O0WB.woff2)format("woff2"),url(/assets/poppins-latin-700-normal-BVuQR_eA.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/poppins-latin-800-normal-Bd8-pIP1.woff2)format("woff2"),url(/assets/poppins-latin-800-normal-YoItoZZV.woff)format("woff")}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-blue-100:oklch(93.2% .032 255.585);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--leading-tight:1.25;--radius-xl:.75rem;--radius-2xl:1rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.min-h-44{min-height:calc(var(--spacing) * 44)}.min-h-80{min-height:calc(var(--spacing) * 80)}.min-h-dvh{min-height:100dvh}.max-w-lg{max-width:var(--container-lg)}.min-w-0{min-width:0}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-slate-50{background-color:var(--color-slate-50)}.p-6{padding:calc(var(--spacing) * 6)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-blue-100\/75{color:#dbeafebf}@supports (color:color-mix(in lab, red, red)){.text-blue-100\/75{color:color-mix(in oklab, var(--color-blue-100) 75%, transparent)}}.text-slate-500{color:var(--color-slate-500)}.text-slate-900{color:var(--color-slate-900)}.text-slate-950{color:var(--color-slate-950)}.text-white{color:var(--color-white)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-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,)}@media (width>=64rem){.lg\:hidden{display:none}}}:root{color:#12213b;font-synthesis:none;text-rendering:optimizelegibility;background:#f3f7fc;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{background:#f3f7fc;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.58}a{color:inherit}:focus-visible{outline-offset:2px;outline:3px solid #1d74e852}.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}.skip-link{z-index:100;color:#071a3b;background:#fff;border-radius:10px;padding:10px 14px;font-weight:700;position:fixed;top:-80px;left:16px;box-shadow:0 8px 30px #0003}.skip-link:focus{top:12px}.button-primary,.button-secondary,.button-quiet,.button-link{border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 14px;font-size:14px;font-weight:700;transition:background .18s,border-color .18s,transform .18s;display:inline-flex}.button-primary{color:#fff;background:#1251b5;box-shadow:0 8px 18px #1251b52e}.button-primary:hover{background:#0d4298}.button-secondary{color:#1c3559;background:#fff;border-color:#cad7e9}.button-secondary:hover{background:#f8fbff;border-color:#92acd0}.button-quiet{color:#1251b5;background:#eaf2ff;min-height:36px;padding:6px 10px}.button-quiet:hover{background:#dceaff}.button-link{color:#1251b5;background:0 0;min-height:36px;padding:6px 8px}.button-link:hover{background:#eff5fd}.icon-button{color:#294365;background:#fff;border:1px solid #d3ddeb;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:inline-grid}.icon-button:hover{background:#f1f6fc}.eyebrow{color:#38618f;letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:800}.eyebrow-light{color:#9fc6ff}.login-page{background:#fff;grid-template-columns:minmax(380px,46%) 1fr;min-height:100dvh;display:grid}.login-story{color:#fff;background:radial-gradient(circle at 84% 24%,#257aee61,#0000 31%),radial-gradient(circle at 12% 86%,#f5b81b24,#0000 30%),linear-gradient(142deg,#071a3b 4%,#0a2b63 58%,#104da8 140%);min-height:100%;padding:54px clamp(34px,5vw,78px);position:relative;overflow:hidden}.login-story:before,.login-story:after{content:"";border:1px solid #ffffff17;border-radius:50%;position:absolute}.login-story:before{width:460px;height:460px;top:-120px;right:-210px}.login-story:after{width:300px;height:300px;bottom:-90px;left:-150px}.login-story-inner{z-index:1;flex-direction:column;min-height:calc(100dvh - 108px);display:flex;position:relative}.login-message{max-width:620px;margin:auto 0;padding:80px 0}.login-kicker{background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.login-message h1{letter-spacing:-.04em;max-width:620px;margin:24px 0 18px;font-family:Poppins,sans-serif;font-size:clamp(36px,4.5vw,64px);line-height:1.08}.login-message p{color:#c9dcf7;max-width:580px;margin:0;font-size:clamp(16px,1.5vw,19px);line-height:1.75}.login-statistics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:28px 0 0;display:grid}.login-statistics>div{background:#ffffff12;border:1px solid #ffffff21;border-radius:12px;flex-direction:column-reverse;gap:4px;min-width:0;padding:12px;display:flex}.login-statistics dt{color:#acc5e7;font-size:10px;font-weight:700;line-height:1.35}.login-statistics dd{color:#fff;margin:0;font-family:Poppins,sans-serif;font-size:clamp(18px,2vw,25px);font-weight:700}.login-statistics-panel{display:none}.login-footnote{color:#9eb9dd;margin:0;font-size:12px}.login-panel{place-items:center;padding:44px clamp(24px,7vw,100px);display:grid}.login-card{width:100%;max-width:460px}.login-card h2{color:#0b1d3c;letter-spacing:-.025em;margin:7px 0 8px;font-family:Poppins,sans-serif;font-size:31px}.login-intro{color:#687b96;margin:0 0 28px;font-size:14px;line-height:1.65}.login-alert,.auth-gate,.inline-alert{color:#9b2c2c;background:#fff2f1;border:1px solid #f2bbb9;border-radius:12px;align-items:flex-start;gap:10px;margin:0 0 18px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.login-alert svg,.auth-gate>svg{flex:none;margin-top:2px}.auth-gate{color:#694b07;background:#fff9e9;border-color:#f1d28b}.auth-gate strong{display:block}.auth-gate p{margin:3px 0 8px}.auth-gate button{color:#0f4ba6;font-weight:800;text-decoration:underline}.mfa-heading{background:#eff6ff;border:1px solid #c9dbef;border-radius:13px;align-items:flex-start;gap:12px;padding:14px;display:flex}.mfa-heading>span{color:#1251b5;background:#dceaff;border-radius:11px;flex:none;place-items:center;width:37px;height:37px;display:grid}.mfa-heading strong{color:#17385f;font-size:13px}.mfa-heading p{color:#5e7590;margin:3px 0 0;font-size:11px;line-height:1.55}.mfa-expiry{color:#77899f;margin:-6px 0 0;font-size:10px}.login-form{gap:18px;display:grid}.login-form>label>span{color:#253b5a;margin:0 0 7px;font-size:13px;font-weight:700;display:block}.input-with-icon{position:relative}.input-with-icon>svg{z-index:1;color:#7a8da7;position:absolute;top:50%;left:14px;translate:0 -50%}.input-with-icon input{color:#13243f;background:#fff;border:1px solid #cdd8e7;border-radius:12px;width:100%;min-height:50px;padding:12px 46px 12px 43px;transition:border-color .15s,box-shadow .15s}.input-with-icon input::placeholder{color:#9aa8b9}.input-with-icon input:focus{border-color:#3479dc;outline:none;box-shadow:0 0 0 4px #3479dc1f}.password-toggle{color:#607590;border-radius:9px;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:50%;right:8px;translate:0 -50%}.password-toggle:hover{background:#edf3fa}.remember-field{color:#53677f;align-items:center;gap:10px;font-size:13px;display:flex}.remember-field input{accent-color:#1251b5;width:17px;height:17px}.login-submit{color:#fff;background:linear-gradient(105deg,#10499f,#1762cf);border-radius:12px;justify-content:center;align-items:center;gap:9px;min-height:51px;font-weight:800;display:flex;box-shadow:0 12px 25px #1251b538}.login-submit:hover{filter:brightness(.96)}.button-spinner,.loading-ring{border:2px solid #ffffff75;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}.security-note{color:#8492a6;border-top:1px solid #e5ebf3;margin:24px 0 0;padding-top:18px;font-size:11px;line-height:1.6}.app-shell{min-height:100dvh}.sidebar{z-index:50;color:#fff;background:linear-gradient(#061833,#071f45 68%,#081a38);flex-direction:column;width:278px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;box-shadow:14px 0 35px #0f1f371a}.sidebar-brand{justify-content:space-between;align-items:flex-start;padding:27px 22px 24px;display:flex}.sidebar-close{color:#c5d9f5;border-radius:10px;place-items:center;width:38px;height:38px;display:none}.context-chip{background:#ffffff0f;border:1px solid #96bef129;border-radius:13px;align-items:center;gap:10px;margin:0 15px 20px;padding:12px;display:flex}.context-chip>svg{color:#f5b81b}.context-chip div{gap:2px;min-width:0;display:grid}.context-chip span{color:#91aaca;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.context-chip strong{color:#f7fbff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sidebar-nav{gap:5px;padding:0 13px;display:grid}.nav-heading{color:#718cad;letter-spacing:.14em;text-transform:uppercase;margin:4px 11px 8px;font-size:10px;font-weight:800}.nav-link{color:#b8cae2;border-radius:11px;align-items:center;gap:12px;min-height:45px;padding:10px 12px;font-size:13px;font-weight:650;text-decoration:none;display:flex}.nav-link svg{flex:none;width:18px;height:18px}.nav-link:hover{color:#fff;background:#ffffff0f}.nav-link-active{color:#fff;background:linear-gradient(96deg,#2b74dc57,#245cb02e);box-shadow:inset 3px 0 #f5b81b}.sidebar-help{color:#8ea8ca;border-top:1px solid #ffffff14;align-items:flex-start;gap:10px;margin:auto 15px 20px;padding:20px 8px 0;display:flex}.sidebar-help>svg{color:#f5b81b;flex:none;margin-top:2px}.sidebar-help div{gap:4px;display:grid}.sidebar-help strong{color:#d6e5f8;font-size:11px}.sidebar-help span{font-size:10px;line-height:1.5}.shell-content{min-height:100dvh;margin-left:278px}.topbar{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border-bottom:1px solid #cad8eae0;align-items:center;gap:14px;height:72px;padding:0 clamp(18px,3vw,38px);display:flex;position:sticky;top:0}.topbar-title{gap:2px;display:grid}.topbar-title span{color:#72839a;letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.topbar-title strong{color:#132844;font-size:14px}.topbar-notification{color:#315478;border-radius:11px;place-items:center;width:40px;height:40px;margin-left:auto;text-decoration:none;display:grid;position:relative}.topbar-notification:hover{color:#1251b5;background:#edf3fa}.topbar-notification>span{color:#fff;text-align:center;background:#d83b38;border:2px solid #fff;border-radius:999px;min-width:18px;height:18px;padding:0 4px;font-size:8px;font-weight:800;line-height:14px;position:absolute;top:-3px;right:-3px}.account-button{text-align:left;border-radius:12px;align-items:center;gap:10px;padding:6px 8px;display:flex}.account-button:hover{background:#f0f5fb}.avatar{color:#fff;background:linear-gradient(135deg,#104b9f,#1e6bd7);border-radius:12px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.account-copy{gap:1px;max-width:210px;display:grid}.account-copy strong,.account-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-copy strong{color:#1b304d;font-size:12px}.account-copy small{color:#718199;font-size:10px}.account-menu{background:#fff;border:1px solid #d7e0ec;border-radius:13px;width:250px;position:absolute;top:calc(100% + 9px);right:0;overflow:hidden;box-shadow:0 16px 40px #1c324f29}.account-menu>div{border-bottom:1px solid #e5ebf3;gap:3px;padding:15px;display:grid}.account-menu strong{color:#132844;font-size:13px}.account-menu span{color:#718199;text-overflow:ellipsis;font-size:11px;overflow:hidden}.account-menu button{color:#a33131;align-items:center;gap:10px;width:100%;padding:12px 15px;font-size:13px;font-weight:700;display:flex}.account-menu button:hover{background:#fff3f2}.main-content{width:min(100%,1540px);margin:0 auto;padding:clamp(22px,3vw,40px)}.page-stack{gap:24px;display:grid}.page-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.page-heading h1{color:#0d213f;letter-spacing:-.025em;margin:5px 0;font-family:Poppins,sans-serif;font-size:clamp(25px,3vw,34px)}.page-heading p{color:#60748e;max-width:760px;margin:0;font-size:14px;line-height:1.65}.surface-card{background:#fff;border:1px solid #dbe4ef;border-radius:17px;overflow:hidden;box-shadow:0 8px 25px #1d375a0e}.welcome-panel{color:#fff;background:linear-gradient(115deg,#08224a,#104fa9 72%,#1673d6);border-radius:20px;justify-content:space-between;align-items:center;min-height:235px;padding:clamp(28px,4vw,52px);display:flex;position:relative;overflow:hidden;box-shadow:0 18px 38px #0e3f8a2e}.welcome-panel:before{content:"";border:1px solid #ffffff29;border-radius:50%;width:330px;height:330px;position:absolute;top:-185px;right:-95px}.welcome-panel>div:first-child{z-index:1;position:relative}.welcome-panel h1{letter-spacing:-.035em;margin:7px 0 9px;font-family:Poppins,sans-serif;font-size:clamp(29px,4vw,45px)}.welcome-panel p{color:#d0e3fb;max-width:680px;margin:0;font-size:15px;line-height:1.65}.welcome-context{flex-wrap:wrap;gap:9px;margin-top:23px;display:flex}.welcome-context span{color:#d9eaff;background:#ffffff14;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:650;display:inline-flex}.welcome-mark{color:#f5b81b;background:#ffffff17;border:1px solid #ffffff2e;border-radius:40px;flex:none;place-items:center;width:146px;height:146px;font-family:Poppins,sans-serif;font-size:92px;font-weight:700;display:grid;position:relative;rotate:5deg}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.workflow-card{background:#fff;border:1px solid #d8e3f0;border-radius:17px;padding:27px;position:relative;overflow:hidden;box-shadow:0 8px 23px #1d375a0b}.workflow-card:after{content:"";background:#eaf3ff;border-radius:50%;width:160px;height:160px;position:absolute;top:-90px;right:-85px}.workflow-icon{color:#1251b5;background:#e7f1ff;border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:19px;font-size:22px;display:grid}.workflow-teacher .workflow-icon{color:#167655;background:#eaf8f2}.workflow-card h2{color:#102541;max-width:460px;margin:6px 0 9px;font-family:Poppins,sans-serif;font-size:20px}.workflow-card>p{color:#657991;min-height:48px;margin:0;font-size:13px;line-height:1.65}.assignment-line{color:#536b87;background:#f4f8fd;border-radius:10px;align-items:flex-start;gap:8px;min-height:42px;margin:17px 0;padding:10px 11px;font-size:11px;line-height:1.45;display:flex}.assignment-line svg{flex:none;margin-top:1px}.workflow-card>a{color:#1251b5;align-items:center;gap:8px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.workflow-card>a:hover{gap:11px}.process-card{padding:27px}.process-card h2{color:#102541;margin:6px 0 0;font-family:Poppins,sans-serif;font-size:21px}.process-flow{grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0 0;padding:0;list-style:none;display:grid}.process-flow li{gap:12px;display:flex}.process-flow li>span{color:#1251b5;background:#e8f1ff;border-radius:10px;flex:none;place-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:grid}.process-flow strong{color:#1a3150;font-size:13px}.process-flow p{color:#6b7f97;margin:4px 0 0;font-size:11px;line-height:1.55}.legacy-callout{color:#274b75;background:#edf5ff;border:1px solid #c9dbef;border-radius:15px;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;font-size:12px;display:flex}.legacy-callout>div{align-items:center;gap:11px;display:flex}.legacy-callout>div>svg{color:#1251b5;font-size:20px}.legacy-callout span{gap:2px;display:grid}.legacy-callout a{color:#0e4ca8;flex:none;align-items:center;gap:7px;font-weight:800;text-decoration:none;display:inline-flex}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metric-card{background:#fff;border:1px solid #dbe4ef;border-radius:15px;align-items:center;gap:14px;min-width:0;padding:17px;display:flex;box-shadow:0 6px 18px #1d375a0a}.metric-icon{border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:19px;display:grid}.metric-blue{color:#1457ba;background:#e7f1ff}.metric-amber{color:#ad7300;background:#fff5d9}.metric-green{color:#177454;background:#e6f7ef}.metric-rose{color:#b03d3d;background:#ffeded}.metric-card>div{gap:2px;min-width:0;display:grid}.metric-card strong{color:#102541;font-family:Poppins,sans-serif;font-size:23px;line-height:1}.metric-card span:not(.metric-icon){color:#6d7f94;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:650;overflow:hidden}.records-toolbar{border-bottom:1px solid #e1e8f1;justify-content:space-between;align-items:center;gap:20px;padding:19px 21px;display:flex}.records-toolbar h2{color:#142b49;margin:0;font-size:16px}.records-toolbar p{color:#7a8ba0;margin:3px 0 0;font-size:11px}.filter-field{color:#60748e;background:#fff;border:1px solid #cdd8e6;border-radius:11px;align-items:center;gap:8px;min-height:40px;padding:0 10px;display:flex}.filter-field select{color:#273f5e;background:0 0;border:0;outline:0;max-width:190px;font-size:12px;font-weight:700}.surface-card>.inline-alert{margin:14px 18px 0}.report-list{display:grid}.report-card{border-bottom:1px solid #e4ebf3}.report-card:last-child{border-bottom:0}.report-card-main{text-align:left;width:100%;padding:20px 21px 15px;display:block}.report-card-main:hover{background:#fbfdff}.report-card-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.status-badge,.severity-badge{letter-spacing:.035em;text-transform:uppercase;border-radius:999px;align-items:center;width:fit-content;padding:4px 8px;font-size:9px;font-weight:800;display:inline-flex}.status-new,.status-pending{color:#8e6100;background:#fff2c9}.status-received{color:#1554a8;background:#e8f2ff}.status-reviewed,.status-acknowledged,.status-resolved,.status-closed{color:#176647;background:#dff5ea}.status-elevated,.status-endorsed{color:#a23b34;background:#ffe7e5}.severity-badge{color:#66768b;background:#edf1f6}.severity-major{color:#a32c26;background:#ffe3e0}.severity-minor{color:#265b97;background:#e8f3ff}.record-reference{color:#5b6d84;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.report-card h3{color:#132a48;margin:12px 0 3px;font-size:15px}.report-category{color:#426183;margin:0;font-size:12px}.report-meta{flex-wrap:wrap;gap:8px 17px;margin-top:12px;display:flex}.report-meta span{color:#76889d;align-items:center;gap:6px;font-size:10px;display:inline-flex}.report-meta svg{color:#557aa7}.report-card-actions{background:#f8fafc;justify-content:space-between;align-items:center;gap:15px;min-height:46px;padding:7px 13px 7px 21px;display:flex}.report-card-actions>span{color:#586b82;font-size:10px}.report-card-actions>div{align-items:center;gap:4px;display:flex}.state-panel{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:36px;display:flex}.state-panel .loading-ring{border-width:3px;border-color:#1251b5 #d5e1f0 #d5e1f0;width:30px;height:30px}.state-icon{color:#527397;background:#eef3f9;border-radius:15px;place-items:center;width:50px;height:50px;font-size:22px;display:grid}.state-icon-error{color:#ae3f3a;background:#fff0ef}.state-icon-forbidden{color:#9a6a0d;background:#fff5d9}.dialog-backdrop{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#040e1fa3;place-items:center;padding:18px;display:grid;position:fixed;inset:0;overflow-y:auto}.detail-dialog{background:#fff;border-radius:18px;width:min(760px,100%);max-height:calc(100dvh - 36px);overflow:hidden;box-shadow:0 28px 80px #020d1f5c}.detail-dialog-header{border-bottom:1px solid #e0e8f2;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 23px 17px;display:flex}.detail-dialog-header h2{color:#102541;margin:5px 0 0;font-family:Poppins,sans-serif;font-size:21px}.detail-dialog-body{max-height:calc(100dvh - 208px);padding:21px 23px;overflow-y:auto}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:19px 0;display:grid}.detail-field{background:#fbfdff;border:1px solid #e0e8f2;border-radius:12px;align-items:flex-start;gap:10px;padding:12px;display:flex}.detail-field>svg{color:#3c70ad;flex:none;margin-top:2px}.detail-field div{min-width:0}.detail-field dt{color:#78899e;letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800}.detail-field dd{color:#263e5d;margin:3px 0 0;font-size:11px;line-height:1.5}.narrative-block{border-top:1px solid #e4eaf2;margin-top:16px;padding:16px 2px 0}.narrative-block h3{color:#1b3556;margin:0 0 6px;font-size:12px}.narrative-block p{color:#526b88;white-space:pre-wrap;margin:0;font-size:12px;line-height:1.7}.routing-note{color:#2b568a;background:#eef5ff;border-radius:12px;align-items:flex-start;gap:11px;margin-top:20px;padding:13px;display:flex}.routing-note>svg{flex:none;margin-top:2px}.routing-note div{gap:3px;display:grid}.routing-note strong{font-size:11px}.routing-note span{font-size:10px;line-height:1.45}.detail-dialog-footer{background:#f9fbfd;border-top:1px solid #e0e8f2;justify-content:flex-end;align-items:center;gap:10px;padding:14px 23px;display:flex}.dialog-action-error{color:#a23b34;margin-right:auto;font-size:10px;line-height:1.4}.update-center{z-index:120;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));color:#fff;background:#071f45;border:1px solid #97b9e580;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;width:min(560px,100vw - 36px);padding:13px;display:grid;position:fixed;box-shadow:0 20px 55px #020f2357}.update-center-backdrop{z-index:119;background:#030c1bad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.update-center-backdrop .update-center{width:min(560px,100%);position:relative;bottom:auto;right:auto}.update-center-icon{color:#071a3b;background:#f5b81b;border-radius:12px;place-items:center;width:40px;height:40px;font-size:19px;display:grid}.update-center>div{gap:2px;min-width:0;display:grid}.update-center strong{font-size:12px}.update-center p{color:#c4d8f2;margin:0;font-size:10px;line-height:1.45}.update-center small{color:#8eafd5;font-size:9px;line-height:1.35}.update-center-action{color:#0d438d;white-space:nowrap;background:#fff;border-radius:10px;min-height:38px;padding:8px 12px;font-size:10px;font-weight:800}.update-center-close{color:#a8c0de;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.update-center-close:hover{color:#fff;background:#ffffff14}.notification-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.notification-center>.inline-alert{margin:14px 18px 0}.notification-summary{border-bottom:1px solid #e1e8f1;align-items:center;gap:12px;padding:17px 20px;display:flex}.notification-summary>span{color:#1251b5;background:#e8f2ff;border-radius:11px;justify-content:center;align-items:center;gap:6px;min-width:58px;padding:9px;font-weight:800;display:flex}.notification-summary>div{gap:2px;display:grid}.notification-summary strong{color:#18314f;font-size:12px}.notification-summary small{color:#71869f;font-size:10px}.notification-filter{color:#607995;border:1px solid #ccd8e7;border-radius:11px;align-items:center;gap:8px;min-height:40px;margin-left:auto;padding:0 10px;display:flex}.notification-filter>span{color:#536b87;text-transform:uppercase;font-size:10px;font-weight:800}.notification-filter select{color:#203b5d;background:0 0;border:0;outline:0;min-height:38px;font-size:11px;font-weight:700}.notification-list{display:grid}.notification-item{background:#fbfdff;border-bottom:1px solid #e5ebf3;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:17px 20px;display:grid}.notification-item:last-child{border-bottom:0}.notification-read{opacity:.78;background:#fff}.notification-dot{color:#1251b5;background:#e8f2ff;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.notification-success{color:#177454;background:#e5f7ed}.notification-warning{color:#976300;background:#fff3d1}.notification-danger{color:#aa3b35;background:#ffe8e6}.notification-item>div{min-width:0}.notification-title{align-items:center;gap:8px;display:flex}.notification-title strong{color:#193452;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.notification-title span{color:#1251b5;text-transform:uppercase;background:#dceaff;border-radius:999px;padding:3px 6px;font-size:8px;font-weight:800}.notification-item p{color:#5f7590;margin:4px 0;font-size:11px;line-height:1.5}.notification-item small{color:#5f7188;font-size:9px}.notification-pagination{background:#fbfcfe;border-top:1px solid #e1e8f1;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:10px 18px;display:flex}.notification-pagination>span{color:#71869f;font-size:10px}.notification-pagination>div{align-items:center;gap:7px;display:flex}.notification-pagination strong{color:#536b87;text-align:center;min-width:86px;font-size:10px}.notification-pagination button{align-items:center;gap:5px;display:inline-flex}.module-toolbar{border-bottom:1px solid #e2e9f1;justify-content:space-between;align-items:center;gap:20px;padding:17px 19px;display:flex}.module-toolbar label{color:#73879f;border:1px solid #ccd8e7;border-radius:11px;align-items:center;gap:9px;width:min(400px,100%);padding:0 11px;display:flex}.module-toolbar input{color:#223b5b;border:0;outline:0;width:100%;min-height:40px;font-size:12px}.module-toolbar>span{color:#75869b;font-size:11px}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px;display:grid}.module-card{border:1px solid #dce5ef;border-radius:14px;grid-template-columns:auto 1fr;gap:12px;padding:16px;display:grid}.module-card>span{color:#1251b5;background:#e8f2ff;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.module-card h2{color:#172e4c;margin:4px 0;font-size:13px}.module-card p{color:#6e8095;margin:0;font-size:10px;line-height:1.5}.module-card button{color:#1251b5;background:#edf4fd;border-radius:9px;grid-column:1/-1;justify-content:center;align-items:center;gap:7px;min-height:37px;font-size:11px;font-weight:800;display:flex}.module-card button:hover{background:#dfecfc}.library-toolbar{border-bottom:1px solid #e2e9f1;grid-template-columns:minmax(240px,520px) auto minmax(90px,1fr);align-items:center;gap:10px;padding:17px 19px;display:grid}.library-search-field{color:#6e829a;background:#fff;border:1px solid #c8d5e5;border-radius:11px;align-items:center;gap:9px;min-width:0;min-height:44px;padding:0 9px 0 12px;display:flex}.library-search-field:focus-within{border-color:#3479dc;box-shadow:0 0 0 4px #3479dc1a}.library-search-field>svg{flex:none}.library-search-field input{color:#203b5d;background:0 0;border:0;outline:0;width:100%;min-width:0;min-height:42px;font-size:12px}.library-search-field input::placeholder{color:#8797aa}.library-search-clear{color:#6d7f95;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.library-search-clear:hover{color:#23466f;background:#edf3fa}.library-result-count{color:#71869f;justify-self:end;font-size:11px;font-weight:650}.library-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px;display:grid}.library-book-card{background:linear-gradient(#fff,#fbfdff);border:1px solid #dbe5f0;border-radius:15px;flex-direction:column;gap:13px;min-width:0;min-height:245px;padding:17px;display:flex;box-shadow:0 5px 15px #16325409}.library-book-heading{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;display:grid}.library-book-icon{color:#1251b5;background:#e7f1ff;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:18px;display:grid}.library-book-heading>div{min-width:0}.library-book-heading h2{overflow-wrap:anywhere;color:#132c4c;margin:1px 0 4px;font-family:Poppins,sans-serif;font-size:14px;line-height:1.4}.library-book-heading p{overflow-wrap:anywhere;color:#6e8095;margin:0;font-size:11px;line-height:1.45}.library-book-tags{flex-wrap:wrap;gap:6px;min-height:22px;display:flex}.library-book-tags span{color:#526c8a;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;background:#edf3fa;border-radius:999px;max-width:100%;padding:4px 8px;font-size:9px;font-weight:750;overflow:hidden}.library-book-details{gap:7px;margin:0;display:grid}.library-book-details>div{grid-template-columns:70px minmax(0,1fr);gap:8px;font-size:10px;line-height:1.4;display:grid}.library-book-details dt{color:#7b8da2;font-weight:650}.library-book-details dd{overflow-wrap:anywhere;color:#314d6e;min-width:0;margin:0;font-weight:700}.library-availability{border-radius:10px;align-items:center;gap:8px;min-height:35px;margin-top:auto;padding:8px 10px;font-size:10px;display:flex}.library-availability>span{border-radius:50%;flex:none;width:8px;height:8px}.library-availability-available{color:#176647;background:#e9f8f0}.library-availability-available>span{background:#22a06b}.library-availability-unavailable{color:#9b3b34;background:#fff0ee}.library-availability-unavailable>span{background:#d6534a}.library-availability-unknown{color:#60748d;background:#f0f3f7}.library-availability-unknown>span{background:#8999ac}.library-pagination{background:#fbfcfe;border-top:1px solid #e1e8f1;justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:10px 18px;display:flex}.library-pagination>span{color:#71869f;font-size:10px}.library-pagination>div{align-items:center;gap:7px;display:flex}.library-pagination strong{color:#536b87;text-align:center;min-width:86px;font-size:10px}.library-pagination button{align-items:center;gap:5px;display:inline-flex}.library-retained-workspace{background:#edf6ff;border:1px solid #c8dcef;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px;display:grid}.library-workspace-icon{color:#1251b5;background:#dcecff;border-radius:13px;place-items:center;width:46px;height:46px;font-size:20px;display:grid}.library-retained-workspace>div{min-width:0}.library-retained-workspace h2{color:#183a64;margin:0;font-size:14px}.library-retained-workspace p{color:#55718f;max-width:880px;margin:5px 0 0;font-size:11px;line-height:1.6}.library-retained-workspace .inline-alert{margin:12px 0 0}.library-retained-workspace>button{white-space:nowrap}.attendance-page-heading strong{color:#294e78}.attendance-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.attendance-section-heading{border-bottom:1px solid #e1e8f1;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.attendance-section-heading h2{color:#142c4b;margin:3px 0 0;font-family:Poppins,sans-serif;font-size:17px}.attendance-section-heading>span{color:#1552a6;background:#e9f2ff;border-radius:999px;flex:none;padding:6px 10px;font-size:10px;font-weight:800}.attendance-trend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;display:grid}.attendance-trend-card{background:#fbfdff;border:1px solid #dce5ef;border-radius:14px;min-width:0;padding:16px}.attendance-trend-card h3{color:#193451;margin:0;font-size:13px}.attendance-trend-card>div>p{color:#687e98;min-height:48px;margin:4px 0 13px;font-size:10px;line-height:1.55}.attendance-trend-list{gap:12px;max-height:280px;margin:0;padding:1px 4px 1px 0;list-style:none;display:grid;overflow-y:auto}.attendance-trend-list li{gap:5px;display:grid}.attendance-trend-list li>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.attendance-trend-list strong{color:#35516f;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.attendance-trend-list span{color:#174f9d;font-size:10px;font-weight:800}.attendance-trend-list small{color:#7c8da1;font-size:9px}.attendance-trend-list progress{accent-color:#1c69cf;background:#e4ebf4;border:0;border-radius:999px;width:100%;height:8px;overflow:hidden}.attendance-trend-list progress::-webkit-progress-bar{background:#e4ebf4;border-radius:999px}.attendance-trend-list progress::-webkit-progress-value{background:linear-gradient(90deg,#1553ae,#2e83e8);border-radius:999px}.attendance-trend-list progress::-moz-progress-bar{background:linear-gradient(90deg,#1553ae,#2e83e8);border-radius:999px}.attendance-trend-empty{color:#7b8da2;text-align:center;place-items:center;min-height:130px;margin:0;font-size:11px;display:grid}.attendance-scope-note{color:#657b94;background:#f8fbff;border-top:1px solid #e4eaf2;margin:0;padding:13px 18px;font-size:10px;line-height:1.55}.attendance-calendar-toolbar{border-bottom:1px solid #e1e8f1;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:13px;padding:14px 18px;display:grid}.attendance-calendar-toolbar>div{text-align:center}.attendance-calendar-toolbar h2{color:#142c4b;margin:3px 0 0;font-family:Poppins,sans-serif;font-size:18px}.attendance-semester-filter{background:#fff;border:1px solid #cad7e7;border-radius:11px;align-items:center;gap:8px;min-height:42px;padding:0 8px 0 11px;display:flex}.attendance-semester-filter span{color:#627891;font-size:10px;font-weight:800}.attendance-semester-filter select{color:#264665;background:0 0;border:0;outline:0;min-height:38px;font-size:11px;font-weight:800}.attendance-legend{flex-wrap:wrap;gap:9px 17px;padding:13px 18px 4px;display:flex}.attendance-legend span{color:#637890;align-items:center;gap:6px;font-size:9px;font-weight:700;display:inline-flex}.attendance-legend i{border-radius:50%;width:9px;height:9px}.attendance-legend-present{background:#22a06b}.attendance-legend-late{background:#d99100}.attendance-legend-absent{background:#d74c45}.attendance-legend-excused{background:#6d5dc5}.attendance-legend-none{background:#c5cfdb}.attendance-calendar-card>.state-panel{border:1px dashed #d6e0ec;border-radius:12px;margin:10px 13px 0}.attendance-calendar-wrap{width:100%;padding:12px 14px 17px;overflow-x:auto}.attendance-calendar{border-collapse:separate;border-spacing:4px;table-layout:fixed;width:100%;min-width:420px}.attendance-calendar th{color:#76899f;text-align:center;padding:5px 2px;font-size:9px}.attendance-calendar th abbr{text-decoration:none}.attendance-calendar td{vertical-align:top;height:68px;padding:0}.attendance-calendar-outside{background:#f7f9fc;border-radius:9px}.attendance-calendar-day{color:#35516f;text-align:left;background:#fff;border:1px solid #dce5ef;border-radius:10px;flex-direction:column;justify-content:space-between;align-items:stretch;width:100%;min-height:68px;padding:7px;display:flex}.attendance-calendar-day:hover{background:#f8fbff;border-color:#8cafda}.attendance-calendar-selected{border-color:#1558b8;box-shadow:0 0 0 2px #1558b829}.attendance-calendar-number{font-size:10px;font-weight:800}.attendance-calendar-mark{justify-content:space-between;align-items:end;gap:4px;display:flex}.attendance-calendar-mark>span{color:#fff;border-radius:8px;place-items:center;width:24px;height:24px;font-size:9px;font-weight:900;display:grid}.attendance-calendar-mark small{color:#8797aa;font-size:8px;font-weight:800}.attendance-calendar-day[data-attendance-status=present] .attendance-calendar-mark>span{background:#1d9663}.attendance-calendar-day[data-attendance-status=late] .attendance-calendar-mark>span{background:#c78500}.attendance-calendar-day[data-attendance-status=absent] .attendance-calendar-mark>span{background:#ca4640}.attendance-calendar-day[data-attendance-status=excused] .attendance-calendar-mark>span{background:#6d5dc5}.attendance-calendar-day[data-attendance-status=unspecified] .attendance-calendar-mark>span,.attendance-calendar-day[data-attendance-status=other] .attendance-calendar-mark>span{background:#66788d}.attendance-calendar-none{color:#c1ccd9;font-size:13px}.attendance-record-table-wrap{width:100%;overflow-x:auto}.attendance-record-table{border-collapse:collapse;width:100%;min-width:720px}.attendance-record-table th,.attendance-record-table td{color:#405a78;text-align:left;vertical-align:middle;border-bottom:1px solid #e4eaf2;padding:13px 16px;font-size:10px;line-height:1.45}.attendance-record-table thead th{color:#6c8098;letter-spacing:.04em;text-transform:uppercase;background:#f7fafd;font-size:9px}.attendance-record-table tbody tr:last-child th,.attendance-record-table tbody tr:last-child td{border-bottom:0}.attendance-record-table tbody th{color:#1e3c60}.attendance-record-table tbody th strong,.attendance-record-table tbody th small{display:block}.attendance-record-table tbody th small{color:#71869f;margin-top:2px;font-size:8px}.attendance-status{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900;display:inline-flex}.attendance-status-present{color:#176647;background:#e2f6ec}.attendance-status-late{color:#885b00;background:#fff2cf}.attendance-status-absent{color:#9d342f;background:#ffe8e5}.attendance-status-excused{color:#5846a4;background:#eeeafe}.attendance-status-other{color:#4d6178;background:#edf1f5}.attendance-approval{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900;display:inline-flex}.attendance-approval-approved{color:#176647;background:#e2f6ec}.attendance-approval-pending{color:#885b00;background:#fff2cf}.attendance-approval-rejected{color:#9d342f;background:#ffe8e5}.attendance-approval-unreviewed{color:#4d6178;background:#edf1f5}.class-program-heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.class-program-filter-heading{border-bottom:1px solid #e2e9f1;justify-content:space-between;align-items:center;gap:15px;padding:16px 19px;display:flex}.class-program-filter-heading h2{color:#173554;margin:3px 0 0;font-family:Poppins,sans-serif;font-size:16px}.class-program-filter-heading>span{color:#637a95;align-items:center;gap:7px;font-size:10px;font-weight:800;display:inline-flex}.class-program-filter-heading .loading-ring{border-width:2px;width:15px;height:15px}.class-program-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;padding:17px 19px 19px;display:grid}.class-program-filter-grid label{gap:7px;min-width:0;display:grid}.class-program-filter-grid label>span,.class-program-period-filter>span{color:#60758f;letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:900}.class-program-filter-grid select,.class-program-period-filter select{color:#244363;background:#fff;border:1px solid #cad7e7;border-radius:10px;outline:0;width:100%;min-height:42px;padding:0 11px;font-size:11px;font-weight:750}.class-program-filter-grid select:focus,.class-program-period-filter select:focus{border-color:#2b69ba;box-shadow:0 0 0 3px #2b69ba21}.class-program-summary{border-bottom:1px solid #e1e8f1;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.class-program-summary h2{color:#142f4f;margin:4px 0;font-family:Poppins,sans-serif;font-size:18px}.class-program-summary p{color:#647b96;margin:0;font-size:10px;line-height:1.5}.class-program-period-filter{flex:none;gap:6px;width:min(190px,100%);display:grid}.class-program-table-wrap{width:100%;overflow-x:auto}.class-program-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1050px}.class-program-table th,.class-program-table td{text-align:center;vertical-align:middle;border-bottom:1px solid #d8e1ec;border-right:1px solid #d8e1ec;padding:10px 8px}.class-program-table thead th{color:#f8fbff;letter-spacing:.04em;text-transform:uppercase;background:#0a2447;font-size:9px;font-weight:900}.class-program-table thead th:first-child,.class-program-table tbody th{width:130px}.class-program-table tbody th{color:#536c88;background:#f5f8fc;font-size:9px;font-weight:850}.class-program-entry{border-left:4px solid}.class-program-entry strong,.class-program-entry small,.class-program-entry span{display:block}.class-program-entry strong{font-size:10px;line-height:1.35}.class-program-entry small{color:#6c8096;margin-top:2px;font-size:8px;font-weight:800}.class-program-entry span{color:#536a84;margin-top:4px;font-size:8px;line-height:1.3}.class-program-entry span svg{vertical-align:-1px;margin-right:2px;display:inline}.class-program-empty{color:#c6d0dc;background:#fbfcfe}.class-program-break td{color:#976500;letter-spacing:.08em;background:#fff8dc;font-size:9px;font-style:italic;font-weight:900}.class-program-additional{background:#fafcff;border-top:1px solid #e1e8f1;padding:17px 20px 20px}.class-program-additional>div{align-items:flex-start;gap:10px;display:flex}.class-program-additional>div>svg{color:#205eae;flex:none;margin-top:2px}.class-program-additional h3{color:#1b3b60;margin:0;font-size:12px}.class-program-additional p{color:#6c8198;margin:3px 0 0;font-size:9px;line-height:1.5}.class-program-additional ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:13px 0 0;padding:0;list-style:none;display:grid}.class-program-additional li{background:#fff;border:1px solid #dce5ef;border-radius:10px;gap:2px;padding:10px 12px;display:grid}.class-program-additional li strong{color:#284867;font-size:10px}.class-program-additional li span,.class-program-additional li small{color:#71859b;font-size:8px}.class-program-related-tools button{flex:none}.academic-staff-section-heading{border-bottom:1px solid #e2e9f1;justify-content:space-between;align-items:center;gap:15px;padding:16px 19px;display:flex}.academic-staff-section-heading h2{color:#173554;margin:3px 0 0;font-family:Poppins,sans-serif;font-size:16px}.academic-staff-section-heading>span{color:#637a95;align-items:center;gap:7px;font-size:10px;font-weight:800;display:inline-flex}.academic-staff-section-heading>svg{color:#205eae;flex:none}.academic-staff-section-heading .loading-ring{border-width:2px;border-color:#1f64bd #b9c8da #b9c8da;width:15px;height:15px}.academic-staff-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:17px 19px 19px;display:grid}.academic-staff-filter-grid label{gap:7px;min-width:0;display:grid}.academic-staff-filter-grid label>span{color:#60758f;letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:900}.academic-staff-filter-grid select{color:#244363;background:#fff;border:1px solid #cad7e7;border-radius:10px;outline:0;width:100%;min-height:42px;padding:0 11px;font-size:11px;font-weight:750}.academic-staff-filter-grid select:focus{border-color:#2b69ba;box-shadow:0 0 0 3px #2b69ba21}.academic-staff-summary{padding:0}.academic-staff-identity{border-bottom:1px solid #e2e9f1;align-items:center;gap:15px;padding:20px;display:flex}.academic-staff-avatar{color:#fff;background:linear-gradient(135deg,#104b9f,#1f70dc);border-radius:16px;flex:none;place-items:center;width:56px;height:56px;font-family:Poppins,sans-serif;font-size:23px;font-weight:800;display:grid}.academic-staff-identity h2{color:#122e51;margin:3px 0;font-family:Poppins,sans-serif;font-size:20px}.academic-staff-identity p{color:#657b94;margin:0;font-size:10px;line-height:1.5}.academic-staff-facts{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;display:grid}.academic-staff-facts>div{border-right:1px solid #e4eaf2;grid-template-rows:auto auto;grid-template-columns:34px minmax(0,1fr);column-gap:9px;min-width:0;padding:16px;display:grid}.academic-staff-facts>div:last-child{border-right:0}.academic-staff-facts>div>span{color:#185db6;background:#eaf2ff;border-radius:10px;grid-row:1/3;place-items:center;width:34px;height:34px;display:grid}.academic-staff-facts dt{color:#74879d;letter-spacing:.05em;text-transform:uppercase;font-size:8px;font-weight:850}.academic-staff-facts dd{color:#294765;text-overflow:ellipsis;margin:2px 0 0;font-size:10px;font-weight:750;overflow:hidden}.academic-staff-scope-note{color:#526f8f;background:#f2f7fd;border-top:1px solid #dbe7f4;margin:0;padding:12px 20px;font-size:10px;line-height:1.6}.academic-staff-detail-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;display:grid}.academic-staff-contact-list,.academic-staff-section-list{gap:9px;margin:0;padding:14px;list-style:none;display:grid}.academic-staff-contact-list li,.academic-staff-section-list li{background:#fbfdff;border:1px solid #dfe7f0;border-radius:11px;align-items:center;gap:10px;min-width:0;padding:11px 12px;display:flex}.academic-staff-contact-list li>span,.academic-staff-section-list li>span{color:#1a61ba;background:#e8f2ff;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-size:11px;font-weight:900;display:grid}.academic-staff-contact-list li>div,.academic-staff-section-list li>div{gap:2px;min-width:0;display:grid}.academic-staff-contact-list strong,.academic-staff-section-list strong{color:#244364;font-size:10px}.academic-staff-contact-list small,.academic-staff-section-list small{overflow-wrap:anywhere;color:#6b8098;font-size:9px}.academic-staff-roster-totals{background:#f8fbff;border-bottom:1px solid #e2e9f1;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.academic-staff-roster-totals>div{border-right:1px solid #e2e9f1;gap:3px;padding:13px 18px;display:grid}.academic-staff-roster-totals>div:last-child{border-right:0}.academic-staff-roster-totals dt{color:#70849b;letter-spacing:.05em;text-transform:uppercase;font-size:8px;font-weight:850}.academic-staff-roster-totals dd{color:#143d73;margin:0;font-family:Poppins,sans-serif;font-size:19px;font-weight:800}.academic-staff-roster-stack{gap:12px;padding:15px;display:grid}.academic-staff-roster-section{border:1px solid #dce5ef;border-radius:12px;overflow:hidden}.academic-staff-roster-section>header{background:#f6f9fd;padding:12px 15px}.academic-staff-roster-section>header div{justify-content:space-between;align-items:center;gap:12px;display:flex}.academic-staff-roster-section>header strong{color:#244565;font-size:11px}.academic-staff-roster-section>header span{color:#71859c;font-size:9px;font-weight:700}.academic-staff-roster-section>p{color:#71859c;text-align:center;margin:0;padding:18px;font-size:10px}.academic-staff-roster-table-wrap{width:100%;overflow-x:auto}.academic-staff-roster-table{border-collapse:collapse;width:100%;min-width:600px}.academic-staff-roster-table th,.academic-staff-roster-table td{color:#405a78;text-align:left;border-top:1px solid #e4eaf2;padding:11px 14px;font-size:9px}.academic-staff-roster-table thead th{color:#6c8098;letter-spacing:.04em;text-transform:uppercase;background:#fbfcfe;font-size:8px}.academic-staff-roster-table tbody th{color:#1e3c60;font-size:10px}.academic-staff-tag{border-radius:999px;align-items:center;gap:5px;min-height:25px;padding:4px 8px;font-size:8px;font-weight:850;display:inline-flex}.academic-staff-tagged{color:#176647;background:#e2f6ec}.academic-staff-untagged{color:#596d83;background:#edf1f5}.academic-staff-retained button{flex:none}.family-links-section-heading{border-bottom:1px solid #e2e9f1;justify-content:space-between;align-items:center;gap:15px;padding:16px 19px;display:flex}.family-links-section-heading h2{color:#173554;margin:3px 0 0;font-family:Poppins,sans-serif;font-size:16px}.family-links-section-heading>span{color:#637a95;align-items:center;gap:7px;font-size:10px;font-weight:800;display:inline-flex}.family-links-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;padding:17px 19px 19px;display:grid}.family-links-filter-grid>label,.family-links-search>label{gap:7px;min-width:0;display:grid}.family-links-filter-grid label>span:first-child,.family-links-search>label>span:first-child{color:#60758f;letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:900}.family-links-filter-grid select{color:#244363;background:#fff;border:1px solid #cad7e7;border-radius:10px;outline:0;width:100%;min-height:42px;padding:0 11px;font-size:11px;font-weight:750}.family-links-filter-grid select:focus,.family-links-search-input:focus-within{border-color:#2b69ba;box-shadow:0 0 0 3px #2b69ba21}.family-links-search{grid-column:span 2;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.family-links-search-input{color:#70849a;background:#fff;border:1px solid #cad7e7;border-radius:10px;align-items:center;gap:8px;min-height:42px;padding:0 11px;display:flex}.family-links-search-input input{color:#244363;border:0;outline:0;width:100%;min-width:0;font-size:11px;font-weight:650}.family-links-directory-list{gap:10px;padding:15px;display:grid}.family-links-directory-card{background:#fbfdff;border:1px solid #dce5ef;border-radius:12px;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:12px;display:grid}.family-links-directory-card-selected{background:#f2f7ff;border-color:#6c9cda;box-shadow:0 0 0 2px #3f79ca1c}.family-links-directory-avatar,.family-links-detail-avatar{color:#fff;background:linear-gradient(135deg,#104b9f,#1f70dc);border-radius:13px;place-items:center;font-family:Poppins,sans-serif;font-size:17px;font-weight:850;display:grid}.family-links-directory-avatar{width:43px;height:43px}.family-links-directory-copy{gap:2px;min-width:0;display:grid}.family-links-directory-copy strong{overflow-wrap:anywhere;color:#193b61;font-size:11px}.family-links-directory-copy span,.family-links-directory-copy small{color:#6b8098;font-size:9px;line-height:1.45}.family-links-section-tags{flex-wrap:wrap;gap:5px;margin-top:3px;display:flex}.family-links-section-tags span{color:#315b87;background:#e7f0fb;border-radius:999px;padding:3px 7px;font-size:8px;font-weight:800}.family-links-pagination{border-top:1px solid #e2e9f1;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;display:flex}.family-links-pagination span{color:#60758e;font-size:10px;font-weight:800}.family-links-detail-identity{border-bottom:1px solid #e2e9f1;align-items:center;gap:14px;padding:19px;display:flex}.family-links-detail-avatar{flex:none;width:55px;height:55px;font-size:22px}.family-links-detail-identity h2{color:#122e51;margin:3px 0;font-family:Poppins,sans-serif;font-size:20px}.family-links-detail-identity p{color:#657b94;margin:0;font-size:10px;line-height:1.5}.family-links-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.family-links-detail-grid>section+section{border-left:1px solid #e2e9f1}.family-links-mini-heading{border-bottom:1px solid #e8edf4;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.family-links-mini-heading h3{color:#234261;margin:3px 0 0;font-size:12px}.family-links-mini-heading>svg{color:#1d61b8}.family-links-contact-list,.family-links-child-list{gap:9px;margin:0;padding:14px;list-style:none;display:grid}.family-links-contact-list li,.family-links-child-list li{background:#fbfdff;border:1px solid #dfe7f0;border-radius:11px;align-items:center;gap:10px;min-width:0;padding:11px 12px;display:flex}.family-links-contact-list li>span,.family-links-child-list li>span{color:#1a61ba;background:#e8f2ff;border-radius:10px;flex:none;place-items:center;width:33px;height:33px;font-size:11px;font-weight:900;display:grid}.family-links-contact-list li>div,.family-links-child-list li>div{gap:2px;min-width:0;display:grid}.family-links-contact-list strong,.family-links-child-list strong{color:#244364;font-size:10px}.family-links-contact-list small,.family-links-child-list small{overflow-wrap:anywhere;color:#6b8098;font-size:9px;line-height:1.45}.family-links-retained button{flex:none}.mobile-scrim{display:none}.fatal-error,.not-found{color:#fff;text-align:center;background:#071a3b;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:28px;display:flex}.fatal-error img{border-radius:25px;width:90px;height:90px}.fatal-error h1,.not-found h1{margin:22px 0 8px;font-family:Poppins,sans-serif;font-size:28px}.fatal-error p,.not-found p{color:#b8cce7;max-width:540px;margin:0;line-height:1.7}.fatal-error button,.not-found a{color:#0a326e;background:#fff;border-radius:11px;align-items:center;gap:8px;margin-top:22px;padding:11px 16px;font-weight:800;text-decoration:none;display:inline-flex}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1100px){.metric-grid,.module-grid,.library-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-retained-workspace{grid-template-columns:auto minmax(0,1fr);align-items:start}.library-retained-workspace>button{grid-column:2;justify-self:start}.attendance-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.process-flow{grid-template-columns:1fr}.class-program-filter-grid,.family-links-filter-grid,.academic-staff-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.academic-staff-facts>div:nth-child(2){border-right:0}.academic-staff-facts>div:nth-child(-n+2){border-bottom:1px solid #e4eaf2}}@media (width<=1023px){.sidebar{visibility:hidden;width:min(310px,88vw);transition:translate .2s,visibility 0s linear .2s;translate:-105%}.sidebar-open{visibility:visible;transition:translate .2s,visibility;translate:0}.sidebar-close{display:grid}.mobile-scrim{z-index:45;background:#030c1b99;display:block;position:fixed;inset:0}.shell-content{margin-left:0}}@media (width<=820px){.login-page{grid-template-columns:1fr}.login-story{display:none}.login-panel{min-height:100dvh;padding:34px 22px}.login-statistics-panel{margin-top:18px;display:grid}.login-statistics-panel>div{background:#f5f8fc;border-color:#dce5f0}.login-statistics-panel dt{color:#657a95}.login-statistics-panel dd{color:#143969}.overview-grid{grid-template-columns:1fr}.welcome-mark{width:110px;height:110px;font-size:70px}.module-grid,.library-card-grid,.attendance-trend-grid,.academic-staff-detail-grid,.family-links-detail-grid{grid-template-columns:1fr}.family-links-detail-grid>section+section{border-top:1px solid #e2e9f1;border-left:0}}@media (width<=640px){.topbar{height:66px;padding:0 13px}.topbar-title,.account-copy{display:none}.account-button{padding:4px}.main-content{padding:18px 13px 28px}.page-stack{gap:16px}.page-heading{flex-direction:column;align-items:flex-start}.page-heading>.button-secondary,.class-program-heading-actions{width:100%}.class-program-heading-actions>button{flex:1}.class-program-filter-heading{align-items:flex-start;padding:14px}.class-program-filter-grid{grid-template-columns:1fr;gap:11px;padding:14px}.class-program-summary{flex-direction:column;align-items:flex-start;padding:15px}.class-program-period-filter{width:100%}.class-program-table{min-width:940px}.class-program-table th,.class-program-table td{padding:8px 6px}.class-program-additional{padding:15px}.class-program-additional ul{grid-template-columns:1fr}.class-program-related-tools button{width:100%}.academic-staff-filter-grid{grid-template-columns:1fr;gap:11px;padding:14px}.academic-staff-section-heading{align-items:flex-start;padding:14px}.family-links-filter-grid{grid-template-columns:1fr;gap:11px;padding:14px}.family-links-section-heading{align-items:flex-start;padding:14px}.family-links-search{grid-column:auto;grid-template-columns:1fr}.family-links-search>.button-secondary{width:100%}.family-links-directory-card{grid-template-columns:40px minmax(0,1fr);align-items:start}.family-links-directory-card>button{grid-column:1/-1;width:100%}.family-links-pagination{flex-direction:column;align-items:stretch}.family-links-pagination>button{width:100%}.family-links-detail-identity{align-items:flex-start;padding:15px}.family-links-retained button{width:100%}.academic-staff-identity{align-items:flex-start;padding:15px}.academic-staff-facts{grid-template-columns:1fr}.academic-staff-facts>div,.academic-staff-facts>div:nth-child(2){border-bottom:1px solid #e4eaf2;border-right:0}.academic-staff-facts>div:last-child{border-bottom:0}.academic-staff-roster-section>header div{flex-direction:column;align-items:flex-start}.academic-staff-roster-table{min-width:0}.academic-staff-roster-table thead{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.academic-staff-roster-table,.academic-staff-roster-table tbody,.academic-staff-roster-table tr,.academic-staff-roster-table th,.academic-staff-roster-table td{width:100%;display:block}.academic-staff-roster-table tr{border-top:1px solid #e4eaf2;padding:9px 13px}.academic-staff-roster-table th,.academic-staff-roster-table td{border:0;grid-template-columns:90px minmax(0,1fr);gap:8px;padding:5px 0;display:grid}.academic-staff-roster-table th:before,.academic-staff-roster-table td:before{content:attr(data-label);color:#7a8da3;letter-spacing:.04em;text-transform:uppercase;font-size:8px;font-weight:800}.academic-staff-retained button{width:100%}.welcome-panel{align-items:flex-start;min-height:260px;padding:26px 21px}.welcome-mark{opacity:.34;position:absolute;bottom:-22px;right:-20px}.welcome-panel p{padding-right:0}.welcome-context{padding-right:45px}.overview-grid{gap:14px}.workflow-card,.process-card{padding:21px}.legacy-callout{flex-direction:column;align-items:flex-start}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric-card{gap:9px;padding:12px}.metric-icon{width:36px;height:36px;font-size:16px}.metric-card strong{font-size:19px}.records-toolbar{flex-direction:column;align-items:stretch;padding:16px}.filter-field select{flex:1;max-width:none}.report-card-main{padding:17px 16px 13px}.report-card-actions{flex-direction:column;align-items:flex-start;padding:9px 10px 10px 16px}.report-card-actions>div{justify-content:flex-end;width:100%}.dialog-backdrop{place-items:end center;padding:0}.detail-dialog{border-radius:18px 18px 0 0;max-height:95dvh}.detail-dialog-header{padding:18px 17px 14px}.detail-dialog-body{max-height:calc(95dvh - 205px);padding:17px}.detail-grid{grid-template-columns:1fr}.detail-dialog-footer{padding:12px 17px calc(12px + env(safe-area-inset-bottom,0px));flex-direction:column-reverse;align-items:stretch}.detail-dialog-footer button{width:100%}.module-toolbar{flex-direction:column;align-items:stretch;gap:8px}.module-toolbar>span{padding-left:2px}.library-toolbar{grid-template-columns:1fr;padding:14px}.library-toolbar>.button-primary{width:100%}.library-result-count{justify-self:start;padding-left:2px}.library-card-grid{gap:10px;padding:12px}.library-book-card{min-height:0;padding:15px}.library-pagination{flex-direction:column;align-items:stretch}.library-pagination>div{justify-content:space-between}.library-retained-workspace{grid-template-columns:1fr;padding:17px}.library-retained-workspace>button{grid-column:1;width:100%}.attendance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.attendance-summary-grid .metric-card:first-child{grid-column:1/-1}.attendance-section-heading{align-items:flex-start;padding:15px}.attendance-trend-grid{gap:10px;padding:12px}.attendance-trend-card{padding:14px}.attendance-calendar-toolbar{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:12px}.attendance-calendar-toolbar .attendance-semester-filter{grid-area:2/1/auto/-1;width:100%}.attendance-semester-filter select{flex:1}.attendance-legend{padding:11px 12px 2px}.attendance-calendar-wrap{padding:8px 8px 13px}.attendance-calendar{border-spacing:2px;min-width:0}.attendance-calendar td{height:50px}.attendance-calendar-day{border-radius:7px;min-height:50px;padding:4px}.attendance-calendar-number{font-size:9px}.attendance-calendar-mark>span{border-radius:6px;width:19px;height:19px;font-size:8px}.attendance-calendar-mark small{display:none}.attendance-record-table{min-width:0}.attendance-record-table thead{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.attendance-record-table,.attendance-record-table tbody,.attendance-record-table tr,.attendance-record-table th,.attendance-record-table td{width:100%;display:block}.attendance-record-table tr{border-bottom:1px solid #e2e9f1;padding:10px 14px}.attendance-record-table tbody tr:last-child{border-bottom:0}.attendance-record-table th,.attendance-record-table td{border:0;grid-template-columns:82px minmax(0,1fr);gap:8px;padding:5px 0;display:grid}.attendance-record-table th:before,.attendance-record-table td:before{content:attr(data-label);color:#7a8da3;letter-spacing:.04em;text-transform:uppercase;font-size:8px;font-weight:800}.notification-actions{width:100%}.notification-actions button{flex:1}.notification-summary{flex-wrap:wrap;align-items:flex-start}.notification-filter{width:100%;margin-left:0}.notification-filter select{flex:1}.notification-item{grid-template-columns:auto minmax(0,1fr);align-items:start;padding:15px}.notification-item>button{grid-column:2;justify-self:start}.notification-pagination{flex-direction:column;align-items:stretch}.notification-pagination>div{justify-content:space-between}.update-center{right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));grid-template-columns:auto minmax(0,1fr) auto;width:calc(100vw - 20px)}.update-center-action{grid-column:1/-1;width:100%}.update-center-close{position:absolute;top:7px;right:7px}.update-center>div{padding-right:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html[data-platform=cordova] body{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html[data-platform=cordova] .sidebar{padding-top:env(safe-area-inset-top,0px)}@media print{@page{size:A4 landscape;margin:10mm}body{background:#fff}.sidebar,.topbar,.mobile-scrim,.class-program-page-heading,.class-program-filters,.class-program-page>.inline-alert{display:none!important}.shell-content{margin:0!important}.main-content{padding:0!important}.class-program-page{display:block}#class-program-print-area{box-shadow:none;border:0;border-radius:0;overflow:visible}.class-program-summary{text-align:center;padding:0 0 10px}.class-program-summary>div{width:100%}.class-program-period-filter{display:none}.class-program-table-wrap{overflow:visible}.class-program-table{min-width:0}.class-program-table th,.class-program-table td{padding:5px 4px}.class-program-table thead th:first-child,.class-program-table tbody th{width:12%}.class-program-additional{break-before:avoid}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
