@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y: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:-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-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--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!important}.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}.fixed{position:fixed}.relative{position:relative}.static{position:static}.isolate{isolation:isolate}.block{display:block}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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,)}}.fee-register-page{max-width:1500px;margin:auto;padding:24px}.fee-register-tools,.fee-register-tools form{flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:18px;display:flex}.fee-register-tools select,.fee-register-tools button{border:1px solid var(--line);border-radius:8px;padding:10px}.fee-register-tools a{text-decoration:underline}.fee-register-paper{color:#17241c;background:#fff;padding:28px}.fee-register-paper h1{text-align:center;margin:24px 0 8px;font-size:22px}.fee-register-paper>p{text-align:center}.fee-register-scroll{overflow-x:auto}.fee-register-table{border-collapse:collapse;width:100%;font-family:Arial,sans-serif;font-size:12px}.fee-register-table th,.fee-register-table td{text-align:left;border:1px solid #333;padding:7px 6px}.fee-register-table th{background:#f1f1f1;font-size:11px}.fee-register-table td:nth-child(2){min-width:190px}.fee-register-free td{background:#e8f1e9}.fee-register-note{margin-top:14px;font-size:11px}@media print{body:has(.fee-register-page){background:#fff!important}.fee-register-page{max-width:none;padding:0}.fee-register-tools{display:none}.fee-register-paper{padding:0}.fee-register-scroll{overflow:visible}.fee-register-table{font-size:9px}.fee-register-table th{font-size:8px}.fee-register-table td:nth-child(2){min-width:0}.fee-register-table th,.fee-register-table td{padding:5px 3px}.fee-register-table thead{display:table-header-group}.fee-register-table tr{break-inside:avoid}.fee-register-table tfoot{display:table-row-group}}.invoice-paper{overflow-wrap:anywhere;margin-bottom:24px}.exam-card-page{max-width:1050px;margin:32px auto;padding:20px}.exam-card-selector{border:1px solid var(--line);background:var(--surface);border-radius:18px;margin:20px 0 28px;padding:22px}.exam-card-selector header,.exam-card-select-actions,.class-payment-exports{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.exam-card-selector header{justify-content:space-between}.exam-card-selector h2{margin:4px 0}.exam-card-student-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0;display:grid}.exam-card-student-list label{border:1px solid var(--line);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:12px;display:flex}.exam-card-student-list span,.exam-card-student-list small{display:block}.exam-card-student-list small{color:var(--muted);margin-top:3px}.exam-card-stack{gap:28px;display:grid}.exam-entrance-card{color:#092f6b;background:#fff;border:3px double #0c438d;min-height:560px;padding:28px 34px;position:relative;overflow:hidden;box-shadow:0 20px 55px #071c8730}.exam-entrance-card:after{content:"";pointer-events:none;border:1px solid #77a4d2;position:absolute;inset:16px}.exam-card-brand{text-align:left;grid-template-columns:1fr 120px 1fr;align-items:center;gap:18px;display:grid}.exam-card-brand>div:last-child{text-align:right}.exam-card-brand strong,.exam-card-brand span{display:block}.exam-card-brand strong{letter-spacing:.04em;font-family:Georgia,serif;font-size:28px}.exam-card-brand span{color:#087d14;letter-spacing:.08em;margin-top:5px;font-weight:800}.exam-card-brand img{object-fit:contain;border-radius:50%;width:112px;height:112px}.exam-card-contact{border-block:1px solid #0c438d;justify-content:center;gap:48px;margin:18px 0;padding:10px;font-weight:700;display:flex}.exam-card-title{text-align:center}.exam-card-title p{color:#087d14;letter-spacing:.13em;margin:18px 0 5px;font-weight:800}.exam-card-title h1{margin:0;font-family:Georgia,serif;font-size:28px}.exam-card-title span{color:#60728b;margin-top:6px;font-size:11px;display:block}.exam-card-details{border:1px solid #90afd1;grid-template-columns:1fr 1fr;gap:0;margin:24px 0;display:grid}.exam-card-details>div{border-bottom:1px solid #bdd0e4;min-height:70px;padding:13px 16px}.exam-card-details>div:nth-child(odd){border-right:1px solid #bdd0e4}.exam-card-details>div:nth-last-child(-n+2){border-bottom:0}.exam-card-details dt{color:#667a94;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.exam-card-details dd{color:#092f6b;margin:7px 0 0;font-size:17px;font-weight:800}.exam-card-signatures{justify-content:space-between;gap:50px;margin:48px 20px 20px;display:flex}.exam-card-signatures span{text-align:center;border-top:1px solid #092f6b;min-width:220px;padding-top:8px;font-size:11px}.exam-entrance-card footer{color:#fff;text-align:center;text-transform:uppercase;letter-spacing:.18em;background:#0c438d;padding:10px;font-size:10px;position:absolute;bottom:0;left:0;right:0}.class-payment-exports a{border:1px solid var(--line);border-radius:9px;padding:9px 13px}.class-payment-exports .exam-card-link{color:#fff;background:#0c438d;text-decoration:none}@media (max-width:700px){.exam-card-student-list{grid-template-columns:1fr}.exam-card-brand{grid-template-columns:1fr 74px 1fr}.exam-card-brand img{width:70px;height:70px}.exam-card-brand strong{font-size:16px}.exam-card-brand span{font-size:9px}.exam-card-contact{text-align:center;flex-direction:column;gap:10px}.exam-card-details{grid-template-columns:1fr}.exam-card-details>div,.exam-card-details>div:nth-child(odd){border-bottom:1px solid #bdd0e4;border-right:0}.exam-card-details>div:last-child{border-bottom:0}.exam-card-signatures{flex-direction:column}}@media print{@page{size:A4 portrait;margin:10mm}.exam-card-page{max-width:none;margin:0;padding:0}.exam-card-page>.receipt-actions,.exam-card-page>.invoice-print-help,.exam-card-selector{display:none!important}.exam-card-stack{display:block}.exam-entrance-card{min-height:267mm;box-shadow:none;break-after:page;page-break-after:always;-webkit-print-color-adjust:exact;print-color-adjust:exact;border:3px double #0c438d;margin:0;padding:18mm 14mm}.exam-entrance-card:last-child{break-after:auto;page-break-after:auto}}.exam-card-page{max-width:1320px}.exam-entrance-card{color:#063b84;border:0;min-height:720px;padding:34px 40px 28px;font-family:Georgia,Times New Roman,serif}.exam-entrance-card:after{display:none}.exam-card-brand{border-bottom:2px solid #1261ac;grid-template-columns:1fr 190px 1fr;gap:24px;padding:0 18px 14px}.exam-card-brand img{width:180px;height:180px}.exam-card-brand strong{color:#073f8a;letter-spacing:-.02em;white-space:nowrap;font-family:Arial,sans-serif;font-size:42px;font-weight:900}.exam-card-brand span{color:#087d36;letter-spacing:0;white-space:nowrap;font-family:Arial,sans-serif;font-size:23px}.exam-card-brand small{color:#0a3f86;letter-spacing:.25em;margin-top:16px;font-family:Arial,sans-serif;font-size:11px;display:block}.exam-card-brand>div:last-child strong{font-size:38px}.exam-card-brand>div:last-child span{font-size:28px}.exam-card-brand>div:last-child small{letter-spacing:.07em;font-size:15px}.exam-card-contact{border-top:0;border-bottom:1px solid #1261ac;justify-content:space-around;gap:0;margin:0;padding:10px 30px;font-family:Arial,sans-serif;font-size:24px}.exam-card-contact span{border-right:1px solid #1261ac;justify-content:center;align-items:center;gap:12px;width:33.333%;display:flex}.exam-card-contact span:last-child{border-right:0}.exam-card-contact b{font-size:12px}.exam-card-meta{grid-template-columns:1fr 1fr;gap:160px;padding:18px 4px 0;font-family:Arial,sans-serif;display:grid}.exam-card-meta dl{margin:0}.exam-card-meta dl:last-child{justify-self:end;min-width:310px}.exam-card-meta dl div{grid-template-columns:120px 16px 1fr;margin:7px 0;font-size:15px;display:grid}.exam-card-meta dl div:after{content:":";grid-area:1/2;font-weight:800}.exam-card-meta dt{grid-column:1;font-weight:800}.exam-card-meta dd{color:#132b4d;grid-column:3;margin:0;font-weight:700}.exam-card-title{margin:-18px 0 8px}.exam-card-title h1{font-size:31px}.exam-card-title p{color:#087d36;letter-spacing:.12em;margin:4px 0 12px;font-size:13px}.exam-card-table{border-collapse:collapse;color:#073b80;width:100%;font-family:Arial,sans-serif}.exam-card-table th,.exam-card-table td{text-align:left;border:1px solid #0f579f;height:54px;padding:10px 12px}.exam-card-table thead th{background:#d9edf9;height:43px;font-size:15px}.exam-card-table tfoot th{text-align:center;background:#d9edf9;height:42px}.exam-card-table tfoot th:first-child{background:0 0;border:0}.exam-card-signatures{color:#073b80;margin:100px 16px 50px}.exam-card-signatures span{border-top:1px solid #073b80;min-width:300px;padding-top:12px;font-size:16px;font-weight:700}.exam-entrance-card footer{color:#0a4a97;background:0 0;border-top:2px solid #1261ac;justify-content:center;align-items:center;gap:28px;padding:12px 0 0;display:flex;position:absolute;bottom:22px;left:40px;right:40px}.exam-entrance-card footer i{border-top:1px solid #1261ac;width:70px}.exam-entrance-card footer small{letter-spacing:0;position:absolute;right:0}@media (max-width:900px){.exam-card-brand{grid-template-columns:1fr 110px 1fr;padding-inline:0}.exam-card-brand img{width:105px;height:105px}.exam-card-brand strong,.exam-card-brand>div:last-child strong{white-space:normal;font-size:20px}.exam-card-brand span,.exam-card-brand>div:last-child span{white-space:normal;font-size:13px}.exam-card-brand small,.exam-card-brand>div:last-child small{font-size:7px}.exam-card-contact{flex-direction:row}.exam-card-contact span{font-size:16px}.exam-card-contact b{overflow-wrap:anywhere;font-size:9px}.exam-card-meta{gap:20px}.exam-card-meta dl:last-child{min-width:0}.exam-card-meta dl div{grid-template-columns:90px 12px 1fr;font-size:11px}.exam-card-title{margin:15px 0 8px}.exam-card-table{font-size:10px}.exam-card-table th,.exam-card-table td{padding:6px}}@media print{@page{size:A4 landscape;margin:8mm}.exam-entrance-card{width:281mm;min-height:194mm;padding:8mm 10mm 7mm}.exam-card-brand{grid-template-columns:1fr 42mm 1fr}.exam-card-brand img{width:38mm;height:38mm}.exam-card-brand strong{font-size:30pt}.exam-card-brand>div:last-child strong{font-size:27pt}.exam-card-brand span{font-size:17pt}.exam-card-brand>div:last-child span{font-size:20pt}.exam-card-signatures{margin-top:24mm}.invoice-print-help{display:none}.invoice-paper{break-after:page;margin:0}.invoice-paper:last-child{break-after:auto}.invoice-paper .receipt-details>div,.invoice-paper .receipt-totals{break-inside:avoid}}.class-payment-student{border:1px solid var(--line);border-radius:14px;margin:20px 0;padding:18px}.class-payment-student h3 small{color:var(--muted);margin-top:6px;font-size:13px;display:block}.class-payment-invoice{border-top:1px solid var(--line);overflow-wrap:anywhere;padding-top:12px}.class-payment-entry{grid-template-columns:1fr 1fr 1fr;align-items:center;gap:12px;margin:14px 0;display:grid}.class-payment-entry input:not([type=checkbox]){border:1px solid var(--line);width:100%;min-width:0;color:var(--text);background:var(--bg);border-radius:8px;padding:12px;display:block}.class-payment-student a{color:var(--green);text-decoration:underline}@media (max-width:640px){.class-payment-entry{grid-template-columns:1fr}.finance-pager{flex-wrap:wrap}}.class-fees-fieldset{border:0;min-width:0;margin:0;padding:0}.class-fee-roster{border:1px solid var(--line);border-radius:12px;overflow:hidden}.class-fee-row{border-bottom:1px solid var(--line);grid-template-columns:1.7fr 1.3fr 1fr 1fr 1fr;align-items:center;gap:16px;padding:16px;display:grid}.class-fee-row:last-child{border-bottom:0}.class-fee-row small{color:var(--muted);margin-top:6px;display:block}.class-fee-row label{font-size:12px}.class-fee-row input,.class-fee-row select{width:100%;min-width:0;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;margin-top:6px;padding:12px}.class-fees-divider{border:0;border-top:1px solid var(--line);margin:28px 0}@media (max-width:640px){.class-fee-row{grid-template-columns:1fr 1fr}.class-fee-row>div{grid-column:1/-1}}.class-fee-form-heading,.class-fee-form-footer,.class-fee-actions,.class-fee-student,.class-fee-summary{align-items:center;gap:14px;display:flex}.class-fee-form-heading,.class-fee-form-footer{flex-wrap:wrap;justify-content:space-between}.class-fee-form-heading>strong{border:1px solid var(--line);border-radius:12px;padding:10px 14px}.class-fee-controls{grid-template-columns:repeat(4,minmax(0,1fr))}.class-fee-summary{flex-wrap:wrap;margin:22px 0 12px}.class-fee-summary span{background:var(--soft);border-radius:999px;padding:9px 13px}.class-fee-summary .is-paying{color:#087d14}.class-fee-summary .is-free{color:var(--muted)}.class-fee-number{background:var(--soft);height:38px;color:var(--green);border-radius:50%;flex:0 0 38px;place-items:center;font-weight:800;display:grid}.class-fee-parent{gap:3px;display:grid}.class-fee-parent>span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.class-fee-parent>a{width:max-content;color:var(--green);align-items:center;gap:6px;margin-top:5px;font-size:12px;font-weight:700;display:inline-flex}.class-fee-balance{background:var(--soft);border-radius:12px;gap:4px;padding:10px 12px;display:grid}.class-fee-balance>span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.class-fee-balance>strong{font-size:18px}.class-fee-form-footer{border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:14px;margin-top:18px;padding:16px;position:sticky;bottom:0}.class-fee-totals{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.class-fee-totals span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;gap:4px;font-size:11px;display:grid}.class-fee-totals strong{color:var(--text);letter-spacing:0;font-size:18px}.class-fee-actions button{min-height:46px}.finance-download-panel{border:1px solid var(--line);background:linear-gradient(135deg,var(--soft),var(--surface));border-radius:18px;flex-wrap:wrap;align-items:center;gap:18px;margin:18px 0 26px;padding:16px;display:flex}.finance-download-panel p{color:var(--muted);margin:0;font-size:13px}.finance-download-button{background:var(--green);color:#fff;box-shadow:0 8px 22px var(--green);border-radius:13px;align-items:center;gap:12px;padding:13px 18px;display:flex}@supports (color:color-mix(in lab, red, red)){.finance-download-button{box-shadow:0 8px 22px color-mix(in srgb,var(--green) 25%,transparent)}}.finance-download-button span{gap:2px;display:grid}.finance-download-button small{color:inherit;opacity:.8;font-size:11px}.fee-register-table td:nth-child(2) small{color:#666;margin-top:3px;display:block}.exam-cycle{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0;display:grid}.exam-cycle article{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:16px}.exam-cycle header,.exam-cycle article>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.exam-cycle header{margin-bottom:12px}.exam-cycle header>span{color:var(--green);font-weight:800}.exam-cycle header>strong{color:var(--muted);font-size:12px}.exam-cycle article>div>span{background:var(--soft);text-align:center;border-radius:10px;flex:110px;padding:10px 12px;font-weight:700}.attendance-schedule-notice{color:#654a00;background:#fff6d8;border:1px solid #d6a329;border-radius:12px;margin:18px 0;padding:14px 16px}:root[data-theme=dark] .attendance-schedule-notice{color:#ffe48a;background:#342b12;border-color:#80661e}@media (max-width:900px){.class-fee-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.class-fee-row{grid-template-columns:1fr 1fr}.class-fee-row>div{grid-column:auto}}@media (max-width:640px){.class-fee-controls,.exam-cycle,.class-fee-row{grid-template-columns:1fr}.class-fee-row>div{grid-column:1}.class-fee-actions,.class-fee-actions button{width:100%}.class-fee-actions{flex-direction:column-reverse}}.finance-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.finance-tabs{flex-wrap:wrap;gap:12px;margin:18px 0 26px;display:flex}.finance-tabs a{border:1px solid var(--line);border-radius:24px;padding:10px 18px}.finance-tabs a[aria-current=page]{background:var(--green);color:#fff}.finance-form,.finance-empty{border:1px solid var(--line);background:var(--surface);border-radius:20px;margin:20px 0;padding:26px}.finance-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.finance-fields label,.finance-search{font-weight:600;display:block}.finance-fields input,.finance-fields select,.finance-search input{border:1px solid var(--line);background:var(--bg);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:10px;margin-top:9px;padding:13px;display:block}.finance-lookup small{margin-top:8px;display:block}.finance-total{margin-top:24px;font-size:20px;font-weight:700}.finance-search{max-width:480px;margin:24px 0}.finance-table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:16px;max-width:100%;overflow:auto}.finance-table{border-collapse:collapse;text-align:left;width:100%}.finance-table th,.finance-table td{border-bottom:1px solid var(--line);min-width:120px;padding:16px}.finance-table td:first-child{overflow-wrap:anywhere;max-width:250px}.finance-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.finance-table small{color:var(--muted);margin-top:6px;display:block}.finance-table a,.finance-notice a{color:var(--green);font-weight:700;text-decoration:underline}.finance-pager{align-items:center;gap:16px;margin:20px 0;display:flex}.finance-pager button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:9px 14px}.finance-error,.finance-notice{color:#8b1d1d;background:#fee9e9;border-radius:12px;padding:16px}.finance-notice{color:#165828;background:#e6f1eb}.manual-invoice-form fieldset{border:0;min-width:0;margin:22px 0 0;padding:0}.invoice-student-search{grid-template-columns:auto 1fr;align-items:center;gap:8px;max-width:680px;position:relative;display:grid!important}.invoice-student-search input{grid-column:1/-1}.invoice-student-results{border:1px solid var(--line);background:var(--surface);border-radius:12px;max-width:680px;margin-top:-14px;overflow:hidden}.invoice-student-results button{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);background:0 0;align-items:center;gap:12px;padding:14px;display:flex}.invoice-student-results button:last-child{border-bottom:0}.invoice-student-results button:hover{background:var(--bg)}.invoice-student-results span,.invoice-student-results small{display:block}.invoice-student-results small{color:var(--muted);margin-top:3px}.invoice-family-card{border:1px solid var(--line);border-left:4px solid var(--green);background:var(--bg);border-radius:14px;grid-template-columns:1fr 1fr auto;align-items:center;gap:22px;margin:20px 0;padding:20px;display:grid}.invoice-family-card span,.invoice-card-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;display:block}.invoice-family-card strong,.invoice-family-card small{margin-top:5px;display:block}.invoice-family-card small{color:var(--muted)}.call-parent-button,.paid-button{border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:10px 15px;font-weight:700;display:inline-flex}.call-parent-button{background:#174ca1;color:#fff!important;text-decoration:none!important}.paid-button{color:#fff;background:#087d14}.invoice-list{gap:16px;display:grid}.invoice-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;padding:22px}.invoice-card header,.invoice-card footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.invoice-card h2{margin:5px 0 0;font-size:20px}.invoice-card-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0;padding:20px 0;display:grid}.invoice-card-grid strong,.invoice-card-grid small{overflow-wrap:anywhere;margin-top:6px;display:block}.invoice-card-grid small{color:var(--muted)}.invoice-payment-status{border-radius:999px;padding:8px 12px;font-weight:800}.invoice-payment-status.is-paid{color:#0b6525;background:#e4f6e9}.invoice-payment-status.is-unpaid{color:#9a1d1d;background:#feeaea}.invoice-card footer{justify-content:flex-end}.invoice-call-parent a{color:#fff;background:#174ca1;border-radius:9px;padding:10px 16px;font-weight:700;display:inline-flex}@media (max-width:800px){.invoice-card-grid,.invoice-family-card{grid-template-columns:1fr 1fr}.invoice-family-card .call-parent-button{grid-column:1/-1}}@media (max-width:520px){.invoice-card-grid,.invoice-family-card{grid-template-columns:1fr}.invoice-card footer>*{width:100%}}.receipt-page{max-width:850px;margin:35px auto;padding:20px}.receipt-actions{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.receipt-paper{color:#21362f;background:#fff;border:1px solid #dde5df;border-radius:16px;padding:40px}.receipt-paper h1{overflow-wrap:anywhere;font-size:22px}.receipt-paper hr{border:0;border-top:1px solid #dde5df;margin:25px 0}.receipt-details{grid-template-columns:1fr 1fr;gap:20px;margin:30px 0;display:grid}.receipt-details dt{color:#58695f;margin-bottom:5px;font-size:12px}.receipt-details dd{overflow-wrap:anywhere;margin:0;font-weight:600}.receipt-totals{background:#f1f7f3;border-radius:12px;margin:25px 0;padding:18px 22px}.receipt-totals p{justify-content:space-between;gap:20px;display:flex}.receipt-paid{color:#087d14;font-size:20px}@media (max-width:640px){.finance-fields,.receipt-details{grid-template-columns:1fr}.finance-form,.receipt-paper{padding:20px}.receipt-page{margin:0 auto;padding:12px}}@media print{@page{margin:15mm}body:has(.receipt-page){color:#000!important;background:#fff!important}.receipt-page{max-width:none;margin:0;padding:0}.receipt-actions{display:none!important}.receipt-paper{border:0;border-radius:0;padding:0}.receipt-paper a{color:inherit}}:root{--bg:#f5f7f6;--surface:#ffffffd1;--text:#21362f;--muted:#77817c;--line:#e1e8e3;--green:#087d14;--soft:#e6f1eb;--shadow:0 12px 38px #1a4d3410;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:14px}.profile-tabs{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:8px;width:max-content;max-width:100%;margin:0 0 22px;padding:5px;display:flex}.profile-tabs a{border-radius:10px;padding:10px 18px;font-weight:700}.profile-tabs a[aria-current=page]{background:var(--green);color:#fff;box-shadow:var(--shadow)}.student-reports{gap:20px;display:grid}.reports-heading,.report-form header,.report-form footer,.reports-filters header,.report-history-card header,.report-history-card footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.reports-heading h2,.report-form h3,.report-history-card h3{margin:5px 0}.reports-heading p{color:var(--muted);margin:0}.report-form{padding:24px}.report-form-grid,.reports-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0;display:grid}.report-form-grid label,.reports-filter-grid label{font-weight:700;display:block}.report-form-grid input,.report-form-grid select,.report-form-grid textarea,.reports-filter-grid input,.reports-filter-grid select{border:1px solid var(--line);background:var(--bg);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:10px;margin-top:8px;padding:12px 13px;display:block}.report-form-grid textarea{resize:vertical;line-height:1.5}.report-notes{grid-column:1/-1}.report-notes small{color:var(--muted);text-align:right;margin-top:6px;display:block}.report-form footer{border-top:1px solid var(--line);justify-content:flex-end;padding-top:18px}.reports-filters{padding:22px}.reports-filters header{justify-content:flex-start}.reports-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:0}.reports-filter-grid label:first-child{grid-column:span 2}.reports-filter-grid label:first-child svg{vertical-align:middle;margin-right:6px}.report-history-list{gap:14px;display:grid}.report-history-card{border:1px solid var(--line);border-left:4px solid var(--green);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;padding:21px}.report-history-card header{align-items:flex-start}.report-history-card header small{color:var(--muted)}.report-history-card time,.report-category{background:var(--soft);color:var(--green);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.report-history-card>p{background:var(--bg);white-space:pre-wrap;border-radius:12px;margin:18px 0;padding:16px;line-height:1.55}.report-history-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.report-history-card dl>div{border:1px solid var(--line);border-radius:11px;padding:12px}.report-history-card dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.report-history-card dd{margin:6px 0 0;font-weight:700}.report-history-card footer{justify-content:flex-end;margin-top:16px}.danger-button{color:#9a1d1d;background:#fff0f0;border:1px solid #e7aaaa;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:10px 15px;font-weight:800;display:inline-flex}@media (max-width:900px){.reports-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.report-form-grid,.reports-filter-grid,.report-history-card dl{grid-template-columns:1fr}.reports-filter-grid label:first-child,.report-notes{grid-column:1}.reports-heading>.primary-button,.report-form footer button{width:100%}.report-history-card footer button{flex:1}}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #61a98d}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.5px;font-size:34px;font-weight:500}h2{font-weight:500}small{font-size:12px}.muted{color:var(--muted);line-height:1.7}.brand{letter-spacing:-.8px;align-items:center;gap:10px;font-size:24px;font-weight:600;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:13px;place-items:center;width:41px;height:41px;display:grid}.brand-dot{color:#70a889;margin-left:-9px}.eyebrow{letter-spacing:2px;color:var(--green);margin-bottom:18px;font-size:10px;font-weight:700;display:block}.login-layout{grid-template-columns:1.12fr 1fr;min-height:100dvh;padding:18px;display:grid}.login-story{background:radial-gradient(at 70% 70%,#bddbcc 0,#0000 55%),linear-gradient(130deg,#eff5e9,#dceae2);border-radius:24px;flex-direction:column;padding:40px 48px 24px;display:flex;overflow:hidden}.story-content{max-width:620px;margin:auto 0;padding-top:75px}.story-content h1{letter-spacing:-2px;font-size:clamp(36px,3.5vw,56px);font-weight:400;line-height:1.15}.story-content h1 em{color:#477f61;font-family:Georgia,serif;font-weight:400}.story-content>p{color:#668071;max-width:390px;font-size:15px;line-height:1.8}.login-story footer{color:#6b8475;justify-content:space-between;gap:16px;font-size:10px;display:flex}.orbital{place-items:center;max-width:450px;height:275px;display:grid;position:relative}.orbit{border:1px solid #f9fff9a6;border-radius:50%;width:180px;height:180px;position:absolute;transform:rotate(-25deg)}.orbit-two{width:300px;height:210px;transform:rotate(-22deg)}.orbit-three{width:410px;height:250px;transform:rotate(-22deg)}.orbit-center{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#377458;background:linear-gradient(135deg,#ffffffb5,#e3f0e89c);border:1px solid #fff9;border-radius:32px;place-items:center;width:118px;height:118px;display:grid;transform:rotate(-8deg);box-shadow:0 18px 55px #46775d25}.orbit-label{box-shadow:var(--shadow);background:#ffffffb0;border:1px solid #fff;border-radius:20px;align-items:center;gap:8px;padding:11px 17px;font-size:11px;display:flex;position:absolute}.label-one{top:32px;left:58px}.label-two{bottom:32px;left:45px}.label-three{top:128px;right:5px}.login-panel{flex-direction:column;justify-content:center;align-items:center;padding:60px 35px;display:flex;position:relative}.login-card{width:100%;max-width:365px}.small-tag{letter-spacing:1.4px;align-items:center;gap:7px;font-size:9px;font-weight:700;display:inline-flex}.status-dot{background:#4a9975;border-radius:50%;width:6px;height:6px}.login-card h2{letter-spacing:-1.4px;margin:26px 0 10px;font-size:36px}.login-form{flex-direction:column;gap:10px;margin-top:36px;display:flex}.login-form label{margin-top:10px;font-size:12px;font-weight:600}input{border:1px solid var(--line);background:var(--surface);min-height:48px;color:var(--text);border-radius:10px;width:100%;padding:12px 14px}input::placeholder{color:#9ba69f;font-size:12px}.password-field{position:relative}.password-field input{padding-right:48px}.password-field button{width:40px;height:40px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:4px;right:4px}.form-hint{color:var(--muted);margin:4px 0 12px;font-size:11px;line-height:1.6}.primary-button{background:var(--green);color:#fff;border:0;border-radius:11px;justify-content:center;align-items:center;gap:14px;min-height:48px;padding:13px 20px;font-weight:500;display:flex}.primary-button:hover{background:#105340}.error-message{color:#a1362a;background:#fbe9e7;border-radius:10px;padding:12px;font-size:12px;line-height:1.5}.login-help{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:10px;margin-top:33px;padding-top:24px;font-size:10px;line-height:1.5;display:flex}.login-bottom{color:var(--muted);text-align:center;padding:0 12px;font-size:10px;position:absolute;bottom:23px}.app-shell{min-height:100dvh;display:flex}.sidebar{background:var(--surface);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-right:1px solid var(--line);flex-direction:column;width:240px;padding:32px 24px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar .brand{font-size:21px}.nav-caption{letter-spacing:1.7px;color:var(--muted);margin:48px 12px 17px;font-size:9px}.nav-link{border-radius:10px;align-items:center;gap:12px;padding:13px 14px;font-size:12px;display:flex}.nav-link.active{background:var(--soft);color:var(--green);font-weight:600}.sidebar-footer{border-top:1px solid var(--line);align-items:center;gap:12px;margin-top:auto;padding:22px 10px 0;font-size:11px;line-height:1.7;display:flex}.sidebar-footer small{color:var(--muted);font-size:10px}.main-shell{flex:1;min-width:0;margin-left:240px}.topbar{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:16px;height:85px;padding:0 40px;font-size:11px;display:flex}.breadcrumb{color:var(--muted);margin-left:10px}.user-menu{align-items:center;gap:10px;display:flex}.user-menu small{color:var(--muted);text-transform:capitalize;margin-top:4px;font-size:9px;display:block}.avatar{background:#e9dfcf;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.icon-button{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--muted);border-radius:10px;place-items:center;display:grid}.dashboard{max-width:1500px;margin:auto;padding:38px 40px}.page-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.page-heading .eyebrow{margin-bottom:10px;font-size:9px}.page-heading h1{margin-bottom:8px;font-size:30px}.page-heading p{margin-bottom:0;font-size:12px}.date-chip{white-space:nowrap;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:10px 14px;font-size:11px}.welcome-banner{color:#fff;box-shadow:var(--shadow);background:radial-gradient(at 85% 10%,#236b36,#0000 65%),#10256a;border-radius:20px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:25px;padding:30px 38px;display:flex;overflow:hidden}.welcome-banner .small-tag{color:#b6d8c7;font-size:8px}.welcome-banner h2{margin:15px 0 12px;font:32px/1.1 Georgia,serif}.welcome-banner p{color:#b6d8c7;margin:0;font-size:11px}.welcome-banner>svg{color:#b7d5c7;margin-right:50px;transform:rotate(-10deg)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px;display:grid}.stat-card,.glass-card{background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);border:1px solid #ffffffb0;border-radius:16px}.stat-card{padding:22px}.stat-label{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.stat-label>span{color:#68947f}.stat-card strong{letter-spacing:-1px;margin:17px 0 11px;font-size:29px;font-weight:500;display:block}.stat-card small{color:var(--muted);font-size:9px}.glass-card{padding:25px}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading h2{margin:0;font-size:15px}.section-heading>span{font-size:10px}.empty-state{text-align:center;color:var(--muted);padding:46px 12px}.empty-state svg{color:#89aa98;margin:auto auto 15px}.empty-state h3{color:var(--text);margin-bottom:8px;font-size:15px;font-weight:500}.empty-state p{margin:0;font-size:12px;line-height:1.6}.activity-list{margin:20px 0 0;padding:0;list-style:none}.activity-list li{border-top:1px solid var(--line);align-items:center;gap:12px;padding:14px 0;font-size:11px;display:flex}.activity-icon{background:var(--soft);color:var(--green);border-radius:10px;padding:10px}.activity-list strong{text-transform:capitalize;font-weight:500}.activity-list small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.activity-list time{color:var(--muted);margin-left:auto;font-size:10px}.app-footer{color:var(--muted);justify-content:space-between;gap:14px;padding:10px 40px 25px;font-size:9px;display:flex}.loading-page{gap:20px;max-width:650px;margin:auto;padding:60px 24px;display:grid}.skeleton{background:var(--line);border-radius:14px;height:70px;animation:1.3s ease-in-out infinite pulse}.loading-page>span{color:var(--muted)}@keyframes pulse{50%{opacity:.5}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not(:has(.public-portal)){--bg:#131c18;--surface:#1f2c24d9;--text:#e2ece5;--muted:#a0b3a7;--line:#35473b;--green:#7dc7a3;--soft:#263f32;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:is(:root:not([data-theme=light]):not(:has(.public-portal)) .brand-mark,:root:not([data-theme=light]):not(:has(.public-portal)) .primary-button){color:#fff;background:#087d14}:root:not([data-theme=light]):not(:has(.public-portal)) .primary-button:hover{background:#096b16}:root:not([data-theme=light]):not(:has(.public-portal)) .login-story{background:radial-gradient(at 70% 70%,#2d5842,#0000 65%),#1d3528}:is(:root:not([data-theme=light]):not(:has(.public-portal)) .story-content>p,:root:not([data-theme=light]):not(:has(.public-portal)) .login-story footer){color:#aac3b2}:root:not([data-theme=light]):not(:has(.public-portal)) .story-content h1 em{color:#96c5a7}:root:not([data-theme=light]):not(:has(.public-portal)) .orbit-center{color:#c5e7d2;background:#365844aa}:root:not([data-theme=light]):not(:has(.public-portal)) .orbit-label{background:#2d483bea;border-color:#537761}:root:not([data-theme=light]):not(:has(.public-portal)) .orbit{border-color:#62846c66}:is(:root:not([data-theme=light]):not(:has(.public-portal)) .stat-card,:root:not([data-theme=light]):not(:has(.public-portal)) .glass-card){border-color:var(--line)}:root:not([data-theme=light]):not(:has(.public-portal)) .avatar{background:#48513d}:root:not([data-theme=light]):not(:has(.public-portal)) .error-message{color:#ffd0c5;background:#4c2927}}:root[data-theme=dark]:not(:has(.public-portal)){--bg:#131c18;--surface:#1f2c24d9;--text:#e2ece5;--muted:#a0b3a7;--line:#35473b;--green:#7dc7a3;--soft:#263f32;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:is(:root[data-theme=dark]:not(:has(.public-portal)) .brand-mark,:root[data-theme=dark]:not(:has(.public-portal)) .primary-button){color:#fff;background:#087d14}:root[data-theme=dark]:not(:has(.public-portal)) .primary-button:hover{background:#096b16}:root[data-theme=dark]:not(:has(.public-portal)) .login-story{background:radial-gradient(at 70% 70%,#2d5842,#0000 65%),#1d3528}:is(:root[data-theme=dark]:not(:has(.public-portal)) .story-content>p,:root[data-theme=dark]:not(:has(.public-portal)) .login-story footer){color:#aac3b2}:root[data-theme=dark]:not(:has(.public-portal)) .story-content h1 em{color:#96c5a7}:root[data-theme=dark]:not(:has(.public-portal)) .orbit-center{color:#c5e7d2;background:#365844aa}:root[data-theme=dark]:not(:has(.public-portal)) .orbit-label{background:#2d483bea;border-color:#537761}:root[data-theme=dark]:not(:has(.public-portal)) .orbit{border-color:#62846c66}:is(:root[data-theme=dark]:not(:has(.public-portal)) .stat-card,:root[data-theme=dark]:not(:has(.public-portal)) .glass-card){border-color:var(--line)}:root[data-theme=dark]:not(:has(.public-portal)) .avatar{background:#48513d}:root[data-theme=dark]:not(:has(.public-portal)) .error-message{color:#ffd0c5;background:#4c2927}@media (min-width:1600px){.login-story{padding:60px 80px}.story-content{margin:auto}.orbital{height:340px}}@media (max-width:1024px){.login-story{padding:30px}.login-story footer{flex-direction:column;gap:6px}.story-content h1{font-size:39px}.sidebar{width:200px;padding:28px 15px}.main-shell{margin-left:200px}.dashboard{padding:30px 24px}.topbar{padding:0 24px}.welcome-banner>svg{margin-right:0}.page-heading{align-items:flex-start}.date-chip{display:none}.page-heading h1{font-size:27px}}@media (max-width:767px){.login-layout{padding:12px;display:block}.login-story{border-radius:18px;padding:24px}.story-content{padding-top:35px}.story-content h1{letter-spacing:-1px;font-size:34px}.story-content>p{margin-bottom:0;font-size:13px}.orbital,.login-story footer{display:none}.login-panel{padding:40px 20px 65px}.login-card h2{margin-top:19px;font-size:30px}.login-form{margin-top:22px}.login-bottom{bottom:10px}.sidebar{border-right:0;border-bottom:1px solid var(--line);width:auto;padding:16px 20px;position:relative}.sidebar .brand{font-size:20px}.nav-caption,.sidebar nav,.sidebar-footer{display:none}.app-shell{display:block}.main-shell{margin-left:0}.topbar{height:70px;padding:0 20px}.breadcrumb{display:none}.dashboard{padding:26px 18px}.page-heading h1{letter-spacing:-1px;font-size:25px}.welcome-banner{padding:26px}.welcome-banner h2{font-size:29px}.welcome-banner>svg{flex-shrink:0;width:70px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat-card{padding:17px}.stat-card strong{overflow-wrap:anywhere;font-size:24px}.stat-label{font-size:10px}.glass-card{padding:20px}.section-heading{flex-direction:column;align-items:flex-start}.app-footer{flex-direction:column;gap:6px;padding:0 18px 20px}.user-menu{gap:8px}.user-menu>span:not(.avatar){overflow-wrap:anywhere;max-width:115px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.account-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.account-form label{gap:8px;font-size:12px;display:grid}.account-form button{align-self:end}select{border:1px solid var(--line);background:var(--surface);min-height:48px;color:var(--text);border-radius:10px;width:100%;padding:12px}.fixed-score{border:1px solid var(--line);background:var(--soft);min-height:48px;color:var(--text);border-radius:10px;align-items:center;padding:12px;font-size:18px;font-weight:600;display:flex}.table-scroll{margin-top:20px;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th{text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-size:10px;font-weight:500}th,td{border-bottom:1px solid var(--line);white-space:nowrap;padding:15px 12px}.table-actions{gap:8px;display:flex}.class-table th:nth-child(4),.class-table td:nth-child(4),.class-table th:nth-child(5),.class-table td:nth-child(5),.class-table th:nth-child(6),.class-table td:nth-child(6){display:none}.class-table .table-actions{justify-content:flex-end}.secondary-button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;min-height:40px;padding:10px 14px;font-size:11px}.pagination{justify-content:flex-end;align-items:center;gap:16px;margin-top:18px;font-size:11px;display:flex}.badge{background:var(--soft);color:var(--green);border-radius:20px;padding:5px 9px;font-size:10px;display:inline-block}.notice-message{background:var(--soft);border-radius:12px;margin-top:20px;padding:20px;font-size:12px;line-height:1.6}.demo-banner{background:var(--soft);color:var(--green);border:1px solid var(--line);border-radius:10px;margin-bottom:24px;padding:10px 15px;font-size:11px}@media (max-width:600px){.account-form{grid-template-columns:1fr}}.school-nav{gap:3px;display:grid;overflow-y:auto}.sidebar .nav-caption{margin-top:30px}.sidebar-footer{flex-shrink:0}.mobile-menu{display:none}.theme-picker{width:88px;min-height:36px;padding:7px;font-size:11px}.record-toolbar{flex-wrap:wrap;align-items:center;gap:15px;display:flex}.search-form{flex:1;gap:8px;min-width:200px;display:flex}.search-form .icon-button{min-width:44px;height:48px}.status-filter{text-transform:capitalize;max-width:155px}.record-count{color:var(--muted);font-size:11px}.record-loading{color:var(--muted);gap:16px;padding:35px 0;font-size:12px;display:grid}.record-dialog{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:20px;width:calc(100% - 32px);max-width:760px;max-height:90dvh;margin:auto;padding:28px;box-shadow:0 30px 80px #0004}.record-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#10271db3}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.dialog-heading h2{margin-bottom:0;font-size:25px}.dialog-heading .eyebrow{margin-bottom:10px;font-size:9px}.record-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.record-form label{margin-bottom:8px;font-size:12px;display:block}.record-form textarea{border:1px solid var(--line);background:var(--surface);width:100%;min-height:90px;color:var(--text);font:inherit;border-radius:10px;padding:12px}.field-wide{grid-column:1/-1}.reference-field{gap:7px;display:grid}.reference-field label{margin:0}.reference-field input{min-height:36px;padding:8px 12px}.reference-field small{font-size:10px}.field-error{color:#bd4535;font-size:11px}.dialog-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:12px;margin-top:26px;padding-top:20px;display:flex}.table-actions .secondary-button{align-items:center;gap:6px;display:inline-flex}.profile-heading{margin-top:30px}.profile-attendance{text-align:right;gap:8px;display:grid}.profile-attendance strong{font-size:32px;font-weight:500}.profile-attendance span{color:var(--muted);font-size:11px}.profile-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin:25px 0 10px;display:grid}.profile-details dt{color:var(--muted);margin-bottom:7px;font-size:10px}.profile-details dd{overflow-wrap:anywhere;margin:0;font-size:13px}.profile-history{margin-top:25px}.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}@media (max-width:767px){.sidebar{flex-flow:wrap;justify-content:space-between;align-items:center;display:flex}.mobile-menu{display:grid}.sidebar nav.school-nav{width:100%;display:none}.sidebar nav.school-nav.is-open{grid-template-columns:repeat(2,minmax(0,1fr));max-height:60vh;padding-top:15px;display:grid}.sidebar .nav-link{padding:12px;font-size:11px}.topbar>span{display:none}.topbar .user-menu{justify-content:flex-end;width:100%}.page-heading{flex-direction:column}.record-dialog{padding:20px}.record-form{grid-template-columns:1fr}.profile-details{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-attendance{text-align:left}.status-filter{max-width:none}.record-toolbar{gap:12px}.search-form{min-width:100%}.pagination{justify-content:space-between;gap:10px}}@media (max-width:600px){.records-table,.records-table tbody{display:block}.records-table thead{display:none}.records-table tr{border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:14px;padding:16px;display:grid}.records-table td{white-space:normal;overflow-wrap:anywhere;border:0;min-width:0;padding:0;display:block}.records-table td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:7px;font-size:9px;display:block}.records-table .record-actions-cell{border-top:1px solid var(--line);grid-column:1/-1;padding-top:12px}.records-table .record-actions-cell:before{display:none}.records-table .table-actions{flex-wrap:wrap}.class-table tr{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.class-table .record-actions-cell{grid-column:1/-1}.class-table .table-actions{justify-content:flex-start}}.attendance-panel{margin-bottom:24px;padding:24px}.attendance-filters,.attendance-actions{flex-wrap:wrap;gap:16px;margin:20px 0;display:flex}.attendance-filters label{flex:1;gap:8px;min-width:180px;display:grid}.attendance-panel input,.attendance-panel select{border:1px solid var(--line);background:var(--surface);color:inherit;border-radius:8px;width:100%;min-width:0;padding:10px}.attendance-stats{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:16px;margin:24px 0;display:grid}.attendance-stats strong{font-size:28px;display:block}.attendance-stats span{text-transform:capitalize;color:var(--muted)}.attendance-table{width:100%}.attendance-table td{white-space:normal}.school-brand{letter-spacing:-1px;color:#152038;flex-shrink:0;align-items:center;gap:12px;font-size:25px;font-weight:800;display:inline-flex}.school-brand img{object-fit:contain;background:#fff;border-radius:50%;width:52px;height:52px;box-shadow:0 3px 12px #071b2520}.school-brand small{letter-spacing:.6px;margin-top:4px;font-size:9px;font-weight:500;display:block}.brand-accent{color:#087d14}.public-header{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:radial-gradient(at 50% 0,#8aadcb65,#0000 65%),#f0f5fadc;padding:22px clamp(16px,6.3vw,120px) 7px;position:sticky;top:0}.glass-header{background:linear-gradient(115deg,#ffffffe8,#e0edd878,#ffffffdc);border:1px solid #ffffffc9;border-radius:64px;justify-content:space-between;align-items:center;gap:20px;min-height:88px;padding:15px 28px;display:flex;box-shadow:inset 0 1px 1px #fff,0 10px 35px #164d4710}.glass-header nav{align-items:center;gap:30px;display:flex}.header-signin{color:#243451;font-size:17px;font-weight:600}.portal-button{color:#fff;background:#087d14;border:1px solid #087d14;border-radius:32px;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:15px 26px;font-size:16px;font-weight:700;display:inline-flex;box-shadow:0 4px 8px #087d1426}.portal-button:hover{background:#066310;border-color:#066310}.public-portal .login-layout{isolation:isolate;background:linear-gradient(#ffffff05 1px,#0000 1px) 0 0/72px 72px,linear-gradient(90deg,#ffffff05 1px,#0000 1px) 0 0/72px 72px,radial-gradient(at 65% 40%,#165da070,#0000 60%),linear-gradient(120deg,#101f58,#080f28);gap:6vw;min-height:calc(100dvh - 116px);padding:40px clamp(20px,6.5vw,124px) 64px;position:relative;overflow:hidden}.public-portal .login-layout:before{content:"";z-index:-1;pointer-events:none;filter:blur(7px);opacity:.22;background:url(/brand/school-logo.jpeg) 50%/min(85vw,850px) no-repeat;position:absolute;inset:0}.public-portal .login-story{color:#fff;background:0 0;border-radius:0;padding:35px 0 10px}.public-portal .story-content{padding-top:25px}.public-portal .story-content h1{letter-spacing:-2.8px;font-family:Arial,Helvetica,sans-serif;font-size:clamp(36px,4.2vw,72px);font-weight:800}.public-portal .story-content h1 em{font:inherit;color:#64c34b}.public-portal .story-content>p{color:#b5ccce;max-width:490px;font-size:17px}.public-portal .eyebrow{color:#edb65e}.public-portal .login-story footer{color:#9fbec1;gap:18px}.public-portal .login-panel{color:#21362f;background:#ffffffed;border:1px solid #ffffff35;border-radius:24px;align-self:center;padding:42px 32px 24px;box-shadow:0 24px 60px #0002}.public-portal .login-card{width:100%;max-width:420px;scroll-margin-top:145px}.public-portal .login-form input{color:#21362f;background:#fff}.public-portal .login-bottom{color:#576f67;margin:22px 0 0;scroll-margin-top:145px;position:static}.public-portal .orbital{opacity:.8;height:200px;margin:30px 0}.school-footer{color:#b7ccce;background:radial-gradient(at 76% 65%,#287e35a0,#0000 45%),radial-gradient(at 44% 35%,#132b76,#0000 70%),linear-gradient(110deg,#0b1725,#102543);padding:76px clamp(24px,6.8vw,130px) 120px;font-size:16px;line-height:1.65;position:relative;overflow:hidden}.footer-grid{z-index:1;grid-template-columns:1.5fr 1fr 1fr 1fr 1.3fr;gap:clamp(24px,3vw,58px);display:grid;position:relative}.school-footer .school-brand{color:#fff;font-size:25px}.school-footer .school-brand img{width:46px;height:46px}.school-footer .school-brand small{display:none}.school-footer h2{letter-spacing:1.1px;color:#9cb8b9;margin:0 0 22px;font-size:13px;font-weight:700}.footer-grid>div>a:not(.school-brand):not(.portal-button){margin-bottom:12px;display:block}.school-footer a:hover{color:#fff}.footer-intro>p{max-width:320px}.school-footer .footer-motto{color:#edb65e;margin-top:25px;font-weight:700}.school-footer .portal-button{border-radius:12px;width:100%;padding:12px 16px;font-size:14px}.footer-bottom{z-index:1;color:#a2b9be;border-top:1px solid #ffffff1a;flex-wrap:wrap;align-items:center;gap:24px;margin-top:68px;padding-top:30px;font-size:13px;display:flex;position:relative}.footer-bottom>a{margin-left:auto}.footer-watermark{color:#ffffff04;letter-spacing:-8px;pointer-events:none;font-size:clamp(80px,16vw,300px);font-weight:800;line-height:1;position:absolute;bottom:-65px;left:5%}.sidebar .school-brand{gap:8px;font-size:21px}.sidebar .school-brand img{width:38px;height:38px}.sidebar .school-brand small{letter-spacing:0;font-size:7px}.main-shell .topbar{background:linear-gradient(115deg, var(--surface), #087d141a, var(--surface));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #ffffff90;border-radius:52px;height:auto;min-height:76px;margin:20px 24px 0;padding:14px 26px;box-shadow:inset 0 1px 1px #ffffff60,0 8px 24px #071c8709}.main-shell .school-footer{padding:52px 36px 90px}.main-shell .footer-grid{grid-template-columns:1.5fr 1fr 1fr}:root[data-theme=dark]:not(:has(.public-portal)) .sidebar .school-brand{color:var(--text)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not(:has(.public-portal)) .sidebar .school-brand{color:var(--text)}}@media (max-width:1100px){.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.public-portal .login-layout{gap:30px}}@media (max-width:767px){.public-header{padding:12px 12px 6px}.glass-header{gap:10px;min-height:68px;padding:10px 15px}.school-brand{gap:8px;font-size:21px}.school-brand img{width:42px;height:42px}.school-brand small{letter-spacing:0;font-size:7px}.glass-header nav{gap:12px}.glass-header .portal-button{min-height:42px;padding:11px 15px;font-size:12px}.header-signin{display:none}.public-portal .login-layout{grid-template-columns:1fr;gap:24px;padding:24px 20px 40px}.public-portal .login-story{padding:12px 0 0}.public-portal .login-layout:before{background-position:50% 24px;background-size:110vw}.public-portal .story-content{padding:0}.public-portal .story-content h1{letter-spacing:-1.6px;font-size:39px}.public-portal .story-content>p{font-size:15px}.public-portal .orbital,.public-portal .login-story footer{display:none}.public-portal .login-panel{width:100%;padding:28px 22px 20px}.public-portal .login-card{scroll-margin-top:110px}.school-footer,.main-shell .school-footer{padding:44px 24px 74px}.footer-grid,.main-shell .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px;font-size:14px}.footer-intro,.footer-connected{grid-column:1/-1}.school-footer h2{margin-bottom:15px}.footer-bottom{gap:14px;margin-top:35px;padding-top:22px;font-size:11px}.footer-bottom>a{margin-left:0}.main-shell .topbar{min-height:60px;margin:10px 12px 0;padding:14px 16px}.footer-watermark{letter-spacing:-4px;bottom:-18px}}@media (max-width:360px){.glass-header .school-brand{font-size:18px}.glass-header .school-brand img{width:35px;height:35px}.glass-header .portal-button{padding:10px;font-size:11px}}.workspace-heading{align-items:center;gap:12px;min-width:0;display:flex}.workspace-heading .school-brand{font-size:21px}.workspace-heading .school-brand img{width:44px;height:44px}@media (max-width:1100px){.workspace-heading .breadcrumb{display:none}}@media (max-width:767px){.workspace-heading{display:none}}:root{--school-blue:#071c87;--school-green:#087d14;--school-gold:#b56510}.school-brand{color:var(--school-blue)}.public-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.glass-header{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(115deg,#fffffff0,#e8f2e5de,#f6f8ffeb);border-color:#ffffffd9}.public-portal{background:#101f58}.public-portal .login-form button[type=submit]{background:var(--school-green);color:#fff}.public-portal .orbit-center{color:var(--school-blue);border:1px solid #b5651066}.public-portal .orbit{border-color:#b6c7e755}.school-footer .footer-motto{color:#edb65e}.school-footer .footer-watermark{color:#ffffff06}@media (max-width:767px){.public-header{padding:12px 14px 0;top:0}.glass-header{gap:8px;min-height:62px;padding:10px 12px}.glass-header .school-brand{gap:6px;font-size:19px}.glass-header .school-brand img{width:34px;height:34px}.glass-header .school-brand small{display:none}.glass-header nav{flex-shrink:0;gap:13px}.glass-header .header-signin{white-space:nowrap;align-items:center;min-height:44px;font-size:13px;display:inline-flex}.glass-header .portal-button{min-height:42px;padding:10px 17px;font-size:13px}.school-footer,.main-shell .school-footer{background:radial-gradient(at 60% 30%,#287e3566,#0000 48%),radial-gradient(at 40% 80%,#183c8277,#0000 50%),#09152b;padding:52px 20px 95px}.footer-grid,.main-shell .footer-grid{grid-template-columns:minmax(0,1fr);gap:44px;font-size:16px;line-height:1.7}.footer-intro,.footer-connected{grid-column:auto}.footer-intro>p{max-width:none}.school-footer h2{letter-spacing:1.5px;margin-bottom:20px;font-size:12px}.footer-grid>div>a:not(.school-brand):not(.portal-button){margin-bottom:13px}.footer-bottom{gap:10px 22px;margin-top:60px;padding-top:24px;font-size:12px}.footer-bottom>span:first-child{flex-basis:100%}.footer-watermark{white-space:nowrap;font-size:95px;bottom:-12px;left:20px}}@media (max-width:360px){.public-header{padding-inline:10px}.glass-header{gap:5px;padding-inline:10px}.glass-header .school-brand{gap:5px;font-size:16px}.glass-header .school-brand img{width:29px;height:29px}.glass-header nav{gap:9px}.glass-header .header-signin{font-size:12px}.glass-header .portal-button{padding-inline:13px;font-size:12px}}.academic-year-badge{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;flex-shrink:0;gap:5px;min-width:135px;padding:8px 12px;display:flex}.academic-year-badge>span{text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-size:9px}.academic-year-badge select{max-width:175px;color:var(--text);font:inherit;background:0 0;border:0;font-weight:700}.academic-year-badge strong{font-size:13px}.main-shell .topbar{flex-wrap:wrap}.attendance-panel input[type=checkbox]{width:18px;height:18px}.attendance-panel h2{margin-top:30px}.exam-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:24px 0;display:grid}.exam-list button{text-align:left;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;display:flex}@media (max-width:767px){.main-shell .topbar{border-radius:22px}.main-shell .topbar .user-menu{flex-wrap:wrap;justify-content:flex-start;width:auto}.main-shell .topbar .academic-year-badge{width:100%}.academic-year-badge select{max-width:100%}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{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}
.portal-v2{--bg:#f3f6fb;--surface:#ffffffed;--text:#182b47;--muted:#5e7088;--line:#dce4ef;--green:#117c42;--soft:#eaf4ee;--accent:#183f94;--shadow:0 4px 24px #1c385307;background:radial-gradient(ellipse at 90% 0%, var(--soft), transparent 45%), var(--bg);color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-height:100dvh;font-family:Segoe UI,Arial,sans-serif;font-size:14px;line-height:1.5}.portal-v2 h1,.portal-v2 h2,.portal-v2 h3{color:var(--text);letter-spacing:-.035em;font-weight:650}.portal-v2 .main-shell{flex-direction:column;min-width:0;margin-left:264px;display:flex}.portal-sidebar{z-index:40;border-right:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);flex-direction:column;width:264px;padding:26px 14px 14px;display:flex;position:fixed;inset:0 auto 0 0}.portal-sidebar>.school-brand{gap:9px;margin:0 8px 24px;font-size:22px}.portal-sidebar .school-brand img{width:42px;height:42px}.portal-sidebar .school-brand small{font-size:8px}.navigation-search{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:10px;align-items:center;gap:8px;margin:0 6px 14px;padding:0 10px;display:flex}.navigation-search input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;padding:12px 0;font-size:12px}.portal-navigation{overscroll-behavior:contain;scrollbar-width:thin;padding:0 4px 8px;overflow-y:auto}.nav-group{margin:0 0 17px}.nav-group h2{letter-spacing:.11em;color:var(--muted);margin:14px 10px 7px;font-size:9px}.portal-nav-link{border:1px solid #0000;border-radius:11px;align-items:center;gap:12px;min-height:50px;padding:9px 12px;font-weight:600;transition:background .15s,color .15s;display:flex}.portal-nav-link svg{color:var(--muted);flex-shrink:0}.portal-nav-link small{color:var(--muted);margin-top:1px;font-size:10px;font-weight:400;line-height:1.4;display:block}.portal-nav-link:hover{background:var(--bg)}.portal-nav-link.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-color:color-mix(in srgb,var(--accent) 12%,var(--line))}.portal-nav-link.active svg{color:var(--accent)}.nav-active-dot{background:var(--green);border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-home{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin-top:auto;padding:14px 12px 3px;font-size:12px;display:flex}.nav-no-results{color:var(--muted);padding:16px;font-size:13px}.portal-mobile-bar{display:none}.navigation-dialog{background:var(--surface);width:min(360px,92vw);max-width:none;height:100dvh;max-height:100dvh;color:var(--text);border:0;border-radius:20px 0 0 20px;margin:0 0 0 auto;padding:20px 16px;box-shadow:-15px 0 80px #10234333}.navigation-dialog[open]{flex-direction:column;display:flex}.navigation-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#101d4266}.navigation-dialog header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.navigation-dialog h2{margin:0;font-size:21px}.navigation-dialog .navigation-search{flex-shrink:0}.portal-v2 .main-shell .topbar{z-index:25;border:0;border-bottom:1px solid var(--line);background:var(--surface);min-height:88px;box-shadow:none;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:0;flex-wrap:nowrap;gap:20px;margin:0;padding:16px 32px;position:sticky;top:0}.portal-v2 .workspace-heading{color:var(--muted);flex-direction:column;flex:1;align-items:flex-start;gap:3px;font-size:11px;display:flex}.workspace-heading strong{color:var(--text);font-size:14px;font-weight:600}.portal-v2 .academic-year-badge{border:1px solid var(--line);background:var(--bg);border-radius:10px;gap:3px;width:auto;min-width:158px;padding:8px 13px}.portal-v2 .academic-year-label{letter-spacing:.04em;color:var(--muted);align-items:center;gap:5px;font-size:9px;display:flex}.portal-v2 .academic-year-badge select{width:auto;min-height:26px;color:var(--text);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:700}.portal-v2 .academic-year-badge strong{color:var(--text);font-size:13px}.portal-v2 .user-menu{flex-shrink:0;font-size:12px}.portal-v2 .user-menu small{font-size:10px}.portal-v2 .avatar{background:var(--soft);color:var(--green);border:1px solid var(--line);flex-shrink:0;width:38px;height:38px;font-weight:700}.portal-v2 .theme-picker{border:1px solid var(--line);width:auto;min-height:40px;color:var(--muted);background:var(--bg);border-radius:10px;padding:3px;display:flex}.portal-v2 .theme-picker button{width:32px;min-height:32px;color:inherit;background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid}.portal-v2 .theme-picker button:hover{color:var(--text);background:color-mix(in srgb,var(--surface) 72%,var(--soft))}.portal-v2 .theme-picker button.active{color:#fff;background:var(--accent);box-shadow:0 2px 6px color-mix(in srgb,var(--accent) 28%,transparent)}.portal-v2 .dashboard{flex:1;width:100%;min-width:0;max-width:1600px;margin:0 auto;padding:28px 32px 48px}.portal-v2 .page-heading{flex-wrap:wrap;gap:20px;margin:22px 0 26px}.portal-v2 .page-heading h1,.portal-v2 .finance-heading h1{letter-spacing:-.04em;margin:0 0 8px;font-size:clamp(28px,3vw,38px);line-height:1.2}.portal-v2 .page-heading p,.portal-v2 .finance-heading p{max-width:720px;color:var(--muted);font-size:14px;line-height:1.65}.portal-v2 .eyebrow{letter-spacing:.13em;margin-bottom:9px;font-size:10px}.title-translation{color:var(--green);margin:0 0 6px;font-size:13px;font-weight:600;display:block}.workspace-guide{border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 65%,transparent);color:var(--muted);border-radius:12px;margin-bottom:24px}.workspace-guide summary{cursor:pointer;align-items:center;gap:9px;padding:12px 16px;font-size:12px;list-style:none;display:flex}.workspace-guide summary::-webkit-details-marker{display:none}.workspace-guide summary>svg:last-child{margin-left:auto;transition:transform .2s}.workspace-guide[open] summary>svg:last-child{transform:rotate(180deg)}.workspace-guide summary span span{color:var(--green)}.workspace-guide>div{padding:0 16px 18px}.workspace-guide p{max-width:780px;font-size:14px;line-height:1.7}.workspace-guide ol{flex-wrap:wrap;gap:22px;margin:0;padding:0;list-style:none;display:flex}.workspace-guide li{align-items:center;gap:8px;font-size:12px;display:flex}.workspace-guide li span{background:var(--soft);width:24px;height:24px;color:var(--green);border-radius:50%;place-items:center;font-weight:700;display:grid}.portal-v2 :is(.primary-button,.secondary-button,.icon-button){border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-size:13px;font-weight:600;transition:background .18s,box-shadow .18s,transform .18s;display:inline-flex}.portal-v2 .primary-button{color:#fff;background:#117c42;border:1px solid #117c42;padding:12px 19px;box-shadow:0 3px 8px #117c421e}.portal-v2 .primary-button:hover:not(:disabled){background:#0b6736;box-shadow:0 5px 14px #117c4233}.portal-v2 .secondary-button{background:var(--surface);color:var(--text);border:1px solid var(--line);padding:11px 16px}.portal-v2 .icon-button{background:var(--surface);width:44px;color:var(--muted);border-color:var(--line);flex-shrink:0}.portal-v2 :is(button,a):focus-visible,.portal-v2 summary:focus-visible,.portal-v2 :is(input,select,textarea):focus-visible{outline-offset:3px;outline:3px solid #648ded}.portal-v2 button:disabled{cursor:not-allowed;opacity:.5}.portal-v2 :is(.glass-card,.card,.stat-card,.finance-form,.finance-empty){border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:18px}.portal-v2 .glass-card{margin-bottom:22px;padding:24px;overflow:hidden}.portal-v2 .card{padding:24px}.portal-v2 :is(.card,.glass-card)>p{color:var(--muted);font-size:13px;line-height:1.7}.portal-v2 .welcome-banner{background:radial-gradient(at 84% 30%,#236853aa,#0000 58%),linear-gradient(110deg,#132f72,#112b54);border-radius:20px;min-height:206px;margin:0 0 22px;padding:24px 32px;position:relative;box-shadow:0 10px 28px #142e7115}.portal-v2 .welcome-banner h2{color:#fff;margin:10px 0;font-family:inherit;font-size:32px;font-weight:650}.portal-v2 .welcome-banner p{color:#d1dfec;max-width:460px;font-size:14px}.portal-v2 .welcome-banner .small-tag{color:#acdcc2;font-size:10px}.quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 26px;display:grid}.quick-action{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:13px;padding:18px;transition:transform .18s,box-shadow .18s;display:flex}.quick-action>svg:first-child{color:var(--green);flex-shrink:0}.quick-action>svg:last-child{color:var(--muted);flex-shrink:0;margin-left:auto}.quick-action strong{font-size:13px;display:block}.quick-action small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.portal-v2 .stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.portal-v2 .stat-card{padding:21px}.portal-v2 .stat-label{font-size:12px;font-weight:500}.portal-v2 .stat-label>span{background:var(--soft);color:var(--green);border-radius:11px;padding:9px}.portal-v2 .stat-card strong{font-variant-numeric:tabular-nums;margin:14px 0 9px;font-size:32px;font-weight:650;line-height:1.15}.portal-v2 .stat-card small{font-size:11px}.portal-v2 .section-heading{margin:24px 0 14px}.portal-v2 .section-heading h2{font-size:19px}.portal-v2 .section-heading>span{font-size:12px}.portal-v2 .attendance-stats{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px;margin:22px 0;display:grid}.portal-v2 .attendance-stats>div{border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:16px}.portal-v2 .attendance-stats strong{color:var(--text);font-size:25px;font-weight:650}.portal-v2 .attendance-stats span{color:var(--muted);text-transform:capitalize;font-size:11px}.portal-v2 .record-toolbar{flex-wrap:wrap;gap:12px;margin-bottom:20px}.portal-v2 .search-form{background:var(--bg);border:1px solid var(--line);border-radius:11px;flex:1;min-width:180px;max-width:440px}.portal-v2 .search-form input{min-width:0;color:var(--text);background:0 0;border:0;padding:12px;font-size:14px}.portal-v2 .search-form button{background:0 0;border:0}.portal-v2 .record-count{color:var(--muted);margin-left:auto;font-size:12px}.portal-v2 .table-scroll,.portal-v2 .finance-table-wrap{overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:12px;max-width:100%;overflow:auto}.portal-v2 .records-table,.portal-v2 .finance-table{border-collapse:collapse;width:100%;font-size:13px}.portal-v2 :is(.records-table,.finance-table) th{color:var(--muted);background:var(--bg);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line);padding:14px 16px;font-size:10px;font-weight:700}.portal-v2 :is(.records-table,.finance-table) td{color:var(--text);border-bottom:1px solid var(--line);padding:15px 16px;line-height:1.5}.portal-v2 :is(.records-table,.finance-table) tr:last-child td{border-bottom:0}.portal-v2 :is(.records-table,.finance-table) tbody tr:hover{background:color-mix(in srgb,var(--soft) 55%,transparent)}.portal-v2 .table-actions{flex-wrap:wrap;gap:7px;display:flex}.portal-v2 .table-actions :is(a,button){border-radius:8px;min-height:36px;padding:7px 10px;font-size:12px}.portal-v2 .badge{background:var(--soft);color:var(--green);text-transform:capitalize;border-radius:7px;padding:4px 9px;font-size:11px;font-weight:600;display:inline-flex}.portal-v2 .badge[data-status=archived],.portal-v2 .badge[data-status=inactive]{background:var(--bg);color:var(--muted)}.portal-v2 .record-dialog{background:var(--surface);width:calc(100% - 32px);max-width:800px;max-height:90dvh;color:var(--text);border:1px solid var(--line);border-radius:20px;padding:0}.portal-v2 .dialog-heading{border-bottom:1px solid var(--line);margin:0;padding:22px 26px}.portal-v2 .dialog-heading h2{margin:0;font-size:25px}.portal-v2 .dialog-heading .eyebrow{font-size:9px}.portal-v2 .record-dialog form>.form-introduction{color:var(--muted);margin:0;padding:18px 26px 0;font-size:12px}.portal-v2 .record-form{gap:24px;padding:24px 26px}.portal-v2 .field-translation{color:var(--muted);margin-top:3px;font-size:11px;font-weight:400;display:block}.portal-v2 .record-form label{margin-bottom:8px;font-size:13px;font-weight:600;display:block}.portal-v2 :is(.record-form,.attendance-panel,.finance-fields,.class-fee-row,.class-payment-entry) :is(input:not([type=checkbox]),select,textarea),.portal-v2 .status-filter,.portal-v2 .finance-search input{background:var(--bg);width:100%;min-width:0;max-width:100%;color:var(--text);border:1px solid var(--line);min-height:44px;font:inherit;border-radius:10px;padding:11px 12px}.portal-v2 .status-filter{width:auto}.portal-v2 .record-form textarea{resize:vertical;min-height:100px}.portal-v2 .reference-field input{margin-bottom:8px;font-size:12px}.portal-v2 .reference-field>small{margin-top:7px;font-size:11px;display:block}.portal-v2 .dialog-actions{z-index:2;border-top:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);margin:0;padding:17px 26px;position:sticky;bottom:0}.portal-v2 :is(.error-message,.finance-error){color:#902c2c;background:#fff0ef;border:1px solid #e9b4b4;border-radius:10px;padding:14px}.portal-v2 :is(.notice-message,.finance-notice){color:#17673a;background:#e9f6ee;border:1px solid #b4d9c2;border-radius:10px;padding:14px}.portal-v2 .record-dialog .error-message{margin:0 26px 16px}.portal-v2 .empty-state{padding:48px 20px}.portal-v2 .empty-state h3{font-size:18px}.portal-v2 .empty-state p{font-size:13px}.portal-v2 .finance-tabs{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:5px;padding:5px}.portal-v2 .finance-tabs a{border:0;border-radius:8px;padding:11px 15px;font-size:13px}.portal-v2 .finance-tabs a[aria-current=page]{color:#fff;background:#183f94}.portal-v2 .finance-tabs small{color:var(--muted);padding:8px 12px}.portal-v2 .finance-heading{margin-top:22px}.portal-v2 .finance-table td{min-width:110px}.portal-v2 .finance-form{padding:24px}.portal-v2 .finance-form h2{margin:0 0 12px;font-size:22px}.portal-v2 .finance-form h3{margin:0 0 14px;font-size:18px}.portal-v2 .finance-form>p{color:var(--muted);margin-bottom:20px;line-height:1.7}.portal-v2 .finance-empty h2{margin:0 0 10px;font-size:19px}.portal-v2 .finance-empty p{color:var(--muted);margin:0}.portal-v2 .class-fee-row{background:var(--surface)}.portal-v2 .class-fee-row>div{font-weight:600}.portal-v2 .class-fee-row small{font-weight:400}.portal-v2 .class-payment-student{background:var(--surface)}.portal-v2 .class-table :is(th,td):is(:nth-child(4),:nth-child(5),:nth-child(6)){display:none}.portal-v2 .account-form{margin-top:22px}.portal-v2 .account-form :is(input,select){border:1px solid var(--line);background:var(--bg);width:100%;min-width:0;min-height:46px;color:var(--text);border-radius:10px;padding:11px 12px}.portal-v2 .profile-details{gap:16px}.portal-v2 .profile-details>div{border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:16px}.portal-v2 .profile-details dt{color:var(--muted);margin-bottom:6px;font-size:11px}.portal-v2 .profile-details dd{overflow-wrap:anywhere;margin:0}.portal-v2 .attendance-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0;display:flex}.portal-v2 .exam-list button{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:14px;min-height:140px}.portal-v2 .exam-list button[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent)}.portal-v2 .workspace-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:20px 32px;font-size:11px;display:flex}.skip-link{z-index:100;color:#fff;background:#183f94;border-radius:10px;padding:12px 20px;position:fixed;top:8px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}.school-depth{perspective:700px;flex-shrink:0;width:300px;height:220px;position:relative}.depth-stack{transform-style:preserve-3d;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .4s ease-out;position:absolute;inset:0}.depth-crest{background:#ffffff30;border:1px solid #fff8;border-radius:50%;width:132px;height:132px;padding:7px;animation:7s ease-in-out infinite crest-float;position:absolute;top:44px;left:84px;transform:translateZ(36px);box-shadow:0 18px 45px #06194b66,inset 0 2px 8px #fff8}.depth-crest img{border-radius:50%;width:100%;height:100%}.depth-orbit{border:1px solid #b7d0e657;border-radius:50%;position:absolute;inset:20px;transform:rotateX(58deg)rotate(-23deg);box-shadow:0 2px 1px #fff2}.depth-orbit-two{inset:38px 0;transform:rotateY(48deg)rotate(36deg)}.depth-tile{color:#e0f5ed;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(135deg,#ffffff45,#b9e8d511);border:1px solid #ffffff75;border-radius:16px;place-items:center;width:58px;height:58px;display:grid;position:absolute;box-shadow:0 12px 24px #071b4533,inset 0 1px #fff8}.depth-tile-one{top:35px;left:20px;transform:translateZ(55px)rotate(-14deg)}.depth-tile-two{bottom:16px;right:12px;transform:translateZ(65px)rotate(13deg)}.depth-dot{background:#e8b962;border-radius:50%;width:13px;height:13px;position:absolute;top:25px;right:27px;transform:translateZ(26px);box-shadow:0 3px 10px #e5b05455}@keyframes crest-float{50%{transform:translateZ(36px)translateY(-8px)}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.quick-action:hover{transform:translateY(-3px);box-shadow:0 8px 20px #18335e10}}@media (max-width:1200px){.portal-v2 .main-shell .topbar{padding-inline:24px}.portal-v2 .user-identity{display:none}.portal-v2 .dashboard{padding-inline:24px}.quick-action{gap:9px;padding:14px}}@media (max-width:1000px){.portal-sidebar{display:none}.portal-v2{display:block}.portal-v2 .main-shell{margin-left:0}.portal-mobile-bar{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.portal-mobile-bar .school-brand{gap:8px;font-size:22px}.portal-mobile-bar .school-brand img{width:40px;height:40px}.portal-mobile-bar .school-brand small{font-size:8px}.portal-v2 .main-shell .topbar{min-height:76px;padding:12px 20px}}@media (max-width:600px){.portal-v2 .dashboard{padding:18px 16px 32px}.portal-v2 .workspace-heading{display:none}.portal-v2 .main-shell .topbar{justify-content:space-between;gap:10px;padding:10px 16px}.portal-v2 .main-shell .topbar .academic-year-badge{width:auto;min-width:136px;padding:6px 10px}.portal-v2 .main-shell .topbar .user-menu{flex-wrap:nowrap;gap:7px;width:auto}.portal-v2 .avatar{display:none}.portal-v2 .theme-picker{width:auto}.portal-v2 .page-heading{gap:16px;margin:20px 0}.portal-v2 .page-heading p,.portal-v2 .finance-heading p{font-size:13px}.portal-v2 .page-heading>.primary-button{width:100%}.portal-v2 .welcome-banner{min-height:0;padding:24px}.portal-v2 .welcome-banner h2{font-size:27px}.portal-v2 .welcome-banner .school-depth{display:none}.quick-actions{grid-template-columns:1fr;gap:8px}.quick-action{padding:14px 16px}.quick-action strong{font-size:14px}.quick-action small{margin-top:0}.portal-v2 .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-v2 .stat-card{min-width:0;padding:16px}.portal-v2 .stat-label{font-size:11px}.portal-v2 .stat-label>span{padding:5px}.portal-v2 .stat-label svg{width:16px}.portal-v2 .stat-card strong{overflow-wrap:anywhere;font-size:26px}.portal-v2 :is(.glass-card,.card,.finance-form){border-radius:14px;padding:16px}.portal-v2 .record-toolbar{align-items:stretch}.portal-v2 .search-form{flex-basis:100%;max-width:none}.portal-v2 .record-count{align-self:center}.portal-v2 .table-scroll{border:0}.portal-v2 .records-table thead{display:none}.portal-v2 .records-table,.portal-v2 .records-table tbody{min-width:0;display:block}.portal-v2 .records-table tr{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:0 0 12px;padding:8px 12px;display:block}.portal-v2 .records-table td{border-bottom:1px solid var(--line);text-align:right;overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:12px;min-width:0;max-width:none;padding:10px 0;font-size:13px;display:flex}.portal-v2 .records-table td:before{content:attr(data-label);color:var(--muted);text-align:left;flex-shrink:0;max-width:40%;font-size:11px;font-weight:500}.portal-v2 .records-table td:last-child{border-bottom:0}.portal-v2 .records-table .table-actions{justify-content:flex-end}:is(.portal-v2 .records-table td:has(input),.portal-v2 .records-table td:has(select)){flex-wrap:wrap}.portal-v2 .records-table td :is(input,select){width:100%;font-size:16px}.portal-v2 .record-dialog{border-radius:16px;width:calc(100% - 16px);max-height:94dvh}.portal-v2 .dialog-heading,.portal-v2 .record-form{padding:20px}.portal-v2 .record-form{grid-template-columns:1fr;gap:20px}.portal-v2 .record-dialog form>.form-introduction{padding:16px 20px 0}.portal-v2 .dialog-actions{padding:14px 20px max(14px,env(safe-area-inset-bottom))}.portal-v2 .dialog-actions .primary-button{flex:1}.portal-v2 .finance-fields{grid-template-columns:1fr;gap:18px}.portal-v2 .attendance-filters{grid-template-columns:1fr}.portal-v2 .attendance-actions>.primary-button{width:100%}.portal-v2 .finance-tabs{flex-wrap:wrap}.portal-v2 .finance-tabs a{padding:10px 12px}.portal-v2 .class-fee-row{gap:12px;padding:14px}.portal-v2 .workspace-footer{padding:18px 16px;font-size:10px}.portal-v2 .workspace-footer span span{margin-top:4px;display:block}.portal-v2 input,.portal-v2 select,.portal-v2 textarea{font-size:16px!important}}@media (max-width:360px){.portal-v2 .main-shell .topbar .academic-year-badge{min-width:124px}.portal-v2 .theme-picker{width:auto}}:root[data-theme=dark] .portal-v2{--bg:#111b2c;--surface:#19263bed;--text:#e6edf7;--muted:#a2b3c9;--line:#2b3c53;--green:#8bd5ab;--soft:#203c37;--accent:#a5beff;--shadow:0 4px 22px #00000015;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .portal-v2{--bg:#111b2c;--surface:#19263bed;--text:#e6edf7;--muted:#a2b3c9;--line:#2b3c53;--green:#8bd5ab;--soft:#203c37;--accent:#a5beff;--shadow:0 4px 22px #00000015;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}.portal-v2 .school-brand{color:var(--text)}.portal-v2 .school-brand .brand-accent{color:var(--green)}@media (prefers-reduced-motion:reduce){.portal-v2 *,.school-depth *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.depth-stack{transform:none}}@media print{.portal-sidebar,.portal-mobile-bar,.portal-v2 .topbar,.workspace-guide,.workspace-footer,.quick-actions,.school-depth{display:none!important}.portal-v2 .main-shell{margin:0}.portal-v2{color:#000;background:#fff}}.public-navigation,.public-desktop-links{align-items:center;gap:24px;display:flex}.public-desktop-links a{color:#193b61;font-size:13px;font-weight:600}.public-signin-button{color:#fff;white-space:nowrap;background:#117c42;border-radius:30px;align-items:center;gap:8px;min-height:46px;padding:12px 21px;font-size:14px;font-weight:600;display:inline-flex;box-shadow:0 5px 12px #117c4225}.public-mobile-links{display:none;position:relative}.public-mobile-links summary{cursor:pointer;color:#193b61;border:1px solid #ccd5dd;border-radius:50%;place-items:center;width:44px;height:44px;list-style:none;display:grid}.public-mobile-links summary::-webkit-details-marker{display:none}.public-mobile-links nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffef9f5;border:1px solid #dae1e9;border-radius:18px;width:240px;padding:10px;position:absolute;top:56px;right:0;box-shadow:0 16px 50px #152d5522}.public-mobile-links nav a{color:#193b61;border-radius:10px;padding:13px;font-size:14px;display:block}.public-mobile-links nav a:hover{background:#eaf4ee}.sign-in-v2{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#182b47;background:radial-gradient(at 12% 55%,#dcebe766,#0000 50%),#f3f6fb;flex-direction:column;min-height:100dvh;font-family:Segoe UI,Arial,sans-serif;display:flex}.signin-header{justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:1320px;margin:auto;padding:26px 40px;display:flex}.signin-header .school-brand{gap:11px;font-size:26px}.signin-header .school-brand img{width:48px;height:48px}.signin-header .school-brand small{font-size:10px}.signin-back{background:#ffffffb0;border:1px solid #dce4ef;border-radius:10px;align-items:center;gap:8px;padding:11px 15px;font-size:13px;display:flex}.signin-layout{flex:1;grid-template-columns:1.12fr 1fr;align-items:center;gap:64px;width:100%;max-width:1240px;margin:20px auto 48px;padding:0 32px;display:grid}.signin-story{isolation:isolate;color:#fff;background:radial-gradient(at 75% 72%,#2f7569aa,#0000 65%),linear-gradient(130deg,#172e6f,#0e2949);border-radius:28px;padding:46px 40px 30px;position:relative;overflow:hidden;box-shadow:0 24px 55px #17306018}.signin-story:before{content:"";z-index:-1;filter:blur(18px);opacity:.045;background:url(/brand/school-logo.jpeg) 50%/90% no-repeat;position:absolute;inset:0}.signin-kicker{letter-spacing:.16em;color:#afdbc6;font-size:10px;font-weight:700}.signin-story h1{letter-spacing:-.045em;margin:26px 0 20px;font-size:clamp(36px,4vw,53px);font-weight:650;line-height:1.1}.signin-story h1 em{color:#b6e7c9;font-family:Georgia,serif;font-weight:400}.signin-story>p{color:#c6d8e3;max-width:440px;font-size:15px;line-height:1.8}.signin-story .school-depth{height:230px;margin:0 auto}.signin-features{border-top:1px solid #ffffff26;flex-wrap:wrap;gap:18px;padding-top:22px;display:flex}.signin-features span{color:#d7e4ed;align-items:center;gap:7px;font-size:11px;display:flex}.signin-features svg{color:#a9dfbc}.signin-form-panel{width:100%;max-width:440px;margin:auto;padding:28px 0}.signin-form-panel h2{letter-spacing:-.04em;color:#182b47;margin:8px 0 10px;font-size:31px;font-weight:650}.signin-form-panel>p{color:#62758a;font-size:14px}.signin-form-panel .title-translation{color:#117c42}.sign-in-v2 .login-form{gap:9px;margin-top:32px}.sign-in-v2 .login-form label{color:#182b47;margin-top:14px;font-size:13px;font-weight:600}.sign-in-v2 .login-form label span{color:#67798d;font-size:11px;font-weight:400}.sign-in-v2 .login-form input{color:#182b47;background:#fff;border:1px solid #d5dfea;border-radius:11px;min-height:52px;padding:15px;font-size:15px}.sign-in-v2 .login-form .password-field input{padding-right:50px}.sign-in-v2 .login-form input::placeholder{color:#78889a}.sign-in-v2 .login-form button[type=submit]{background:#117c42;border-radius:11px;min-height:52px;margin-top:24px;padding:15px 20px;font-size:14px;font-weight:600;box-shadow:0 5px 12px #117c421a}.signin-help{color:#597088;border-top:1px solid #dce4ef;gap:12px;margin-top:28px;padding:19px 0;display:flex}.signin-help svg{color:#117c42;flex-shrink:0}.signin-help p{margin:0;font-size:12px}.signin-help span{margin-top:4px;font-size:12px;line-height:1.6;display:block}.signin-footer{color:#6d7e91;border-top:1px solid #e0e7ef;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:22px 40px;font-size:11px;display:flex}@media (max-width:1200px){.public-desktop-links{display:none}.public-mobile-links{display:block}.public-navigation{gap:10px}}@media (max-width:850px){.signin-layout{gap:28px;padding:0 24px}.signin-story{padding:32px 26px}.signin-story h1{font-size:37px}.signin-story .school-depth{width:260px;left:-10px}}@media (max-width:700px){.signin-header{padding:20px}.signin-header .school-brand{font-size:21px}.signin-header .school-brand img{width:39px;height:39px}.signin-header .school-brand small{font-size:8px}.signin-back{padding:11px;font-size:11px}.signin-layout{grid-template-columns:1fr;gap:0;margin:8px auto 24px;padding:0 20px}.signin-story{border-radius:20px;padding:24px}.signin-story h1{margin:16px 0 12px;font-size:33px}.signin-story>p{margin:0;font-size:13px;line-height:1.65}.signin-story .school-depth,.signin-features{display:none}.signin-form-panel{max-width:none;padding:30px 4px 0}.signin-form-panel h2{font-size:27px}.sign-in-v2 .login-form{margin-top:16px}.sign-in-v2 .login-form input{font-size:16px}.signin-footer{padding:20px;font-size:10px}}@media (max-width:400px){.public-signin-button{padding:11px 14px;font-size:12px}.public-signin-button svg{display:none}.public-navigation{gap:7px}.signin-back svg{display:none}}
.portal-v2 .attendance-filters:has(.attendance-class-picker){grid-template-columns:minmax(150px,.65fr) minmax(0,1fr) minmax(0,1fr);align-items:start}.attendance-class-picker{gap:12px;min-width:0;display:grid}@media (max-width:800px){.portal-v2 .attendance-filters:has(.attendance-class-picker){grid-template-columns:1fr}}.portal-v2 button,.portal-v2 a.primary-button,.portal-v2 a.secondary-button{touch-action:manipulation}.portal-v2 button:focus-visible,.portal-v2 a:focus-visible,.portal-v2 input:focus-visible,.portal-v2 select:focus-visible{outline-offset:3px;outline:3px solid #6598ee}.portal-v2 button:disabled{cursor:not-allowed;opacity:.55}.portal-v2 .primary-button,.portal-v2 .secondary-button{justify-content:center;min-height:42px}.portal-v2 .attendance-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;margin-bottom:24px;padding:24px}.portal-v2 .attendance-filters{grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:20px;margin-bottom:24px;display:grid}.portal-v2 .attendance-filters label{gap:8px;font-weight:600;display:grid}.portal-v2 .attendance-filters input,.portal-v2 .attendance-filters select{width:100%;min-width:0;min-height:48px}.portal-v2 .attendance-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0 12px;display:grid}.portal-v2 .attendance-stats>div{border:1px solid var(--line);border-top:3px solid var(--status-color,var(--accent));background:var(--bg);border-radius:12px;padding:16px}.portal-v2 .attendance-stats strong{font-variant-numeric:tabular-nums;font-size:28px;line-height:1.2;display:block}.portal-v2 .attendance-stats span{text-transform:capitalize;color:var(--muted);margin-top:6px;display:block}.status-present{--status-color:#15803d;--status-tint:#e9f8ee}.status-absent{--status-color:#b91c1c;--status-tint:#fff0f0}.status-late{--status-color:#a65b00;--status-tint:#fff7e6}.status-excused{--status-color:#2454b2;--status-tint:#eef3ff}.portal-v2 .attendance-status-buttons{flex-wrap:wrap;gap:7px;display:flex}.portal-v2 .attendance-status{border:1px solid var(--status-color,var(--line));background:var(--status-tint,var(--bg));min-height:42px;color:var(--status-color,var(--text));text-transform:capitalize;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:5px;padding:9px 12px;font-size:12px;font-weight:700;transition:box-shadow .15s,background .15s;display:inline-flex}.portal-v2 .attendance-status[aria-pressed=true],.portal-v2 .attendance-status[data-selected=true]{background:var(--status-color,var(--bg));color:#fff;box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--status-color,var(--line))}.portal-v2 .attendance-status:hover:not(:disabled){box-shadow:0 0 0 2px var(--status-color)}.portal-v2 .attendance-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:16px 0;display:flex}.portal-v2 .attendance-roster{width:100%}.portal-v2 .attendance-roster th{white-space:nowrap}.portal-v2 .attendance-roster td{vertical-align:middle;padding:18px 12px}.portal-v2 .attendance-roster td:first-child{min-width:150px;font-weight:650}.portal-v2 .attendance-roster input{width:100%;min-width:110px}.lesson-board{padding:20px}.lesson-board-note{margin:0 0 22px}.lesson-day{margin-bottom:28px}.lesson-day>header{border-bottom:1px solid var(--line);align-items:center;gap:12px;margin-bottom:14px;padding-bottom:10px;display:flex}.lesson-day>header h2{margin:0;font-size:18px}.lesson-day>header span{color:var(--muted);font-size:12px}.lesson-day-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px;display:grid}.lesson-card{border:1px solid var(--line);border-left:4px solid var(--green);background:var(--bg);border-radius:12px;min-width:0;padding:18px}.lesson-time{color:var(--accent);font-variant-numeric:tabular-nums;font-size:18px}.portal-v2 .lesson-card h3{letter-spacing:0;overflow-wrap:anywhere;margin:12px 0 8px;font-size:14px;line-height:1.6}.lesson-card .table-actions{margin-top:16px}@media (max-width:900px){.portal-v2 .attendance-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-v2 .attendance-roster thead{display:none}.portal-v2 .attendance-roster,.portal-v2 .attendance-roster tbody{display:block}.portal-v2 .attendance-roster tr{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:12px;display:block}.portal-v2 .attendance-roster td{border:0;min-width:0;padding:7px 0;display:block}.portal-v2 .attendance-roster td:before{display:none}.portal-v2 .attendance-status-buttons{grid-template-columns:1fr 1fr;display:grid}}@media (max-width:560px){.portal-v2 .attendance-panel{padding:16px}.portal-v2 .attendance-filters{grid-template-columns:1fr}.portal-v2 .attendance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-v2 .attendance-actions>button{flex:140px}.lesson-board{padding:14px}}@media (prefers-reduced-motion:reduce){.portal-v2 .attendance-status{transition:none}}
