:root{--brand-blue: #1b55a6;--brand-sky: #2398dd;--brand-gold: #f6bc12;--iqss-blue: #15137b;--iqss-yellow: #f3ef22;--brand-navy: #151d3f;--brand-ink: #1f2d3d;--muted: #677789;--surface: #ffffff;--app-bg: #f6f8fb;--panel-bg: #ffffff;--line: #dfe7f0;--soft-blue: #eaf5ff;--soft-gold: #fff8d6;--soft-aqua: #edf9fc;--soft-violet: #f4f2ff;--soft-green: #edf8f2;--soft-grey: #eef3f8;--success: #08795f;--danger: #b43a32;--warning: #9a6200;color:var(--brand-ink);background:var(--app-bg);font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--brand-ink);background:var(--app-bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.68}.login-page{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:linear-gradient(90deg,rgba(27,85,166,.08) 0,rgba(27,85,166,.08) 34%,transparent 34%),linear-gradient(180deg,#fff 0,#f6f8fb)}.login-panel{width:min(440px,100%);border:1px solid var(--line);border-radius:8px;border-top:4px solid var(--brand-gold);background:var(--surface);padding:30px;box-shadow:0 20px 48px #151d3f21}.metric-icon{width:44px;height:44px;display:inline-grid;place-items:center;border-radius:8px;color:var(--brand-blue);background:linear-gradient(135deg,var(--soft-blue),#fffbe4)}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:18px}.login-brand img{width:70px;height:70px;flex:0 0 auto;border-radius:8px;object-fit:contain;background:#fff}.login-brand p{margin:3px 0 0}.login-intro{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:22px}.login-intro span{min-height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;color:var(--brand-blue);background:#f8fbff;font-size:.78rem;font-weight:560;text-align:center}.powered-by{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem;font-weight:500;text-decoration:none}.powered-by img{width:70px;height:auto;max-height:36px;object-fit:contain;object-position:right center}.powered-by:hover span,.sidebar-footer:hover span{color:var(--brand-blue)}.powered-by:focus-visible,.sidebar-footer:focus-visible{outline:3px solid rgba(246,188,18,.45);outline-offset:3px}.login-panel h1,.page-heading h1,.topbar h2,.section-heading h3,.panel h3,.empty-state h3{margin:0;color:var(--brand-ink);letter-spacing:0;font-weight:600}.login-panel p{margin:4px 0 24px;color:var(--muted)}.login-form{display:grid;gap:16px}.login-form label,.school-picker,.date-control{display:grid;gap:6px;color:var(--muted);font-size:.86rem;font-weight:600}.login-form input,.school-picker select,.date-control input{width:100%;min-height:42px;border:1px solid #cfd9e6;border-radius:8px;color:var(--brand-ink);background:var(--surface);padding:0 12px;outline:none}.login-form input:focus,.school-picker select:focus,.date-control input:focus,.people-search input:focus{border-color:var(--brand-sky);box-shadow:0 0 0 3px #2196dc2e}.password-input{position:relative;display:block;width:100%}.password-input input{padding-right:44px}.password-toggle-button{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:grid;width:32px;height:32px;place-items:center;padding:0;border:0;border-radius:8px;color:var(--muted);background:transparent;cursor:pointer}.password-toggle-button:hover{color:var(--brand-blue);background:#1b55a614}.password-toggle-button:focus-visible{outline:2px solid rgba(33,150,220,.55);outline-offset:2px}.form-error{margin:0;color:var(--danger);font-weight:600}.primary-button,.primary-action,.secondary-action,.icon-text-button,.small-button,.nav-item{border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;font-weight:600;white-space:nowrap}.primary-button{width:100%;color:#fff;background:linear-gradient(135deg,var(--brand-blue),var(--brand-sky))}.primary-action{color:#fff;background:var(--brand-blue)}.secondary-action{color:var(--brand-ink);background:var(--soft-grey)}.primary-button:hover,.primary-action:hover,.secondary-action:hover,.icon-text-button:hover,.small-button:hover{filter:brightness(.96)}.app-shell{min-height:100vh;display:grid;grid-template-columns:276px minmax(0,1fr);background:var(--app-bg)}.sidebar{position:sticky;top:0;height:100vh;display:grid;grid-template-rows:auto auto 1fr auto;gap:18px;background:linear-gradient(180deg,rgba(35,152,221,.12),transparent 38%),linear-gradient(135deg,var(--brand-navy),var(--iqss-blue) 68%,#111749);color:#edf5ff;padding:22px 16px;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:8px;min-height:32px;opacity:.86}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand img{width:30px;height:30px;flex:0 0 auto;border-radius:6px;object-fit:contain;background:#fff}.sidebar-brand strong{color:#fff;font-size:.82rem;font-weight:620;line-height:1.15}.sidebar-brand span{color:#b8c8da;font-size:.68rem;font-weight:500;line-height:1.1}.school-context-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff14;padding:13px;box-shadow:inset 3px 0 0 var(--school-accent, var(--brand-gold))}.school-context-card img{width:48px;height:48px;border-radius:8px;object-fit:contain;background:#fff}.school-context-card span,.nav-group-label,.sidebar-footer span{color:#b8c8da;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.school-context-card strong{display:block;color:#fff;font-size:.96rem;font-weight:650;line-height:1.25;overflow-wrap:anywhere}.nav-list{display:grid;gap:8px;align-content:start}.nav-group-label{margin:6px 8px 2px}.nav-item{width:100%;justify-content:flex-start;color:#dce8f5;background:transparent;font-weight:560}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.active{color:#fff;background:linear-gradient(135deg,var(--school-primary, var(--brand-blue)),var(--brand-sky));font-weight:650;box-shadow:inset 4px 0 0 var(--school-accent, var(--brand-gold))}.sidebar-footer{display:grid;gap:8px;border-top:1px solid rgba(255,255,255,.12);padding-top:16px;color:inherit;text-decoration:none}.sidebar-footer img{width:76px;max-width:100%;height:auto;max-height:40px;object-fit:contain;object-position:left center;border-radius:4px;background:#fff}.main-column{min-width:0;display:grid;grid-template-rows:auto 1fr}.topbar{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 28px;border-bottom:1px solid var(--line);background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-title{min-width:0;display:flex;align-items:center;gap:12px}.topbar-school-logo{width:40px;height:40px;flex:0 0 auto;border:1px solid var(--line);border-radius:8px;object-fit:contain;background:#fff}.topbar-actions,.heading-actions{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.topbar-actions{flex:1 1 540px;justify-content:flex-end}.eyebrow{display:block;margin-bottom:3px;color:var(--school-primary, var(--brand-blue));font-size:.78rem;font-weight:650;text-transform:uppercase}.school-picker{min-width:230px}.academic-context-picker{display:flex;align-items:end;flex-wrap:wrap;gap:8px}.academic-context-picker label{display:grid;gap:4px;color:var(--muted);font-size:.74rem;font-weight:650}.academic-context-picker select{min-width:150px;min-height:40px;border:1px solid #cfd9e6;border-radius:8px;color:var(--brand-ink);background:#fff;padding:0 10px;outline:none}.academic-context-picker.compact select{min-width:136px}.academic-context-picker select:focus{border-color:var(--brand-sky);box-shadow:0 0 0 3px #2196dc29}.academic-context-notice{margin:10px 0 16px;border:1px solid #d9e6f5;border-left:4px solid var(--school-primary, var(--brand-blue));border-radius:8px;background:#f8fbff;padding:12px 14px;color:var(--muted)}.academic-context-notice strong{display:block;color:var(--brand-ink);font-size:.95rem}.academic-context-notice span{display:block;margin-top:2px;font-size:.84rem}.icon-text-button,.small-button{color:var(--brand-ink);background:var(--soft-grey)}.mobile-menu-button{width:40px;height:40px;border:0;border-radius:8px;display:none;align-items:center;justify-content:center;color:var(--school-primary, var(--brand-blue));background:var(--soft-blue)}.user-chip{min-height:40px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:0 12px;color:var(--brand-ink);background:#fff;font-weight:600}.content{min-width:0;padding:28px}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px}.date-control{grid-template-columns:auto minmax(150px,1fr);align-items:center;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.date-control input{border:0;min-height:38px;padding:0}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.metric-card{min-height:118px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#fff,#f8fbff);padding:18px;box-shadow:0 12px 26px #151d3f0a}.metric-card:nth-child(2),.people-metric:nth-child(2){background:linear-gradient(135deg,#ffffff,var(--soft-green))}.metric-card:nth-child(3),.people-metric:nth-child(3){background:linear-gradient(135deg,#ffffff,var(--soft-aqua))}.metric-card:nth-child(4),.people-metric:nth-child(4){background:linear-gradient(135deg,#ffffff,var(--soft-gold))}.metric-card span,.metric-card small,.compact-stats dt,.table-wrap td span,.table-empty,.muted{color:var(--muted)}.metric-card strong{display:block;color:var(--brand-ink);font-size:clamp(1.35rem,1rem + 1vw,2rem);font-weight:650;letter-spacing:0;line-height:1.1;margin:4px 0;overflow-wrap:anywhere}.metric-card.warning .metric-icon{color:var(--warning);background:var(--soft-gold)}.metric-card.success .metric-icon{color:#0f8a5f;background:#e7f7ef}.metric-card.danger .metric-icon{color:var(--danger);background:#fbe3df}.platform-page{display:grid;gap:18px}.platform-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #dbe8f3;border-radius:8px;background:linear-gradient(120deg,#f8fcff,#eef7ff 56%,#fff8e8);box-shadow:0 12px 28px #0f172a12;padding:24px}.platform-kicker{display:block;margin-bottom:6px;color:var(--brand-blue);font-size:.75rem;font-weight:720;letter-spacing:0;text-transform:uppercase}.platform-hero h1{margin:0;color:var(--brand-ink);font-size:clamp(1.55rem,1.2rem + 1vw,1.9rem);font-weight:680}.platform-hero p{max-width:760px;margin:8px 0 0;color:var(--muted)}.platform-active{display:inline-flex;align-items:center;min-height:38px;border:1px solid #bbf7d0;border-radius:999px;background:#ecfdf5;color:#047857;padding:0 14px;font-weight:650;white-space:nowrap}.platform-create-shell,.platform-table-shell{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 10px 24px #0f172a0f}.platform-create-shell{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px}.platform-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.platform-section-heading h2,.platform-table-header h2{margin:0;color:var(--brand-ink);font-size:1.05rem;font-weight:680}.platform-section-heading p,.platform-table-header p{margin:5px 0 0;color:var(--muted)}.platform-create-launch{min-width:150px}.platform-create-form{position:relative;display:grid;gap:18px}.platform-create-form fieldset{min-width:0;display:grid;gap:18px;margin:0;padding:0;border:0}.platform-create-form.is-busy fieldset{opacity:.45}.platform-form-section{display:grid;gap:14px;border:1px solid #e4edf6;border-radius:8px;background:#fbfdff;padding:16px}.platform-form-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:2px}.platform-form-section-title strong{color:var(--brand-ink);font-size:.98rem;font-weight:650}.platform-form-section-title span{color:var(--muted);font-size:.82rem;font-weight:500;text-align:right}.platform-password-field{grid-column:1 / -1}.inline-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.platform-loading-overlay{position:absolute;inset:-2px;z-index:2;display:grid;place-items:center;align-content:center;gap:8px;border-radius:8px;background:#ffffffd1;color:var(--brand-ink);text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.platform-loading-overlay strong{font-size:1rem;font-weight:650}.platform-loading-overlay span:last-child{max-width:360px;color:var(--muted);font-size:.86rem;font-weight:500}.loader-ring{width:34px;height:34px;border:3px solid #dbeafe;border-top-color:var(--brand-blue);border-radius:999px;animation:spin .7s linear infinite}.page-loader{color:var(--brand-ink);text-align:center}.page-loader-fixed,.page-loader-overlay{display:grid;place-items:center;background:linear-gradient(135deg,#ffffffe6,#e8f4ffe0),radial-gradient(circle at 18% 18%,rgba(246,188,18,.18),transparent 34%),radial-gradient(circle at 82% 20%,rgba(33,162,232,.18),transparent 32%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.page-loader-fixed{position:fixed;inset:0;z-index:200}.page-loader-overlay{position:absolute;inset:0;z-index:12;border-radius:inherit}.page-loader-section,.page-loader-inline{display:grid;place-items:center;min-height:220px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#fff,#f8fbff)}.page-loader-inline{min-height:128px;border-style:dashed}.page-loader-card{width:min(360px,calc(100% - 32px));display:grid;justify-items:center;gap:12px;border:1px solid rgba(27,85,166,.14);border-radius:14px;background:#ffffffeb;box-shadow:0 24px 54px #10203329;padding:24px 22px}.page-loader-section .page-loader-card,.page-loader-inline .page-loader-card{box-shadow:none;background:transparent;border:0}.page-loader-mark{position:relative;width:72px;height:72px;display:grid;place-items:center}.page-loader-mark img{width:48px;height:48px;border:1px solid #d9e5ef;border-radius:12px;background:#fff;object-fit:contain;padding:5px;box-shadow:0 10px 24px #1020331a}.page-loader-ring{position:absolute;inset:0;border-radius:999px;background:conic-gradient(from 90deg,var(--brand-blue),#21a2e8,var(--brand-gold),#6fbf4a,var(--brand-blue));animation:spin .9s linear infinite;mask:radial-gradient(circle,transparent 53%,#000 55%);-webkit-mask:radial-gradient(circle,transparent 53%,#000 55%)}.page-loader-copy{display:grid;gap:5px}.page-loader-copy strong{color:var(--brand-ink);font-size:1rem;font-weight:700}.page-loader-copy span{max-width:300px;color:var(--muted);font-size:.88rem;font-weight:500;line-height:1.45}.page-loader-progress{display:inline-flex;gap:6px;align-items:center}.page-loader-progress span{width:8px;height:8px;border-radius:999px;background:var(--brand-blue);animation:loaderDot .9s ease-in-out infinite}.page-loader-progress span:nth-child(2){background:#21a2e8;animation-delay:.12s}.page-loader-progress span:nth-child(3){background:var(--brand-gold);animation-delay:.24s}.platform-table-shell{overflow:hidden}.platform-table-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e4edf6;padding:18px 22px}.platform-table-wrap{border:0;border-radius:0;box-shadow:none}.platform-table-wrap thead th{background:#f8fbff;color:#5b6f82;font-size:.76rem;font-weight:700;text-transform:uppercase}.platform-school-name{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;min-width:220px}.platform-school-name img{width:42px;height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;object-fit:contain;padding:4px}.platform-school-name strong,.platform-school-name span span{display:block}.platform-school-name span span,.platform-location{color:var(--muted);font-size:.86rem}.platform-location{display:inline-flex;align-items:center;gap:6px;min-width:150px}.platform-count{display:inline-flex;justify-content:center;min-width:42px;border-radius:999px;padding:6px 10px;font-weight:700}.platform-count.students{background:#e0f2fe;color:#075985}.platform-count.parents{background:#ede9fe;color:#5b21b6}.platform-count.staff{background:#dcfce7;color:#166534}.platform-open-button{justify-content:center}.split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.panel,.table-section,.empty-state{border:1px solid var(--line);border-radius:8px;background:var(--panel-bg);box-shadow:0 12px 26px #151d3f09}.panel,.empty-state{padding:18px}.panel h3,.section-heading h3{font-size:1rem}.compact-stats{display:grid;gap:12px;margin:16px 0 0}.compact-stats div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #edf2f7;padding-bottom:10px}.compact-stats div:last-child{border-bottom:0;padding-bottom:0}.compact-stats dd{margin:0;color:var(--brand-ink);font-weight:650}.notice{border-radius:8px;padding:12px 14px;margin-bottom:14px;font-weight:600}.notice.success{color:var(--success);background:#e4f6f1;border:1px solid #bfe2d8}.notice.danger{color:var(--danger);background:#fbe3df;border:1px solid #efc0b8}.foundation-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#fff}.foundation-subtabs{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.foundation-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;border-bottom:1px solid #edf2f7;background:#fbfdff;padding:14px 18px}.foundation-toolbar .field{min-width:min(280px,100%);max-width:360px}.people-search{display:flex;align-items:end;justify-content:flex-end;flex-wrap:wrap;gap:10px}.people-search label{display:grid;gap:6px;color:var(--muted);font-size:.86rem;font-weight:600;min-width:min(260px,100%)}.people-search input{width:100%;min-height:42px;border:1px solid #cfd9e6;border-radius:8px;color:var(--brand-ink);background:var(--surface);padding:0 12px;outline:none}.list-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid #edf2f7;background:#fbfdff;padding:12px 16px}.list-pagination-summary,.list-pagination-controls{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.86rem}.list-pagination-summary strong,.list-pagination-controls span{color:var(--brand-ink);font-weight:700}.list-pagination label{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.84rem;font-weight:700}.list-pagination select{min-height:36px;border:1px solid #cfd9e6;border-radius:8px;background:var(--surface);color:var(--brand-ink);padding:0 30px 0 10px;outline:none}.people-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px}.people-metric{min-height:104px;display:grid;align-content:start;gap:3px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#fff,#f8fbff);padding:16px;box-shadow:0 12px 26px #151d3f0a}.people-metric span{color:var(--muted);font-size:.78rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.people-metric strong{color:var(--brand-ink);font-size:1.5rem;font-weight:650;line-height:1.1}.people-metric small{color:var(--muted);font-weight:500}.tab-button{min-height:40px;border:1px solid var(--line);border-radius:8px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;color:#42515b;background:transparent;font-weight:600}.tab-button.active,.tab-button:hover{color:#fff;border-color:var(--brand-blue);background:var(--brand-blue);font-weight:650}.setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.setup-grid.single-column{grid-template-columns:minmax(0,1fr)}.setup-grid.three-column{grid-template-columns:repeat(3,minmax(0,1fr))}.setup-panel{border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fff8d666,#fff0 120px),var(--panel-bg);overflow:hidden;box-shadow:0 12px 26px #151d3f09}.setup-panel .section-heading h3{display:inline-flex;align-items:center;gap:8px}.setup-panel+.setup-panel{margin-top:16px}.attendance-settings-form{padding:18px}.attendance-settings-form .form-actions{justify-content:flex-end;margin-top:14px}.attendance-toolbar{display:flex;justify-content:flex-end;padding:18px 18px 0}.attendance-toolbar .field{min-width:220px}.attendance-summary-grid{padding:14px 18px 18px}.foundation-table table{min-width:560px}.foundation-table td{font-size:.92rem}.academic-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 18px 18px}.timetable-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0 18px 18px}.assessment-filter-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.result-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.timetable-inline-notice{margin:0 18px 18px}.time-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.timetable-day-pill{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:0 10px;background:#eaf3ff;color:var(--brand-blue);font-size:.78rem;font-weight:650}.segmented-control{display:inline-flex;border:1px solid var(--line);border-radius:8px;background:#fff;padding:3px}.segmented-control button{min-height:30px;border:0;border-radius:6px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;color:#52616c;background:transparent;font-size:.82rem;font-weight:650}.segmented-control button.active{color:#fff;background:var(--brand-blue)}.print-header{display:none}.timetable-grid-wrap{margin:0 18px 18px;border:1px solid #e4edf6;border-radius:8px;background:#fff}.timetable-grid-table{min-width:940px;table-layout:fixed}.timetable-grid-table th:first-child,.timetable-grid-table td:first-child{width:108px}.timetable-grid-table tbody th{background:#fbfdff;color:var(--brand-ink);font-size:.86rem;letter-spacing:0;text-transform:none}.timetable-grid-table tbody th span{display:block}.timetable-grid-entry{display:grid;gap:3px;min-height:92px;border:1px solid #cfe2f6;border-radius:8px;background:linear-gradient(135deg,#ffffff,var(--soft-blue));padding:10px;box-shadow:inset 3px 0 0 var(--brand-blue)}.timetable-grid-entry+.timetable-grid-entry{margin-top:8px}.timetable-grid-entry.inactive{opacity:.62;background:#f8fafc;box-shadow:inset 3px 0 #94a3b8}.timetable-grid-entry.is-highlighted,.selected-row{outline:2px solid rgba(246,188,18,.9);outline-offset:-2px}.timetable-grid-entry strong{color:var(--brand-blue);font-size:.88rem;font-weight:720}.timetable-grid-entry span{color:var(--brand-ink);font-weight:650}.timetable-grid-entry small,.timetable-grid-entry em,.timetable-grid-empty{color:var(--muted);font-size:.78rem;font-style:normal;font-weight:560}.timetable-grid-empty{display:block;min-height:92px;border:1px dashed #dbe6f2;border-radius:8px;padding:10px;background:#fbfdff}.assessment-score-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 18px 14px;border:1px solid #ddeaf5;border-radius:8px;background:linear-gradient(135deg,#fbfdff,#fffaf0);padding:12px 14px;color:var(--brand-ink)}.assessment-score-summary div{display:grid;gap:3px}.assessment-score-summary strong{font-weight:720}.assessment-score-summary span{color:var(--muted);font-size:.86rem;font-weight:600}.assessment-score-wrap{margin:0 18px 18px}.assessment-score-table{min-width:980px}.assessment-score-table th{white-space:nowrap}.assessment-score-table th:first-child,.assessment-score-table td:first-child{min-width:220px}.student-score-cell{display:grid;gap:3px}.student-score-cell strong{color:var(--brand-ink);font-weight:720}.student-score-cell span{color:var(--muted);font-size:.78rem;font-weight:600}.component-code-stack{display:inline-grid;gap:2px;justify-items:start}.component-code-stack strong{color:var(--brand-blue);font-size:.78rem;font-weight:760}.component-code-stack small{color:var(--muted);font-size:.72rem;font-weight:600}.score-input{width:86px;min-height:34px;border:1px solid #d4e2ee;border-radius:8px;background:#fff;color:var(--brand-ink);font:inherit;font-weight:650;padding:6px 8px}.score-input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px #1b55a61f;outline:none}.score-input:disabled{color:#64748b;background:#f8fafc}.assessment-total-cell{color:var(--brand-blue);font-weight:760}.grade-pill{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:28px;border-radius:999px;border:1px solid rgba(246,188,18,.55);background:#fff8df;color:#875800;font-size:.78rem;font-weight:760;padding:0 10px}.result-sheet-wrap,.report-card-table-wrap{margin:0 18px 18px}.result-sheet-table{min-width:1080px}.result-publication-panel{display:flex;align-items:stretch;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 18px 14px;border:1px solid #dce8f2;border-radius:8px;background:linear-gradient(135deg,#f4f8fcf0,#fffaf0c7),#fff;padding:14px}.result-publication-panel p{margin:4px 0 0;color:var(--muted);font-size:.86rem;font-weight:600}.publication-title-row{display:flex;align-items:center;gap:10px;margin-top:3px}.publication-title-row strong{color:var(--brand-ink);font-size:1rem;font-weight:720}.publication-summary{min-width:min(360px,100%)}.report-template-selector{display:grid;gap:6px;min-width:min(320px,100%)}.report-template-selector label{color:var(--brand-blue);font-size:.7rem;font-weight:760;letter-spacing:.07em;text-transform:uppercase}.report-template-selector select{min-height:42px;border:1px solid #cfe0ef;border-radius:8px;background:#fff;color:var(--brand-ink);padding:0 12px;font:inherit;font-size:.92rem;font-weight:620}.report-template-selector strong{color:var(--brand-ink);font-size:.94rem;font-weight:680}.report-template-selector small{color:var(--muted);font-size:.76rem;font-weight:600;line-height:1.35}.publication-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.publication-readiness{max-width:340px;border:1px solid #dce8f2;border-radius:8px;padding:10px 12px;color:var(--text-soft);background:#fff;font-size:.82rem;font-weight:650;line-height:1.45}.publication-readiness.ready{border-color:#228b5342;color:#166534;background:#f1fbf5}.publication-readiness.warning{border-color:#b453093d;color:#7c4a03;background:#fff8e8}.publication-signature-panel{display:grid;gap:8px;min-width:min(280px,100%);border:1px solid #dce8f2;border-radius:8px;background:#fff;padding:10px 12px}.publication-signature-heading{display:grid;gap:2px}.publication-signature-heading span{color:var(--brand-blue);font-size:.7rem;font-weight:760;letter-spacing:.07em;text-transform:uppercase}.publication-signature-heading strong{color:var(--brand-ink);font-size:.9rem;font-weight:700}.publication-signature-status,.publication-signature-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.publication-signature-status span{border:1px solid #dce8f2;border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:720}.publication-signature-status .ready{border-color:#228b533d;color:#166534;background:#f1fbf5}.publication-signature-status .warning{border-color:#b453093d;color:#7c4a03;background:#fff8e8}.report-finalization-panel{display:grid;gap:12px;margin:0 18px 14px;border:1px solid #dce8f2;border-radius:8px;padding:14px;background:#fff}.report-finalization-panel.ready{border-color:#228b533d}.report-finalization-panel.warning{border-color:#b4530933}.report-finalization-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--brand-ink)}.report-finalization-heading span{display:block;color:var(--brand-blue);font-size:.7rem;font-weight:760;letter-spacing:.07em;text-transform:uppercase}.report-finalization-heading strong{display:block;margin-top:2px;font-size:1rem}.report-finalization-panel.ready .report-finalization-heading svg{color:#16a34a}.report-finalization-panel.warning .report-finalization-heading svg{color:#b45309}.report-finalization-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.report-finalization-card{min-height:96px;border:1px solid #dce8f2;border-radius:8px;padding:12px;display:grid;align-content:start;gap:5px;background:#f8fbff}.report-finalization-card.ready{border-color:#228b5338;background:#f4fbf7}.report-finalization-card.warning{border-color:#b4530938;background:#fff8e8}.report-finalization-card span{color:var(--muted);font-size:.7rem;font-weight:760;letter-spacing:.05em;text-transform:uppercase}.report-finalization-card strong{color:var(--brand-ink);font-size:.94rem}.report-finalization-card small{color:var(--text-soft);font-size:.76rem;line-height:1.45}.student-finalization-badges{min-width:190px;display:flex;flex-wrap:wrap;gap:5px}.student-finalization-badges span{border-radius:999px;padding:4px 8px;color:#53627a;background:#f3f6fa;font-size:.7rem;font-weight:720;white-space:nowrap}.student-finalization-badges span.ready{color:#166534;background:#e8f8ef}.student-finalization-badges span.warning{color:#8a4b05;background:#fff2d6}.result-sheet-table th:first-child,.result-sheet-table td:first-child{width:72px}.position-cell{color:var(--brand-blue);font-weight:760}.result-student-identity{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-width:210px}.result-student-identity img,.result-student-identity>span{width:38px;height:38px;border-radius:999px}.result-student-identity img{object-fit:cover;border:1px solid #d9e6f2;background:#fff}.result-student-identity>span{display:inline-grid;place-items:center;color:var(--brand-blue);background:#eaf5ff;font-size:.78rem;font-weight:760}.result-student-identity small{display:block;color:var(--muted);font-size:.78rem;font-weight:600}.result-score-chip{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;background:#f4f8fc;color:var(--brand-ink);font-size:.78rem;font-weight:700;padding:0 10px;white-space:nowrap}.report-card-preview{display:grid;gap:14px;--report-primary: var(--brand-blue);--report-accent: var(--brand-gold);color:var(--brand-ink)}.report-card-preview.report-card-landscape{min-width:min(980px,100%)}.report-card-brand-band{display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:18px;border:1px solid #dce8f2;border-top:4px solid var(--report-accent);border-radius:8px;background:linear-gradient(135deg,#fafdfff0,#fffbecd1),#fff;padding:16px}.report-school-mark{display:grid;place-items:center;width:74px;height:74px;flex:0 0 auto;border:1px solid #d7e5f1;border-radius:8px;background:#fff}.report-school-mark img{width:58px;height:58px;object-fit:contain}.report-card-brand-band span,.report-student-main span{color:var(--report-primary);font-size:.78rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.report-card-brand-band h2{margin:4px 0;color:var(--brand-ink);font-size:1.4rem}.report-card-brand-band p,.report-student-main p{margin:0;color:var(--muted);font-size:.9rem;font-weight:600}.report-card-status{display:grid;justify-items:end;gap:7px;text-align:right}.report-card-status small{color:var(--muted);font-size:.82rem;font-weight:700}.report-student-card{display:grid;grid-template-columns:74px minmax(0,1fr) auto;align-items:start;gap:14px;border:1px solid #dce8f2;border-radius:8px;background:#fbfdff;padding:14px 16px}.report-student-photo,.report-student-photo img,.report-student-photo span{width:64px;height:64px;border-radius:999px}.report-student-photo{display:grid;place-items:center;background:#eaf5ff;overflow:hidden}.report-student-photo img{object-fit:cover}.report-student-photo span{display:inline-grid;place-items:center;color:var(--report-primary);font-size:1rem;font-weight:800}.report-student-main h3{margin:3px 0;color:var(--brand-ink);font-size:1.18rem}.report-student-profile{display:grid;gap:10px}.report-student-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.report-info-item{min-width:0;border:1px solid #e3edf6;border-radius:8px;background:#fff;padding:8px 10px}.report-info-item span{display:block;color:var(--muted);font-size:.68rem;font-weight:760;letter-spacing:.07em;text-transform:uppercase}.report-info-item strong{display:block;margin-top:2px;color:var(--brand-ink);font-size:.9rem;overflow-wrap:anywhere}.result-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.result-summary-tile{display:grid;gap:4px;border:1px solid #dbe7f3;border-radius:8px;background:#fbfdff;padding:12px}.result-summary-tile span{color:var(--muted);font-size:.76rem;font-weight:700}.result-summary-tile strong{color:var(--brand-ink);font-size:1rem}.report-card-support-grid{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:12px}.report-card-attendance,.report-card-remarks{border:1px solid #dce8f2;border-radius:8px;background:#fff;padding:12px}.report-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.report-section-heading span,.attendance-stat span,.report-remark span{display:block;color:var(--report-primary);font-size:.7rem;font-weight:760;letter-spacing:.07em;text-transform:uppercase}.report-section-heading strong{display:block;margin-top:2px;color:var(--brand-ink);font-size:.94rem}.attendance-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.attendance-stat{border:1px solid #e3edf6;border-radius:8px;background:#fbfdff;padding:9px 10px}.attendance-stat strong{display:block;margin-top:5px;color:var(--brand-ink);font-size:1rem}.remark-display-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-remark{min-height:82px;border:1px solid #e3edf6;border-radius:8px;background:#fbfdff;padding:10px 12px}.report-remark strong{display:block;margin-top:7px;color:var(--brand-ink);font-size:.92rem;line-height:1.5;white-space:pre-wrap}.remark-editor{display:grid;gap:12px}.remark-editor .modal-actions{padding-top:0}.file-button{cursor:pointer}.file-button input{display:none}.subject-comment-editor{display:grid;gap:12px;border:1px solid #d7e4f0;border-radius:8px;background:#fff;overflow:hidden}.subject-comment-list{display:grid;gap:0}.subject-comment-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.6fr) auto;align-items:center;gap:10px;border-top:1px solid #e4edf5;padding:10px}.subject-comment-row>div{display:grid;gap:3px;min-width:0}.subject-comment-row strong{color:var(--brand-ink);font-size:.9rem;font-weight:680}.subject-comment-row span{color:var(--muted);font-size:.76rem;font-weight:650}.subject-comment-row textarea{width:100%;min-width:0;min-height:58px;resize:vertical}.report-card-table{min-width:880px}.report-card-table th,.report-card-table td{vertical-align:middle}.report-card-table td:first-child{display:grid;gap:3px}.report-card-table td:first-child span{color:var(--muted);font-size:.78rem;font-weight:600}.report-card-footer{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,.8fr);gap:12px}.report-card-footer>div{min-height:58px;border:1px solid #dce8f2;border-radius:8px;background:#fff;padding:12px}.report-card-footer span{display:block;color:var(--report-primary);font-size:.72rem;font-weight:760;letter-spacing:.07em;text-transform:uppercase}.report-card-footer strong{display:block;margin-top:10px;min-height:18px;color:var(--brand-ink);font-size:.92rem}.standard-report-modal-shell,.guardian-report-card-shell{display:grid;gap:14px}.report-card-tools-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d7e4f0;border-radius:8px;background:#fff;padding:12px 14px}.report-card-tools-panel>div:first-child{display:grid;gap:3px}.report-card-tools-panel span{color:var(--brand-blue);font-size:.68rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.report-card-tools-panel strong{color:var(--brand-ink);font-size:.95rem}.report-card-tools-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.standard-report-card{--report-primary: var(--brand-blue);--report-accent: var(--brand-gold);width:min(100%,980px);margin:0 auto;border:1px solid #cfddeb;border-top:5px solid var(--report-accent);border-radius:8px;background:#fff;color:#132235;padding:18px;box-shadow:0 16px 36px #151d3f14}.standard-report-landscape{width:min(100%,1120px)}.standard-report-header{display:grid;grid-template-columns:76px minmax(0,1fr) minmax(160px,auto);align-items:center;gap:16px;border-bottom:2px solid var(--report-primary);padding-bottom:12px}.standard-report-logo{display:grid;place-items:center;width:72px;height:72px;border:1px solid #d7e4f0;border-radius:8px;background:#fff}.standard-report-logo img{width:60px;height:60px;object-fit:contain}.standard-report-school span,.standard-section-title span,.standard-field span,.standard-summary span,.standard-mini-table span,.standard-remarks-grid span,.standard-signature-grid span{color:var(--report-primary);font-size:.68rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.standard-report-school h2{margin:3px 0;color:#102033;font-size:1.55rem;line-height:1.1}.standard-report-school p{margin:0;color:#4f6277;font-size:.9rem;font-weight:600}.standard-report-meta{display:grid;justify-items:end;gap:5px;text-align:right}.standard-report-meta strong{color:#102033;font-size:.94rem}.standard-report-meta small{color:#5f7186;font-size:.78rem;font-weight:700}.standard-report-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.standard-report-student{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;margin-top:14px}.standard-report-photo,.standard-report-photo img,.standard-report-photo span{width:78px;height:78px;border-radius:8px}.standard-report-photo{display:grid;place-items:center;border:1px solid #d7e4f0;background:#f6f9fc;overflow:hidden}.standard-report-photo img{object-fit:cover}.standard-report-photo span{display:inline-grid;place-items:center;color:var(--report-primary);font-size:1.1rem;font-weight:800}.standard-student-grid{display:grid;grid-template-columns:1.3fr repeat(3,minmax(0,1fr));border:1px solid #d7e4f0;border-radius:8px;overflow:hidden}.standard-field,.standard-summary,.standard-mini-table div,.standard-grade-key div{min-width:0;border-right:1px solid #e4edf5;border-bottom:1px solid #e4edf5;background:#fff;padding:8px 10px}.standard-field:nth-child(4n),.standard-summary:nth-child(6n),.standard-mini-table div:last-child,.standard-grade-key div:last-child{border-right:0}.standard-field:nth-last-child(-n+4),.standard-summary:nth-last-child(-n+6){border-bottom:0}.standard-field.wide{grid-column:span 1}.standard-field strong,.standard-summary strong,.standard-mini-table strong{display:block;margin-top:3px;color:#102033;font-size:.9rem;font-weight:720;overflow-wrap:anywhere}.standard-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin-top:12px;border:1px solid #d7e4f0;border-radius:8px;overflow:hidden}.standard-summary{border-bottom:0}.standard-summary.important{background:#f7fbff}.standard-summary.important strong{color:var(--report-primary);font-size:1rem}.standard-section{margin-top:12px;border:1px solid #d7e4f0;border-radius:8px;background:#fff;overflow:hidden}.standard-section.compact{margin-top:0}.standard-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #d7e4f0;background:#f6f9fc;padding:8px 10px}.standard-section-title strong{color:#102033;font-size:.82rem}.standard-table-wrap{overflow-x:auto}.standard-result-table{width:100%;min-width:900px;border-collapse:collapse;font-size:.78rem}.standard-result-table th,.standard-result-table td{border-bottom:1px solid #e2ebf3;border-right:1px solid #e2ebf3;padding:7px 8px;text-align:center;vertical-align:middle}.standard-result-table th{color:#102033;background:#eef5fb;font-size:.66rem;font-weight:760;text-transform:uppercase}.standard-result-table th small,.standard-result-table td small{display:block;color:#65778b;font-size:.62rem;font-weight:650;text-transform:none}.standard-result-table th:first-child,.standard-result-table td:first-child{width:220px;text-align:left}.standard-result-table tr:last-child td{border-bottom:0}.standard-result-table td:last-child,.standard-result-table th:last-child{border-right:0}.standard-result-table td:last-child{min-width:150px;text-align:left;color:#334155}.standard-lower-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:12px;margin-top:12px}.standard-mini-table,.standard-grade-key{display:grid}.standard-mini-table div{display:flex;justify-content:space-between;gap:12px;border-right:0}.standard-mini-table div:last-child{border-bottom:0}.standard-grade-key{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.standard-grade-key div{display:grid;gap:3px}.standard-grade-key strong{color:var(--report-primary);font-size:.86rem}.standard-grade-key span{color:#4f6277;font-size:.72rem;font-weight:650}.standard-remarks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.standard-remarks-grid>div{min-height:90px;border:1px solid #d7e4f0;border-radius:8px;background:#fff;padding:10px 12px}.standard-remarks-grid strong{display:block;margin-top:8px;color:#102033;font-size:.9rem;font-weight:620;line-height:1.5;white-space:pre-wrap}.standard-signature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.standard-signature-grid>div{border-top:1px solid #102033;padding-top:7px}.standard-signature-grid strong{display:block;min-height:20px}.standard-signature-grid img{display:block;width:auto;max-width:180px;height:42px;object-fit:contain;margin-top:6px}.standard-signature-grid small{display:block;margin-top:4px;color:#4f6277;font-size:.72rem;font-weight:650}.teacher-insights{margin:0 18px 18px;border:1px solid #e4edf6;border-radius:8px;background:#fff;overflow:hidden}.attendance-layout{align-items:start}.attendance-action-bar{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px;margin:-8px 0 12px}.attendance-tabs{margin-top:14px}.attendance-tab-list{display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px 0;border-bottom:1px solid #edf2f7;background:#f8fbffbd}.attendance-tab-list .tab-button{margin-bottom:-1px}.attendance-tab-panel{padding:18px}.attendance-tab-panel>.section-heading{padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid #edf2f7;background:transparent}.attendance-tab-panel .attendance-history-grid{padding:0}.muted-row-text{display:block;margin-top:3px;color:var(--muted);font-size:.78rem;font-weight:560}.attendance-rate-pill,.attendance-pill{display:inline-flex;align-items:center;justify-content:center;min-height:26px;border-radius:999px;padding:0 10px;font-size:.76rem;font-weight:700;white-space:nowrap}.attendance-rate-pill{color:var(--brand-blue);background:#eaf3ff}.attendance-pill.present{color:#0f7a55;background:#e7f7ef}.attendance-pill.absent{color:#9f1239;background:#ffe4e6}.attendance-pill.excused{color:#7c5800;background:#fff3c4}.attendance-pill.checked-out{color:#075985;background:#e0f2fe}.attendance-history-section{margin-top:14px}.attendance-history-heading,.attendance-history-tools{align-items:center}.attendance-history-tools{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.attendance-class-filter{display:grid;gap:4px;min-width:210px;color:var(--muted);font-size:.76rem;font-weight:700}.attendance-class-filter select{min-height:40px;border:1px solid #cfd9e6;border-radius:8px;color:var(--brand-ink);background:#fff;padding:0 10px;outline:none}.attendance-class-filter select:focus{border-color:var(--brand-sky);box-shadow:0 0 0 3px #2196dc2e}.login-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 18px}.login-mode-switch .tab-button{width:100%}.guardian-page{min-height:100vh;background:linear-gradient(90deg,rgba(27,85,166,.06),transparent 42%),linear-gradient(180deg,#fff 0,#f6f8fb);padding:24px clamp(18px,4vw,42px) 42px}.guardian-topbar,.guardian-hero,.guardian-panel,.guardian-child-strip{width:min(1180px,100%);margin-inline:auto}.guardian-topbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:8px;background:#ffffffeb;padding:14px 16px;box-shadow:0 14px 32px #151d3f14}.guardian-brand,.guardian-account{display:flex;align-items:center;gap:12px}.guardian-brand img{width:48px;height:48px;border-radius:8px;background:#fff;object-fit:contain}.guardian-brand span,.guardian-account span,.guardian-section-heading span{display:block;color:var(--brand-blue);font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.guardian-brand strong,.guardian-account strong{display:block;color:var(--brand-ink);font-weight:650}.guardian-account{flex-wrap:wrap;justify-content:flex-end}.guardian-account>div{text-align:right}.guardian-hero{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-top:22px;margin-bottom:16px}.guardian-hero h1{margin:0;color:var(--brand-ink);font-size:clamp(1.45rem,1.1rem + .85vw,2.05rem);font-weight:650;letter-spacing:0}.guardian-hero p,.guardian-section-heading p{margin:4px 0 0;color:var(--muted);font-weight:500}.guardian-metrics{width:min(1180px,100%);margin:0 auto 16px}.guardian-metrics.metric-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.guardian-metrics .metric-card{min-height:104px;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:14px 16px}.guardian-metrics .metric-icon{width:40px;height:40px}.guardian-metrics .metric-card span{font-size:.9rem}.guardian-metrics .metric-card strong{font-size:clamp(1.25rem,1rem + .55vw,1.65rem);line-height:1.08;overflow-wrap:normal;word-break:normal}.guardian-metrics .metric-card.currency-metric strong{font-size:clamp(.9rem,.82rem + .2vw,1.06rem);line-height:1.16;font-weight:600;white-space:nowrap}.guardian-metrics .metric-card small{font-size:.82rem;line-height:1.55}.guardian-child-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-bottom:16px}.guardian-child-card{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:84px;border:1px solid var(--line);border-radius:8px;color:var(--brand-ink);background:#fff;padding:12px;text-align:left;box-shadow:0 12px 26px #151d3f0a}.guardian-child-card.active{border-color:var(--brand-blue);box-shadow:inset 4px 0 0 var(--brand-gold),0 14px 30px #1b55a61f}.guardian-child-card strong,.guardian-child-card small{display:block}.guardian-child-card strong{color:var(--brand-ink);font-size:.98rem;font-weight:650}.guardian-child-card small{color:var(--muted);font-size:.78rem;font-weight:600}.guardian-avatar{position:relative;width:50px;height:50px;display:inline-grid;place-items:center;border-radius:999px;color:var(--brand-blue);background:var(--soft-blue);overflow:hidden}.guardian-avatar img{width:100%;height:100%;object-fit:cover}.guardian-avatar small{position:absolute;inset:auto 0 4px;color:var(--brand-blue);font-size:.62rem;font-weight:800;text-align:center}.guardian-workspace{width:min(1180px,100%);margin:0 auto;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 16px 36px #151d3f12;overflow:hidden}.guardian-tab-list{display:flex;flex-wrap:wrap;gap:8px;padding:14px 16px;border-bottom:1px solid #edf2f7;background:#f8fbff}.guardian-panel{padding:18px}.guardian-section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.guardian-section-heading h2{margin:0;color:var(--brand-ink);font-size:1.25rem;font-weight:650}.guardian-attendance-summary,.guardian-report-preview .result-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}.guardian-tiny-stat{min-height:74px;display:grid;align-content:center;gap:4px;border:1px solid #dbe7f3;border-radius:8px;background:#fbfdff;padding:12px}.guardian-tiny-stat span{color:var(--muted);font-size:.74rem;font-weight:700}.guardian-tiny-stat strong{color:var(--brand-ink);font-size:1.05rem;font-weight:650}.guardian-result-layout{display:grid;grid-template-columns:minmax(220px,.35fr) minmax(0,1fr);gap:16px;align-items:start}.guardian-online-exams-panel{display:grid;gap:16px}.guardian-exam-layout{display:grid;grid-template-columns:minmax(230px,.36fr) minmax(0,1fr);gap:14px;align-items:start}.guardian-exam-list{display:grid;gap:10px;align-content:start}.guardian-exam-card{min-height:132px;display:grid;gap:7px;justify-items:start;border:1px solid #dce8f2;border-radius:8px;padding:13px;color:var(--brand-ink);background:#fff;text-align:left}.guardian-exam-card.active{border-color:#1e5aa88c;box-shadow:inset 3px 0 0 var(--brand-blue),0 12px 24px #151d3f14}.guardian-exam-card strong{font-size:.96rem;line-height:1.35}.guardian-exam-card small,.guardian-exam-card span:last-child,.guardian-exam-actions small{color:var(--muted);font-size:.78rem;line-height:1.45}.guardian-exam-detail{border:1px solid #dce8f2;border-radius:8px;background:#fff;padding:16px}.guardian-exam-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:14px 0}.guardian-exam-instructions{margin:0 0 14px;border-left:3px solid var(--brand-gold);padding:10px 12px;color:var(--brand-ink);background:#fffaf0;line-height:1.55}.guardian-exam-actions,.guardian-exam-attempts,.guardian-exam-attempt-row,.guardian-exam-attempt-row>span:first-child{display:grid;gap:8px}.guardian-exam-actions{grid-template-columns:auto minmax(0,1fr);align-items:center}.guardian-exam-attempts{margin-top:16px}.guardian-exam-attempt-row{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;border:1px solid #e3edf6;border-radius:8px;padding:10px 12px;background:#fbfdff}.guardian-exam-attempt-row small{color:var(--muted);font-size:.72rem}.guardian-cbt-paper{margin-top:0}.guardian-pickup-grid{display:grid;grid-template-columns:minmax(260px,.38fr) minmax(0,.62fr);gap:14px;margin-bottom:14px}.guardian-pickup-card{border:1px solid #dce8f2;border-radius:8px;background:#fff;padding:14px}.guardian-mini-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.guardian-mini-heading span{color:var(--brand-blue);font-size:.7rem;font-weight:760;letter-spacing:.07em;text-transform:uppercase}.guardian-mini-heading strong{color:var(--brand-ink);font-size:.96rem}.guardian-contact-list{display:grid;gap:10px}.guardian-contact-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #e3edf6;border-radius:8px;background:#fbfdff;padding:10px}.guardian-contact-card.approved{box-shadow:inset 3px 0 0 var(--brand-gold)}.guardian-contact-card strong,.guardian-contact-card span,.guardian-contact-card small{display:block}.guardian-contact-card strong{color:var(--brand-ink);font-size:.92rem}.guardian-contact-card span,.guardian-contact-card small{color:var(--muted);font-size:.76rem;font-weight:600}.guardian-record-table table{min-width:760px}.guardian-fees-panel{display:grid;gap:14px}.guardian-fees-summary{margin-bottom:0}.guardian-fees-layout{display:grid;grid-template-columns:minmax(250px,.34fr) minmax(0,1fr);gap:14px;align-items:start}.guardian-invoice-list{display:grid;gap:10px}.guardian-invoice-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:82px;border:1px solid #dce8f2;border-radius:8px;color:var(--brand-ink);background:#fff;padding:12px;text-align:left}.guardian-invoice-item.active{border-color:var(--brand-blue);box-shadow:inset 4px 0 0 var(--brand-gold),0 12px 26px #1b55a61a}.guardian-invoice-item>svg{color:var(--brand-blue)}.guardian-invoice-item strong,.guardian-invoice-item small{display:block}.guardian-invoice-item strong{font-size:.92rem;font-weight:650}.guardian-invoice-item small{color:var(--muted);font-size:.75rem;font-weight:600}.guardian-invoice-detail,.guardian-payment-history{display:grid;gap:14px;border:1px solid #dce8f2;border-radius:8px;background:#fff;padding:14px}.guardian-invoice-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:1px solid #edf2f7;border-radius:8px;background:#fbfdff;padding:14px}.guardian-invoice-header span,.guardian-payment-reference span{color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase}.guardian-invoice-header h3,.guardian-invoice-header p{margin:0}.guardian-invoice-header h3{color:var(--brand-ink);font-size:1rem;font-weight:650}.guardian-invoice-header p{color:var(--muted);font-weight:600}.guardian-invoice-header strong{display:block;color:var(--brand-ink);font-size:1.35rem;font-weight:650;text-align:right}.guardian-fee-lines,.guardian-online-payment{border:1px solid #edf2f7;border-radius:8px;padding:12px}.guardian-online-payment{display:grid;gap:12px;background:linear-gradient(180deg,#f8fbff,#fff)}.guardian-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.guardian-payment-grid label{display:grid;gap:6px;color:var(--muted);font-size:.78rem;font-weight:700}.guardian-payment-actions{display:flex;flex-wrap:wrap;gap:8px}.guardian-payment-reference{display:grid;gap:3px;border:1px solid #dce8f2;border-radius:8px;background:#fff;padding:10px 12px}.guardian-payment-reference strong,.guardian-payment-reference small{overflow-wrap:anywhere}.guardian-payment-reference strong{color:var(--brand-ink);font-weight:650}.guardian-payment-reference small,.guardian-muted{color:var(--muted);font-weight:600}.guardian-muted{margin:0}.guardian-notice-list{display:grid;gap:12px}.guardian-notice-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;border:1px solid #dce8f2;border-radius:8px;background:#fff;padding:14px}.guardian-notice-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:8px;color:var(--brand-blue);background:var(--soft-blue)}.guardian-notice-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.guardian-notice-heading h3{margin:0;color:var(--brand-ink);font-size:1rem;font-weight:650}.guardian-notice-card p{margin:8px 0;color:#42515b;white-space:pre-wrap}.guardian-notice-card small{color:var(--muted);font-weight:600}.notices-table td:first-child{max-width:520px}.notices-table td:first-child span{margin-top:4px;white-space:pre-wrap}.inline-record-image{width:min(180px,100%);max-height:120px;object-fit:cover;border:1px solid #dce8f2;border-radius:8px;display:block;margin:8px 0;background:#fff}.assignments-table td:first-child{max-width:520px}.assignments-table td:first-child span{margin-top:4px;white-space:pre-wrap}.assignment-filter{min-width:min(260px,100%);display:grid;gap:6px;color:var(--muted);font-size:.82rem;font-weight:650}.assignment-filter select{min-height:40px;border:1px solid #cfd9e6;border-radius:8px;color:var(--brand-ink);background:#fff;padding:0 12px}.assignment-subject-note{margin:0;border:1px solid #dce8f2;border-radius:8px;color:#42515b;background:#f7fbff;padding:10px 12px;font-weight:600}.assignment-submission-modal{display:grid;gap:14px}.assignment-submission-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.assignment-submission-summary article{border:1px solid #dce8f2;border-radius:8px;background:#f8fbff;padding:12px}.assignment-submission-summary span,.assignment-submission-table td span{display:block;color:var(--muted);font-size:.78rem;font-weight:600}.assignment-submission-summary strong{display:block;color:var(--brand-ink);font-size:1.35rem;font-weight:650}.assignment-submission-table table{min-width:820px}.assignment-submission-table td:nth-child(4){max-width:300px;white-space:normal}.assignment-review-form{display:grid;gap:12px;border:1px solid #dce8f2;border-radius:8px;background:#fff;padding:14px}.assignment-review-form h3{margin:2px 0 0;color:var(--brand-ink);font-size:1rem}.guardian-assignment-list{display:grid;gap:12px}.guardian-assignment-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;border:1px solid #dce8f2;border-radius:8px;background:#fff;padding:14px}.guardian-notice-icon.assignment{color:#835500;background:#fff4d8}.guardian-assignment-card p{margin:8px 0;color:#42515b;white-space:pre-wrap}.guardian-assignment-card small{color:var(--muted);font-weight:600}.guardian-inline-image{width:min(420px,100%);max-height:260px;object-fit:cover;border:1px solid #dce8f2;border-radius:8px;display:block;margin:10px 0;background:#fff}.guardian-inline-image.submission{max-height:220px}.guardian-assignment-meta,.guardian-assignment-notes{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.guardian-assignment-meta span,.guardian-assignment-notes span{border-radius:999px;background:#f2f6fa;color:#42515b;padding:5px 9px;font-size:.76rem;font-weight:650}.guardian-assignment-notes span{border-radius:8px;background:#f8fbff;white-space:pre-wrap}.guardian-assignment-actions{margin-top:12px}.guardian-assignment-actions form{display:grid;gap:10px}.guardian-assignment-actions textarea{width:100%;min-height:78px;border:1px solid #cfd9e6;border-radius:8px;color:var(--brand-ink);background:#fff;padding:10px 12px;resize:vertical}.guardian-submission-image-field{display:grid;gap:6px;color:var(--muted);font-size:.82rem;font-weight:650}.guardian-submission-image-field input{width:100%;border:1px solid #cfd9e6;border-radius:8px;color:var(--brand-ink);background:#fff;padding:8px}.guardian-submission-image-field small{color:var(--muted);font-weight:600}.guardian-assignment-actions form span{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.guardian-result-list{display:grid;gap:8px}.guardian-result-item{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;border:1px solid #dce8f2;border-radius:8px;color:var(--brand-ink);background:#fff;padding:12px;text-align:left}.guardian-result-item.active{border-color:var(--brand-blue);background:#f7fbff;box-shadow:inset 3px 0 0 var(--brand-gold)}.guardian-result-item strong,.guardian-result-item small{display:block}.guardian-result-item strong{font-weight:650}.guardian-result-item small{color:var(--muted);font-size:.78rem;font-weight:600}.guardian-report-preview{min-width:0}.guardian-empty{width:min(1180px,100%);margin-inline:auto}.compact-search{min-width:240px}.user-management-page{display:grid;gap:16px}.user-management-table{overflow:hidden}.user-management-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #edf2f7;background:#f8fbffbd}.user-management-toolbar .compact-search{flex:1 1 340px}.compact-filter{display:grid;gap:6px;min-width:170px;color:#5b6f82;font-size:.78rem;font-weight:650}.compact-filter select{min-height:40px;border-radius:8px}.user-role-cell{color:var(--brand-ink);font-weight:650}.table-action-row{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.modal-context{display:grid;gap:4px;margin:0 0 14px;color:var(--brand-ink);font-weight:650}.modal-context span{color:var(--muted);font-size:.88rem;font-weight:500}.promotions-page{display:grid;gap:16px}.promotion-workspace{overflow:hidden}.promotion-plan-controls{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(170px,.7fr) minmax(220px,.9fr) minmax(260px,1.2fr);gap:14px;align-items:end;padding:18px;border-bottom:1px solid #edf2f7;background:linear-gradient(135deg,#f4f9ffe6,#fffcefb8)}.promotion-controls{display:grid;grid-template-columns:minmax(220px,1.2fr) 42px minmax(220px,1.2fr) minmax(180px,.8fr) minmax(170px,.75fr);gap:14px;align-items:end;padding:18px;border-bottom:1px solid #edf2f7;background:linear-gradient(135deg,#f4f9ffe6,#fffcefb8)}.promotion-detail-controls{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(260px,1.3fr);gap:14px;padding:0 18px 18px;border-bottom:1px solid #edf2f7;background:linear-gradient(135deg,#f4f9ffe6,#fffcefb8)}.promotion-arrow{display:inline-flex;align-items:center;justify-content:center;width:42px;height:40px;margin-bottom:1px;border:1px solid #d9e5f0;border-radius:999px;background:#fff;color:var(--brand-blue)}.promotion-date-control{min-height:42px}.promotion-student-toolbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:16px 18px;border-bottom:1px solid #edf2f7}.promotion-student-toolbar .compact-search{flex:1 1 340px}.promotion-student-table table{min-width:760px}.promotion-target-select{display:grid;grid-template-columns:26px minmax(260px,1fr);align-items:center;gap:8px;color:var(--brand-blue)}.promotion-target-select select{width:100%;min-height:40px;border-radius:8px}.promotion-history-section{overflow:hidden}.promotion-history-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px;border-bottom:1px solid #edf2f7}.promotion-history-header h2{margin:0;color:var(--brand-ink);font-size:1.02rem}.promotion-history-header p{margin:4px 0 0;color:var(--muted);font-size:.84rem}.promotion-history-grid{display:grid;grid-template-columns:minmax(440px,.9fr) minmax(520px,1.1fr);gap:0}.promotion-batch-table,.promotion-history-table{border-radius:0;border:0}.promotion-history-table{border-left:1px solid #edf2f7}.promotion-batch-table table,.promotion-history-table table{min-width:640px}.link-button{border:0;padding:0;background:transparent;color:var(--brand-blue);cursor:pointer;font:inherit;font-weight:750}.link-button:hover{text-decoration:underline}.danger-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid #f1c9c9;border-radius:8px;background:#fff5f5;color:#a33a3a;cursor:pointer;font-weight:750}.danger-action:hover{background:#ffecec}.danger-action:disabled{cursor:not-allowed;opacity:.62}.attendance-history-grid{display:grid;grid-template-columns:minmax(220px,.32fr) minmax(0,.68fr);gap:14px;padding:0 18px 18px}.attendance-student-list{display:grid;align-content:start;gap:12px;max-height:560px;overflow:auto;padding-right:4px}.attendance-student-group{display:grid;gap:8px}.attendance-student-group-heading{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dbe7f3;border-radius:8px;background:#f8fbff;padding:8px 10px}.attendance-student-group-heading strong{display:block;color:var(--brand-ink);font-size:.84rem;font-weight:700}.attendance-student-group-heading span,.attendance-student-group-heading small{color:var(--muted);font-size:.74rem;font-weight:700}.attendance-student-group-heading small{min-width:70px;min-height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:var(--brand-blue);background:#eaf3ff}.attendance-student{display:grid;grid-template-columns:36px minmax(0,1fr);gap:4px 10px;align-items:center;width:100%;border:1px solid #dbe7f3;border-radius:8px;background:#fff;color:var(--brand-ink);padding:10px;text-align:left}.attendance-student:hover,.attendance-student.active{border-color:var(--brand-blue);background:#f4f9ff}.attendance-student span,.attendance-avatar span{display:inline-grid;place-items:center;border-radius:999px;color:var(--brand-blue);background:#eaf3ff;font-weight:760}.attendance-student span{grid-row:1 / span 2;width:36px;height:36px}.attendance-student strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-student small{color:var(--muted);font-weight:600}.attendance-history-card{display:grid;gap:14px;min-width:0}.attendance-history-profile{display:flex;align-items:center;gap:12px;border:1px solid #e3edf6;border-radius:8px;background:#fbfdff;padding:12px}.attendance-avatar,.attendance-avatar img,.attendance-avatar span{width:52px;height:52px;border-radius:999px}.attendance-avatar{display:grid;place-items:center;overflow:hidden;background:#eaf3ff}.attendance-avatar img{object-fit:cover}.attendance-history-profile span,.attendance-history-metrics span{color:var(--muted);font-size:.76rem;font-weight:700}.attendance-history-profile h4{margin:3px 0;color:var(--brand-ink);font-size:1rem}.attendance-history-profile p{margin:0;color:var(--muted);font-weight:600}.attendance-history-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.attendance-history-metrics>div{border:1px solid #e3edf6;border-radius:8px;background:#fff;padding:10px}.attendance-history-metrics strong{display:block;margin-top:4px;color:var(--brand-ink);font-size:1rem}.attendance-adjustment-toolbar{display:flex;justify-content:flex-end}.attendance-adjustment-note{display:grid;gap:3px;min-width:150px;text-align:left}.attendance-adjustment-note strong{color:var(--brand-ink);font-size:.82rem;font-weight:700}.attendance-adjustment-note span{color:var(--muted);font-size:.76rem;font-weight:600}.attendance-history-table table{min-width:920px}.roll-call-panel{display:grid;gap:14px}.roll-call-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.roll-call-summary-grid>div{border:1px solid #e3edf6;border-radius:8px;background:#fbfdff;padding:10px}.roll-call-toolbar{display:grid;grid-template-columns:minmax(220px,.35fr) minmax(0,.65fr);gap:14px;align-items:end;border:1px solid #e3edf6;border-radius:8px;background:#fff;padding:12px}.roll-call-bulk-actions,.roll-call-save-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.roll-call-save-controls{justify-content:flex-end}.roll-call-save-controls .field{min-width:min(220px,100%);margin:0}.roll-call-save-button,.roll-call-student-cell{display:inline-flex;align-items:center;gap:8px}.roll-call-student-cell{min-width:240px;text-align:left}.compact-avatar,.compact-avatar img,.compact-avatar span{width:40px;height:40px}.roll-call-table table{min-width:1020px}.roll-call-status-select{min-width:150px;min-height:38px;border:1px solid #cfd9e6;border-radius:8px;background:#fff;color:var(--brand-ink);padding:0 10px;outline:none}.roll-call-status-select:focus{border-color:var(--brand-sky);box-shadow:0 0 0 3px #2196dc2e}.roll-call-change-pill{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;background:#fff3c4;color:#7c5800;padding:0 10px;font-size:.76rem;font-weight:760}.pickup-desk-heading{align-items:flex-start}.pickup-desk-actions{flex:1;align-items:end}.pickup-outcome-filter{min-width:180px}.pickup-tab-list{padding-top:0}.pickup-record-table table{min-width:980px}.pickup-record-table td:nth-child(4){max-width:300px}.pickup-desk-skeleton{min-height:360px}.attendance-wide-skeleton{margin-top:14px;min-height:340px}.attendance-history-skeleton{min-height:380px}.timetable-summary-grid{padding:18px;margin-bottom:0}.people-metric.success{background:linear-gradient(135deg,#fff,#edf8f2)}.people-metric.warning{background:linear-gradient(135deg,#fff,#fff8d6)}.people-metric.danger{background:linear-gradient(135deg,#fff,#fbe3df)}.teacher-insight-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:14px;padding:0 18px 18px}.teacher-insight-panel{min-width:0;border:1px solid #edf2f7;border-radius:8px;background:#fbfdff;overflow:hidden}.teacher-insight-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #edf2f7;padding:14px 16px;background:#fff}.teacher-insight-heading strong{color:var(--brand-ink);font-weight:650}.teacher-insight-heading span{color:var(--muted);font-size:.82rem;font-weight:560;text-align:right}.insight-empty{min-height:190px;display:grid;place-items:center;align-content:center;gap:6px;padding:22px;color:var(--success);text-align:center}.insight-empty span{max-width:360px;color:var(--muted);font-weight:500}.conflict-list,.unassigned-panel{display:grid;gap:10px;padding:14px}.conflict-card{display:grid;gap:8px;border:1px solid #efc0b8;border-radius:8px;background:#fff7f5;padding:12px}.conflict-card strong{display:inline-flex;align-items:center;gap:6px;color:var(--danger)}.conflict-card span,.conflict-period-row span,.unassigned-panel span{color:var(--muted);font-size:.84rem;font-weight:560}.conflict-period-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.conflict-period-actions{display:inline-flex;justify-content:flex-end;flex-wrap:wrap;gap:6px}.conflict-period-row .small-button{min-height:30px;padding-inline:9px}.suggestion-confirmation{display:grid;gap:16px}.suggestion-summary{display:grid;gap:4px}.suggestion-summary h3,.suggestion-summary p,.suggestion-time-grid p{margin:0}.suggestion-summary h3{color:var(--brand-ink);font-size:1.05rem}.suggestion-summary p,.suggestion-reason{color:var(--muted);font-weight:560}.suggestion-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.suggestion-time-grid div{display:grid;gap:4px;border:1px solid #e4edf6;border-radius:8px;background:#fbfdff;padding:14px}.suggestion-time-grid div:last-child{border-color:#bfe2d8;background:#f3fbf7}.suggestion-time-grid span{color:var(--muted);font-size:.76rem;font-weight:700;text-transform:uppercase}.suggestion-time-grid strong{color:var(--brand-ink)}.suggestion-reason{border-left:3px solid var(--brand-gold);padding-left:12px}.unassigned-panel{border-top:1px solid #edf2f7;background:#fffdf4}.unassigned-panel strong{color:#835500;font-weight:650}.inline-icon-text{display:inline-flex;align-items:center;gap:6px;color:#475569}.embedded-section{margin:0 18px 18px;border:1px solid #edf2f7;border-radius:8px;overflow:hidden}.school-identity-cell{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.school-identity-cell img{width:38px;height:38px;border:1px solid var(--line);border-radius:8px;object-fit:contain;background:#fff}.brand-preview,.color-field{display:inline-flex;align-items:center;gap:8px}.brand-preview span,.color-field span{width:20px;height:20px;flex:0 0 auto;border:1px solid #cfd9e6;border-radius:999px}.brand-preview small{color:var(--muted);font-weight:500}.color-field{width:100%}.color-field input{min-width:0}.logo-upload-field{display:grid;gap:8px}.logo-upload-preview{width:72px;height:72px;display:grid;place-items:center;border:1px solid #d6e3ee;border-radius:8px;background:#fff;color:var(--brand-blue);overflow:hidden}.logo-upload-preview img{width:100%;height:100%;object-fit:contain;padding:6px}.logo-upload-field small{color:var(--muted);font-size:.78rem;font-weight:500}.checkbox-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;border:1px solid #d6e3ee;border-radius:8px;background:#fff;padding:8px}.checkbox-list-item{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:40px;border:1px solid #e1ebf5;border-radius:8px;background:#f8fbff;padding:8px 10px;color:var(--brand-ink);font-size:.9rem;font-weight:560}.checkbox-list-item input[type=checkbox]{flex:0 0 16px;width:16px!important;min-width:16px;height:16px!important;min-height:16px;margin:0;padding:0!important;border-radius:4px;accent-color:var(--brand-blue)}.checkbox-list-item span{min-width:0;line-height:1.25;overflow-wrap:anywhere}.fees-summary-grid,.fees-selector-panel{margin-bottom:16px}.fees-selector-panel .form-grid{padding:16px 18px}.fees-reports-stack{display:grid;gap:16px}.fees-report-toolbar{display:grid;grid-template-columns:repeat(2,minmax(180px,240px));gap:12px}.fees-invoice-toolbar{display:grid;grid-template-columns:minmax(160px,220px) minmax(240px,1fr);gap:12px;padding:16px 18px}.search-input-wrap{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;border:1px solid #cfd9e6;border-radius:8px;background:var(--surface);padding:0 11px}.search-input-wrap input{border:0;padding:0;min-height:40px}.fees-invoice-modal{display:grid;gap:16px}.fees-modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.fees-modal-actions .small-button,.fees-detail-grid .small-button{display:inline-flex;align-items:center;gap:6px}.fees-invoice-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:#fbfdff}.fees-invoice-header h3,.fees-invoice-header p,.fees-detail-grid h4{margin:0}.fees-invoice-header p{color:var(--muted);font-weight:600}.fees-balance-box{min-width:180px;display:grid;gap:6px;justify-items:end;text-align:right}.fees-balance-box span{color:var(--muted);font-weight:600}.fees-balance-box strong{color:var(--brand-ink);font-size:1.45rem;font-weight:650}.fees-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:14px}.fees-detail-grid>div{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.fees-detail-grid h4{padding:14px 16px;border-bottom:1px solid #edf2f7;color:var(--brand-ink);font-size:.95rem}.fees-section-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.fees-section-heading h4{margin:0;color:var(--brand-ink);font-size:.95rem}.fees-gateway-panel{display:grid;gap:14px;border:1px solid #d9e5f2;border-radius:8px;padding:16px;background:linear-gradient(180deg,#f8fbff,#fff)}.fees-adjustment-panel{display:grid;gap:14px;border:1px solid #dce8f6;border-radius:8px;padding:16px;background:#fbfdff}.fees-adjustment-form{display:grid;gap:12px}.fees-adjustment-line{background:#fbfdff}.fees-negative-amount{color:#9a3412;font-weight:700}.line-kind-charge{background:#eef6ff;color:var(--brand-blue)}.line-kind-discount,.line-kind-scholarship,.line-kind-adjustment{background:#fff6df;color:#8a5a00}.gateway-option-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.gateway-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 9px;align-items:center;min-height:58px;padding:10px 12px;border:1px solid #d7e4f1;border-radius:8px;color:var(--brand-ink);background:#fff;text-align:left}.gateway-option svg{grid-row:span 2;color:var(--brand-blue)}.gateway-option strong,.gateway-option span{overflow-wrap:anywhere}.gateway-option strong{font-weight:650}.gateway-option span{color:var(--muted);font-size:.78rem;font-weight:600}.gateway-option.active{border-color:var(--brand-blue);box-shadow:0 0 0 3px #1a56a61f}.fees-gateway-form{display:grid;gap:12px;border:0;padding:0}.gateway-actions{justify-content:flex-start;padding-top:0}.link-action{text-decoration:none}.gateway-muted{margin:0;color:var(--muted);font-weight:600}.gateway-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;border:1px solid #edf2f7;border-radius:8px;background:#fff}.gateway-result div{display:grid;gap:3px}.gateway-result span{color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase}.gateway-result strong{color:var(--brand-ink);font-size:.88rem;overflow-wrap:anywhere}.fees-payment-form{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;padding:16px}.fees-print-document{display:none}.fees-document-header,.fees-document-meta,.fees-document-totals,.fees-document-footer{break-inside:avoid}.fees-document-header{display:grid;grid-template-columns:72px minmax(0,1fr) minmax(170px,auto);gap:16px;align-items:center;padding-bottom:14px;border-bottom:3px solid var(--school-primary, var(--brand-blue))}.fees-document-header img,.fees-document-logo-placeholder{width:64px;height:64px;border:1px solid #d8e2ee;border-radius:8px;object-fit:contain;background:#fff}.fees-document-logo-placeholder{display:grid;place-items:center;color:var(--brand-blue);font-weight:800}.fees-document-header h2,.fees-document-header p{margin:0}.fees-document-header h2{color:#0f2437;font-size:1.35rem}.fees-document-header p{color:#526272;font-size:.86rem;margin-top:4px}.fees-document-title{display:grid;gap:4px;justify-items:end;text-align:right}.fees-document-title span{color:var(--school-primary, var(--brand-blue));font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.fees-document-title strong{color:#0f2437;font-size:1rem}.fees-document-title small{color:#667789;font-size:.74rem}.fees-document-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.fees-document-meta div,.fees-document-totals div{border:1px solid #dce6f0;border-radius:8px;padding:10px 12px;background:#f8fbfe}.fees-document-meta span,.fees-document-totals span{display:block;color:#607286;font-size:.72rem;font-weight:700;text-transform:uppercase}.fees-document-meta strong,.fees-document-totals strong{display:block;color:#12263a;margin-top:4px;font-size:.96rem}.fees-document-meta small{display:block;color:#607286;margin-top:3px;font-size:.78rem}.fees-document-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:.86rem}.fees-document-table th,.fees-document-table td{border:1px solid #dce6f0;padding:9px 10px;text-align:left;vertical-align:top}.fees-document-table th{color:#0f2437;background:#eef5fb;font-size:.75rem;text-transform:uppercase}.fees-document-table td:last-child,.fees-document-table th:last-child{text-align:right}.fees-document-table.receipt-table{max-width:420px;margin-left:auto}.fees-document-table.receipt-table th{width:52%}.fees-document-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:520px;margin:16px 0 0 auto}.fees-document-totals div:last-child{background:var(--school-primary, var(--brand-blue));border-color:var(--school-primary, var(--brand-blue))}.fees-document-totals div:last-child span,.fees-document-totals div:last-child strong{color:#fff}.fees-document-note{margin:16px 0 0;border-left:3px solid var(--school-accent, var(--brand-gold));padding:9px 12px;color:#34475a;background:#fffaf0;font-size:.86rem}.fees-document-footer{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:24px;margin-top:34px;color:#526272;font-size:.78rem}.fees-document-footer span:last-child{border-top:1px solid #95a4b3;padding-top:7px;text-align:center}.selected-row{background:#f4f9ff}.row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.person-cell{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;min-width:240px}.person-cell img,.person-avatar{width:40px;height:40px;flex:0 0 auto;border-radius:8px}.person-cell img{border:1px solid var(--line);object-fit:cover;background:#fff}.person-avatar{display:inline-grid;place-items:center;color:var(--brand-blue);background:var(--soft-blue);font-size:.78rem;font-weight:700}.person-cell span{max-width:360px;color:var(--muted);overflow-wrap:anywhere}.photo-upload-field,.image-upload-field{grid-column:span 2}.image-upload-row{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:center;border:1px dashed #c9d7e6;border-radius:8px;background:#f8fbff;padding:12px}.image-upload-row img,.image-upload-row span{width:112px;height:82px;border-radius:8px;border:1px solid #dce8f2;object-fit:cover;display:grid;place-items:center;color:var(--muted);background:#fff;font-size:.76rem;font-weight:650;text-align:center}.image-upload-row input{width:100%;min-width:0}.photo-upload-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;border:1px solid #cfd9e6;border-radius:8px;background:#fff;padding:10px}.photo-upload-row img{width:48px;height:48px;border:1px solid var(--line);border-radius:8px;object-fit:cover}.photo-upload-row input{padding:8px 0;border:0;min-height:auto}.photo-upload-row input::file-selector-button{min-height:34px;border:1px solid #d5e0ec;border-radius:8px;margin-right:10px;padding:0 12px;color:var(--brand-ink);background:#f7fafc;font:inherit;font-weight:600}.photo-upload-row small{display:block;margin-top:4px;color:var(--muted);font-weight:500}.data-form{display:grid;gap:14px;padding:16px 18px 18px;border-top:1px solid #edf2f7}.modal-form{padding:0;border-top:0}.loader-host{position:relative}.loader-host>fieldset{min-width:0;display:grid;gap:inherit;margin:0;padding:0;border:0}.loader-host>fieldset:disabled{opacity:.48}.data-form h4{margin:0;color:var(--brand-ink);font-size:.95rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.form-grid.single{grid-template-columns:1fr}.field,.toggle-field{display:grid;gap:6px;color:var(--muted);font-size:.84rem;font-weight:600}.field input,.field select,.field textarea{width:100%;min-height:40px;border:1px solid #cfd9e6;border-radius:8px;color:var(--brand-ink);background:var(--surface);padding:0 11px;outline:none}.field input[type=color]{min-height:42px;padding:4px}.field textarea{min-height:82px;padding:9px 11px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand-sky);box-shadow:0 0 0 3px #2196dc2e}.toggle-field{align-content:end;align-self:end;grid-template-columns:auto 1fr;align-items:center;min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#f8fbff}.toggle-field input{width:16px;height:16px;accent-color:var(--brand-blue)}.table-section{margin-top:14px;overflow:hidden}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #edf2f7;background:#f8fbffbd}.section-heading span{color:var(--muted);font-weight:600}.section-actions{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.panel-action-button{min-height:34px;border:1px solid rgba(27,85,166,.16);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;color:var(--brand-blue);background:#fff;font-size:.84rem;font-weight:600;box-shadow:0 8px 18px #151d3f0a}.panel-action-button:hover{border-color:#1b55a647;background:var(--soft-blue)}.table-wrap{overflow-x:auto}.report-center{display:grid;gap:14px}.report-toolbar{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(320px,1.7fr) minmax(240px,auto);gap:14px;align-items:end;border:1px solid var(--line);border-radius:8px;background:var(--panel-bg);padding:16px 18px;box-shadow:0 12px 26px #151d3f09}.report-toolbar label,.report-date-grid label,.report-period-control{display:grid;gap:7px;color:var(--muted);font-size:.84rem;font-weight:650}.report-toolbar select,.report-toolbar input{min-height:42px;border:1px solid var(--line);border-radius:8px;padding:0 12px;color:var(--brand-ink);background:#fff;font:inherit}.report-period-control{min-width:0}.report-period-control .segmented-control{overflow-x:auto;width:100%}.report-date-grid{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px}.report-toolbar-actions{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.report-metrics .metric-card{min-height:104px}.report-print-heading{align-items:start}.report-context-row{display:inline-flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.report-context-row span{border:1px solid var(--line);border-radius:999px;background:#fff;padding:6px 10px;color:var(--brand-ink);font-size:.82rem}.report-table th,.report-table td{white-space:nowrap}.report-table td:first-child,.report-table td:nth-child(2){white-space:normal}table{width:100%;min-width:860px;border-collapse:separate;border-spacing:0}th,td{padding:14px 18px;text-align:left;border-bottom:1px solid #edf2f7;vertical-align:top}th{color:#52616c;background:#f8fbff;font-size:.78rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}tbody tr{background:#ffffffd1;transition:background .14s ease}tbody tr:hover{background:#fbfdff}th:last-child,td:last-child{text-align:right}td strong,td span{display:block}td strong{font-weight:600}.message-cell{max-width:280px;overflow-wrap:anywhere}.small-button{min-height:34px;padding:0 10px;font-size:.86rem;color:#314559;background:#f7fafc;border:1px solid #dfe7f0}.status-pill{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:0 10px;color:#26413b;background:var(--soft-grey);font-size:.78rem;font-weight:650}.status-pill.active,.status-pill.processed,.status-pill.published,.status-pill.approved,.status-pill.paid,.status-pill.scanned{color:var(--success);background:#e4f6f1}.status-pill.inactive,.status-pill.disabled,.status-pill.failed,.status-pill.restricted,.status-pill.returned,.status-pill.withdrawn,.status-pill.unpaid{color:var(--danger);background:#fbe3df}.status-pill.pending,.status-pill.submitted,.status-pill.rejected,.status-pill.part-paid,.status-pill.draft{color:#835500;background:#fff0d5}.status-pill.overpaid{color:var(--brand-blue);background:var(--soft-blue)}.status-pill.duplicate,.status-pill.reviewed,.status-pill.graduated,.status-pill.transferred,.status-pill.archived{color:#4d5570;background:#e8ebf5}.status-pill.allowed{color:var(--success);background:#e4f6f1}.status-pill.blocked{color:var(--danger);background:#fbe3df}.status-pill.check-in{color:var(--success);background:#e4f6f1}.status-pill.check-out{color:var(--brand-blue);background:var(--soft-blue)}.transport-record-table table{min-width:1040px}.transport-location-cell strong{margin-bottom:4px}.transport-coordinate-link{display:inline-flex;align-items:center;gap:4px;color:var(--brand-blue);font-size:.78rem;font-weight:600;text-decoration:none}.transport-coordinate-link:hover{text-decoration:underline}.transport-skeleton{min-height:260px}.table-empty{margin:0;padding:20px 18px}.empty-state{display:grid;place-items:center;text-align:center;min-height:240px;color:var(--brand-blue)}.empty-state p{max-width:460px;margin:4px auto 0;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:28px;background:#0f172a6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-panel{width:min(680px,100%);max-height:min(760px,calc(100vh - 56px));display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid rgba(223,231,240,.82);border-radius:8px;background:linear-gradient(180deg,#fff,#fbfdff),var(--surface);box-shadow:0 24px 70px #0f172a47;overflow:hidden}.modal-panel.wide{width:min(860px,100%)}.modal-panel.report{width:min(1280px,calc(100vw - 32px));max-height:min(920px,calc(100vh - 32px))}.modal-panel.report .modal-heading{padding:16px 18px}.modal-panel.report .modal-body{padding:16px}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#eaf5ffdb,#fff8d66b),#fff}.modal-heading span{display:block;margin-bottom:3px;color:var(--brand-blue);font-size:.76rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.modal-heading h2{margin:0;color:var(--brand-ink);font-size:1.16rem;font-weight:650}.modal-close-button{width:38px;height:38px;border:1px solid rgba(207,217,230,.9);border-radius:8px;display:inline-grid;place-items:center;color:var(--brand-ink);background:#fff}.modal-close-button:hover{background:var(--soft-grey)}.modal-body{min-height:0;padding:22px;overflow:auto}.modal-actions{justify-content:flex-end;padding-top:4px}.skeleton{min-height:118px;background:linear-gradient(90deg,#fff,#edf4fb,#fff);background-size:220% 100%;animation:pulse 1.3s ease-in-out infinite}@keyframes pulse{0%{background-position:0% 0}to{background-position:-220% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes loaderDot{0%,to{transform:translateY(0);opacity:.55}45%{transform:translateY(-5px);opacity:1}}@media(prefers-reduced-motion:reduce){.page-loader-ring,.page-loader-progress span,.loader-ring,.skeleton{animation-duration:1ms;animation-iteration-count:1}}@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;z-index:10;width:min(286px,86vw);height:100vh;transform:translate(-100%);transition:transform .18s ease}.app-shell.navigation-open>.sidebar{transform:translate(0)!important;box-shadow:18px 0 42px #1225413d}.app-shell.navigation-open:before{content:"";position:fixed;inset:0;z-index:9;background:#12254161}.mobile-menu-button{display:inline-flex}.topbar,.page-heading,.promotion-history-header,.promotion-history-grid,.split-grid,.attendance-history-grid,.attendance-history-metrics,.roll-call-toolbar,.platform-create-shell,.setup-grid,.setup-grid.single-column,.setup-grid.three-column,.promotion-plan-controls,.promotion-controls,.promotion-detail-controls,.report-toolbar,.subject-comment-row{display:grid;grid-template-columns:1fr}.subject-comment-row .small-button{justify-self:start}.topbar{align-items:start;padding:16px}.guardian-topbar,.guardian-hero,.guardian-section-heading{align-items:stretch;flex-direction:column}.guardian-account{justify-content:flex-start}.guardian-account>div{text-align:left}.guardian-result-layout,.guardian-exam-layout,.guardian-fees-layout,.guardian-payment-grid{grid-template-columns:1fr}.guardian-invoice-header{display:grid}.guardian-invoice-header strong{text-align:left}.guardian-pickup-grid{grid-template-columns:1fr}.topbar-title{width:100%;align-items:flex-start}.content{padding:18px 16px}.topbar-actions,.attendance-action-bar,.heading-actions,.section-actions,.attendance-history-tools,.publication-actions,.people-search{width:100%;align-items:stretch}.attendance-history-tools,.attendance-action-bar,.promotion-student-toolbar,.compact-search{justify-content:stretch;min-width:0}.promotion-arrow{margin:-2px 0;transform:rotate(90deg)}.promotion-history-table{border-left:0;border-top:1px solid #edf2f7}.attendance-class-filter{width:100%;min-width:0}.roll-call-bulk-actions,.roll-call-save-controls,.roll-call-save-controls .field,.roll-call-save-button{width:100%}.roll-call-save-button{justify-content:center}.attendance-student-list{max-height:320px}.result-publication-panel,.report-card-brand-band{align-items:stretch}.report-card-brand-band{grid-template-columns:1fr}.report-card-status{justify-items:start;text-align:left}.report-student-card{grid-template-columns:64px minmax(0,1fr)}.report-student-details{grid-template-columns:repeat(2,minmax(0,1fr))}.report-card-footer,.report-card-support-grid,.remark-display-grid,.standard-report-header,.standard-report-student,.standard-lower-grid,.standard-remarks-grid,.standard-signature-grid{grid-template-columns:1fr}.standard-report-card{padding:14px}.standard-report-meta{justify-items:start;text-align:left}.standard-student-grid,.standard-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.standard-summary:nth-child(2n),.standard-field:nth-child(2n){border-right:0}.standard-summary:nth-last-child(-n+2),.standard-field:nth-last-child(-n+2){border-bottom:0}.attendance-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-student-card .secondary-action{grid-column:1 / -1}.result-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{align-items:stretch;display:grid;grid-template-columns:1fr}.platform-form-section-title{display:grid}.platform-form-section-title span{text-align:left}.school-picker,.date-control,.people-search label{width:100%}.academic-filter-grid,.timetable-filter-grid,.teacher-insight-grid,.gateway-result{grid-template-columns:1fr}.teacher-insight-heading{display:grid}.teacher-insight-heading span{text-align:left}.user-chip{width:100%;justify-content:center}.modal-backdrop{padding:14px}.attendance-tab-list{padding:12px 12px 0}.attendance-tab-panel{padding:14px}}@media(max-width:560px){.login-panel{padding:24px 20px}.login-brand{align-items:flex-start}.login-brand img{width:58px;height:58px}.login-intro{grid-template-columns:repeat(2,minmax(0,1fr))}.login-mode-switch{grid-template-columns:1fr}.guardian-page{padding:16px 12px 28px}.guardian-child-strip{grid-template-columns:1fr}.guardian-child-card{grid-template-columns:42px minmax(0,1fr)}.guardian-child-card>svg{display:none}.guardian-avatar{width:42px;height:42px}.form-grid,.time-input-grid,.inline-control{grid-template-columns:1fr}.platform-form-section{padding:14px}.metric-card,.result-summary-grid{grid-template-columns:1fr}.primary-button,.primary-action,.secondary-action,.icon-text-button,.small-button,.tab-button{width:100%}.foundation-tabs,.attendance-tab-list{display:grid}.report-date-grid,.report-toolbar-actions{display:grid;grid-template-columns:1fr}.photo-upload-field{grid-column:auto}}@media print{@page{size:A4;margin:10mm}@page standard-report-landscape{size:A4 landscape;margin:8mm}*{print-color-adjust:exact;-webkit-print-color-adjust:exact}body{background:#fff}.sidebar,.topbar,.guardian-topbar,.guardian-hero,.guardian-metrics,.guardian-child-strip,.guardian-tab-list,.guardian-result-list,.guardian-report-preview .result-summary-grid,.page-heading,.notice,.no-print,.teacher-insights{display:none!important}.app-shell,.main-column{display:block}.content{padding:0}body.modal-open .content>:not(.modal-backdrop){display:none!important}.setup-grid,.setup-grid.single-column{display:block}.setup-panel{border:0;box-shadow:none;background:#fff}.modal-backdrop{position:static;display:block;padding:0;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.modal-panel,.modal-panel.wide,.modal-panel.report{width:100%;display:block;max-height:none;border:0;box-shadow:none;background:#fff;overflow:visible}.report-center{display:block}.report-print-surface{border:0;border-radius:0;box-shadow:none}.report-print-heading{padding:0 0 10px;background:#fff;border-bottom:2px solid #1d5b36}.report-context-row span{border-color:#d9e5ef}.report-table th,.report-table td{padding:8px 10px;font-size:.78rem}.modal-heading{display:none}.modal-body{padding:0;overflow:visible}.fees-invoice-modal{display:block}.fees-invoice-header,.fees-detail-grid,.fees-payment-form,.fees-modal-actions{display:none!important}.fees-print-document,.fees-print-document.active-print-document{width:100%;max-width:190mm;margin:0 auto;color:#12263a}.fees-print-document{display:none!important}.fees-print-document.active-print-document{display:block!important}.fees-document-header{grid-template-columns:56px minmax(0,1fr) minmax(140px,auto);gap:10px;padding-bottom:10px}.fees-document-header img,.fees-document-logo-placeholder{width:50px;height:50px}.fees-document-header h2{font-size:1.08rem}.fees-document-header p,.fees-document-title small,.fees-document-meta small,.fees-document-footer{font-size:.68rem}.fees-document-title strong{font-size:.84rem}.fees-document-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:12px 0}.fees-document-meta div,.fees-document-totals div{padding:7px 8px}.fees-document-meta span,.fees-document-totals span,.fees-document-table th{font-size:.62rem}.fees-document-meta strong,.fees-document-totals strong{font-size:.78rem}.fees-document-table{font-size:.74rem}.fees-document-table th,.fees-document-table td{padding:6px 7px}.fees-document-totals{gap:6px;max-width:430px;margin-top:12px}.fees-document-note{margin-top:12px;padding:7px 9px;font-size:.72rem}.fees-document-footer{margin-top:26px}.report-card-brand-band,.report-student-card,.result-summary-tile,.report-card-attendance,.report-card-remarks,.report-card-footer>div{break-inside:avoid}.report-card-preview{display:grid;gap:8px;width:100%;max-width:190mm;margin:0 auto}.report-card-brand-band{grid-template-columns:54px minmax(0,1fr) auto;gap:10px;border-top-width:3px;padding:9px 10px}.report-school-mark{width:46px;height:46px}.report-school-mark img{width:38px;height:38px}.report-card-brand-band h2{margin:2px 0;font-size:1.05rem}.report-card-brand-band p,.report-student-main p{font-size:.72rem}.report-card-brand-band span,.report-student-main span{font-size:.62rem}.report-card-status{gap:4px}.report-card-status small{font-size:.68rem}.report-student-card{grid-template-columns:50px minmax(0,1fr);gap:10px;padding:9px 10px}.report-student-photo,.report-student-photo img,.report-student-photo span{width:44px;height:44px}.report-student-main h3{margin:1px 0;font-size:.95rem}.report-student-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.report-info-item{border-radius:5px;padding:5px 7px}.report-info-item span{font-size:.56rem}.report-info-item strong{font-size:.72rem;overflow-wrap:normal}.result-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.result-summary-tile{border-radius:5px;padding:6px 7px}.result-summary-tile span{font-size:.56rem}.result-summary-tile strong{font-size:.78rem}.report-card-support-grid{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:6px}.report-card-attendance,.report-card-remarks{border-radius:5px;padding:7px 8px}.report-section-heading{gap:8px;margin-bottom:6px}.report-section-heading span,.attendance-stat span,.report-remark span{font-size:.54rem}.report-section-heading strong{font-size:.72rem}.attendance-stat-grid{gap:5px}.attendance-stat{border-radius:5px;padding:5px 6px}.attendance-stat strong{margin-top:3px;font-size:.72rem}.remark-display-grid{gap:6px}.report-remark{min-height:46px;border-radius:5px;padding:6px 7px}.report-remark strong{margin-top:4px;font-size:.68rem;line-height:1.35}.report-card-table-wrap{margin:0}.report-card-table{min-width:0;width:100%;border-collapse:collapse;font-size:.64rem}.report-card-table th,.report-card-table td{border:1px solid #d9e3ef;padding:5px 6px}.report-card-table th{color:#26384a;background:#f3f7fb;font-size:.56rem}.report-card-table td:first-child span{font-size:.58rem}.grade-pill,.result-score-chip,.status-pill{min-height:20px;padding:0 7px;font-size:.62rem}.report-card-footer{grid-template-columns:1.4fr .8fr;gap:8px}.report-card-footer>div{min-height:38px;border-radius:5px;padding:7px 8px}.report-card-footer span{font-size:.56rem}.report-card-footer strong{margin-top:6px;font-size:.72rem}.standard-report-card{width:100%;max-width:190mm;margin:0 auto;border:1px solid #cfddeb;border-top:5px solid var(--report-accent);border-radius:8px;box-shadow:none;padding:18px;page-break-inside:auto;break-inside:auto}.standard-report-landscape{max-width:277mm;page:standard-report-landscape}.standard-report-header{grid-template-columns:76px minmax(0,1fr) minmax(160px,auto);gap:16px;padding-bottom:12px}.standard-report-logo{width:72px;height:72px}.standard-report-logo img{width:60px;height:60px}.standard-report-school h2{font-size:1.55rem}.standard-report-school p{font-size:.9rem}.standard-report-school span,.standard-section-title span,.standard-field span,.standard-summary span,.standard-mini-table span,.standard-remarks-grid span,.standard-signature-grid span{font-size:.68rem}.standard-report-meta strong{font-size:.94rem}.standard-report-meta small{font-size:.78rem}.standard-report-student{grid-template-columns:86px minmax(0,1fr);gap:12px;margin-top:14px}.standard-report-photo,.standard-report-photo img,.standard-report-photo span{width:78px;height:78px}.standard-field,.standard-summary,.standard-mini-table div,.standard-grade-key div{padding:8px 10px}.standard-field strong,.standard-summary strong,.standard-mini-table strong{font-size:.9rem}.standard-summary.important strong{font-size:1rem}.standard-summary-grid,.standard-section,.standard-lower-grid,.standard-remarks-grid{margin-top:12px}.standard-section-title{padding:8px 10px}.standard-section-title strong{font-size:.82rem}.standard-table-wrap{overflow:visible}.standard-result-table{min-width:0;font-size:.78rem}.standard-result-table th,.standard-result-table td{padding:7px 8px}.standard-result-table th,.standard-result-table th small,.standard-result-table td small{font-size:.66rem}.standard-lower-grid{gap:12px}.standard-grade-key{grid-template-columns:repeat(auto-fit,minmax(78px,1fr))}.standard-grade-key strong{font-size:.78rem}.standard-grade-key span{font-size:.68rem}.standard-remarks-grid{gap:12px}.standard-remarks-grid>div{min-height:78px;border-radius:8px;padding:10px 12px}.standard-remarks-grid strong{margin-top:6px;font-size:.82rem;line-height:1.4}.standard-signature-grid{gap:12px;margin-top:18px}.timetable-filter-grid{display:none}.print-header{display:block;margin-bottom:16px;padding:0}.print-header span{color:#334155;font-size:.82rem;font-weight:700;text-transform:uppercase}.print-header h2{margin:2px 0;color:#0f172a;font-size:1.5rem}.print-header p{margin:0;color:#475569}.timetable-print-area{padding:20px}.timetable-grid-wrap,.table-wrap{margin:0;border:0;overflow:visible}table,.timetable-grid-table,.foundation-table table{min-width:0;font-size:.72rem}th,td{padding:8px}.timetable-grid-entry,.timetable-grid-empty{min-height:58px;box-shadow:none}}.communication-tabs{padding:14px 16px 0;display:flex;flex-wrap:wrap;gap:8px}.communication-workspace>.table-empty,.communication-workspace>.skeleton,.communication-workspace>.table-wrap,.communication-workspace>.communication-inbox-list,.communication-workspace>.communication-filter-heading{margin:16px}.communication-table td strong{display:block;color:var(--ink);font-size:.92rem}.communication-table td span{display:block;color:var(--muted);font-size:.78rem;line-height:1.45;margin-top:3px}.communication-filter-heading,.communication-token-help{border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:#f8fbff}.communication-token-help>span{display:block;margin-bottom:8px;color:var(--muted);font-size:.78rem;font-weight:700}.communication-token-list{display:flex;flex-wrap:wrap;gap:8px}.communication-token-list code{border:1px solid rgba(30,90,168,.2);border-radius:999px;padding:5px 9px;background:#fff;color:var(--brand-blue);font-family:inherit;font-size:.78rem;font-weight:700}.communication-channel-grid>span{display:block;margin-bottom:8px;color:var(--muted);font-size:.8rem;font-weight:650}.communication-channel-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.checkbox-card{min-height:44px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:flex;align-items:center;gap:9px;background:#fff;color:var(--ink);font-weight:650}.checkbox-card input,.checkbox-field input{width:16px;height:16px;accent-color:var(--brand-blue)}.checkbox-field{min-height:42px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:flex;align-items:center;gap:9px;color:var(--ink);background:#fff}.full-span{grid-column:1 / -1}.communication-inbox-list{display:grid;gap:10px}.communication-inbox-card{border:1px solid var(--line);border-radius:8px;padding:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:#fff}.communication-inbox-card.unread{border-color:#1e5aa873;background:#f7fbff}.communication-inbox-card span{color:var(--muted);font-size:.76rem;font-weight:650}.communication-inbox-card h3{margin:4px 0 6px;font-size:.98rem}.communication-inbox-card p{margin:0;color:var(--text-soft);line-height:1.55}.notification-popup{position:fixed;right:22px;bottom:22px;z-index:80;width:min(390px,calc(100vw - 32px));border:1px solid rgba(30,90,168,.28);border-radius:12px;background:#fffffffa;box-shadow:0 18px 46px #09182d2e;padding:14px;display:grid;grid-template-columns:auto 1fr;gap:12px}.notification-popup-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:var(--brand-blue);background:#eef6ff}.notification-popup span{color:var(--brand-blue);font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.notification-popup h3{margin:3px 0 5px;font-size:.98rem}.notification-popup p{margin:0;max-height:92px;overflow:hidden;color:var(--text-soft);font-size:.86rem;line-height:1.5}.notification-popup-actions{margin-top:12px;display:flex;justify-content:flex-end;gap:8px}.primary-action.compact{min-height:34px;padding:0 12px;font-size:.82rem}@media(max-width:720px){.communication-inbox-card{display:grid}.notification-popup{right:16px;bottom:16px}}.guardian-shell{min-height:100vh;display:grid;grid-template-columns:278px minmax(0,1fr);background:linear-gradient(90deg,rgba(27,85,166,.05),transparent 40%),linear-gradient(180deg,#fff 0,#f6f8fb)}.guardian-sidebar{position:sticky;top:0;height:100vh;padding:18px 16px;display:flex;flex-direction:column;gap:16px;background:#16235f;color:#fff;box-shadow:8px 0 24px #0f1f4a21;overflow-y:auto}.guardian-sidebar-brand{display:flex;align-items:center;gap:10px;padding-bottom:8px}.guardian-sidebar-brand img{width:42px;height:42px;border-radius:8px;background:#fff;object-fit:contain}.guardian-sidebar-brand span,.guardian-sidebar-account span,.guardian-sidebar-children>span{display:block;color:#b9c7ff;font-size:.7rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.guardian-sidebar-brand strong,.guardian-sidebar-account strong{display:block;color:#fff;font-size:.96rem}.guardian-sidebar-account,.guardian-sidebar-children{border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:12px;background:#ffffff0f}.guardian-sidebar-account small{display:block;margin-top:4px;color:#dce5ff;line-height:1.45}.guardian-menu-list{display:grid;gap:6px}.guardian-menu-item,.guardian-menu-child,.guardian-sidebar-logout{width:100%;border:0;border-radius:8px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.guardian-menu-item{min-height:42px;padding:0 10px;background:transparent;color:#e8eeff;font-weight:650}.guardian-menu-item:hover,.guardian-menu-item.active{color:#fff;background:linear-gradient(90deg,#84cc166b,#2599de85)}.guardian-menu-item span{flex:1}.guardian-menu-item strong{min-width:22px;height:22px;border-radius:999px;display:inline-grid;place-items:center;background:#f6bc12;color:#102033;font-size:.74rem}.guardian-sidebar-children{display:grid;gap:8px}.guardian-sidebar-children p{margin:0;color:#dce5ff;font-size:.86rem}.guardian-menu-child{min-height:58px;padding:8px;background:#ffffff0f;color:#fff}.guardian-menu-child.active,.guardian-menu-child:hover{outline:1px solid rgba(246,188,18,.6);background:#ffffff1f}.guardian-menu-child .guardian-avatar{width:38px;height:38px}.guardian-menu-child span{min-width:0}.guardian-menu-child strong,.guardian-menu-child small{display:block}.guardian-menu-child strong{color:#fff;font-size:.86rem}.guardian-menu-child small{margin-top:2px;color:#dce5ff;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guardian-sidebar-logout{min-height:42px;margin-top:auto;padding:0 10px;justify-content:center;background:#ffffff1a;color:#fff;font-weight:700}.guardian-main{min-width:0;padding:22px clamp(18px,3vw,38px) 42px}.guardian-shell .guardian-topbar,.guardian-shell .guardian-hero,.guardian-shell .guardian-panel,.guardian-shell .guardian-child-strip{width:100%;max-width:none}.guardian-shell .guardian-topbar{margin-inline:0;background:#ffffffeb}.guardian-topbar-title{display:flex;align-items:center;gap:12px;min-width:0}.guardian-topbar-title img{width:44px;height:44px;border:1px solid var(--line);border-radius:8px;object-fit:cover;background:#fff}.guardian-topbar-title h2{margin:0;color:var(--brand-ink);font-size:1.22rem;font-weight:650}.guardian-topbar-actions{display:flex;align-items:center;gap:10px}.guardian-shell .guardian-hero{margin-top:18px}.guardian-shell .guardian-workspace{width:100%;max-width:none;margin-top:14px}.guardian-workspace-heading{border-bottom:1px solid #edf2f7;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f8fbff}.guardian-workspace-heading span:first-child{display:block;color:var(--brand-blue);font-size:.74rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.guardian-workspace-heading h2{margin:2px 0 0;color:var(--brand-ink);font-size:1.15rem;font-weight:650}.guardian-workspace-heading p{margin:3px 0 0;color:var(--muted);font-size:.86rem}@media(max-width:980px){.guardian-shell{grid-template-columns:1fr}.guardian-sidebar{position:fixed;inset:0 auto 0 0;z-index:90;width:min(300px,calc(100vw - 48px));transform:translate(-105%);transition:transform .18s ease}.guardian-navigation-open .guardian-sidebar{transform:translate(0)}.guardian-navigation-open:after{content:"";position:fixed;inset:0;z-index:70;background:#0712266b}.guardian-main{padding:16px 14px 30px}}@media(min-width:981px){.guardian-shell .mobile-menu-button{display:none}}@media(max-width:720px){.guardian-topbar-actions .secondary-action{width:auto}.guardian-workspace-heading{align-items:flex-start;flex-direction:column}}@media print{.guardian-sidebar,.guardian-workspace-heading{display:none!important}.guardian-shell{display:block!important;background:#fff!important}.guardian-main{padding:0!important}.guardian-shell .guardian-workspace{border:0!important;box-shadow:none!important;margin:0!important}}.guardian-dashboard-screen{display:grid;gap:16px}.guardian-dashboard-heading{border:1px solid var(--line);border-radius:8px;padding:16px 18px;background:#fff;box-shadow:0 12px 28px #151d3f0f}.guardian-dashboard-heading span{display:block;color:var(--brand-blue);font-size:.74rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.guardian-dashboard-heading h2{margin:3px 0 0;color:var(--brand-ink);font-size:1.22rem;font-weight:650}.guardian-dashboard-heading p{margin:4px 0 0;color:var(--muted)}.guardian-dashboard-screen .guardian-metrics{width:100%;margin:0}.guardian-quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.guardian-quick-action{min-height:118px;border:1px solid var(--line);border-radius:8px;padding:16px;display:grid;justify-items:start;align-content:start;gap:8px;background:#fff;color:var(--brand-ink);text-align:left;cursor:pointer;box-shadow:0 12px 28px #151d3f0f}.guardian-quick-action:hover{border-color:#1e5aa859;transform:translateY(-1px)}.guardian-quick-action>span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:var(--brand-blue);background:#eef6ff}.guardian-quick-action strong{font-size:.98rem}.guardian-quick-action small{color:var(--muted);line-height:1.45}.teacher-dashboard{display:grid;gap:16px}.teacher-dashboard-heading{align-items:flex-start;border:1px solid rgba(209,221,235,.92);border-radius:8px;padding:18px;background:linear-gradient(120deg,#fff,#f8fbff 55%,#fffaf0)}.teacher-dashboard-heading h1{margin:4px 0 0;font-size:1.55rem;font-weight:650}.teacher-dashboard-heading p{margin:5px 0 0;color:var(--muted);font-size:.91rem}.teacher-dashboard-tools{display:flex;align-items:flex-end;justify-content:flex-end;gap:10px;flex-wrap:wrap}.teacher-dashboard-tools label{display:grid;gap:6px;color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.teacher-dashboard-tools input{min-width:150px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--brand-ink);background:#fff;font:inherit}.teacher-dashboard-metrics{margin:0}.teacher-metric-card{min-height:112px;background:#fff}.teacher-metric-card:nth-child(1){background:linear-gradient(135deg,#fff,#f4fbf6)}.teacher-metric-card:nth-child(2){background:linear-gradient(135deg,#fff,#f5fbff)}.teacher-metric-card:nth-child(3){background:linear-gradient(135deg,#fff,#fffaf0)}.teacher-metric-card:nth-child(4){background:linear-gradient(135deg,#fff,#f8f7ff)}.teacher-metric-card strong{font-size:1.45rem;font-weight:650}.teacher-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:14px;align-items:stretch}.teacher-dashboard-panel{border:1px solid var(--line);border-radius:8px;padding:16px;background:#fff;box-shadow:0 12px 28px #151d3f0d}.teacher-class-panel,.teacher-actions-panel{min-height:260px}.teacher-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.teacher-panel-heading span{display:block;color:var(--school-primary, var(--brand-blue));font-size:.73rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.teacher-panel-heading strong{display:block;margin-top:3px;color:var(--brand-ink);font-size:1rem;font-weight:650}.teacher-panel-heading select{max-width:220px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;color:var(--brand-ink);background:#fff;font:inherit}.teacher-class-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.teacher-mini-stat{border:1px solid #e6eef7;border-radius:8px;padding:12px;background:#f9fbfd}.teacher-mini-stat span{display:block;color:var(--muted);font-size:.76rem;font-weight:650}.teacher-mini-stat strong{display:block;margin-top:5px;color:var(--brand-ink);font-size:1.08rem;font-weight:650}.teacher-student-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.teacher-student-preview p,.teacher-empty-text{margin:0;color:var(--muted);font-size:.9rem}.teacher-student-chip{display:flex;align-items:center;gap:10px;border:1px solid #e6eef7;border-radius:8px;padding:10px;background:#fff}.teacher-student-chip img,.teacher-student-chip>span{width:38px;height:38px;flex:0 0 38px;border-radius:8px;object-fit:cover}.teacher-student-chip>span{display:grid;place-items:center;color:var(--school-primary, var(--brand-blue));background:#eef6ff;font-size:.78rem;font-weight:750}.teacher-student-chip strong{display:block;color:var(--brand-ink);font-size:.91rem;font-weight:650}.teacher-student-chip small{display:block;margin-top:2px;color:var(--muted);font-size:.78rem}.teacher-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.teacher-action-card{min-height:112px;border:1px solid #dbe8f5;border-radius:8px;padding:13px;display:grid;justify-items:start;align-content:start;gap:7px;background:#fff;color:var(--brand-ink);text-align:left;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.teacher-action-card:hover,.teacher-action-card:focus-visible{border-color:#1b55a661;box-shadow:0 10px 20px #151d3f14;transform:translateY(-1px)}.teacher-action-card>span{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;color:var(--school-primary, var(--brand-blue));background:#eef6ff}.teacher-action-card strong{font-size:.92rem;font-weight:650}.teacher-action-card small{color:var(--muted);font-size:.78rem;line-height:1.45}.teacher-list-stack{display:grid;gap:10px}.teacher-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e6eef7;border-radius:8px;padding:11px 12px;background:#fbfdff}.teacher-list-item strong{display:block;color:var(--brand-ink);font-size:.92rem;font-weight:650}.teacher-list-item small{display:block;margin-top:2px;color:var(--muted);font-size:.78rem}.teacher-list-item>span{color:var(--school-primary, var(--brand-blue));font-size:.8rem;font-weight:700;white-space:nowrap}.teacher-result-progress{display:grid;gap:12px}.teacher-result-progress span{display:block;color:var(--school-primary, var(--brand-blue));font-size:1.7rem;font-weight:650}.teacher-result-progress strong{display:block;color:var(--brand-ink);font-size:.98rem;font-weight:650}.teacher-result-progress small{display:block;margin-top:3px;color:var(--muted)}.teacher-progress-bar{height:9px;overflow:hidden;border-radius:999px;background:#edf3f9}.teacher-progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--school-primary, var(--brand-blue)),var(--brand-gold))}@media(max-width:1160px){.teacher-dashboard-grid{grid-template-columns:1fr}}@media(max-width:720px){.teacher-dashboard-heading,.teacher-panel-heading,.teacher-list-item{align-items:stretch;flex-direction:column}.teacher-dashboard-tools{justify-content:flex-start;width:100%}.teacher-dashboard-tools label,.teacher-dashboard-tools input,.teacher-panel-heading select{width:100%;max-width:none}.teacher-class-summary,.teacher-action-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.teacher-class-summary,.teacher-action-grid,.teacher-student-preview{grid-template-columns:1fr}}.student-profile-modal{display:grid;gap:16px}.inline-error,.inline-success{border-radius:8px;padding:10px 12px;font-size:.86rem;font-weight:600}.inline-error{border:1px solid rgba(220,38,38,.22);color:#991b1b;background:#fff1f2}.inline-success{border:1px solid rgba(22,163,74,.22);color:#166534;background:#f0fdf4}.student-profile-summary,.student-profile-section{border:1px solid rgba(207,217,230,.9);border-radius:8px;background:#fff}.student-profile-summary{display:grid;grid-template-columns:minmax(280px,1.2fr) repeat(4,minmax(130px,.35fr));gap:12px;padding:14px;align-items:stretch}.student-profile-summary-metrics{display:grid;gap:6px;align-content:center;padding:12px;border-radius:8px;background:#f8fafc;border:1px solid rgba(226,232,240,.9)}.student-profile-summary-metrics span{display:inline-flex;gap:7px;align-items:center;color:var(--muted);font-size:.78rem;font-weight:650}.student-profile-summary-metrics strong{color:var(--brand-ink);font-size:1rem}.student-profile-section{display:grid;gap:14px;padding:16px}.student-profile-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px}.student-profile-section-heading span{display:block;margin-bottom:3px;color:var(--brand-blue);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.student-profile-section-heading h3{margin:0;color:var(--brand-ink);font-size:1rem;font-weight:650}.student-profile-upload,.student-profile-discipline-form{display:grid;gap:12px}.student-profile-upload{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end}.student-document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.student-document-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;padding:12px;border:1px solid rgba(207,217,230,.92);border-radius:8px;background:#fbfdff}.student-document-card.inactive{opacity:.68;background:#f8fafc}.student-document-card .row-actions{grid-column:1 / -1;justify-content:flex-start}.student-document-card span{display:block;color:var(--brand-blue);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.student-document-card strong{display:block;margin-top:2px;color:var(--brand-ink)}.student-document-card small,.student-document-card p{display:block;margin-top:4px;color:var(--muted);font-size:.78rem}.student-document-thumb,.student-document-thumb img{width:54px;height:54px;border-radius:8px}.student-document-thumb{display:grid;place-items:center;color:var(--brand-blue);background:#eef6ff;border:1px solid rgba(191,219,254,.9);overflow:hidden}.student-document-thumb img{object-fit:cover}.student-profile-guardian-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.student-profile-guardian-card{border:1px solid rgba(207,217,230,.92);border-radius:8px;padding:12px;display:grid;gap:12px;background:#fbfdff}.student-profile-guardian-card .person-cell{align-items:flex-start}.student-profile-guardian-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media(max-width:980px){.student-profile-summary,.student-profile-upload{grid-template-columns:1fr}}.student-edit-form{display:grid;gap:16px}.student-edit-section{display:grid;gap:14px;padding:16px;border:1px solid rgba(207,217,230,.88);border-radius:8px;background:#fff}.student-edit-section-heading{display:grid;gap:3px;padding-bottom:10px;border-bottom:1px solid var(--line)}.student-edit-section-heading span{color:var(--brand-blue);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.student-edit-section-heading h3{margin:0;color:var(--brand-ink);font-size:.98rem;font-weight:650}.student-guardian-link-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.student-guardian-link-option{min-height:86px;border:1px solid rgba(207,217,230,.95);border-radius:8px;padding:12px;display:grid;gap:5px;align-content:start;background:#fbfdff;color:var(--brand-ink);text-align:left;cursor:pointer}.student-guardian-link-option:hover,.student-guardian-link-option:focus-visible{border-color:#1e5aa85c;box-shadow:0 10px 22px #151d3f12}.student-guardian-link-option.active{border-color:#1e5aa88c;background:linear-gradient(135deg,#fff,#f2f8ff);box-shadow:inset 4px 0 0 var(--school-primary, var(--brand-blue))}.student-guardian-link-option strong{font-size:.91rem;font-weight:650}.student-guardian-link-option span{color:var(--muted);font-size:.8rem;line-height:1.45}.student-guardian-link-form{border:1px solid rgba(226,232,240,.95);border-radius:8px;padding:14px;background:#f8fbff}.student-guardian-link-flags{min-height:100%;display:grid;align-content:center;gap:10px}.student-profile-value-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.student-profile-value{display:grid;gap:5px;min-height:70px;padding:12px;border:1px solid rgba(226,232,240,.95);border-radius:8px;background:#fbfdff}.student-profile-value.wide{grid-column:span 2}.student-profile-value span{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.student-profile-value strong{color:var(--brand-ink);font-size:.9rem;font-weight:650;line-height:1.45;white-space:pre-wrap}@media(max-width:720px){.student-guardian-link-options{grid-template-columns:1fr}.student-profile-value.wide{grid-column:span 1}}.guardian-collectors-panel{display:grid;gap:16px}.guardian-collector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.guardian-collector-card{border:1px solid var(--line);border-radius:8px;padding:14px;display:grid;gap:12px;background:#fff;box-shadow:0 12px 28px #151d3f0d}.guardian-collector-card.active{border-color:#22c55e47;background:linear-gradient(135deg,#fff,#f6fdf8)}.guardian-collector-main{display:flex;align-items:center;gap:12px;min-width:0}.guardian-collector-main strong,.guardian-collector-main span,.guardian-collector-main small{display:block}.guardian-collector-main strong{color:var(--brand-ink);font-size:.96rem;font-weight:650}.guardian-collector-main span{margin-top:2px;color:var(--school-primary, var(--brand-blue));font-size:.82rem;font-weight:650}.guardian-collector-main small,.guardian-collector-card p{color:var(--muted);font-size:.8rem;line-height:1.45}.guardian-collector-card p{margin:0}.guardian-collector-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.small-button.danger{color:#991b1b;border-color:#dc262638;background:#fff7f7}.guardian-collector-form{display:grid;gap:14px}.guardian-collector-toggle-box{min-height:100%;display:grid;align-content:center}.mini-summary{display:flex;flex-direction:column;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.mini-summary strong{color:var(--ink);font-size:.96rem}.mini-summary span{color:var(--muted);font-size:.78rem}.small-select{min-width:116px;min-height:34px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font-size:.82rem}.compact-table{margin-top:14px}.staff-portal{display:grid;gap:18px}.staff-profile-strip{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(220px,auto);align-items:center;gap:16px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#fff,#f8fbff 62%,#fffaf0);box-shadow:0 12px 26px #151d3f0d;padding:16px}.staff-avatar{width:58px;height:58px;display:grid;place-items:center;border:1px solid #dbe8f3;border-radius:8px;color:var(--school-primary, var(--brand-blue));background:#fff;overflow:hidden}.staff-avatar img{width:100%;height:100%;object-fit:cover}.staff-profile-strip span,.staff-contract-summary span,.staff-profile-strip small,.staff-contract-summary small{color:var(--muted);font-size:.82rem;font-weight:620}.staff-profile-strip strong,.staff-contract-summary strong{display:block;color:var(--brand-ink);font-weight:720}.staff-profile-strip>div:nth-child(2) strong{font-size:1.15rem}.staff-contract-summary{min-width:220px;border-left:1px solid #dce8f2;padding-left:16px}.staff-metrics .metric-card strong{font-size:1.35rem}.staff-tab-shell{overflow:hidden}.staff-tab-content{display:grid;gap:14px}.staff-section-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 0}.staff-section-actions strong{display:block;color:var(--brand-ink);font-weight:720}.staff-section-actions span{color:var(--muted);font-size:.84rem;font-weight:600}.staff-table-wrap{margin:0 18px 18px}.staff-modal-form{display:grid;gap:16px}.field-grid{display:grid;gap:14px}.field-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-modal-form .form-field{display:grid;min-width:0;gap:6px;color:var(--muted);font-size:.84rem;font-weight:600}.staff-modal-form .form-field input,.staff-modal-form .form-field select,.staff-modal-form .form-field textarea{width:100%;min-height:42px;border:1px solid #cfd9e6;border-radius:8px;color:var(--brand-ink);background:var(--surface);padding:0 11px;outline:none}.staff-modal-form .form-field textarea{min-height:120px;padding:10px 11px;resize:vertical}.staff-modal-form .form-field input:focus,.staff-modal-form .form-field select:focus,.staff-modal-form .form-field textarea:focus{border-color:var(--brand-sky);box-shadow:0 0 0 3px #2196dc2e}@media(max-width:680px){.field-grid.two-columns{grid-template-columns:1fr}}.staff-response-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.staff-response-summary div,.staff-response-box div{border:1px solid #dce8f2;border-radius:8px;background:#fbfdff;padding:12px}.staff-response-summary span,.staff-response-box span{display:block;color:var(--brand-blue);font-size:.72rem;font-weight:760;letter-spacing:.04em;text-transform:uppercase}.staff-response-summary strong{display:block;margin-top:4px;color:var(--brand-ink);font-size:1rem}.staff-response-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.staff-response-box p{margin:6px 0 0;color:var(--text-soft);font-weight:600;line-height:1.45}.checkbox-row{min-height:46px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:0 12px;color:var(--brand-ink);font-weight:650}.checkbox-row input{width:18px;height:18px}@media(max-width:760px){.staff-profile-strip{grid-template-columns:auto minmax(0,1fr)}.staff-contract-summary{grid-column:1 / -1;border-left:0;border-top:1px solid #dce8f2;padding:12px 0 0}.staff-section-actions{align-items:stretch;flex-direction:column}}.teacher-dashboard-v2 .teacher-command-panel{display:grid;grid-template-columns:minmax(260px,.34fr) minmax(0,.66fr);gap:14px;align-items:stretch;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff}.teacher-class-selector{display:grid;gap:6px;border:1px solid #e3edf7;border-radius:8px;padding:12px;background:#f8fbff}.teacher-class-selector span{color:var(--school-primary, var(--brand-blue));font-size:.72rem;font-weight:760;letter-spacing:.06em;text-transform:uppercase}.teacher-class-selector strong{color:var(--brand-ink);font-size:1rem;font-weight:680}.teacher-class-selector select,.teacher-rollcall-meta input{min-height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--brand-ink);padding:0 10px;font:inherit}.teacher-tab-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;align-content:center}.teacher-tab-strip button{min-height:38px;border:1px solid #dce8f2;border-radius:8px;background:#fff;color:var(--text-soft);display:inline-flex;align-items:center;gap:7px;padding:0 12px;font-size:.86rem;font-weight:650}.teacher-tab-strip button.active{border-color:var(--school-primary, var(--brand-blue));color:#fff;background:var(--school-primary, var(--brand-blue))}.teacher-tab-strip button span{min-width:21px;min-height:21px;border-radius:999px;display:inline-grid;place-items:center;padding:0 6px;color:var(--brand-blue);background:#eef6ff;font-size:.74rem}.teacher-panel-actions,.teacher-rollcall-meta{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.teacher-rollcall-meta{justify-content:flex-start;margin-bottom:14px}.teacher-rollcall-meta label{display:grid;gap:5px;min-width:min(260px,100%);color:var(--muted);font-size:.76rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.teacher-rollcall-list,.teacher-assignment-board,.teacher-student-directory{display:grid;gap:10px}.teacher-rollcall-row{display:grid;grid-template-columns:minmax(240px,.42fr) minmax(0,.58fr);gap:12px;align-items:center;border:1px solid #e3edf7;border-radius:8px;padding:12px;background:#fff}.teacher-rollcall-row.dirty{border-color:#f6bc12a3;background:#fffdf5}.teacher-rollcall-student,.teacher-student-card{display:flex;align-items:center;gap:10px}.teacher-rollcall-student img,.teacher-rollcall-student>span,.teacher-student-card img,.teacher-student-card>span{width:42px;height:42px;flex:0 0 42px;border-radius:8px;object-fit:cover}.teacher-rollcall-student>span,.teacher-student-card>span{display:grid;place-items:center;color:var(--school-primary, var(--brand-blue));background:#eef6ff;font-size:.8rem;font-weight:760}.teacher-rollcall-student strong,.teacher-student-card strong{display:block;color:var(--brand-ink);font-size:.94rem;font-weight:680}.teacher-rollcall-student small,.teacher-student-card small{display:block;margin-top:2px;color:var(--muted);font-size:.77rem}.teacher-rollcall-status-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.teacher-rollcall-status-group button{min-height:36px;border:1px solid #dce8f2;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--text-soft);background:#f8fbff;font-size:.8rem;font-weight:650}.teacher-rollcall-status-group button.active{border-color:#1b55a652;color:var(--school-primary, var(--brand-blue));background:#eef6ff}.teacher-assignment-board{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.teacher-assignment-card{display:grid;gap:12px;border:1px solid #e3edf7;border-radius:8px;padding:14px;background:#fbfdff}.teacher-assignment-card h3{margin:10px 0 6px;color:var(--brand-ink);font-size:1rem;font-weight:700}.teacher-assignment-card p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.45}.teacher-assignment-card dl,.teacher-result-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.teacher-assignment-card dt{color:var(--muted);font-size:.7rem;font-weight:760;letter-spacing:.04em;text-transform:uppercase}.teacher-assignment-card dd{margin:4px 0 0;color:var(--brand-ink);font-size:.84rem;font-weight:650}.teacher-results-layout{display:grid;grid-template-columns:minmax(0,.67fr) minmax(300px,.33fr);gap:14px}.teacher-result-table-wrap{margin-top:14px;overflow-x:auto}.teacher-result-table{min-width:720px}.teacher-result-table td:last-child,.teacher-result-table th:last-child{text-align:right}.teacher-remark-form{display:grid;gap:12px}.teacher-remark-form p{margin:0;color:var(--muted);font-weight:650}.teacher-remark-form textarea{min-height:180px;border:1px solid var(--line);border-radius:8px;padding:12px;color:var(--brand-ink);background:#fff;font:inherit;resize:vertical}.teacher-student-directory{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.teacher-student-card{justify-content:space-between;border:1px solid #e3edf7;border-radius:8px;padding:12px;background:#fff}.teacher-student-card>div{flex:1;min-width:0}.teacher-loading-strip{position:fixed;right:18px;bottom:18px;z-index:20;border:1px solid #dce8f2;border-radius:8px;padding:10px 12px;color:var(--brand-blue);background:#fff;box-shadow:0 16px 32px #151d3f29;font-size:.85rem;font-weight:700}.status-pill.present{color:var(--success);background:#e4f6f1}.status-pill.absent{color:var(--danger);background:#fbe3df}@media(max-width:1120px){.teacher-dashboard-v2 .teacher-command-panel,.teacher-results-layout,.teacher-rollcall-row{grid-template-columns:1fr}.teacher-panel-actions{justify-content:flex-start}}@media(max-width:720px){.teacher-rollcall-status-group,.teacher-assignment-card dl,.teacher-result-summary-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.teacher-rollcall-status-group,.teacher-assignment-card dl,.teacher-result-summary-grid{grid-template-columns:1fr}}.online-exam-workspace{overflow:hidden}.online-exam-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:16px 18px 0;border-bottom:1px solid var(--line)}.online-exam-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end;padding-bottom:12px}.online-exam-filters .compact-field{min-width:190px}.online-exam-table table{min-width:1080px}.online-exam-table td:first-child{max-width:360px}.online-exam-table td span,.online-attempt-list td span{display:block;margin-top:4px;color:var(--muted);font-size:.82rem}.online-question-panel,.online-cbt-room,.online-grading-grid{padding:18px}.online-question-list{display:grid;gap:12px}.online-question-card,.online-cbt-question,.online-grade-answer,.online-cbt-launch,.online-cbt-paper{border:1px solid var(--line);border-radius:8px;background:#fff}.online-question-card{display:flex;justify-content:space-between;gap:16px;padding:16px}.online-question-card h3,.online-cbt-question h3,.online-grade-answer h4{margin:6px 0 10px;color:var(--brand-ink);font-size:1rem;line-height:1.45}.online-question-card ul{display:grid;gap:6px;margin:10px 0 0;padding-left:18px}.online-question-card li.correct{color:var(--success);font-weight:700}.online-cbt-launch{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px) auto;gap:16px;align-items:end;padding:16px}.online-cbt-paper{margin-top:16px;overflow:hidden}.online-cbt-paper-header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px;background:#f7fbff;border-bottom:1px solid var(--line)}.online-cbt-question{margin:16px;padding:16px}.online-answer-options{display:grid;gap:10px}.online-answer-options label,.online-option-row,.toggle-field{display:flex;align-items:center;gap:10px}.online-answer-options label,.online-option-row{min-height:42px;padding:9px 11px;border:1px solid #dbe6f2;border-radius:8px;background:#fbfdff}.online-cbt-question textarea,.online-grade-form input,.online-grade-form select,.online-option-row input[type=text],.online-option-row input:not([type]){width:100%}.online-grading-grid{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);gap:16px}.online-attempt-list table{min-width:520px}.online-grading-detail{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.online-grade-answer{margin:14px;padding:14px}.online-grade-answer p{color:var(--muted);margin:0 0 12px}.online-grade-form{display:grid;grid-template-columns:120px 150px minmax(180px,1fr) auto;gap:10px}.online-grade-summary{color:var(--brand-ink)!important;font-weight:700}.online-option-editor{display:grid;gap:10px;margin:12px 0}.online-option-row input:first-child{flex:0 0 auto}.online-exam-check-grid{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}.online-resume-strip{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:14px;padding:12px 14px;border:1px solid #d9e6f4;border-radius:8px;background:#f8fbff}.online-resume-strip>div:first-child{display:grid;gap:3px}.online-resume-strip span,.online-cbt-status-panel small{color:var(--muted);font-size:.82rem}.online-resume-strip>div:last-child,.online-cbt-actions,.online-cbt-question-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.online-cbt-status-panel{display:grid;justify-items:center;gap:4px;min-width:118px;padding:10px 12px;border:1px solid #dbe6f2;border-radius:8px;background:#fff}.online-cbt-timer{color:var(--brand-ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.3rem;font-weight:800;letter-spacing:0}.online-cbt-timer.urgent{color:var(--danger)}.online-cbt-workspace{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;padding:16px}.online-question-navigator{display:grid;align-content:start;gap:12px;padding:14px;border:1px solid #dbe6f2;border-radius:8px;background:#fbfdff}.online-question-navigator>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:8px}.online-question-navigator button{min-height:36px;border:1px solid #dbe6f2;border-radius:8px;color:var(--brand-ink);background:#fff;font-weight:700}.online-question-navigator button.active{color:#fff;border-color:var(--brand-blue);background:var(--brand-blue)}.online-question-navigator button.answered:not(.active){color:var(--success);border-color:#00795338;background:#eaf8f2}.online-cbt-question.active{margin:0;min-height:360px}.online-cbt-question-actions{justify-content:space-between;margin-top:16px}.status-pill.closed,.status-pill.archived,.status-pill.released,.status-pill.graded{color:var(--brand-blue);background:#eef6ff}.status-pill.in-progress{color:#835500;background:#fff8e4}@media(max-width:980px){.online-exam-toolbar,.online-cbt-paper-header,.online-question-card{align-items:stretch;flex-direction:column}.online-cbt-launch,.online-grading-grid,.online-grade-form{grid-template-columns:1fr}}.teacher-row-actions,.teacher-side-stack,.teacher-cbt-attempt-list,.teacher-subject-comment-form,.teacher-subject-comment-list,.teacher-message-form{display:grid;gap:12px}.teacher-row-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.teacher-score-table-wrap{overflow-x:auto;border:1px solid #e3edf7;border-radius:8px}.teacher-score-table{width:100%;min-width:860px;border-collapse:collapse;background:#fff}.teacher-score-table th,.teacher-score-table td{border-bottom:1px solid #e6eef7;padding:10px 12px;text-align:left;vertical-align:middle}.teacher-score-table th{color:var(--muted);background:#f6f9fd;font-size:.72rem;font-weight:760;letter-spacing:.04em;text-transform:uppercase}.teacher-score-table th span,.teacher-score-table td span{display:block;margin-top:2px;color:var(--muted);font-size:.72rem;font-weight:600}.teacher-score-table td strong{display:block;color:var(--brand-ink);font-size:.88rem;font-weight:680}.teacher-score-table input{width:84px;min-height:34px;border:1px solid var(--line);border-radius:8px;padding:0 9px;color:var(--brand-ink);background:#fff;font:inherit}.teacher-subject-comment-form p,.teacher-message-form label,.teacher-subject-comment-form label,.teacher-answer-grade label{color:var(--muted);font-size:.78rem;font-weight:700}.teacher-subject-comment-list label,.teacher-message-form label,.teacher-answer-grade label{display:grid;gap:6px}.teacher-subject-comment-form textarea,.teacher-message-form textarea,.teacher-message-form input,.teacher-answer-grade textarea,.teacher-answer-grade input,.teacher-answer-grade select,.teacher-panel-actions select{border:1px solid var(--line);border-radius:8px;color:var(--brand-ink);background:#fff;font:inherit}.teacher-subject-comment-form textarea,.teacher-message-form textarea,.teacher-answer-grade textarea{min-height:90px;padding:10px 12px;resize:vertical}.teacher-message-form input,.teacher-answer-grade input,.teacher-answer-grade select,.teacher-panel-actions select{min-height:38px;padding:0 10px}.teacher-cbt-attempt-card{display:grid;gap:12px;border:1px solid #e3edf7;border-radius:8px;padding:14px;background:#fbfdff}.teacher-cbt-attempt-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.teacher-cbt-attempt-heading strong{display:block;color:var(--brand-ink);font-size:.98rem;font-weight:700}.teacher-cbt-attempt-heading span,.teacher-answer-grade small{display:block;margin-top:3px;color:var(--muted);font-size:.78rem}.teacher-answer-grade{display:grid;grid-template-columns:minmax(260px,1fr) 110px 130px minmax(220px,.7fr) auto;gap:10px;align-items:end;border:1px solid #e6eef7;border-radius:8px;padding:12px;background:#fff}.teacher-answer-grade strong{color:var(--brand-ink);font-size:.9rem;font-weight:700}.teacher-answer-grade p{margin:6px 0 0;color:var(--text-soft);font-size:.86rem;line-height:1.45}.teacher-message-options{display:flex;flex-wrap:wrap;gap:12px}.teacher-message-options label{display:inline-flex;align-items:center;gap:8px;border:1px solid #e3edf7;border-radius:8px;padding:10px 12px;background:#f8fbff;color:var(--brand-ink);font-size:.86rem;font-weight:650}.teacher-message-options input{width:16px;height:16px}@media(max-width:1180px){.teacher-answer-grade{grid-template-columns:1fr 110px 130px}.teacher-answer-comment,.teacher-answer-grade .primary-action{grid-column:1 / -1}}@media(max-width:720px){.teacher-cbt-attempt-heading{flex-direction:column}.teacher-answer-grade{grid-template-columns:1fr}}
