/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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-border-style:solid;--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-outline-style:solid;--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:ui-sans-serif, system-ui, 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;--spacing:.25rem;--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,ui-sans-serif, system-ui, 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{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{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.hidden{display:none}.inline-block{display:inline-block}.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,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--navy:#0e2b57;--blue:#2869db;--pale:#f5f8fd;--line:#e5ebf3;--text:#15233c;--muted:#6d7b91;--gold:#f2c94c;--red:#d44d5c;--green:#13815d}*{box-sizing:border-box}body{background:var(--pale);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}button,select,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--navy);color:#eef5ff;flex-direction:column;flex:none;width:248px;padding:25px 16px;display:flex}.brand{border-bottom:1px solid #ffffff24;align-items:center;gap:10px;padding:0 9px 22px;display:flex}.brand img{object-fit:contain;background:#fff;border-radius:50%;width:43px;height:43px}.brand strong{letter-spacing:.1px;font-size:15px;display:block}.brand span{color:#b7c9e7;margin-top:2px;font-size:12px;display:block}.session{color:#9db4d6;letter-spacing:1.1px;margin:24px 10px 11px;font-size:10px;font-weight:700}.sidebar nav{gap:5px;display:grid}.nav-item{color:#cfdbed;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;padding:12px;font-size:14px;text-decoration:none;display:flex}.external-nav-item span{min-width:0}.external-nav-item i{opacity:.75;margin-left:auto;font-size:13px;font-style:normal}.nav-item b{text-align:center;width:18px;font-size:17px}.nav-item:hover,.nav-item.active{color:#fff;background:#1d4d91;font-weight:700}.sidebar-foot{color:#c8d7eb;border-top:1px solid #ffffff21;align-items:center;gap:9px;margin-top:auto;padding:18px 9px 0;font-size:12px;display:flex}.sidebar-foot small{color:#92abd0}.help-badge{border:1px solid #88a6d1;border-radius:50%;place-items:center;width:26px;height:26px;font-weight:700;display:grid}.content{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:73px;padding:0 39px;display:flex}.breadcrumb{color:#8290a5;font-size:13px}.breadcrumb span{margin:0 9px}.profile{align-items:center;gap:9px;display:flex}.profile strong{font-size:13px;display:block}.profile small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.avatar{color:#1e59bd;background:#dce9ff;border-radius:50%;place-items:center;width:35px;height:35px;font-size:12px;font-weight:700;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.bell{color:#1d5fc6;margin-right:12px;font-size:20px}.chevron{color:#8091a8;margin-left:4px}.mobile-brand{display:none}.page{max-width:1300px;margin:0 auto;padding:36px 39px 70px}.welcome-row{justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px;display:flex}.eyebrow{letter-spacing:1.15px;color:#4075c8;margin:0 0 7px;font-size:10px;font-weight:800}.welcome-row h1{letter-spacing:-.6px;margin:0 0 7px;font-size:28px}.welcome-row h1 span{color:#f4b800;font-size:18px}.welcome-row p{color:var(--muted);margin:0;font-size:14px}.primary-button{background:var(--blue);color:#fff;border:0;border-radius:8px;padding:12px 16px;font-size:13px;font-weight:700;box-shadow:0 7px 14px #2869db33}.primary-button span{margin-left:8px;font-size:17px;line-height:0}.primary-button:hover{background:#1d59ba}.class-strip{color:#fff;background:linear-gradient(100deg,#102d5a,#174b99);border-radius:12px;align-items:center;gap:20px;min-height:88px;margin-bottom:25px;padding:15px 20px;display:flex;box-shadow:0 12px 24px #12366c1f}.class-pill{align-items:center;gap:11px;min-width:226px;display:flex}.mini-logo{color:#1a3260;background:#f3ce48;border-radius:8px;place-items:center;width:44px;height:44px;font-weight:900;display:grid}.class-pill small,.class-pill span{color:#bcd0ee;font-size:10px;display:block}.class-pill strong{margin:3px 0;font-size:14px;display:block}.strip-divider{background:#426396;width:1px;height:41px}.progress-copy{gap:5px;display:grid}.progress-copy strong{font-size:13px}.progress-copy span{color:#bcd0ee;font-size:11px}.subject-progress{align-items:center;gap:9px;margin-left:auto;display:flex}.subject-progress>span{background:#49699c;border-radius:5px;width:135px;height:7px;overflow:hidden}.subject-progress i{background:#f4ca40;border-radius:5px;height:100%;display:block}.subject-progress b{font-size:13px}.text-button,.link-button{color:#fff;background:0 0;border:0;font-size:12px;font-weight:700}.link-button{color:var(--blue)}.metrics{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:23px;display:grid}.metric-card{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:142px;padding:19px 17px;position:relative;overflow:hidden}.metric-card:after{content:"";background:var(--blue);width:100%;height:3px;position:absolute;top:0;left:0}.metric-card.warning:after{background:#e89b23}.metric-card.purple:after{background:#7556c7}.metric-card p{color:var(--muted);margin:0 0 8px;font-size:12px}.metric-card strong{letter-spacing:-1px;font-size:27px;display:block}.metric-card span{color:#627088;font-size:11px}.metric-card.positive span{color:var(--green);font-weight:700}.metric-icon{width:31px;height:31px;color:var(--blue);background:#e9f1ff;border-radius:8px;place-items:center;font-weight:700;display:grid;position:absolute;top:17px;right:15px}.warning .metric-icon{color:#d9860b;background:#fff0d7}.purple .metric-icon{color:#7657c8;background:#f0eaff}.two-column{grid-template-columns:1.25fr .75fr;gap:20px;margin-bottom:23px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;padding:21px}.panel-title{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.panel-title h2{margin:0;font-size:17px}.panel-title .eyebrow{margin-bottom:5px}.period-control,.filter-group button{border:1px solid var(--line);color:#516078;background:#fff;border-radius:7px;padding:8px 10px;font-size:11px}.period-control span,.filter-group span{color:#8797ac;padding-left:8px}.legend{color:#748198;gap:17px;margin:23px 0 18px;font-size:11px;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.legend-dot.current{background:#2b6bdd}.legend-dot.prior{background:#d9e0eb}.bar-line{grid-template-columns:70px 1fr 35px;align-items:center;gap:10px;font-size:11px;display:grid}.bar-line>span{color:#58677d}.bar-line b{text-align:right;color:#263c60}.bars{background:#f0f4f8;border-radius:5px;height:17px;position:relative}.bars i{border-radius:4px;height:6px;position:absolute;left:0}.prior-bar{background:#d8e0ec;top:2px}.current-bar{background:#2b6bdd;bottom:2px}.insight{color:#5f7090;background:#f0f6ff;border-radius:7px;margin:23px 0 0;padding:11px 13px;font-size:11px;line-height:1.5}.insight b{color:#2b65c4}.watch-student{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:16px 0;display:flex}.student-avatar{border-radius:50%;place-items:center;width:33px;height:33px;font-size:10px;font-weight:700;display:grid}.student-avatar.red{color:#bb3c4a;background:#ffe4e7}.student-avatar.orange{color:#c77920;background:#fff0de}.student-avatar.amber{color:#a87b00;background:#fff7d8}.watch-student div:nth-child(2){gap:3px;display:grid}.watch-student strong{font-size:12px}.watch-student span{color:var(--muted);font-size:10px}.watch-student em{color:var(--red);margin-left:auto;font-size:11px;font-style:normal;font-weight:700}.watch-student em.flat{color:#8792a6}.attention-callout{color:#7d6734;background:#fff8ea;border-radius:8px;gap:9px;margin-top:16px;padding:12px;display:flex}.attention-callout span{color:#dd981f;font-size:17px}.attention-callout p{margin:0;font-size:11px;line-height:1.45}.attention-callout b{color:#725315}.progress-panel{padding-bottom:17px}.filter-group{gap:8px;display:flex}.student-table{margin-top:18px}.table-head,.student-row{grid-template-columns:1.6fr 1.05fr .9fr .82fr 28px;align-items:center;gap:12px;display:grid}.table-head{color:#8290a3;text-transform:uppercase;letter-spacing:.5px;padding:0 10px 10px;font-size:10px;font-weight:700}.student-row{border-top:1px solid var(--line);padding:12px 10px;font-size:12px}.student-row>div:first-child{align-items:center;gap:10px;display:flex}.roll{color:#587090;background:#eff4fb;border-radius:6px;place-items:center;width:25px;height:25px;font-size:10px;font-weight:700;display:inline-grid}.score{color:#536277;align-items:center;gap:7px;font-size:11px;display:flex}.score i{background:#e5eaf2;border-radius:4px;width:74px;height:5px;overflow:hidden}.score em{background:#2b6bdd;border-radius:4px;height:100%;display:block}.trend{font-size:11px;font-weight:700}.trend.up{color:var(--green)}.trend.down{color:var(--red)}.trend.steady{color:#7c8899}.status{border-radius:20px;justify-self:start;padding:5px 8px;font-size:10px;font-weight:700}.status.improved{color:#127a56;background:#e9f7f1}.status.attention{color:#bd4350;background:#ffe8eb}.status.steady{color:#647287;background:#eef2f7}.more{color:#7d8aa0;background:0 0;border:0}.show-more{color:var(--blue);background:0 0;border:0;margin:17px auto 0;font-size:12px;font-weight:700;display:block}.marks-page .autosave{color:#18805d;background:#e8f8f0;border-radius:20px;padding:8px 12px;font-size:11px;font-weight:700}.entry-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.entry-selects{border-bottom:1px solid var(--line);background:#fafcff;grid-template-columns:repeat(3,1fr);gap:14px;padding:20px;display:grid}.entry-selects label{color:#627089;font-size:11px;font-weight:700}.entry-selects select{color:#203656;background:#fff;border:1px solid #dbe3ef;border-radius:7px;width:100%;margin-top:6px;padding:10px 9px;font-size:13px;display:block}.entry-heading{justify-content:space-between;align-items:center;padding:20px;display:flex}.entry-heading h2{margin:0 0 5px;font-size:18px}.entry-heading p{color:var(--muted);margin:0;font-size:12px}.draft{color:#9d6a0b;background:#fff4d5;border-radius:20px;padding:7px 10px;font-size:11px;font-weight:700}.entry-list{border-top:1px solid var(--line)}.entry-row{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr auto 90px;align-items:center;gap:12px;padding:13px 20px;font-size:13px;display:grid}.entry-row .outof{color:#8c98aa;font-size:11px}.entry-row input{text-align:center;width:100%;color:var(--navy);border:1px solid #cfd9e7;border-radius:7px;padding:9px 10px;font-weight:700}.entry-row input:focus{border-color:#6d9eee;outline:2px solid #bed6ff}.entry-footer{color:#6d7b91;background:#fafcff;justify-content:space-between;align-items:center;padding:18px 20px;font-size:11px;display:flex}.saved-toast{color:#fff;background:#123f31;border-radius:9px;padding:13px 18px;font-size:13px;font-weight:700;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 26px #0000002e}.mobile-nav{display:none}.topbar-year{color:#245aa8;white-space:nowrap;background:#f3f7ff;border:1px solid #d7e4f7;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:800}.history-page,.student-admin-page{gap:18px;min-width:0;display:grid}.history-hero,.student-admin-hero{color:#fff;background:radial-gradient(circle at 88% 18%,#f2c94c57,#0000 26%),linear-gradient(125deg,#0e2b57,#195aa4 62%,#16836f);border-radius:17px;justify-content:space-between;align-items:center;gap:24px;padding:28px 30px;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 35px #15457e33}.history-hero h1,.student-admin-hero h1{margin:0 0 8px;font-size:28px}.history-hero p,.student-admin-hero p{color:#dceaff;max-width:700px;margin:0;font-size:13px;line-height:1.55}.history-hero .eyebrow,.student-admin-hero .eyebrow{color:#ffe078;margin-bottom:8px}.history-year-badge,.current-year-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #ffffff40;border-radius:14px;min-width:180px;padding:18px 20px}.history-year-badge span,.current-year-card span,.current-year-card small{color:#d9e7fb;font-size:10px;display:block}.history-year-badge strong,.current-year-card strong{color:#fff;margin:6px 0;font-size:24px;display:block}.history-controls,.student-roster-controls{grid-template-columns:repeat(3,minmax(160px,1fr));align-items:end;gap:14px;display:grid}.student-roster-controls{grid-template-columns:180px 210px minmax(220px,1fr) auto}.history-controls label,.student-roster-controls label,.student-record-form label,.create-year-card label,.promotion-flow label{color:#66758b;gap:6px;font-size:11px;font-weight:700;display:grid}.history-controls select,.student-roster-controls select,.student-roster-controls input,.student-record-form input,.student-record-form select,.student-record-form textarea,.create-year-card input,.promotion-flow select{width:100%;min-height:42px;color:var(--text);background:#fff;border:1px solid #d7e0ec;border-radius:8px;outline:none;padding:9px 11px}.history-controls select:focus,.student-roster-controls input:focus,.student-record-form input:focus,.student-record-form textarea:focus,.create-year-card input:focus{border-color:#4c82da;box-shadow:0 0 0 3px #4c82da1f}.history-loading{min-height:100px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.mini-spinner{border:3px solid #dce8f8;border-top-color:#2869db;border-radius:50%;width:22px;height:22px;animation:.8s linear infinite sbhs-spin}@keyframes sbhs-spin{to{transform:rotate(360deg)}}.history-metrics{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.history-metrics article{border:1px solid var(--line);background:#fff;border-radius:13px;min-height:108px;padding:19px 20px;box-shadow:0 8px 24px #17355b0f}.history-metrics span,.history-metrics small{color:var(--muted);font-size:11px;display:block}.history-metrics strong{color:var(--navy);margin:7px 0;font-size:27px;display:block}.history-progress{background:#e7eef8;border-radius:10px;height:7px;margin-top:10px;overflow:hidden}.history-progress i{border-radius:inherit;background:linear-gradient(90deg,#2869db,#19a67d);height:100%;display:block}.history-legend{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.history-legend i,.history-score.mine i{background:#159873;border-radius:50%;width:8px;height:8px}.history-register{border:1px solid #e5ebf3;border-radius:10px;width:100%;min-width:0;max-width:100%;overflow:auto}.history-register-panel,.student-directory-panel,.promotion-panel{min-width:0}.history-register table{border-collapse:collapse;width:100%;min-width:980px;font-size:12px}.history-register th,.history-register td{text-align:center;white-space:nowrap;border-bottom:1px solid #edf1f6;border-right:1px solid #edf1f6;padding:12px 10px}.history-register thead th{z-index:1;color:#375274;text-transform:uppercase;letter-spacing:.4px;background:#f0f5fc;font-size:10px;position:sticky;top:0}.history-register tbody th{text-align:left;color:var(--text)}.history-register tbody tr:hover{background:#f8fbff}.history-score{color:#264e86;background:#edf3fc;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-width:50px;padding:5px 7px;font-weight:800;display:inline-flex}.history-score.mine{color:#116b51;background:#e5f7f1}.history-pending{color:#9aa6b6;font-size:10px}.history-empty h1{margin:0 0 8px}.history-empty p{color:var(--muted)}.student-admin-tabs{margin:0}.student-admin-tabs button{min-width:150px}.student-record-form{border-top:4px solid #2869db}.student-form-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.student-photo-editor{background:#f8fbff;border:1px solid #dbe6f3;border-radius:12px;grid-column:1/-1;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:18px;padding:16px;display:grid}.student-photo-preview{color:#245aa8;background:#dce9ff;border:3px solid #fff;border-radius:18px;place-items:center;width:112px;height:112px;font-size:38px;font-weight:800;display:grid;overflow:hidden;box-shadow:0 5px 18px #1f427024}.student-photo-preview img{object-fit:cover;width:100%;height:100%}.student-photo-copy strong{color:#1d3557;font-size:14px;display:block}.student-photo-copy p{color:#52647a;margin:5px 0 2px;font-size:12px}.student-photo-copy small{color:#78879b;line-height:1.5;display:block}.student-photo-copy em{color:#a45c17;margin-top:8px;font-size:11px;font-style:normal;display:block}.student-photo-actions{flex-wrap:wrap;gap:8px;margin-top:11px;display:flex}.student-photo-picker,.student-photo-remove{color:#2862b7;cursor:pointer;background:#fff;border:1px solid #bfd1ea;border-radius:8px;padding:8px 12px;font-size:11px;font-weight:800}.student-photo-picker input{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.student-photo-remove{color:#b64754;border-color:#ebc8ce}.student-address{grid-column:1/-1}.student-record-form textarea{resize:vertical;min-height:74px}.student-form-actions,.promotion-actions{align-items:center;gap:10px;margin-top:18px;display:flex}.secondary-button{color:#53647a;background:#fff;border:1px solid #d4deeb;border-radius:8px;padding:11px 16px}.student-admin-table{overflow:hidden}.student-admin-head,.student-admin-table article{border-bottom:1px solid #edf1f6;grid-template-columns:60px minmax(240px,1.4fr) 130px minmax(150px,1fr) 150px;align-items:center;gap:12px;padding:11px 8px;display:grid}.student-admin-head{color:#74849a;text-transform:uppercase;background:#f5f8fd;border-radius:8px;font-size:10px;font-weight:800}.student-admin-table article{font-size:12px}.student-admin-name{align-items:center;gap:10px;display:flex}.student-admin-name>img,.student-admin-name>b{object-fit:cover;color:#245aa8;background:#dce9ff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid}.student-admin-name strong,.student-admin-name small{display:block}.student-admin-name small{color:var(--muted);margin-top:3px}.student-row-actions{gap:7px;display:flex}.student-row-actions button,.year-cards button,.promotion-select-bar button{color:#2d62b5;background:#fff;border:1px solid #d7e1ed;border-radius:7px;padding:7px 10px;font-size:11px;font-weight:700}.student-row-actions .danger-action{color:#bd4351;border-color:#f0cbd1}.academic-year-layout{grid-template-columns:330px 1fr;gap:18px;display:grid}.create-year-card h2{margin:0 0 9px}.create-year-card>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.5}.create-year-card label{margin:20px 0 13px}.year-cards{gap:10px;display:grid}.year-cards article{background:#fbfdff;border:1px solid #e0e7f0;border-radius:11px;padding:16px}.year-cards article.current{background:#f0fbf7;border-color:#81cbb6}.year-cards article>div{justify-content:space-between;align-items:center;display:flex}.year-cards article strong{color:var(--navy);font-size:19px}.year-cards article p,.year-cards article small{color:var(--muted);font-size:11px}.year-status{color:#65758a;text-transform:capitalize;background:#edf1f6;border-radius:99px;padding:5px 8px;font-size:10px}.year-status.active{color:#107454;background:#dff5ed}.year-status.planning{color:#86630d;background:#fff3d3}.promotion-flow{background:#f5f8fd;border-radius:12px;grid-template-columns:1fr 1fr auto 1fr 1fr;align-items:end;gap:12px;padding:17px;display:grid}.promotion-arrow{color:#2869db;padding-bottom:12px;font-size:24px}.promotion-select-bar{color:var(--muted);align-items:center;gap:8px;margin:17px 0 10px;font-size:12px;display:flex}.promotion-select-bar>div{margin-right:auto}.promotion-students{grid-template-columns:repeat(3,1fr);gap:8px;max-height:430px;padding:3px;display:grid;overflow:auto}.promotion-students label{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:9px;grid-template-columns:auto 28px 1fr;align-items:center;gap:8px;padding:11px;display:grid}.promotion-students label.selected{background:#f0f6ff;border-color:#6ea7ef}.promotion-students input{accent-color:#2869db}.promotion-students strong{font-size:12px}.promotion-students small{color:var(--muted);grid-column:3;font-size:10px}.promotion-actions small{color:var(--muted)}@media (width<=950px){.sidebar{display:none}.topbar{height:66px;padding:0 21px}.breadcrumb{display:none}.mobile-brand{color:var(--navy);align-items:center;gap:7px;font-size:14px;font-weight:800;display:flex}.mobile-brand img{object-fit:contain;width:31px;height:31px}.page{padding:28px 21px 95px}.metrics{grid-template-columns:repeat(2,1fr)}.two-column{grid-template-columns:1fr}.class-strip{flex-wrap:wrap}.subject-progress{margin-left:auto}.mobile-nav{z-index:5;border-top:1px solid var(--line);height:67px;padding:7px 5px env(safe-area-inset-bottom);overscroll-behavior-x:contain;background:#fff;justify-content:flex-start;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:auto}.mobile-nav button,.mobile-nav a{color:#8090a4;background:0 0;border:0;flex:0 0 80px;place-items:center;gap:3px;min-width:80px;font-size:10px;text-decoration:none;display:grid}.mobile-nav b{font-size:19px;line-height:18px}.mobile-nav button.active{color:var(--blue);font-weight:700}.topbar-year{margin-left:auto}.student-roster-controls{grid-template-columns:1fr 1fr}.student-search{grid-column:1/-1}.student-form-grid{grid-template-columns:repeat(2,1fr)}.student-admin-table{overflow-x:auto}.student-admin-head,.student-admin-table article{min-width:820px}.academic-year-layout{grid-template-columns:1fr}.promotion-flow{grid-template-columns:1fr 1fr}.promotion-arrow{display:none}.promotion-students{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.profile>div:last-of-type,.bell,.chevron{display:none}.topbar{padding:0 16px}.topbar-year{display:none}.page{padding:24px 15px 88px}.welcome-row{flex-direction:column;align-items:flex-start;margin-bottom:21px}.welcome-row h1{font-size:25px}.primary-button{width:100%;padding:13px}.class-strip{padding:15px}.strip-divider,.progress-copy{display:none}.class-pill{min-width:0}.subject-progress{flex:1;margin:3px 0 0}.subject-progress>span{width:100%}.text-button{padding:0}.metrics{gap:10px}.metric-card{min-height:124px;padding:14px}.metric-card strong{font-size:23px}.metric-card p{max-width:90px;font-size:11px}.metric-icon{top:11px;right:10px}.panel{padding:16px}.filter-group{display:none}.chart-panel .period-control{font-size:10px}.bar-line{grid-template-columns:65px 1fr 29px}.student-table{overflow:hidden}.table-head{display:none}.student-row{grid-template-columns:1fr auto;gap:5px;padding:13px 0}.student-row .score,.student-row .trend{grid-column:1/2}.student-row .status{grid-area:1/2/3;align-self:center}.student-row .more{display:none}.score i{width:100px}.show-more{margin-top:15px}.entry-selects{grid-template-columns:1fr;gap:12px;padding:16px}.entry-heading{flex-direction:column;align-items:flex-start;gap:10px;padding:16px}.entry-row{grid-template-columns:30px 1fr 64px;gap:9px;padding:12px 16px}.entry-row .outof{display:none}.entry-row input{grid-column:3}.entry-footer{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.marks-page .autosave{align-self:flex-start}.saved-toast{text-align:center;bottom:82px;left:15px;right:15px}.history-hero,.student-admin-hero{flex-direction:column;align-items:flex-start;padding:22px}.history-hero h1,.student-admin-hero h1{font-size:23px}.history-year-badge,.current-year-card{width:100%;min-width:0}.history-controls,.student-roster-controls{grid-template-columns:1fr}.student-search{grid-column:auto}.history-metrics{grid-template-columns:1fr}.student-admin-tabs{display:flex;overflow-x:auto}.student-admin-tabs button{flex:none;min-width:135px}.student-form-grid{grid-template-columns:1fr}.student-address{grid-column:auto}.student-photo-editor{grid-column:auto;grid-template-columns:82px 1fr;gap:12px}.student-photo-preview{border-radius:14px;width:82px;height:82px}.promotion-flow{grid-template-columns:1fr}.promotion-students{grid-template-columns:1fr;max-height:380px}.promotion-select-bar{flex-wrap:wrap}.promotion-select-bar>div{width:100%}.promotion-actions{flex-direction:column;align-items:stretch}}.login-screen{background:linear-gradient(120deg,#2b4667 0%,#738a75 45%,#b3a06b 100%);place-items:center;min-height:100vh;padding:34px;display:grid;position:relative;overflow:hidden}.login-screen:before{content:"";filter:blur(8px);background:linear-gradient(90deg,#0518316b,#08203b14 45%,#4e361b29),radial-gradient(at 16% 78%,#18482ae0 0 9%,#0000 10%),radial-gradient(at 91% 53%,#1d5637bf 0 11%,#0000 12%),radial-gradient(at 4% 28%,#2c5b37ab 0 8%,#0000 9%);position:absolute;inset:-20px;transform:scale(1.04)}.campus-illustration{z-index:0;filter:blur(4px);opacity:.82;clip-path:polygon(15% 100%,15% 28%,24% 28%,24% 10%,70% 10%,70% 20%,84% 20%,84% 100%);background:linear-gradient(90deg,#0000 0 12%,#dfcca494 12% 88%,#0000 88%);width:min(90vw,1100px);height:70vh;position:absolute;bottom:-4vh;left:50%;transform:translate(-50%)}.campus-illustration:before,.campus-illustration:after{content:"";opacity:.8;background:repeating-linear-gradient(90deg,#0000 0 6%,#2a3139bf 6.4% 10%,#0000 10.4% 16%);position:absolute;inset:16% 10% 0}.campus-illustration:after{background:repeating-linear-gradient(0deg,#0000 0 12%,#f4eedc3d 12.5% 15%,#0000 15.5% 26%);inset:30% 10% 0}.campus-illustration i{filter:blur(2px);background:#1a4e30db;border-radius:50%;display:block;position:absolute}.campus-illustration i:first-child{width:270px;height:270px;bottom:2%;left:-5%}.campus-illustration i:nth-child(2){width:180px;height:260px;bottom:16%;left:4%}.campus-illustration i:nth-child(3){width:230px;height:230px;bottom:5%;right:-3%}.campus-illustration i:nth-child(4){width:120px;height:220px;bottom:21%;right:9%}.login-card{z-index:1;text-align:center;background:#fffffff6;border:1px solid #ffffffbf;border-radius:10px;width:min(100%,410px);padding:31px 37px 27px;position:relative;box-shadow:0 22px 55px #0b1f3557}.login-logo{object-fit:contain;width:72px;height:72px;margin-bottom:8px}.login-school{color:var(--navy);letter-spacing:.1px;margin:0;font-family:Georgia,serif;font-size:19px;font-weight:700}.login-affiliation{color:#68768c;letter-spacing:.4px;margin:6px 0 0;font-size:10px;font-weight:700}.login-rule{background:var(--gold);border-radius:4px;width:46px;height:3px;margin:17px auto 20px}.login-card h1{margin:0 0 6px;font-size:20px}.login-instruction{color:#728097;margin:0 0 21px;font-size:12px}.login-card form{text-align:left;gap:14px;display:grid}.login-card form>label{color:#647288;letter-spacing:.45px;text-transform:uppercase;font-size:10px;font-weight:700}.login-card input[type=email],.login-card input[type=password]{width:100%;color:var(--text);background:0 0;border:0;border-bottom:1px solid #ccd5e1;outline:none;margin-top:6px;padding:9px 1px;font-size:13px;display:block}.login-card input:focus{border-color:var(--blue);box-shadow:0 2px 0 -1px #7da9f5}.login-options{justify-content:space-between;align-items:center;margin-top:1px;display:flex}.remember{color:#69778c;align-items:center;gap:6px;font-size:11px;display:flex}.remember input{appearance:none;border:1px solid #93a2b7;border-radius:2px;width:14px;height:14px;margin:0}.remember input:checked{background:var(--blue);box-shadow:inset 0 0 0 3px #fff}.forgot{color:#2a64bd;background:0 0;border:0;padding:0;font-size:11px}.signin-button{background:var(--navy);color:#fff;text-transform:uppercase;letter-spacing:.35px;border:0;border-radius:5px;width:100%;margin-top:8px;padding:12px;font-size:12px;font-weight:700}.signin-button:hover{background:#1c4e91}.signin-button span{margin-left:8px;font-size:17px}.login-note{color:#8a96a7;margin:20px 0 0;font-size:10px}.login-footer{z-index:1;color:#fff;text-shadow:0 1px 4px #00000073;letter-spacing:.2px;font-size:10px;position:absolute;bottom:15px}@media (width<=460px){.login-screen{padding:18px}.login-card{padding:28px 25px 24px}.login-footer{text-align:center;padding:0 20px;font-size:9px}.login-school{font-size:17px}.login-logo{width:66px;height:66px}}.loading-screen{color:#0e2b57;background:#f5f8fd;place-items:center;min-height:100vh;font-weight:700;display:grid}.portal{background:var(--pale);min-height:100vh;display:flex}.portal-sidebar{background:var(--navy);color:#eef5ff;flex-direction:column;flex:none;width:248px;padding:25px 16px;display:flex}.portal-sidebar .brand{border-bottom:1px solid #ffffff24;align-items:center;gap:10px;padding:0 9px 22px;display:flex}.portal-sidebar .brand img{object-fit:contain;background:#fff;border-radius:50%;width:43px;height:43px}.portal-sidebar .brand strong{font-size:15px;display:block}.portal-sidebar .brand span{color:#b7c9e7;margin-top:2px;font-size:12px;display:block}.portal-sidebar .session{color:#9db4d6;letter-spacing:1.1px;margin:24px 10px 11px;font-size:10px;font-weight:700}.portal-sidebar nav{gap:5px;display:grid}.portal-content{flex:1;min-width:0}.portal-page{max-width:1300px;margin:0 auto;padding:36px 39px 80px}.logout-link{color:#255fae;background:#eef4fd;border:0;border-radius:6px;margin-left:12px;padding:7px 9px;font-size:11px;font-weight:700}.logout-link:disabled,.signin-button:disabled,.primary-button:disabled{opacity:.55;cursor:not-allowed}.form-error{color:#b42e3d;text-align:left;background:#fff0f1;border-radius:5px;margin:0;padding:9px 10px;font-size:11px}.soft-alert{color:#805b13;background:#fff6df;border:1px solid #f3d580;border-radius:8px;padding:12px 14px;font-size:12px;line-height:1.45}.empty-copy{color:var(--muted);margin:18px 0;font-size:13px;line-height:1.5}.audit-list{margin-top:18px}.audit-row{border-top:1px solid var(--line);grid-template-columns:140px 1fr auto;gap:12px;padding:13px 0;font-size:12px;display:grid}.audit-row span{color:#576780}.audit-row small{color:#8290a4;white-space:nowrap}.report-row{grid-template-columns:1.6fr 1.05fr .4fr}.report-row .status{justify-self:start}.choice-row{border-bottom:1px solid var(--line);grid-template-columns:23px 35px 1fr auto;align-items:center;gap:10px;padding:13px 20px;font-size:13px;display:grid}.choice-row input{accent-color:var(--blue);width:17px;height:17px}.choice-row>span:last-child{color:var(--muted);font-size:11px}.report-card{overflow:visible}.report-school{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:23px 22px;display:flex}.report-school img{object-fit:contain;width:55px;height:55px}.report-school h2{color:var(--navy);margin:0;font-size:18px}.report-school p{color:var(--muted);margin:4px 0 0;font-size:11px}.report-school>strong{text-align:right;color:var(--navy);margin-left:auto;font-size:13px}.report-school small{color:#687894;margin-top:5px;font-size:10px;display:block}.report-summary{grid-template-columns:repeat(3,1fr);gap:13px;padding:19px;display:grid}.report-summary .metric-card{min-height:110px}.report-table{border:1px solid var(--line);border-radius:8px;margin:0 19px;overflow:hidden}.report-table-head,.report-table-row{grid-template-columns:55px 1.8fr 1fr .8fr .5fr;align-items:center;gap:10px;padding:11px 14px;font-size:12px;display:grid}.report-table-head{color:#536785;text-transform:uppercase;letter-spacing:.4px;background:#eff4fb;font-size:10px;font-weight:700}.report-table-row{border-top:1px solid var(--line)}.report-table-row span{color:#586a84}.subject-status{background:#f7faff;border-radius:8px;margin:19px;padding:17px}.subject-status h3{color:var(--navy);margin:0 0 12px;font-size:14px}.subject-status>div{border-top:1px solid #dce6f4;grid-template-columns:1fr 1fr auto;gap:12px;padding:10px 0;font-size:12px;display:grid}.subject-status span{color:var(--muted)}.subject-status em{color:#1b7657;font-style:normal;font-weight:700}.print-button{white-space:nowrap}@media (width<=950px){.portal-sidebar{display:none}.portal-page{padding:28px 21px 95px}.portal .topbar{height:66px;padding:0 21px}.portal .breadcrumb{display:none}.portal .mobile-brand{color:var(--navy);align-items:center;gap:7px;font-size:14px;font-weight:800;display:flex}.portal .mobile-brand img{object-fit:contain;width:31px;height:31px}.portal .mobile-nav{z-index:5;border-top:1px solid var(--line);height:67px;padding:7px 5px env(safe-area-inset-bottom);background:#fff;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.portal .mobile-nav button,.portal .mobile-nav a{color:#8090a4;background:0 0;border:0;place-items:center;gap:3px;min-width:72px;font-size:10px;text-decoration:none;display:grid}.portal .mobile-nav b{font-size:19px;line-height:18px}.portal .mobile-nav button.active{color:var(--blue);font-weight:700}}@media (width<=620px){.portal .topbar{padding:0 15px}.portal-page{padding:24px 15px 88px}.portal .profile>div:last-of-type{display:block}.portal .profile small{display:none}.portal .avatar{width:32px;height:32px}.logout-link{margin-left:4px;padding:6px 7px}.audit-row{grid-template-columns:1fr auto}.audit-row span{grid-column:1/2}.audit-row small{grid-area:1/2/3;align-self:center}.choice-row{grid-template-columns:23px 32px 1fr;padding:12px 16px}.choice-row>span:last-child{grid-column:3}.report-school{align-items:flex-start;padding:18px 16px}.report-school>strong{font-size:10px}.report-school h2{font-size:14px}.report-school img{width:43px;height:43px}.report-summary{grid-template-columns:repeat(3,1fr);gap:8px;padding:12px}.report-summary .metric-card{min-height:98px;padding:12px 9px}.report-summary .metric-icon{display:none}.report-summary .metric-card p{max-width:none;font-size:10px}.report-summary .metric-card strong{font-size:19px}.report-table{margin:0 12px}.report-table-head,.report-table-row{grid-template-columns:37px 1.5fr .7fr .5fr;gap:6px;padding:10px 8px;font-size:11px}.report-table-head span:nth-child(3),.report-table-row span:nth-child(3),.report-table-head span:nth-child(5),.report-table-row b:last-child{display:none}.subject-status{margin:12px;padding:13px}.subject-status>div{grid-template-columns:1fr auto}.subject-status span{grid-column:1}.subject-status em{grid-area:1/2/3;align-self:center}.print-button{width:100%}}@media print{body{background:#fff}.portal-sidebar,.topbar,.mobile-nav,.welcome-row,.entry-selects,.print-button{display:none!important}.portal,.portal-content{background:#fff;display:block}.portal-page{max-width:none;padding:0}.entry-card{border:0}.report-card{display:block}.report-school{padding:10mm 8mm}.report-summary{padding:5mm 8mm}.report-table{margin:0 8mm}.subject-status{margin:5mm 8mm}.metric-card{box-shadow:none}.report-table-row{break-inside:avoid}}:is(.progress-report-row,.report-table-head:has(span:nth-child(6))){grid-template-columns:50px 1.5fr .8fr .8fr .8fr .45fr}.student-report{border-top:7px solid var(--navy);background:#fff;margin-top:25px}.student-report-tools{justify-content:space-between;align-items:end;gap:14px;padding:20px;display:flex}.student-report-tools label{color:#627089;flex:1;font-size:11px;font-weight:700}.student-report-tools select{color:#203656;background:#fff;border:1px solid #dbe3ef;border-radius:7px;width:100%;max-width:420px;margin-top:6px;padding:10px;font-size:13px;display:block}.student-monthly-report{border-top:1px solid var(--line)}.student-identity{border-bottom:1px solid var(--line);background:#f8fbff;grid-template-columns:74px repeat(5,1fr);gap:10px;padding:17px 19px;display:grid}.student-identity .student-report-photo{background:linear-gradient(145deg,#dcecff,#bdd8fa);border:3px solid #fff;border-radius:16px;align-self:center;place-items:center;width:62px;height:62px;display:grid;overflow:hidden;box-shadow:0 5px 14px #12458429}.student-report-photo img{object-fit:cover;width:100%;height:100%}.student-report-photo span{color:#1759aa;letter-spacing:0;font-size:16px;font-weight:900}.student-identity div{gap:4px;display:grid}.student-identity span{color:#728199;text-transform:uppercase;letter-spacing:.4px;font-size:10px}.student-identity b{color:#193967;font-size:13px}.student-summary{grid-template-columns:repeat(3,1fr)}.student-subject-table{border:1px solid var(--line);border-radius:8px;margin:0 19px 19px;overflow:hidden}.student-subject-table>div{border-top:1px solid var(--line);grid-template-columns:1.5fr 1fr 1fr .85fr .45fr;align-items:center;gap:10px;padding:11px 13px;font-size:12px;display:grid}.student-subject-table>div:first-child{color:#536785;text-transform:uppercase;letter-spacing:.4px;background:#eff4fb;border-top:0;font-size:10px;font-weight:700}.student-subject-table span{color:#586a84}@media (width<=620px){.progress-report-row{grid-template-columns:37px 1.5fr .7fr .5fr}.student-report-tools{padding:14px;display:grid}.student-report-tools .primary-button{width:100%}.student-identity{grid-template-columns:66px repeat(2,1fr);padding:14px}.student-identity .student-report-photo{grid-row:span 2;width:56px;height:56px}.student-subject-table{margin:0 12px 12px}.student-subject-table>div{grid-template-columns:1.25fr .9fr .9fr .5fr;gap:5px;padding:10px 8px;font-size:10px}.student-subject-table>div span:nth-child(2){display:none}}@media print{.student-report-tools,body[data-print-mode=class] .student-report,body[data-print-mode=student] .class-report-content{display:none!important}body[data-print-mode=student] .student-report{border:0;margin:0}.student-identity{padding:5mm 8mm}.student-subject-table{margin:0 8mm 8mm}}.admin-analytics{grid-template-columns:.75fr 1.25fr;gap:18px;margin-bottom:18px;display:grid}.completion-card{color:#fff;background:linear-gradient(135deg,#082e6d,#1e65bd)}.completion-card .eyebrow,.completion-card p{color:#d9e8ff}.completion-number{align-items:end;gap:12px;margin:12px 0;display:flex}.completion-number strong{font-size:43px;line-height:1}.completion-number span{max-width:145px;font-size:12px;line-height:1.35}.big-progress,.bar-chart i{background:#dfe8f5;border-radius:99px;display:block;overflow:hidden}.big-progress{background:#ffffff38;height:11px}.big-progress i{background:#f6c440;border-radius:99px;height:100%;display:block}.chart-card h2{color:var(--navy);margin:3px 0 15px;font-size:18px}.bar-chart{gap:10px;display:grid}.bar-chart>div{color:#526681;grid-template-columns:70px 1fr 34px;align-items:center;gap:9px;font-size:11px;display:grid}.bar-chart i{height:10px}.bar-chart em{background:linear-gradient(90deg,#2b74d8,#43b783);border-radius:99px;height:100%;display:block}.bar-chart b{color:#173d72;text-align:right;font-size:11px}@media (width<=780px){.admin-analytics{grid-template-columns:1fr}.bar-chart>div{grid-template-columns:62px 1fr 34px}}@media print{@page{size:A4 portrait;margin:0}.class-report-content,.student-monthly-report{box-sizing:border-box;width:210mm;min-height:297mm}.report-table-row,.student-subject-table>div{break-inside:avoid}}.desktop-school-title{align-items:center;gap:9px;min-width:255px;display:flex}.desktop-school-title img{object-fit:contain;width:37px;height:37px}.desktop-school-title strong,.desktop-school-title small{display:block}.desktop-school-title strong{color:var(--navy);font-family:Georgia,serif;font-size:14px}.desktop-school-title small{color:#738198;margin-top:3px;font-size:9px}.portal-sidebar .brand small{color:#f2c94c;letter-spacing:.45px;margin-top:3px;font-size:9px;font-weight:800;display:block}.portal-sidebar .sidebar-foot img{object-fit:contain;background:#fff;border-radius:50%;width:30px;height:30px;padding:2px}.branded-welcome{background:linear-gradient(112deg,#fff 0 52%,#f5f9ff 52% 76%,#fff8d9 76%);border:1px solid #dbe7f6;border-radius:15px;padding:25px 27px;position:relative;overflow:hidden;box-shadow:0 8px 22px #15396c0f}.branded-welcome:before{content:"";background:linear-gradient(#0b3976 0 38%,#f2c94c 38% 68%,#d93832 68%);width:6px;position:absolute;inset:0 auto 0 0}.branded-welcome:after{content:"SBHS";color:#0b39760b;letter-spacing:2px;pointer-events:none;font-family:Georgia,serif;font-size:74px;font-weight:900;position:absolute;bottom:-15px;right:28px}.branded-welcome>*{z-index:1;position:relative}.dashboard-class-filter{background:#fff;border:1px solid #e0e8f3;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin:-7px 0 18px;padding:13px 18px;display:flex}.dashboard-class-filter>div{align-items:center;gap:10px;display:flex}.dashboard-class-filter img{object-fit:contain;width:35px;height:35px}.dashboard-class-filter b,.dashboard-class-filter small{display:block}.dashboard-class-filter b{color:var(--navy);font-size:13px}.dashboard-class-filter small{color:var(--muted);margin-top:3px;font-size:10px}.dashboard-class-filter label,.monitor-controls label,.assignment-fields label,.inline-filter{color:#65758d;text-transform:uppercase;letter-spacing:.45px;font-size:10px;font-weight:800}.dashboard-class-filter select,.monitor-controls select,.assignment-fields select,.inline-filter select{color:#17385f;text-transform:none;letter-spacing:0;background:#fff;border:1px solid #d7e1ee;border-radius:7px;min-width:185px;margin-top:5px;padding:9px 10px;font-size:12px;display:block}.pdf-button{white-space:nowrap;background:linear-gradient(105deg,#0f4ca2,#2079d2)}.report-message{color:#176e52;background:#eaf7f1;border-radius:7px;margin:14px 20px 0;padding:10px 12px;font-size:12px;font-weight:700}.report-school>div>b{color:#c48400;margin-top:5px;font-size:11px;display:block}.monitor-controls{background:linear-gradient(105deg,#0e2b57,#164c91);border-radius:12px;align-items:end;gap:14px;margin-bottom:14px;padding:16px 18px;display:flex;box-shadow:0 10px 20px #10336321}.monitor-controls label{color:#dceaff}.monitor-controls select{min-width:220px}.report-tabs{scrollbar-width:thin;gap:7px;margin-bottom:6px;padding:4px 1px 13px;display:flex;overflow-x:auto}.report-tabs button{color:#607088;background:#fff;border:1px solid #dce5f0;border-radius:99px;flex:none;padding:9px 13px;font-size:11px;font-weight:800}.report-tabs button:hover,.report-tabs button.active{color:#fff;background:#276ac8;border-color:#276ac8}.monitor-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.monitor-list{margin-top:15px;display:grid}.monitor-list>div{border-top:1px solid var(--line);grid-template-columns:30px 1fr 1.25fr auto;align-items:center;gap:10px;padding:11px 0;font-size:11px;display:grid}.monitor-list b{color:#203b61}.monitor-list span:not(.monitor-icon){color:#66758a}.monitor-list em{color:#c04c58;font-style:normal;font-weight:800}.monitor-icon{border-radius:7px;place-items:center;width:23px;height:23px;font-weight:900;display:grid}.monitor-icon.warning{color:#d2830d;background:#fff0dc}.monitor-icon.done{color:#16805d;background:#e8f7f0}.class-summary-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px;display:grid}.class-summary-grid article{background:linear-gradient(145deg,#fff,#f5f9ff);border:1px solid #dfe7f1;border-radius:11px;padding:15px}.class-summary-grid b,.class-summary-grid strong,.class-summary-grid span{display:block}.class-summary-grid b{color:#49617f;font-size:12px}.class-summary-grid strong{color:var(--navy);margin:9px 0 7px;font-size:25px}.class-summary-grid span{color:#6e7c90;margin-top:8px;font-size:10px}.mini-progress{background:#e1e8f2;border-radius:99px;height:6px;overflow:hidden}.mini-progress i{background:linear-gradient(90deg,#2769d2,#2fa476);border-radius:99px;height:100%;display:block}.list-count{color:#2c66b7;background:#eff5fd;border-radius:99px;padding:7px 10px;font-size:10px;font-weight:800}.student-monitor-table{border:1px solid var(--line);border-radius:9px;margin-top:17px;overflow:hidden}.student-monitor-table>div{border-top:1px solid var(--line);grid-template-columns:1.6fr 1fr .75fr .75fr .65fr;align-items:center;gap:10px;padding:11px 13px;font-size:12px;display:grid}.student-monitor-table>div:first-child{color:#60718a;text-transform:uppercase;background:#eef4fb;border-top:0;font-size:10px;font-weight:800}.assignment-builder{background:#fff;border:1px solid #dce5f1;border-radius:13px;margin-bottom:18px;overflow:hidden;box-shadow:0 8px 22px #11315e0f}.assignment-brand{color:#fff;background:linear-gradient(100deg,#0d2e5e,#1554a2);align-items:center;gap:11px;padding:14px 18px;display:flex}.assignment-brand img{object-fit:contain;background:#fff;border-radius:50%;width:39px;height:39px;padding:2px}.assignment-brand b,.assignment-brand span{display:block}.assignment-brand b{font-family:Georgia,serif;font-size:15px}.assignment-brand span{color:#c8dbf6;margin-top:3px;font-size:10px}.assignment-fields{grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:13px;padding:18px;display:grid}.assignment-fields select{width:100%;min-width:0}.assignment-fields .primary-button{height:38px}.assessment-rule{color:#7d5c10;background:#fff8e4;border-top:1px solid #f2d995;margin:0;padding:11px 18px;font-size:11px}.assignment-list-panel{overflow:hidden}.inline-filter{align-items:center;gap:8px;display:flex}.inline-filter select{min-width:150px;margin:0;display:inline-block}.assignment-table{border:1px solid var(--line);border-radius:9px;margin-top:17px;overflow:hidden}.assignment-table>div{border-top:1px solid var(--line);grid-template-columns:1.4fr 1fr 1fr 80px;align-items:center;gap:10px;padding:11px 13px;font-size:12px;display:grid}.assignment-table>div:first-child{color:#60718a;text-transform:uppercase;background:#eef4fb;border-top:0;font-size:10px;font-weight:800}.assignment-table button{color:#b7424d;background:#fff4f5;border:1px solid #f0c3c7;border-radius:6px;padding:6px 8px;font-size:10px;font-weight:800}@media (width<=1050px){.desktop-school-title{display:none}.monitor-grid{grid-template-columns:1fr}.class-summary-grid{grid-template-columns:repeat(3,1fr)}.assignment-fields{grid-template-columns:1fr 1fr}.assignment-fields .primary-button{align-self:end}.portal .mobile-nav{justify-content:flex-start;overflow-x:auto}.portal .mobile-nav button,.portal .mobile-nav a{flex:1;min-width:68px}}@media (width<=700px){.branded-welcome{background:linear-gradient(115deg,#fff 0 72%,#fff4bd 72%);padding:21px 19px}.branded-welcome:after{font-size:54px;right:8px}.dashboard-class-filter{flex-direction:column;align-items:stretch}.dashboard-class-filter select,.monitor-controls select{width:100%;min-width:0}.monitor-controls{grid-template-columns:1fr 1fr;display:grid}.class-summary-grid{grid-template-columns:repeat(2,1fr)}.student-monitor-table{overflow-x:auto}.student-monitor-table>div{min-width:560px}.assignment-fields{grid-template-columns:1fr}.assignment-fields .primary-button{height:auto}.assignment-list-panel .panel-title{flex-direction:column;align-items:stretch}.inline-filter{justify-content:space-between}.inline-filter select{min-width:0}.assignment-table{overflow-x:auto}.assignment-table>div{min-width:570px}.monitor-list>div{grid-template-columns:28px 1fr auto}.monitor-list>div span:not(.monitor-icon){grid-column:2}.monitor-list em{grid-area:1/3/3}.report-heading .pdf-button{width:100%}}@media (width<=480px){.portal .mobile-nav{justify-content:flex-start}.portal .mobile-nav button,.portal .mobile-nav a{flex:0 0 20%;min-width:20%}.portal .mobile-brand span{max-width:115px;font-size:11px}.portal .profile strong{text-overflow:ellipsis;white-space:nowrap;max-width:75px;overflow:hidden}.portal .profile>div:nth-of-type(2){display:none}.portal .logout-link{white-space:nowrap;margin:0;padding:7px 10px}.monitor-controls{grid-template-columns:1fr}.class-summary-grid{grid-template-columns:1fr 1fr}.class-summary-grid article{padding:12px}.report-tabs button{padding:8px 11px}.student-monitor-table>div{min-width:520px}}.login-logo{margin:0 auto 8px;display:block}.portal{--surface:#fff;--surface-soft:#f7faff;--ink:#11233f;--portal-line:#dfe8f4;color:var(--ink);background:radial-gradient(circle at 88% 3%,#2a77db1a,#0000 25rem),radial-gradient(circle at 35% 96%,#f2c94c1a,#0000 27rem),#f4f7fc;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.portal-sidebar{background:radial-gradient(circle at 15% 4%,#397ee561,#0000 15rem),linear-gradient(#071d3d 0%,#0a2b5d 52%,#071a36 100%);width:270px;padding:23px 17px;box-shadow:12px 0 35px #071d3d21}.portal-sidebar .brand{gap:12px;padding:5px 8px 23px}.portal-sidebar .brand img{width:48px;height:48px;padding:3px;box-shadow:0 5px 16px #0003}.portal-sidebar .brand strong{font-family:Georgia,serif;font-size:16px}.portal-sidebar .brand span{font-size:11px}.portal-sidebar .session{color:#87a6d3;margin:27px 12px 12px}.portal-sidebar nav{gap:7px}.portal-sidebar .nav-item{color:#c6d6ed;border-radius:12px;padding:13px 14px;font-size:13px;transition:all .18s;position:relative}.portal-sidebar .nav-item b{background:#ffffff12;border-radius:9px;place-items:center;width:28px;height:28px;font-size:15px;display:grid}.portal-sidebar .nav-item:hover{background:#ffffff14;transform:translate(2px)}.portal-sidebar .nav-item.active{color:#fff;background:linear-gradient(100deg,#266fc9,#1858ad);box-shadow:0 9px 22px #082a5c6b}.portal-sidebar .nav-item.active:after{content:"";background:#f3cb47;border-radius:5px;width:3px;position:absolute;top:10px;bottom:10px;right:-17px}.portal-sidebar .nav-item.active b{background:#ffffff29}.portal-sidebar .sidebar-foot{border-top-color:#ffffff1a;padding-top:17px;line-height:1.5}.portal-sidebar .sidebar-foot img{width:34px;height:34px}.portal-content>.topbar{z-index:4;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe3;border-bottom:1px solid #dae4f1e0;height:78px;padding:0 34px;position:sticky;top:0;box-shadow:0 4px 18px #233f650a}.desktop-school-title img{background:#fff;border:1px solid #edf1f7;border-radius:50%;width:41px;height:41px;padding:2px}.desktop-school-title strong{font-size:15px}.portal .profile{background:#fff;border:1px solid #e4ebf4;border-radius:999px;padding:5px 6px 5px 5px;box-shadow:0 5px 16px #16376012}.portal .avatar{color:#fff;background:linear-gradient(135deg,#246fd0,#0f458f);width:38px;height:38px;box-shadow:0 4px 10px #2369ca40}.portal .logout-link{background:#eef4fd;border-radius:999px;margin-right:3px}.portal-page{max-width:1440px;padding:34px 38px 90px}.portal .branded-welcome{background:linear-gradient(118deg,#fff 0 52%,#eff6ff 52% 79%,#fff4bd 79%);border:1px solid #cedcefe6;border-radius:21px;min-height:142px;padding:29px 31px;box-shadow:0 15px 38px #20426f14}.portal .branded-welcome:before{width:7px}.portal .branded-welcome:after{font-size:92px;bottom:-21px;right:35px}.portal .branded-welcome h1{color:#102d58;font-size:30px}.portal .branded-welcome p{max-width:780px;line-height:1.6}.portal .primary-button{background:linear-gradient(110deg,#226cc9,#114b9f);border-radius:11px;min-height:43px;transition:all .18s;box-shadow:0 8px 18px #1c5cb33b}.portal .primary-button:hover{transform:translateY(-1px);box-shadow:0 12px 25px #1c5cb347}.portal .panel,.portal .entry-card,.dashboard-class-filter,.assignment-builder{border-color:var(--portal-line);border-radius:17px;box-shadow:0 9px 27px #1e3d670e}.portal .panel{padding:23px}.portal .metric-card{border-color:var(--portal-line);border-radius:17px;min-height:148px;transition:all .18s;box-shadow:0 8px 23px #1e3d670d}.portal .metric-card:hover{transform:translateY(-2px);box-shadow:0 13px 28px #1e3d6717}.portal .metric-card:after{height:4px}.portal .metric-icon{border-radius:11px;width:37px;height:37px}.portal .class-strip{background:linear-gradient(112deg,#0b2d60,#155ab2);border-radius:17px;box-shadow:0 12px 28px #0d37742b}.portal .entry-selects,.portal .entry-footer{background:#f8fbff}.portal select,.portal input{min-height:42px;transition:all .15s;background-color:#fff!important;border-color:#d6e1ef!important;border-radius:10px!important}.portal select:focus,.portal input:focus{border-color:#5b92d9!important;outline:3px solid #3279db21!important}.portal .entry-row{transition:all .15s}.portal .entry-row:hover{background:#f8fbff}.portal .report-tabs button{border-radius:10px;padding:10px 14px}.portal .report-tabs button.active{box-shadow:0 6px 15px #276ac838}.grade-key-panel{background:linear-gradient(130deg,#fff,#f7faff);grid-template-columns:minmax(240px,.8fr) 2fr;align-items:center;gap:22px;margin-bottom:23px;display:grid}.grade-key-panel h2{color:#153766;margin:0 0 7px;font-size:18px}.grade-key-panel>div>span{color:#6e7e94;font-size:11px;line-height:1.55}.grade-scale{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.grade-scale>div{background:#fff;border:1px solid #dfe7f2;border-radius:12px;padding:12px 10px}.grade-scale b{color:#14815d;background:#e7f7ef;border-radius:10px;place-items:center;width:32px;height:32px;margin-bottom:8px;font-size:13px;display:grid}.grade-scale>div:nth-child(4) b{color:#ce7c0b;background:#fff2dc}.grade-scale>div:nth-child(5) b{color:#c84352;background:#ffe9ec}.grade-scale strong,.grade-scale span{display:block}.grade-scale strong{color:#263f64;font-size:10px}.grade-scale span{color:#7b899c;margin-top:3px;font-size:9px}.subject-entry-progress{grid-template-columns:110px 1fr;align-items:center;gap:8px;display:grid!important}.subject-entry-progress i,.subject-score-cell i{background:#dfe7f2;border-radius:999px;height:6px;display:block;overflow:hidden}.subject-entry-progress em,.subject-score-cell em{background:linear-gradient(90deg,#2c72d0,#2ea578);border-radius:999px;height:100%;display:block}.subject-score-cell{grid-template-columns:minmax(45px,70px) auto;align-items:center;gap:7px;display:grid}.admin-welcome .admin-shield{color:#fff;background:linear-gradient(145deg,#0e458f,#2576d6);border-radius:22px;place-items:center;width:70px;height:70px;font-size:28px;display:grid;box-shadow:0 13px 26px #1855a53d}.admin-panel-tabs{grid-template-columns:1fr 1fr;gap:13px;margin:-7px 0 18px;display:grid}.admin-panel-tabs button{text-align:left;color:#1f3d65;background:#fff;border:1px solid #dce6f2;border-radius:14px;grid-template-columns:42px 1fr;align-items:center;gap:0 10px;padding:14px 16px;font-size:13px;font-weight:800;display:grid;position:relative;box-shadow:0 7px 20px #193a660d}.admin-panel-tabs button>b{color:#2b68bd;background:#edf4fd;border-radius:11px;grid-row:1/3;place-items:center;width:38px;height:38px;font-size:11px;display:grid}.admin-panel-tabs button>span{color:#758398;margin-top:3px;font-size:10px;font-weight:500}.admin-panel-tabs button.active{color:#fff;background:linear-gradient(120deg,#0d3d80,#1f69c4);border-color:#3476cc;box-shadow:0 10px 24px #154c9438}.admin-panel-tabs button.active>b{color:#f5d456;background:#ffffff26}.admin-panel-tabs button.active>span{color:#cdddf3}.teacher-admin-grid{grid-template-columns:1.15fr .85fr;gap:18px;margin-bottom:18px;display:grid}.create-teacher-card{grid-template-columns:1fr 1fr;gap:14px;display:grid}.create-teacher-card .panel-title,.create-teacher-card .login-preview,.create-teacher-card .primary-button{grid-column:1/-1}.create-teacher-card label,.teacher-edit-fields label{color:#687991;text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:800}.create-teacher-card label small{float:right;color:#94a0b1;text-transform:none;letter-spacing:0;font-size:8px}.create-teacher-card input,.teacher-edit-fields input{color:#18375f;width:100%;margin-top:6px;padding:10px 11px;font-size:12px;display:block}.teacher-add-icon{color:#2169c4;background:#e9f4ff;border-radius:11px;place-items:center;width:35px;height:35px;font-size:19px;display:grid}.login-preview{background:#f7fbff;border:1px dashed #b9cee8;border-radius:11px;justify-content:space-between;gap:12px;padding:11px 13px;display:flex}.login-preview span{color:#718199;font-size:10px}.login-preview b{color:#235d9f;font-size:11px}.credential-card{color:#fff;position:relative;overflow:hidden;background:linear-gradient(145deg,#092d60,#1456a8)!important}.credential-card:after{content:"";border:30px solid #ffffff0b;border-radius:50%;width:180px;height:180px;position:absolute;top:-80px;right:-70px}.credential-card .eyebrow{color:#f6d35d}.credential-card h2{margin:0 0 13px;font-size:19px}.credential-card>div:not(.credential-lock){z-index:1;background:#ffffff1a;border-radius:10px;margin-top:9px;padding:10px 12px;position:relative}.credential-card span,.credential-card b{display:block}.credential-card span{color:#bed2ee;text-transform:uppercase;font-size:9px}.credential-card b{color:#fff;overflow-wrap:anywhere;margin-top:4px;font-size:12px}.credential-card button{z-index:1;color:#123360;background:#f4cc49;border:0;border-radius:9px;width:100%;margin-top:12px;padding:10px;font-weight:800;position:relative}.credential-card small,.credential-card p{z-index:1;color:#ccdaf0;margin:12px 0 0;font-size:10px;line-height:1.5;display:block;position:relative}.credential-lock{color:#f5d256;font-size:23px;position:absolute;top:20px;right:22px}.admin-message{margin:0 0 18px}.teacher-directory{overflow:hidden}.teacher-account-list{gap:12px;margin-top:18px;display:grid}.teacher-account-list>article{background:linear-gradient(140deg,#fff,#f9fbfe);border:1px solid #e0e8f2;border-radius:14px;padding:16px;position:relative}.teacher-account-list>article.teacher-inactive{opacity:.68;background:#f4f5f7}.teacher-account-heading{grid-template-columns:43px 1fr auto;align-items:center;gap:11px;display:grid}.teacher-avatar{color:#1759aa;background:linear-gradient(145deg,#dcecff,#bdd8fa);border-radius:13px;place-items:center;width:43px;height:43px;font-size:12px;font-weight:900;display:grid;overflow:hidden}.teacher-avatar img{object-fit:cover;width:100%;height:100%}.teacher-account-heading b,.teacher-account-heading span{display:block}.teacher-account-heading b{color:#193a65;font-size:13px}.teacher-account-heading span{color:#7a8799;margin-top:4px;font-size:9px}.teacher-account-heading em{border-radius:999px;padding:5px 8px;font-size:9px;font-style:normal;font-weight:900}.teacher-account-heading em.active{color:#127a58;background:#e5f6ee}.teacher-account-heading em.inactive{color:#687486;background:#eceff3}.teacher-edit-fields{grid-template-columns:.8fr 1.2fr;gap:11px;margin-top:13px;display:grid}.teacher-actions{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.teacher-actions button{color:#47607f;background:#fff;border:1px solid #dce5f0;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:800}.teacher-actions .save-teacher{color:#fff;background:#256bc7;border-color:#256bc7}.teacher-actions .danger-action{color:#b94450;background:#fff5f6;border-color:#f0c8cc;margin-left:auto}.password-state{color:#bd7c14;font-size:9px;font-weight:800;position:absolute;bottom:18px;right:16px}.password-state.ready{color:#16805e}.assignment-builder{margin-top:0}.assignment-brand{border-radius:16px 16px 0 0}@media (width<=900px){.portal-sidebar{width:248px}.grade-key-panel{grid-template-columns:1fr}.grade-scale{grid-template-columns:repeat(5,1fr)}.teacher-admin-grid,.teacher-account-list{grid-template-columns:1fr}.portal-page{padding-left:24px;padding-right:24px}}@media (width<=700px){.portal .branded-welcome{border-radius:17px;min-height:auto}.portal .branded-welcome h1{font-size:25px}.grade-scale{grid-template-columns:repeat(2,1fr)}.grade-scale>div:last-child{grid-column:1/-1}.admin-panel-tabs,.create-teacher-card{grid-template-columns:1fr}.create-teacher-card label{grid-column:1/-1}.teacher-edit-fields{grid-template-columns:1fr}.password-state{margin-top:11px;display:block;position:static}.teacher-actions .danger-action{margin-left:0}.subject-entry-progress{grid-template-columns:70px 1fr}}@media (width<=480px){.portal-page{padding-left:13px;padding-right:13px}.portal .metrics{grid-template-columns:1fr 1fr}.portal .metric-card{min-height:136px}.portal .panel{padding:17px}.portal-content>.topbar{padding-left:12px;padding-right:12px}.admin-welcome .admin-shield{display:none}.login-preview{display:grid}.login-preview b{overflow-wrap:anywhere}.teacher-account-heading{grid-template-columns:38px 1fr auto}.teacher-avatar{width:38px;height:38px}.teacher-actions button{flex:1}.grade-key-panel{padding:17px!important}}.announcements-panel{grid-template-columns:1fr;gap:18px;margin-bottom:23px;display:grid}.admin-announcements{grid-template-columns:.88fr 1.12fr}.announcement-compose{background:linear-gradient(145deg,#fff,#f7faff)!important}.announcement-icon{color:#1e68c6;background:#e9f3ff;border-radius:12px;place-items:center;width:37px;height:37px;font-size:17px;display:grid}.announcement-fields{grid-template-columns:.7fr 1.3fr;gap:11px;margin-top:17px;display:grid}.announcement-compose label{color:#687991;text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:800}.announcement-compose select,.announcement-compose input{color:#17365c;text-transform:none;letter-spacing:0;width:100%;margin-top:6px;padding:10px 11px;font-size:12px;display:block}.portal textarea{font:inherit}.announcement-message{margin-top:11px;display:block}.announcement-message textarea{resize:vertical;color:#17365c;text-transform:none;letter-spacing:0;background:#fff;border:1px solid #d6e1ef;border-radius:11px;width:100%;min-height:100px;margin-top:6px;padding:11px 12px;font-size:12px;line-height:1.55;display:block}.announcement-message textarea:focus{border-color:#5b92d9;outline:3px solid #3279db21}.announcement-send-row{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.announcement-send-row small{color:#8996a7;font-size:9px}.announcement-status{color:#167758;background:#e9f7f1;border-radius:9px;margin:12px 0 0;padding:9px 11px;font-size:10px;font-weight:800}.announcement-feed{position:relative;overflow:hidden}.announcement-feed:after{content:"SBHS";color:#1d5baa09;pointer-events:none;font-family:Georgia,serif;font-size:82px;font-weight:900;position:absolute;top:-25px;right:-12px}.announcement-count{z-index:1;color:#fff;background:#0f4b9d;border-radius:11px;place-items:center;width:33px;height:33px;font-size:11px;font-weight:900;display:grid;position:relative}.announcement-list{z-index:1;margin-top:14px;display:grid;position:relative}.announcement-list>div{border-top:1px solid #e5ebf3;grid-template-columns:31px 1fr auto;gap:10px;padding:12px 0;display:grid}.announcement-marker{color:#bd8300;background:#fff3cc;border-radius:9px;place-items:center;width:28px;height:28px;font-size:11px;display:grid}.announcement-list b,.announcement-list p,.announcement-list small{display:block}.announcement-list b{color:#1b3b66;font-size:12px}.announcement-list p{color:#65758b;white-space:pre-wrap;margin:4px 0 5px;font-size:11px;line-height:1.45}.announcement-list small{color:#95a0ae;font-size:9px}.announcement-list button{color:#b74651;background:#fff0f1;border:0;border-radius:7px;align-self:start;padding:6px 8px;font-size:8px;font-weight:800}@media (width<=900px){.admin-announcements{grid-template-columns:1fr}}@media (width<=600px){.announcement-fields{grid-template-columns:1fr}.announcement-list>div{grid-template-columns:29px 1fr}.announcement-list button{grid-column:2;justify-self:start}.announcement-send-row{flex-direction:column;align-items:stretch}.announcement-send-row .primary-button{width:100%}}.dashboard-feature-grid{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:start;gap:18px;margin-bottom:22px;display:grid}.dashboard-feature-grid .progress-panel{margin:0}.progress-filter{color:#78879b;align-items:center;gap:7px;font-size:10px;font-weight:800;display:flex}.progress-filter select{color:#24476f;background:#f8fbff;border:1px solid #d9e4f0;border-radius:9px;min-width:148px;padding:8px 9px;font-size:11px;font-weight:700}.student-progress-list{gap:2px;margin-top:13px;display:grid}.student-progress-list.show-all{scrollbar-color:#b8cceb #edf2f8;scrollbar-width:thin;max-height:530px;padding-right:5px;overflow-y:auto}.student-progress-row{border-top:1px solid #e8eef6;grid-template-columns:40px minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:12px 4px;display:grid}.student-initial{color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-size:11px;font-weight:900;display:grid;overflow:hidden}.student-initial img{object-fit:cover;width:100%;height:100%}.student-initial.tone-0{background:linear-gradient(135deg,#1b69d3,#53a7ff)}.student-initial.tone-1{background:linear-gradient(135deg,#11a37f,#47d6aa)}.student-initial.tone-2{background:linear-gradient(135deg,#7650c7,#b37deb)}.student-initial.tone-3{background:linear-gradient(135deg,#ef8b16,#ffc44d)}.student-initial.tone-4{background:linear-gradient(135deg,#df5266,#ff8290)}.student-progress-copy{min-width:0}.student-progress-copy>div:first-child{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:7px;display:flex}.student-progress-copy b{color:#17375f;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.student-progress-copy span{color:#8190a4;flex:none;font-size:9px}.student-color-progress{align-items:center;gap:8px;display:flex}.student-color-progress i{background:#e9eef5;border-radius:7px;flex:1;height:7px;overflow:hidden}.student-color-progress em{border-radius:inherit;height:100%;display:block}.student-color-progress strong{text-align:right;min-width:34px;font-size:10px}.student-color-progress.green em{background:linear-gradient(90deg,#13a777,#45ce92)}.student-color-progress.green strong{color:#13805f}.student-color-progress.blue em{background:linear-gradient(90deg,#1764ce,#38a6ff)}.student-color-progress.blue strong{color:#185da9}.student-color-progress.orange em{background:linear-gradient(90deg,#ef8a13,#ffbd39)}.student-color-progress.orange strong{color:#b76909}.student-color-progress.red em{background:linear-gradient(90deg,#dc455d,#ff7b89)}.student-color-progress.red strong{color:#b63d51}.student-report-link{color:#175caf;white-space:nowrap;background:#f4f9ff;border:1px solid #cfe0f5;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:800}.student-report-link:hover{background:#e8f3ff}.calendar-events-panel{overflow:hidden}.calendar-heading{align-items:center}.calendar-actions{gap:5px;display:flex}.calendar-actions button{color:#1a5cb1;background:#f7faff;border:1px solid #dce6f1;border-radius:8px;place-items:center;min-width:31px;height:31px;font-size:17px;font-weight:900;display:grid}.calendar-actions .add-event-button{color:#fff;background:#0f5fc7;padding:0 9px;font-size:9px}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-weekdays{color:#8794a6;text-align:center;text-transform:uppercase;margin-top:15px;font-size:8px;font-weight:800}.calendar-days{margin-top:7px}.calendar-days button,.calendar-days .blank{aspect-ratio:1.12;color:#3c4f69;background:0 0;border:0;border-radius:9px;place-items:center;font-size:10px;display:grid;position:relative}.calendar-days button:hover{background:#edf5ff}.calendar-days button.today{color:#fff;background:#1263cc;font-weight:900}.calendar-days button.has-event:after{content:"";background:#ef9b19;border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px}.calendar-days button.today.has-event:after{background:#ffd36b}.upcoming-events{border-top:1px solid #e7edf5;margin-top:14px;padding-top:13px}.upcoming-title{color:#1b3c65;justify-content:space-between;font-size:11px;display:flex}.upcoming-title span{color:#8996a8;font-size:9px}.upcoming-events>article{border-bottom:1px solid #edf1f6;grid-template-columns:37px 1fr auto;align-items:center;gap:9px;padding:10px 0;display:grid}.upcoming-events time{color:#165bae;background:#edf5ff;border-radius:10px;place-items:center;width:35px;height:38px;display:grid}.upcoming-events time b{font-size:13px;line-height:1}.upcoming-events time span{text-transform:uppercase;font-size:7px;font-weight:800}.upcoming-events article>div{gap:2px;display:grid}.upcoming-events article>div b{color:#1c3a61;font-size:11px}.upcoming-events article>div span{color:#718097;font-size:9px}.upcoming-events article>div small{color:#8a96a6;font-size:8px}.upcoming-events article>button{color:#ba4658;background:#fff0f2;border:0;border-radius:7px;padding:5px 7px;font-size:8px;font-weight:800}.event-form{background:#f7faff;border:1px solid #dce8f5;border-radius:12px;gap:9px;margin:14px 0;padding:13px;display:grid}.event-form>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.event-form label{color:#6c7c92;font-size:9px;font-weight:800}.event-form input,.event-form select,.event-form textarea{color:#193b63;background:#fff;border:1px solid #d6e1ee;border-radius:8px;width:100%;margin-top:5px;padding:8px 9px;font-size:10px;display:block}.event-form textarea{resize:vertical;min-height:60px}.calendar-message{color:#2a755f;margin:10px 0 0;font-size:9px;font-weight:700}.data-loading{color:#49627e;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:180px;font-size:11px;display:flex}.data-loading.compact{min-height:105px}.loading-spinner{width:43px;height:43px;animation:1.1s linear infinite sbhs-spin;display:block;position:relative}.loading-spinner i{transform-origin:3.5px 18.5px;background:#1766cf;border-radius:8px;width:7px;height:17px;position:absolute;top:3px;left:18px}.loading-spinner i:nth-child(2){background:#19b48c;transform:rotate(120deg)}.loading-spinner i:nth-child(3){background:#f1a324;transform:rotate(240deg)}.draft{align-items:center;gap:6px;display:inline-flex}.autosave-dot{background:#16a979;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #16a97921}.entry-row b small{color:#9c6570;margin-top:2px;font-size:8px;font-weight:700;display:block}.entry-row.not-applicable{color:#8995a5;background:#fafbfc}.entry-row.not-applicable input{cursor:not-allowed;background:#eef1f5}@media (width<=1120px){.dashboard-feature-grid{grid-template-columns:1fr}}@media (width<=700px){.progress-panel .panel-title{align-items:flex-start;gap:10px}.progress-filter{gap:3px;display:grid}.progress-filter select{min-width:132px}.student-progress-row{grid-template-columns:36px minmax(0,1fr) auto;gap:9px}.student-initial{width:34px;height:34px}.student-progress-row>.trend{grid-column:2;font-size:9px}.student-report-link{grid-area:1/3/span 2}.student-progress-copy>div:first-child{flex-direction:column;align-items:flex-start;gap:2px}.calendar-events-panel{padding:16px!important}.event-form>div{grid-template-columns:1fr}.entry-row.not-applicable .outof{display:none}}@media (width<=430px){.calendar-heading{align-items:flex-start;gap:8px}.calendar-actions{flex-wrap:wrap;justify-content:flex-end}.student-progress-copy span{white-space:normal}}.whatsapp-welcome{color:#fff;background:radial-gradient(circle at 88% 10%,#45e6973d,#0000 28%),linear-gradient(120deg,#0c2e5e 0%,#0d4d7d 58%,#08785e 100%);border-radius:18px;padding:25px 28px;position:relative;overflow:hidden;box-shadow:0 18px 42px #0a325b2e}.whatsapp-welcome .eyebrow{color:#79efbd}.whatsapp-welcome h1{color:#fff}.whatsapp-welcome p:not(.eyebrow){color:#dceefa;max-width:720px}.whatsapp-mark{color:#fff;letter-spacing:-1px;background:#20c882;border:5px solid #fff3;border-radius:21px;place-items:center;width:66px;height:66px;font-weight:900;display:grid;box-shadow:0 14px 28px #04372b40}.whatsapp-steps{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:12px;margin:18px 0;display:grid}.whatsapp-steps>div{background:#fff;border:1px solid #dfe8f3;border-radius:13px;align-items:center;gap:10px;min-height:62px;padding:12px 14px;font-size:12px;font-weight:700;display:flex;box-shadow:0 7px 18px #13355b0d}.whatsapp-steps b{color:#08785e;background:#e1f8ef;border-radius:50%;flex:none;place-items:center;width:29px;height:29px;display:grid}.whatsapp-steps>i{color:#8da0b7;font-style:normal}.whatsapp-controls{margin-bottom:18px;padding:18px 20px}.whatsapp-controls .entry-selects{margin:0}.whatsapp-ready-count{color:#08785e;background:#eaf9f3;border-radius:11px;min-width:140px;margin-left:auto;padding:9px 14px}.whatsapp-ready-count span{text-transform:uppercase;letter-spacing:.7px;font-size:9px;font-weight:800;display:block}.whatsapp-ready-count strong{margin-top:2px;font-size:20px;display:block}.whatsapp-layout{grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);align-items:start;gap:18px;display:grid}.whatsapp-contacts{min-width:0;padding:20px}.contact-actions{gap:7px;display:flex}.contact-actions button,.batch-actions button,.device-list button{color:#315277;background:#f7f9fc;border:1px solid #d8e2ef;border-radius:8px;padding:7px 10px;font-size:10px;font-weight:700}.whatsapp-contact-list{max-height:690px;margin:14px -5px 0;padding:0 5px 5px;overflow:auto}.whatsapp-contact-list>article{border-bottom:1px solid #e7edf5;grid-template-columns:52px minmax(140px,1.1fr) minmax(130px,.9fr) minmax(145px,.9fr) 138px auto;align-items:end;gap:10px;padding:12px 10px;transition:background .2s;display:grid}.whatsapp-contact-list>article.contact-ready{background:linear-gradient(90deg,#e1f8ef80,#0000 72%)}.contact-select{align-self:center;align-items:center;gap:8px;flex-direction:row!important;display:flex!important}.contact-select input,.consent-check input{accent-color:#0d9b70;height:16px;margin:0;width:16px!important}.contact-select span{color:#315277;background:#e9eff8;border-radius:7px;place-items:center;width:25px;height:25px;font-size:10px;font-weight:800;display:grid}.contact-student{align-self:center;min-width:0}.contact-student b{text-overflow:ellipsis;white-space:nowrap;color:#16375f;font-size:12px;display:block;overflow:hidden}.contact-student span{color:#7b8b9f;margin-top:3px;font-size:9px;display:block}.whatsapp-contact-list label:not(.contact-select){color:#71839b;text-transform:uppercase;letter-spacing:.4px;gap:4px;font-size:8px;font-weight:800;display:grid}.whatsapp-contact-list input:not([type=checkbox]){color:#203c60;text-transform:none;background:#fff;border:1px solid #d9e3ef;border-radius:8px;width:100%;min-width:0;padding:8px 9px;font-size:11px}.whatsapp-contact-list input:focus{border-color:#5f9ce1;outline:2px solid #1484e029}.whatsapp-contact-list .consent-check{align-self:center;align-items:center;gap:7px;line-height:1.35;flex-direction:row!important;display:flex!important}.send-status{color:#6e7f94;text-transform:uppercase;white-space:nowrap;background:#edf1f6;border-radius:999px;place-self:center end;padding:5px 7px;font-size:8px;font-style:normal;font-weight:900}.send-status.sent{color:#08785e;background:#daf6e9}.send-status.failed{color:#b73549;background:#fde6e9}.send-status.queued,.send-status.sending{color:#9b6b00;background:#fff1cc}.whatsapp-contact-footer{border-top:1px solid #e2e9f2;justify-content:space-between;align-items:center;gap:12px;padding-top:15px;display:flex}.whatsapp-contact-footer span{color:#77889d;font-size:9px}.secondary-button{color:#fff;background:#123f78;border:0;border-radius:9px;padding:10px 14px;font-size:11px;font-weight:800}.whatsapp-side{gap:18px;display:grid}.message-template-card,.sender-setup-card{padding:20px}.message-template-card h2,.sender-setup-card h2{color:#13365f;margin:0 0 12px;font-size:17px}.message-template-card textarea{resize:vertical;color:#294866;border:1px solid #d6e1ee;border-radius:10px;width:100%;padding:11px;font-size:11px;line-height:1.55}.message-template-card small{color:#71839a;margin:7px 0 13px;font-size:9px;display:block}.whatsapp-queue-button,.sender-download,.pair-button{text-align:center;border:0;border-radius:10px;width:100%;padding:11px 13px;font-size:11px;font-weight:800;text-decoration:none;display:block}.whatsapp-queue-button{color:#fff;background:linear-gradient(110deg,#0c8a63,#1fc687);box-shadow:0 8px 18px #0e946638}.whatsapp-queue-button:disabled{box-shadow:none;cursor:not-allowed;background:#b9c7d3}.sender-heading{justify-content:space-between;gap:10px;display:flex}.sender-heading>span{color:#728398;text-transform:uppercase;background:#eef2f6;border-radius:999px;align-self:flex-start;padding:5px 8px;font-size:8px;font-weight:900}.sender-setup-card ol{color:#536a85;margin:4px 0 14px;padding-left:18px;font-size:10px;line-height:1.75}.sender-download{color:#08785e;background:#e1f8ef}.pair-button{color:#fff;background:#153f79;margin-top:8px}.pairing-code{text-align:center;background:#f0fcf7;border:1px dashed #48b793;border-radius:11px;margin-top:11px;padding:13px}.pairing-code span,.pairing-code small{color:#648177;font-size:8px;display:block}.pairing-code b{color:#08785e;font-family:var(--font-geist-mono);letter-spacing:3px;margin:5px 0;font-size:21px;display:block}.device-list{border-top:1px solid #e5ebf2;margin-top:13px}.device-list>div{border-bottom:1px solid #edf1f6;align-items:center;gap:8px;padding:10px 0;display:flex}.device-list i{background:#abb7c5;border-radius:50%;flex:none;width:9px;height:9px}.device-list i.online{background:#14ad79;box-shadow:0 0 0 4px #14ad7921}.device-list span{flex:1;min-width:0}.device-list b,.device-list small{display:block}.device-list b{color:#294766;font-size:10px}.device-list small{color:#8190a1;margin-top:2px;font-size:8px}.device-list p{color:#8090a3;font-size:10px}.whatsapp-history{margin-top:18px;padding:20px}.batch-list{gap:9px;margin-top:13px;display:grid}.batch-list>article{background:#fbfcfe;border:1px solid #e0e8f2;border-radius:11px;grid-template-columns:minmax(180px,1fr) auto auto auto;align-items:center;gap:16px;padding:13px 14px;display:grid}.batch-list>article>div:first-child b,.batch-list>article>div:first-child span{display:block}.batch-list>article>div:first-child b{color:#173c68;font-size:11px}.batch-list>article>div:first-child span{color:#7b8da3;margin-top:3px;font-size:8px}.batch-counts{gap:13px;display:flex}.batch-counts span{color:#718298;font-size:9px}.batch-counts b{color:#23476e}.batch-status{color:#5c718a;text-transform:uppercase;white-space:nowrap;background:#eaf0f6;border-radius:999px;padding:5px 8px;font-size:8px;font-style:normal;font-weight:900}.batch-status.completed{color:#08785e;background:#daf6e9}.batch-status.completed_with_errors{color:#986900;background:#fff0d0}.batch-status.cancelled{color:#8a5261;background:#f1e7eb}.batch-actions{justify-content:flex-end;gap:6px;display:flex}.sender-disclaimer{color:#78899d;margin:14px 0 0;font-size:9px;line-height:1.5}@media (width<=1120px){.whatsapp-layout{grid-template-columns:1fr}.whatsapp-side{grid-template-columns:1fr 1fr}.whatsapp-contact-list>article{grid-template-columns:48px minmax(140px,1fr) minmax(130px,1fr) minmax(140px,1fr)}.whatsapp-contact-list .consent-check{grid-column:2/4}.whatsapp-contact-list .send-status{grid-column:4}}@media (width<=760px){.whatsapp-steps{grid-template-columns:1fr 1fr;gap:8px}.whatsapp-steps>i{display:none}.whatsapp-side{grid-template-columns:1fr}.whatsapp-contact-list>article{grid-template-columns:42px 1fr auto;align-items:center}.whatsapp-contact-list>article>label:not(.contact-select):not(.consent-check){grid-column:2/4}.whatsapp-contact-list .consent-check{grid-column:2/3}.whatsapp-contact-list .send-status{grid-column:3}.batch-list>article{grid-template-columns:1fr auto}.batch-counts,.batch-actions{grid-column:1/3;justify-content:flex-start}.whatsapp-ready-count{margin-left:0}}@media (width<=480px){.whatsapp-welcome{padding:20px}.whatsapp-mark{border-radius:16px;width:50px;height:50px;font-size:12px}.whatsapp-steps>div{min-height:54px;padding:9px;font-size:10px}.whatsapp-controls,.whatsapp-contacts,.message-template-card,.sender-setup-card,.whatsapp-history{padding:15px}.whatsapp-contact-footer{flex-direction:column;align-items:stretch}.whatsapp-contact-footer button,.contact-actions{width:100%}.contact-actions button{flex:1}}.portal .whatsapp-welcome{color:#fff;background:radial-gradient(circle at 88% 12%,#46e69747,#0000 28%),linear-gradient(120deg,#0b2c5a 0%,#0d4a78 56%,#08785e 100%);border-color:#52ae9a59;box-shadow:0 18px 42px #0a325b33}.portal .whatsapp-welcome h1{color:#fff}.portal .whatsapp-welcome .eyebrow{color:#79efbd}.portal .whatsapp-welcome p:not(.eyebrow){color:#dceefa}.portal .whatsapp-welcome:after{color:#ffffff0e}.fee-welcome{color:#fff;background:radial-gradient(circle at 90% 10%,#4ce19742,#0000 30%),linear-gradient(120deg,#0b2c5a 0%,#124e77 60%,#0b755f 100%);border-color:#48ad8959;box-shadow:0 18px 42px #0a325b33}.fee-welcome h1{color:#fff}.fee-welcome .eyebrow{color:#83f2c4}.fee-welcome p:not(.eyebrow){color:#e2f0fa}.fee-upload-action{flex:none;position:relative}.fee-upload-action input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.fee-message{color:#274d72;background:#f7fbff;border:1px solid #ceddec;border-radius:10px;margin:12px 0 0;padding:10px 14px}.fee-summary-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px;display:grid}.fee-summary-grid article{background:#fff;border:1px solid #dce6ef;border-radius:14px;min-height:104px;padding:16px;box-shadow:0 8px 22px #183a5c0f}.fee-summary-grid span,.fee-summary-grid b,.fee-summary-grid small{display:block}.fee-summary-grid span{color:#7b8da0;letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:900}.fee-summary-grid b{color:#153e69;margin-top:10px;font-size:20px}.fee-summary-grid small{color:#8090a1;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:9px;overflow:hidden}.fee-summary-grid .sender-online{background:#f4fffa;border-color:#a5dfc9}.fee-summary-grid .sender-online b{color:#08785e}.fee-summary-grid .sender-offline{background:#fff9f8;border-color:#efcfca}.fee-summary-grid .sender-offline b{color:#a34a3d}.fee-import-bar{justify-content:space-between;align-items:end;gap:16px;margin-top:14px;padding:16px 18px;display:flex}.fee-import-bar>div:first-child{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.fee-import-bar label{color:#66798e;min-width:310px;font-size:9px;font-weight:800}.fee-import-bar select{width:100%;margin-top:5px;display:block}.fee-import-bar small{color:#8292a4;padding-bottom:8px;font-size:9px}.fee-import-status{color:#5f738a;text-transform:uppercase;background:#e8eef5;border-radius:999px;margin-bottom:6px;padding:5px 9px;font-size:8px;font-weight:900}.fee-import-status.active{color:#08785e;background:#d9f6e8}.fee-import-status.draft{color:#956600;background:#fff0cd}.fee-import-status.archived{color:#795c68;background:#eee9ec}.fee-import-actions{gap:8px;display:flex}.fee-layout{grid-template-columns:minmax(0,1.75fr) minmax(310px,.65fr);align-items:start;gap:16px;margin-top:16px;display:grid}.fee-records-card{min-width:0;padding:18px}.fee-table-title{margin-bottom:13px}.fee-toolbar{grid-template-columns:minmax(220px,1fr) 150px auto;align-items:center;gap:9px;margin-bottom:12px;display:grid}.fee-toolbar input,.fee-toolbar select{width:100%}.fee-select-all{color:#526b84;white-space:nowrap;align-items:center;gap:6px;font-size:9px;font-weight:800;display:flex}.fee-select-all input{width:14px;height:14px}.fee-record-table{border:1px solid #e0e8f0;border-radius:12px;overflow-x:auto}.fee-record-head,.fee-record-table>article{grid-template-columns:58px minmax(180px,1.4fr) minmax(160px,1fr) minmax(120px,.7fr) minmax(100px,.7fr) 78px;align-items:center;gap:10px;min-width:840px;display:grid}.fee-record-head{color:#71849a;letter-spacing:.05em;text-transform:uppercase;background:#f2f6fa;padding:10px 12px;font-size:8px;font-weight:900}.fee-record-table>article{background:#fff;border-top:1px solid #e7edf3;padding:11px 12px}.fee-record-table>article.fee-review{background:#fffaf0}.fee-record-table>article:hover{background:#f8fbfe}.fee-record-table span{min-width:0}.fee-check{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.fee-check input{width:14px;height:14px}.fee-check small{color:#8b99a8;font-size:7px}.fee-student-cell b,.fee-student-cell small,.fee-student-cell em{display:block}.fee-student-cell b{color:#24486d;font-size:10px}.fee-student-cell small{color:#8291a2;margin-top:3px;font-size:8px}.fee-student-cell em{color:#a06b00;margin-top:4px;font-size:7px;font-style:normal;line-height:1.35}.fee-contact-cell{grid-template-columns:1fr auto;gap:4px;display:grid}.fee-contact-cell input{min-width:0;height:31px;padding:7px 8px;font-size:9px}.fee-contact-cell button{color:#fff;background:#173f69;border:0;border-radius:7px;font-size:8px;font-weight:800}.fee-contact-cell small{color:#8291a2;grid-column:1/3;font-size:7px}.fee-amount-cell b,.fee-amount-cell small{display:block}.fee-amount-cell b{color:#173f69;font-size:11px}.fee-amount-cell small{color:#8a98a8;margin-top:3px;font-size:7px}.fee-status-time,.fee-error{margin-top:4px;font-size:7px;line-height:1.3;display:block}.fee-status-time{color:#8492a2}.fee-error{color:#a33e3e}.fee-row-actions button{color:#fff;background:#0b7a61;border:0;border-radius:8px;width:100%;padding:7px 6px;font-size:8px;font-weight:900}.fee-row-actions button:disabled{color:#75879a;cursor:not-allowed;background:#ced8e0}.fee-side{gap:14px;display:grid}.fee-template-card,.fee-sender-card{padding:18px}.fee-template-card h2,.fee-sender-card h2{margin-bottom:10px}.fee-template-card textarea{resize:vertical;width:100%;line-height:1.5}.fee-template-card label{color:#60758c;margin-top:11px;font-size:9px;font-weight:800;display:block}.fee-template-card label input{width:100%;margin-top:5px;display:block}.fee-template-card>small{color:#8292a3;margin:9px 0 13px;font-size:8px;line-height:1.45;display:block}.fee-send-all{width:100%;margin-top:8px}.fee-sender-card>p{color:#6f8297;font-size:9px;line-height:1.55}.fee-online-pill,.fee-offline-pill{border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900}.fee-online-pill{color:#08785e;background:#d9f6e8}.fee-offline-pill{color:#a34a3d;background:#f8e6e3}.fee-history{margin-bottom:16px}@media (width<=1180px){.fee-summary-grid{grid-template-columns:repeat(2,1fr)}.fee-layout{grid-template-columns:1fr}.fee-side{grid-template-columns:1fr 1fr}}@media (width<=760px){.fee-summary-grid{grid-template-columns:1fr 1fr}.fee-import-bar{flex-direction:column;align-items:stretch}.fee-import-bar label{width:100%;min-width:0}.fee-import-actions{width:100%}.fee-import-actions button{flex:1}.fee-toolbar{grid-template-columns:1fr 125px}.fee-select-all{grid-column:1/3}.fee-side{grid-template-columns:1fr}}@media (width<=480px){.fee-summary-grid{grid-template-columns:1fr}.fee-welcome{padding:20px}.fee-upload-action,.fee-upload-action button{width:100%}.fee-records-card,.fee-template-card,.fee-sender-card,.fee-history{padding:14px}.fee-toolbar{grid-template-columns:1fr}.fee-select-all{grid-column:auto}}.custom-welcome{color:#fff;background:radial-gradient(circle at 90% 12%,#67ecc03d,#0000 30%),linear-gradient(120deg,#0b2c5a 0%,#164e85 58%,#13745f 100%);border-color:#5899e859;box-shadow:0 18px 42px #0a325b33}.custom-welcome h1{color:#fff}.custom-welcome .eyebrow{color:#83f2c4}.custom-welcome p:not(.eyebrow){color:#e2f0fa}.custom-summary-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px;display:grid}.custom-summary-grid article{background:#fff;border:1px solid #dce6ef;border-radius:14px;min-height:104px;padding:16px;box-shadow:0 8px 22px #183a5c0f}.custom-summary-grid span,.custom-summary-grid b,.custom-summary-grid small{display:block}.custom-summary-grid span{color:#7b8da0;letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:900}.custom-summary-grid b{color:#153e69;margin-top:10px;font-size:20px}.custom-summary-grid small{color:#8090a1;margin-top:6px;font-size:9px}.custom-summary-grid .sender-online{background:#f4fffa;border-color:#a5dfc9}.custom-summary-grid .sender-online b{color:#08785e}.custom-summary-grid .sender-offline{background:#fff9f8;border-color:#efcfca}.custom-summary-grid .sender-offline b{color:#a34a3d}.custom-class-panel{margin-top:16px;padding:18px}.custom-all-class-check{color:#264e75;align-items:center;gap:8px;margin:4px 0 12px;font-size:10px;font-weight:900;display:inline-flex}.custom-all-class-check input{accent-color:#0b7a61;width:16px;height:16px;margin:0}.custom-class-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}.custom-class-grid label{color:#536c85;cursor:pointer;background:#f8fbfe;border:1px solid #dbe5ee;border-radius:9px;align-items:center;gap:7px;min-height:38px;padding:9px 10px;font-size:9px;font-weight:850;display:flex}.custom-class-grid label.selected{color:#08785e;background:#edfdf6;border-color:#86cfb6;box-shadow:inset 0 0 0 1px #0b7a6114}.custom-class-grid input{accent-color:#0b7a61;width:14px;height:14px;margin:0}.custom-layout{grid-template-columns:minmax(0,1.75fr) minmax(310px,.65fr);align-items:start;gap:16px;margin-top:16px;display:grid}.custom-student-card{min-width:0;padding:18px}.custom-side{gap:14px;display:grid}.custom-toolbar{grid-template-columns:minmax(220px,1fr) 155px auto auto;align-items:center;gap:8px;margin-bottom:10px;display:grid}.custom-toolbar input,.custom-toolbar select{width:100%}.custom-toolbar button{color:#2e557b;white-space:nowrap;background:#fff;border:1px solid #ccd9e5;border-radius:8px;min-height:34px;padding:7px 10px;font-size:8px;font-weight:900}.custom-toolbar button:disabled{color:#9aa9b7;background:#f2f5f7}.custom-master-select{color:#3f607f;background:#f5f9fc;border:1px solid #dce6ee;border-radius:9px;align-items:center;gap:8px;margin-bottom:10px;padding:10px 12px;font-size:9px;font-weight:850;display:flex}.custom-master-select input{accent-color:#0b7a61;width:15px;height:15px;margin:0}.custom-student-list{border:1px solid #dfe8f0;border-radius:12px;max-height:660px;overflow:auto}.custom-student-list>article{background:#fff;border-top:1px solid #e7edf3;grid-template-columns:52px minmax(160px,1.25fr) minmax(150px,1fr) minmax(165px,1fr) 92px;align-items:center;gap:10px;min-width:780px;padding:11px 12px;display:grid}.custom-student-list>article:first-child{border-top:0}.custom-student-list>article:hover{background:#f8fbfe}.custom-student-list>article.contact-missing{background:#fffaf4}.custom-student-list>article>label:not(.contact-select){color:#677b8f;font-size:8px;font-weight:850}.custom-student-list>article>label:not(.contact-select) input{width:100%;min-width:0;margin-top:4px;display:block}.report-student-list{max-height:620px}.fee-class-panel{margin-top:14px}.custom-attachment-picker{color:#315878;background:#f7fbff;border:1px dashed #b8cadd;border-radius:10px;gap:6px;margin-top:14px;padding:12px;font-size:9px;font-weight:900;display:grid}.custom-attachment-picker input{color:#5c7185;background:#fff;border:1px solid #d5e1ec;border-radius:8px;width:100%;padding:8px;font-size:9px}.custom-attachment-picker small{color:#778b9d;font-weight:600;line-height:1.5}.custom-attachment-selected{background:#effcf6;border:1px solid #a8dec9;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding:10px 11px;display:flex}.custom-attachment-selected span,.custom-attachment-selected small{min-width:0;display:block}.custom-attachment-selected b{color:#126a55;text-overflow:ellipsis;white-space:nowrap;font-size:9px;display:block;overflow:hidden}.custom-attachment-selected small{color:#6d8c80;margin-top:3px;font-size:8px}.custom-attachment-selected button{color:#91605f;background:#fff;border:1px solid #b8d8cd;border-radius:7px;flex:none;padding:6px 9px;font-size:8px;font-weight:900}@media (width<=1180px){.custom-summary-grid{grid-template-columns:repeat(2,1fr)}.custom-layout{grid-template-columns:1fr}.custom-side{grid-template-columns:1fr 1fr}.custom-toolbar{grid-template-columns:minmax(190px,1fr) 145px auto}.custom-toolbar button:last-child{grid-column:auto}}@media (width<=760px){.custom-summary-grid{grid-template-columns:1fr 1fr}.custom-side{grid-template-columns:1fr}.custom-toolbar{grid-template-columns:1fr 130px}.custom-toolbar button{width:100%}.custom-student-list>article{grid-template-columns:44px minmax(150px,1fr) 88px;min-width:600px}.custom-student-list>article>label:not(.contact-select){grid-column:auto}}@media (width<=480px){.custom-summary-grid{grid-template-columns:1fr}.custom-welcome{padding:20px}.custom-class-panel,.custom-student-card{padding:14px}.custom-toolbar{grid-template-columns:1fr}.custom-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}
