@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";
:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-primary:#062a55;--color-primary-strong:#002045;--color-secondary:#2c694e;--color-bg:#f8f9ff;--color-surface:#fff;--color-surface-soft:#eff4ff;--color-surface-blue:#d6e3ff;--color-text:#0b1c30;--color-muted:#43474e;--color-border:#c4c6cf;--color-success:#0f766e;--color-warning:#b45309;--color-danger:#ba1a1a;--role-color:#062a55;--brand-navy:#062a55;--brand-gold:#f4b000;--brand-orange:#f26a13}*{box-sizing:border-box}html,body{min-height:100%}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:#f4b0002e;margin:0;line-height:1.5}a{color:inherit}button,input,select,textarea{font:inherit}button,a,select,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #f4b00073}.t-app{background:var(--color-bg);min-height:100vh;color:var(--color-text)}.t-sidebar{background:var(--brand-navy);color:#fff;z-index:40;border-right:0;flex-direction:column;width:292px;padding:28px 16px 18px;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:18px 0 42px #051c392e}.t-side-brand{border-bottom:1px solid #ffffff2e;align-items:center;gap:12px;min-height:78px;margin-bottom:16px;padding:0 0 22px;text-decoration:none;display:flex}.t-side-brand>img{object-fit:contain;flex:none;width:48px;height:64px}.t-teacher-profile-card{background:#ffffff14;border:1px solid #ffffff2e;border-radius:16px;align-items:center;gap:12px;margin-bottom:16px;padding:12px;display:flex}.t-teacher-profile-card img{object-fit:cover;background:#fff;border-radius:999px;width:46px;height:46px}.t-teacher-profile-card strong,.t-teacher-profile-card small{display:block}.t-teacher-profile-card strong{color:#fff;font-size:13px}.t-teacher-profile-card small{color:#ffffffb8;margin-top:3px;font-size:12px}.brand-mark{background:var(--role-color);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;font-weight:800;display:inline-flex}.t-side-brand strong,.t-mobile-bar strong{color:var(--color-primary-strong);font-size:18px;line-height:1.1;display:block}.t-side-brand strong{color:#fff;text-transform:uppercase;font-family:Georgia,Times New Roman,serif;font-size:17px}.t-side-brand small,.t-mobile-bar small{color:var(--color-muted);margin-top:3px;font-size:12px;font-weight:600;display:block}.t-side-brand small{color:var(--brand-gold);text-transform:uppercase}.t-side-nav{flex-direction:column;gap:4px;padding-right:4px;display:flex;overflow-y:auto}.t-side-nav a{color:#ffffffc7;border-radius:10px;align-items:center;gap:12px;min-height:46px;padding:0 12px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.t-side-nav a:hover,.t-side-nav a.active{color:var(--brand-navy);background:#fff}.t-side-nav a.active{box-shadow:none}.t-side-logout{color:#ffb4b4;cursor:pointer;background:0 0;border:0;border-top:1px solid #ffffff2e;border-radius:0;justify-content:center;align-items:center;gap:8px;min-height:48px;margin-top:auto;font-weight:800;display:flex}.t-main{background:radial-gradient(circle at 76% 6%,#f4b0001f,#0000 28%),linear-gradient(#f5f8ff 0%,#eef3fb 100%);min-height:100vh;margin-left:292px;padding:30px 32px 96px}.t-page-head{justify-content:space-between;align-items:flex-start;gap:20px;min-height:78px;margin-bottom:24px;display:flex}.t-title-lockup{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;min-width:0;display:grid}.t-page-image-mark{background:linear-gradient(145deg,#fff 0%,#f7faff 100%);border:1px solid #e3e8f2;border-radius:20px;place-items:center;width:58px;height:58px;display:grid;box-shadow:0 16px 28px #062a5514}.t-page-image-mark img{object-fit:contain;width:42px;height:42px}.t-page-head h1{letter-spacing:0;margin:0;font-size:32px;line-height:1.15}.t-page-head p{color:var(--color-muted);margin:6px 0 0;font-size:14px}.t-eyebrow{letter-spacing:.08em;text-transform:uppercase;font-weight:800;line-height:1;color:var(--role-color)!important;margin:0 0 8px!important;font-size:11px!important}.t-head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.t-school-switcher{border:1px solid var(--color-border);background:#ffffffeb;border-radius:16px;align-items:center;gap:9px;min-height:42px;padding:6px 10px;display:inline-flex;box-shadow:0 10px 24px #062a5514}.t-school-switcher span{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900}.t-school-switcher select{color:var(--color-primary-strong);background:0 0;border:0;outline:0;max-width:230px;font-size:13px;font-weight:900}.t-school-switcher select:disabled{opacity:.6}.t-switch-error{color:#991b1b;background:#fee2e2;border-radius:999px;align-items:center;min-height:34px;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.t-teacher-chip,.t-badge{color:#166534;white-space:nowrap;background:#dcfce7;border-radius:999px;align-items:center;gap:7px;min-height:32px;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.t-badge.success{color:#166534;background:#dcfce7}.t-badge.warning{color:#92400e;background:#fef3c7}.t-badge.danger{color:#991b1b;background:#fee2e2}.t-badge.neutral{background:var(--color-surface-soft);color:var(--color-muted)}.t-mobile-bar{border-bottom:1px solid var(--color-border);z-index:32;background:#f8f9fff5;justify-content:space-between;align-items:center;min-height:68px;padding:10px 16px;display:none;position:sticky;top:0}.t-drawer-backdrop{z-index:60;background:#0b1c307a;display:flex;position:fixed;inset:0}.t-drawer{background:var(--color-surface);flex-direction:column;width:min(88vw,330px);height:100%;padding:18px;display:flex}.t-drawer-head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.t-drawer .t-side-brand{color:var(--color-primary-strong);border-bottom-color:var(--color-border)}.t-drawer .t-side-brand strong{color:var(--color-primary-strong)}.t-drawer .t-side-brand small{color:var(--color-muted)}.t-drawer .t-side-nav a{color:var(--color-muted);background:0 0}.t-drawer .t-side-nav a:hover,.t-drawer .t-side-nav a:focus-visible{color:var(--color-primary-strong);background:var(--color-surface-soft)}.t-drawer .t-side-nav a.active{color:#fff;background:var(--brand-navy);box-shadow:none}.t-drawer .t-side-logout{color:var(--color-danger);background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px}.t-filter-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:flex-end;gap:14px;margin-bottom:22px;padding:16px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field span,.field label,.field-label{color:var(--color-muted);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:800}.input,.select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:8px;outline:none;padding:10px 12px}.input:focus,.select:focus{border-color:var(--role-color);box-shadow:0 0 0 2px color-mix(in srgb, var(--role-color) 16%, transparent)}select,select option,.select option{color:var(--color-text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff}select option{min-height:36px;padding:8px 12px}select:disabled,.select:disabled{color:#64748b;cursor:not-allowed;opacity:1;background:#f3f6fb}.primary-btn,.secondary-btn,.icon-btn,.home-btn{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:48px;font-size:14px;font-weight:800;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s,opacity .16s;display:inline-flex}.primary-btn{background:var(--role-color);color:#fff;text-transform:uppercase;border:0;padding:0 20px}.secondary-btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:0 16px}.primary-btn:disabled,.secondary-btn:disabled{opacity:.62;cursor:default}.icon-btn,.home-btn{border:1px solid var(--color-border);background:var(--color-surface);width:48px;color:var(--color-text);padding:0}.home-btn{background:var(--role-color);border-color:var(--role-color);color:#fff}.primary-btn:hover:not(:disabled){box-shadow:0 14px 26px #062a552e}.secondary-btn:hover,.icon-btn:hover,.home-btn:hover{border-color:#b9c7dc;box-shadow:0 12px 24px #062a5514}.primary-btn:active,.secondary-btn:active,.icon-btn:active,.home-btn:active,.quick-icon-tile:active,.module-tile:active{transform:scale(.97)}.primary-btn:focus-visible,.secondary-btn:focus-visible,.icon-btn:focus-visible,.home-btn:focus-visible,.quick-icon-tile:focus-visible,.module-tile:focus-visible{outline:3px solid color-mix(in srgb, var(--role-color) 30%, transparent);outline-offset:3px}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:26px;display:grid}.metric-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;justify-content:space-between;align-items:center;gap:20px;min-height:112px;padding:22px;display:flex}.metric-card.feature{background:var(--role-color);color:#fff;border-color:var(--role-color)}.metric-label{color:var(--color-muted);margin:0 0 8px;font-size:15px}.metric-card.feature .metric-label{color:#ffffffc7}.metric-value{margin:0;font-size:34px;font-weight:800;line-height:1}.content-card,.t-row-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;padding:20px;box-shadow:0 16px 30px #062a550d}.dashboard-section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.dashboard-section-head h2{color:var(--brand-navy);letter-spacing:0;margin:0;font-family:Georgia,Times New Roman,serif;font-size:28px;line-height:1.1}.dashboard-section-head p{color:var(--color-muted);margin:5px 0 0;font-size:14px;font-weight:700}.quick-icon-grid{grid-template-columns:repeat(auto-fit,minmax(176px,1fr));gap:18px;display:grid}.teacher-quick-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.teacher-quick-card{margin-bottom:22px}.quick-icon-tile{background:linear-gradient(145deg,#fff 0%,#f7faff 100%);border:1px solid #e3e8f2;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:154px;padding:16px;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;box-shadow:0 18px 32px #062a5512}.quick-icon-tile:hover{border-color:#c6d2e5;transform:translateY(-2px);box-shadow:0 22px 38px #062a551c}.quick-icon-tile img{object-fit:contain;width:58px;height:58px}.quick-icon-tile span{color:#1b2738;text-align:center;font-size:17px;font-weight:900}.quick-icon-tile small{color:#66758a;text-align:center;max-width:18ch;font-size:11px;font-weight:700;line-height:1.35}.t-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.t-two-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px;display:grid}.t-list{gap:14px;display:grid}.t-row-top{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.t-row-card h2,.t-row-card h3,.content-card h2,.content-card h3{letter-spacing:0;margin:0}.t-row-card p,.content-card p{color:var(--color-muted);margin:8px 0 0}.page-action-row{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:18px;display:flex}.fine-entry-card{margin-bottom:18px;overflow:hidden}.fine-entry-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;display:grid}.fine-entry-icon{width:54px;height:54px;color:var(--role-color);background:color-mix(in srgb, var(--role-color) 12%, #fff);border:1px solid color-mix(in srgb, var(--role-color) 20%, var(--color-border));border-radius:16px;place-items:center;display:grid}.fine-entry-copy{min-width:0}.fine-kicker{color:#006b45;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900;display:inline-flex}.fine-sync-note{color:#006b45;white-space:nowrap;background:#ecfdf5;border-radius:999px;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-size:12px;font-weight:900;display:inline-flex}.fine-entry-grid{grid-template-columns:minmax(210px,1.25fr) minmax(180px,1fr) minmax(130px,.7fr) minmax(150px,.8fr);gap:14px;margin-top:18px;display:grid}.fine-entry-preview{background:linear-gradient(#fbfdff 0%,#f5f8fd 100%);border:1px solid #dbe7f8;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;padding:14px;display:grid}.fine-entry-preview div{min-width:0}.fine-entry-preview span{color:var(--color-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:900;display:block}.fine-entry-preview strong{color:var(--color-text);overflow-wrap:anywhere;font-size:15px;display:block}.fine-entry-actions{justify-content:space-between;align-items:center;gap:14px;margin-top:14px;display:flex}.fine-entry-actions p{max-width:58ch;margin:0}.collection-entry-card{background:linear-gradient(#fff 0%,#f9fcff 100%);border-color:#bcd8ff;transition:border-color .18s,box-shadow .18s,transform .18s;box-shadow:0 18px 42px #062a5514}.collection-entry-card:hover{border-color:#9fbde7;box-shadow:0 22px 48px #062a551c}.collection-entry-card:focus-within{border-color:#84a8db;box-shadow:0 0 0 4px #062a5514,0 20px 46px #062a551a}.collection-entry-card .fine-entry-icon{color:#062a55;background:#eaf3ff;border-color:#bfd4f1}.collection-entry-grid{grid-template-columns:minmax(220px,1.2fr) minmax(220px,1.1fr) minmax(130px,.65fr) minmax(145px,.75fr) minmax(160px,.8fr) minmax(180px,1fr)}.textarea-input{resize:vertical;min-height:54px;padding-top:12px;line-height:1.35}.collection-action-buttons{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.collection-action-buttons .primary-btn,.collection-action-buttons .secondary-btn{min-width:170px}.invoice-chip-list{gap:8px;margin-top:12px;display:grid}.invoice-chip{background:#f8fbff;border:1px solid #dbe7f8;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;transition:border-color .16s,background-color .16s,box-shadow .16s;display:flex}.invoice-chip:hover{background:#fff;border-color:#b5cce8;box-shadow:0 8px 18px #062a5514}.invoice-chip strong,.table-invoice-cell strong{color:var(--brand-navy);overflow-wrap:anywhere;font-size:13px;display:block}.invoice-chip span,.table-invoice-cell span{color:var(--color-muted);overflow-wrap:anywhere;margin-top:3px;font-size:12px;font-weight:700;display:block}.tiny-action-btn{min-height:36px;color:var(--brand-navy);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd8eb;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:900;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s;display:inline-flex}.tiny-action-btn:hover{background:#f8fbff;border-color:#9fb5d2;transform:translateY(-1px);box-shadow:0 10px 20px #062a551f}.tiny-action-btn:active{transform:scale(.97)}.recent-payment-list{gap:10px;margin-top:14px;display:grid}.recent-payment-row{background:#fff;border:1px solid #dbe7f8;border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;transition:border-color .16s,background-color .16s,box-shadow .16s;display:grid}.recent-payment-row:hover{background:#fbfdff;border-color:#b5cce8;box-shadow:0 8px 18px #062a5514}.recent-payment-row strong{color:var(--brand-navy);overflow-wrap:anywhere;display:block}.recent-payment-row span{color:var(--color-muted);margin-top:3px;font-size:12px;font-weight:800;display:block}.accounts-hero-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.accounts-hero-grid .report-metric-card{min-height:118px}.accounts-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.accounts-action-card{width:100%;min-height:128px;color:var(--brand-navy);text-align:left;cursor:pointer;background:linear-gradient(145deg,#fff 0%,#f7faff 100%);border:1px solid #d8e3f2;border-radius:22px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;text-decoration:none;transition:transform .17s,border-color .17s,box-shadow .17s,background-color .17s;display:grid;box-shadow:0 18px 36px #062a5512}.accounts-action-card:hover{background:#fff;border-color:#c1d2e9;transform:translateY(-2px);box-shadow:0 24px 44px #062a551c}.accounts-action-card:active{transform:scale(.985)}.accounts-action-card:focus-visible,.accounts-class-card:focus-visible,.accounts-recent-row:focus-visible{outline-offset:3px;outline:3px solid #062a552e}.accounts-action-icon{width:52px;height:52px;color:var(--brand-navy);background:#eaf3ff;border-radius:18px;justify-content:center;align-items:center;display:inline-flex}.accounts-action-card strong{color:var(--brand-navy);font-size:20px;line-height:1.15;display:block}.accounts-action-card small{color:var(--color-muted);margin-top:6px;font-size:13px;font-weight:750;line-height:1.35;display:block}.accounts-section{border-radius:24px;margin-bottom:18px}.accounts-workflow-grid{grid-template-columns:1fr;align-items:start;gap:16px;margin-bottom:18px;display:grid}.accounts-entry-panel{min-width:0;overflow:hidden}.accounts-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.accounts-entry-grid .wide{grid-column:1/-1}.accounts-entry-grid .primary-btn,.accounts-entry-grid .secondary-btn{text-align:center;white-space:normal;align-self:end;width:100%;min-width:0;min-height:46px;padding-inline:12px;line-height:1.2}.accounts-structure-list{gap:9px;margin-top:16px;display:grid}.accounts-structure-row{background:#f8fbff;border:1px solid #dbe7f8;border-radius:16px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:64px;padding:12px 14px;display:grid}.accounts-structure-row strong,.accounts-structure-row b{color:var(--brand-navy);overflow-wrap:anywhere;display:block}.accounts-structure-row small,.accounts-structure-row span{color:var(--color-muted);font-size:12px;font-weight:800}.accounts-sync-note{color:var(--brand-navy);background:#f8fbff;border:1px solid #d8e3f2;border-radius:16px;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;font-weight:850;display:flex}.compact-empty{min-height:96px}.accounts-class-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px;margin-top:18px;display:grid}.accounts-class-card{min-height:198px;color:var(--brand-navy);background:linear-gradient(#fff 0%,#f9fcff 100%);border:1px solid #d8e3f2;border-radius:20px;flex-direction:column;justify-content:space-between;padding:18px;text-decoration:none;transition:transform .17s,border-color .17s,box-shadow .17s;display:flex;box-shadow:0 16px 30px #062a550f}.accounts-class-card:hover{border-color:#bad0eb;transform:translateY(-2px);box-shadow:0 22px 40px #062a551a}.accounts-class-card:active,.accounts-recent-row:active{transform:scale(.985)}.accounts-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.accounts-card-top strong{color:var(--brand-navy);overflow-wrap:anywhere;font-size:22px;line-height:1.1;display:block}.accounts-card-top span{color:var(--color-muted);overflow-wrap:anywhere;margin-top:5px;font-size:12px;font-weight:850;display:block}.accounts-card-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.accounts-card-meta span{background:#f8fbff;border:1px solid #e1e9f5;border-radius:16px;flex-direction:column;justify-content:center;min-height:62px;padding:10px;display:flex}.accounts-card-meta b{color:var(--brand-navy);font-size:20px;line-height:1}.accounts-card-meta small{color:var(--color-muted);letter-spacing:.02em;text-transform:uppercase;margin-top:5px;font-size:10px;font-weight:900}.accounts-progress{background:#e6edf7;border-radius:999px;height:8px;margin-top:16px;overflow:hidden}.accounts-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--brand-navy) 0%, var(--brand-gold) 100%);min-width:6px;height:100%;display:block}.accounts-class-card p{color:var(--brand-navy);margin:14px 0 0;font-size:20px;font-weight:950}.accounts-empty-inline{min-height:138px;color:var(--brand-navy);text-align:center;background:#f8fbff;border:1px dashed #cbd8eb;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px;display:flex}.accounts-empty-inline strong{font-size:17px}.accounts-empty-inline span{color:var(--color-muted);font-size:13px;font-weight:750}.accounts-recent-list{gap:10px;margin-top:18px;display:grid}.accounts-recent-row{color:var(--brand-navy);background:#fff;border:1px solid #dbe7f8;border-radius:18px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;transition:transform .17s,border-color .17s,box-shadow .17s,background-color .17s;display:grid}.accounts-recent-row:hover{background:#fbfdff;border-color:#b7cce8;transform:translateY(-1px);box-shadow:0 12px 24px #062a5514}.accounts-recent-row strong,.accounts-recent-row b{color:var(--brand-navy);overflow-wrap:anywhere;display:block}.accounts-recent-row small{color:var(--color-muted);overflow-wrap:anywhere;margin-top:4px;font-size:12px;font-weight:800;display:block}.accounts-recent-main{min-width:0}.accounts-report-panel{overflow:hidden}.accounts-report-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.accounts-report-toolbar h2{color:var(--brand-navy);margin:0;font-size:24px;line-height:1.15}.accounts-report-toolbar p{color:var(--color-muted);margin:6px 0 0;font-weight:750;line-height:1.4}.accounts-date-control{min-width:min(100%,390px);color:var(--brand-navy);background:#f8fbff;border:1px solid #d7e3f3;border-radius:18px;grid-template-columns:auto minmax(150px,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.accounts-date-control input{width:100%;min-height:44px;color:var(--brand-navy);font:inherit;background:#fff;border:1px solid #cfdbec;border-radius:14px;padding:0 12px;font-weight:850}.accounts-date-control input:focus{outline-offset:2px;outline:3px solid #062a5529}.accounts-breakdown-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.accounts-breakdown-card{background:linear-gradient(145deg,#fff 0%,#f8fbff 100%);border:1px solid #dbe7f8;border-radius:20px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;min-height:126px;padding:16px;display:grid;box-shadow:0 14px 28px #062a550f}.accounts-breakdown-card.feature{background:var(--brand-navy);color:#fff}.accounts-breakdown-card span{width:48px;height:48px;color:var(--brand-navy);background:#eaf3ff;border-radius:16px;justify-content:center;align-items:center;display:inline-flex}.accounts-breakdown-card.feature span{color:#fff;background:#ffffff24}.accounts-breakdown-card small,.accounts-breakdown-card p{color:var(--color-muted);margin:0;font-size:12px;font-weight:850;line-height:1.35;display:block}.accounts-breakdown-card.feature small,.accounts-breakdown-card.feature p{color:#ffffffc7}.accounts-breakdown-card strong{color:var(--brand-navy);overflow-wrap:anywhere;margin:5px 0;font-size:28px;line-height:1;display:block}.accounts-breakdown-card.feature strong{color:#fff}.accounts-report-lists{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.accounts-breakdown-list{background:#fff;border:1px solid #dbe7f8;border-radius:18px;padding:14px}.accounts-breakdown-list h3{color:var(--brand-navy);margin:0 0 10px;font-size:18px;line-height:1.15}.accounts-breakdown-list>p{color:var(--color-muted);background:#f8fbff;border:1px dashed #cbd8eb;border-radius:14px;margin:0;padding:14px;font-weight:800}.accounts-breakdown-row{border-top:1px solid #e3edf8;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:10px 0;display:grid}.accounts-breakdown-row:first-of-type{border-top:0}.accounts-breakdown-row strong,.accounts-breakdown-row b{color:var(--brand-navy);overflow-wrap:anywhere;display:block}.accounts-breakdown-row small{color:var(--color-muted);margin-top:3px;font-size:12px;font-weight:800;display:block}@media (max-width:980px){.accounts-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.accounts-action-grid,.accounts-workflow-grid,.accounts-report-toolbar{grid-template-columns:1fr}.accounts-date-control{width:100%}.accounts-breakdown-grid,.accounts-report-lists{grid-template-columns:1fr}}@media (max-width:640px){.accounts-hero-grid{grid-template-columns:1fr;gap:10px;margin-bottom:14px}.accounts-hero-grid .report-metric-card{min-height:104px}.accounts-action-card{border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;min-height:104px;padding:14px}.accounts-action-icon{border-radius:16px;width:46px;height:46px}.accounts-action-card strong{font-size:17px}.accounts-action-card small{font-size:12px}.accounts-section{border-radius:20px}.accounts-entry-grid,.accounts-structure-row{grid-template-columns:1fr}.accounts-entry-grid .primary-btn,.accounts-entry-grid .secondary-btn{width:100%}.accounts-section .section-heading-row{align-items:stretch}.accounts-section .section-heading-row .secondary-btn{width:100%}.accounts-report-toolbar h2{font-size:21px}.accounts-date-control{grid-template-columns:auto minmax(0,1fr)}.accounts-date-control .secondary-btn{grid-column:1/-1;width:100%}.accounts-breakdown-card{border-radius:18px;min-height:108px;padding:14px}.accounts-breakdown-card strong{font-size:24px}.accounts-card-top{flex-direction:column;align-items:flex-start}.accounts-card-meta{gap:6px}.accounts-card-meta span{min-height:56px;padding:8px}.accounts-recent-row{grid-template-columns:1fr;align-items:stretch}}.t-table-wrap{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;overflow-x:auto}.t-table{border-collapse:collapse;width:100%;min-width:720px}.t-table th,.t-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;padding:13px 14px}.t-table th{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;font-size:12px;font-weight:800}.t-table tr:last-child td{border-bottom:0}.module-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;display:grid}.module-grid.compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.module-tile{border:1px solid var(--color-border);background:var(--color-surface);min-height:150px;color:var(--color-text);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:18px 12px;text-decoration:none;display:flex}.module-tile:hover{border-color:var(--role-color);background:var(--color-surface-soft)}.tile-icon{background:var(--color-surface-blue);width:52px;height:52px;color:var(--role-color);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.tile-label{color:var(--color-text);font-size:14px;font-weight:800}.t-teacher-hero{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;padding:20px;display:flex}.t-teacher-hero h2{margin:12px 0 0;font-size:26px;line-height:1.15}.t-teacher-hero p{color:var(--color-muted);margin:8px 0 0}.t-hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.teacher-welcome-layout{grid-template-columns:minmax(0,1fr) 340px;gap:28px;margin-bottom:28px;display:grid}.teacher-welcome-card{background:linear-gradient(90deg,#fffffffa 0%,#ffffffe0 56%,#fff7ea94 100%),url(/brand/teacher-banner-bg.png) 100%/contain no-repeat;border:1px solid #f4d79e;border-radius:16px 28px 28px 16px;align-items:center;min-height:218px;display:flex;overflow:hidden;box-shadow:0 24px 46px #062a5514}.teacher-welcome-copy{gap:22px;max-width:620px;padding:28px 34px;display:flex}.teacher-vertical-line{background:var(--brand-orange);flex:none;width:8px;min-height:132px}.teacher-welcome-copy h2{color:var(--brand-navy);letter-spacing:0;margin:14px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,4.2vw,46px);line-height:1}.teacher-welcome-copy p{color:#53647d;max-width:440px;margin:14px 0 0;font-size:16px;line-height:1.45}.teacher-hero-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.teacher-today-card{border:1px solid var(--color-border);background:#ffffffeb;border-radius:16px;padding:22px;box-shadow:0 20px 36px #062a5512}.teacher-today-card h2{color:var(--brand-navy);margin:0;font-family:Georgia,Times New Roman,serif;font-size:24px}.teacher-compact-schedule{gap:12px;display:grid}.teacher-compact-row{background:#f8fbff;border:1px solid #e4eaf4;border-radius:12px;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:12px;min-height:70px;padding:12px 14px;text-decoration:none;display:grid}.teacher-compact-row strong{color:var(--brand-orange);font-size:16px}.teacher-compact-row span{color:var(--color-text);font-weight:900;display:block}.teacher-compact-row small{color:var(--color-muted);margin-top:3px;font-size:12px;font-weight:700;display:block}.t-dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px;display:grid}.t-timetable-panel{min-height:620px}.t-timeline{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;overflow:hidden}.t-time-row{border-bottom:1px solid var(--color-border);grid-template-columns:78px 12px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:70px;padding:10px 14px;display:grid}.t-time-row:last-child{border-bottom:0}.t-time-row.complete{opacity:.72;background:#f8fafc}.t-time-row.current{box-shadow:inset 4px 0 0 var(--color-primary);background:#eff4ff}.t-time-row.sub{box-shadow:inset 4px 0 0 var(--color-danger);background:#fff7f7}.t-time-row.break{min-height:48px;color:var(--color-muted);background:#f8fafc}.t-time-index{text-align:center}.t-time-index strong{font-size:13px;display:block}.t-time-index span{color:var(--color-muted);font-size:12px;font-weight:700;display:block}.t-time-pin{background:var(--color-border);border-radius:999px;width:6px;height:42px}.t-time-row.current .t-time-pin{background:var(--color-primary)}.t-time-row.sub .t-time-pin{background:var(--color-danger)}.t-time-row.later .t-time-pin{background:var(--role-color)}.t-time-main h3{margin:0;font-size:17px}.t-time-main p{color:var(--color-muted);margin:4px 0 0}.t-right-rail{align-content:start;gap:18px;display:grid}.teacher-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:flex-start;gap:18px;display:grid}.teacher-insight-grid .content-card{min-height:100%}.t-sub-alert{border-color:#fecaca}.t-sub-alert h2{margin-top:18px}.t-queue-row{border:1px solid var(--color-border);background:#f8fafc;border-radius:10px;padding:14px}.t-queue-link{color:inherit;cursor:pointer;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;display:block}.t-queue-link:hover,.t-queue-link:focus-visible{border-color:color-mix(in srgb, var(--role-color) 28%, var(--color-border));background:#fff;transform:translateY(-1px);box-shadow:0 14px 28px #062a5514}.t-queue-link:active{transform:scale(.985)}.t-queue-link svg{color:var(--role-color);flex:none}.t-queue-row p{color:var(--color-muted);margin:10px 0 0}.t-mini-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.t-mini-stats div{border:1px solid var(--color-border);background:#f8fafc;border-radius:10px;padding:12px}.t-mini-stats span{color:var(--role-color);font-size:22px;font-weight:800;display:block}.t-mini-stats strong{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;display:block}.t-segmented{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;gap:4px;padding:4px;display:inline-flex}.t-segmented button{min-height:40px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 14px;font-weight:800}.t-segmented button.active{background:var(--role-color);color:#fff}.t-modal-backdrop{z-index:80;background:#0b1c3080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.t-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;width:min(100%,620px);max-height:calc(100vh - 40px);padding:24px;overflow:auto}.bottom-nav{border-top:1px solid var(--color-border);z-index:30;background:#eef4ff;justify-content:center;align-items:center;gap:min(5vw,34px);min-height:80px;display:none;position:fixed;bottom:0;left:0;right:0}.bottom-nav a,.bottom-nav button{min-width:72px;min-height:56px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.bottom-nav a.active{color:var(--brand-navy);background:#fff2bf}@keyframes spin{to{transform:rotate(360deg)}}.erp-state-shell{place-items:center;min-height:62vh;padding:24px;display:grid}.erp-state-card{text-align:center;background:#fff;border:1px solid #e2e8f3;border-radius:20px;justify-items:center;gap:18px;width:min(100%,430px);padding:34px 28px;display:grid;box-shadow:0 24px 54px #062a551a}.erp-state-visual{width:108px;height:74px;color:var(--role-color);background:linear-gradient(145deg,#ffffffe0,#e7eefae6),radial-gradient(circle at 50% 0,#fff,#0000 62%);border-radius:18px;place-items:center;display:grid;box-shadow:0 20px 32px #062a551f}.erp-state-card h2{color:var(--color-text);margin:0;font-size:26px;line-height:1.12}.erp-state-card p{color:var(--color-muted);margin:9px 0 0;font-size:14px;font-weight:700}.erp-state-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.auth-shell{background:var(--color-bg);flex-direction:column;min-height:100vh;display:flex}.auth-header{height:72px;color:var(--color-primary-strong);align-items:center;gap:12px;padding:0 32px;display:flex}.auth-header strong{font-size:24px}.auth-main{flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.auth-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;width:min(100%,520px);padding:34px}.auth-card-header{text-align:center;margin-bottom:26px}.auth-card-header h1{margin:14px 0 8px;font-size:28px;line-height:1.2}.auth-card-header p{color:var(--color-muted);margin:0}.auth-mark{width:52px;height:52px;color:var(--role-color);background:#dcfce7;border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.error-box{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:18px;padding:12px 14px;font-size:13px;font-weight:700}.locked-note{border-top:1px solid var(--color-border);color:var(--color-muted);text-align:center;margin-top:22px;padding-top:18px;font-size:13px}.privacy-policy-link{color:var(--color-primary);text-underline-offset:3px;margin-top:10px;font-weight:800;display:inline-block}.privacy-notice-backdrop{z-index:120;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#062a5594;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.privacy-notice{border:1px solid var(--color-border);background:var(--color-surface);border-radius:20px;width:min(100%,440px);max-height:calc(100dvh - 40px);padding:26px;overflow:auto;box-shadow:0 24px 70px #062a5547}.privacy-notice-icon{width:52px;height:52px;color:var(--color-primary);background:var(--color-surface-blue);border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.privacy-notice h2{color:var(--color-primary-strong);margin:16px 0 8px;font-size:24px;line-height:1.2}.privacy-notice p{color:var(--color-muted);margin:0;font-size:15px;line-height:1.6}.privacy-notice-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.privacy-notice-actions .primary-btn,.privacy-notice-actions .secondary-btn{justify-content:center;align-items:center;min-height:46px;text-decoration:none;display:inline-flex}@media (max-width:480px){.privacy-notice{border-radius:18px;padding:22px 18px}.privacy-notice-actions{flex-direction:column-reverse}.privacy-notice-actions .primary-btn,.privacy-notice-actions .secondary-btn{width:100%}}@media (max-width:980px){.t-sidebar{display:none}.t-mobile-bar,.bottom-nav{display:flex}.t-main{margin-left:0;padding:22px 16px 104px}.t-page-head{gap:14px;margin-bottom:18px;display:grid}.t-title-lockup{align-items:flex-start}.t-page-head h1{overflow-wrap:anywhere}.t-page-head p{max-width:100%}.t-head-actions{grid-template-columns:repeat(auto-fit,minmax(140px,max-content));justify-content:flex-start;margin-top:0;display:grid}.t-head-actions .secondary-btn,.t-head-actions .primary-btn{min-width:0}.t-two-grid,.teacher-welcome-layout,.teacher-insight-grid,.t-dashboard-grid,.summary-grid{grid-template-columns:1fr}.t-teacher-hero{display:grid}.t-hero-actions{justify-content:flex-start}.t-main>section[style*=grid-template-columns],.t-main>div[style*=grid-template-columns],.content-card>div[style*=grid-template-columns],.content-card>form[style*=grid-template-columns]{grid-template-columns:1fr!important}.t-main [style*=minWidth],.t-main [style*=min-width]{max-width:100%!important}}@media (max-width:640px){.t-page-head h1{font-size:26px}.t-title-lockup{grid-template-columns:54px minmax(0,1fr);gap:12px}.t-page-image-mark{border-radius:18px;width:54px;height:54px}.t-page-image-mark img{width:38px;height:38px}.t-mobile-bar{gap:10px;padding:10px 12px}.t-mobile-bar strong{font-size:16px}.t-head-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.t-head-actions .t-badge,.t-head-actions .t-teacher-chip,.t-school-switcher,.t-switch-error{white-space:normal;text-align:center;justify-content:center;min-width:0}.t-school-switcher{grid-column:1/-1;justify-content:space-between}.t-school-switcher select{max-width:100%}.t-row-top{display:grid}.t-segmented{width:100%}.t-segmented button{flex:1}.t-time-row{grid-template-columns:58px 8px minmax(0,1fr)}.t-time-row .t-badge{grid-column:3;justify-self:start;margin-top:6px}.t-mini-stats{grid-template-columns:1fr}.dashboard-section-head{display:block}.quick-icon-grid,.teacher-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quick-icon-tile{border-radius:14px;gap:10px;min-height:122px}.quick-icon-tile img{width:44px;height:44px}.quick-icon-tile span{font-size:13px}.quick-icon-tile small{display:none}.teacher-welcome-card{background:linear-gradient(#fffffffa 0%,#fffaf3e6 100%),url(/brand/teacher-banner-bg.png) 100% 100%/78% no-repeat;min-height:270px}.teacher-welcome-copy{gap:18px;padding:28px 24px}.teacher-welcome-copy p{font-size:16px}.auth-card{padding:26px}}@media print{.t-sidebar,.t-mobile-bar,.bottom-nav,.t-head-actions,.t-filter-bar{display:none!important}.t-main{margin:0;padding:0}body{background:#fff}}@media (max-width:980px){html,body{overscroll-behavior-y:contain;background:#f4f7fc;overflow-x:hidden}.t-app{background:linear-gradient(#fff 0%,#f4f7fc 44%,#eef3fa 100%)}.t-mobile-bar{z-index:45;color:#fff;background:radial-gradient(circle at 86% 10%,#ffb7032e,#0000 150px),linear-gradient(135deg,#062a55 0%,#07376e 56%,#031d3d 100%);border:0;border-radius:0 0 30px 30px;grid-template-columns:48px minmax(0,1fr) 48px;align-items:flex-start;gap:10px;min-height:128px;padding:18px 14px 38px;display:grid;position:fixed;inset:0 0 auto;overflow:hidden;box-shadow:0 18px 36px #062a5538}.t-mobile-bar:after{content:"";clip-path:ellipse(70% 52% at 74% 0);opacity:.95;background:#f4b000;height:72px;position:absolute;bottom:-32px;left:0;right:-28px}.t-mobile-bar:before{content:"";clip-path:ellipse(78% 58% at 46% 0);z-index:1;background:#fff;height:76px;position:absolute;bottom:-40px;left:-20px;right:-20px}.t-mobile-bar>*{z-index:2;position:relative}.t-mobile-brand{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.t-mobile-brand img{object-fit:contain;filter:drop-shadow(0 4px 8px #0003);width:44px;height:54px}.t-mobile-bar strong{color:#fff;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:clamp(16px,5vw,22px);line-height:1.05;overflow:hidden}.t-mobile-bar small{color:#ffcc35;text-transform:uppercase;font-size:12px;font-weight:850}.t-mobile-bar .icon-btn{color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff1f;border-color:#fff3;border-radius:16px;width:44px;min-width:44px;height:44px;min-height:44px}.t-main{margin-left:0;padding:146px 14px 108px}.t-dashboard-route .t-main{padding-top:112px}.t-dashboard-route .t-page-head{display:none}.t-page-head{border:1px solid var(--color-border);background:#fffffff0;border-radius:22px;padding:16px;box-shadow:0 14px 30px #062a5514}.t-page-head h1{font-size:clamp(24px,7vw,34px)}.t-head-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.t-head-actions .secondary-btn,.t-head-actions .primary-btn,.t-head-actions .icon-btn,.t-head-actions .t-teacher-chip{width:100%;min-width:0}.teacher-welcome-layout{grid-template-columns:1fr;gap:14px;margin-top:-18px;margin-bottom:14px;display:grid}.teacher-welcome-card{border-left:8px solid var(--brand-orange);background:linear-gradient(90deg,#fffffffa 0%,#fffaf2e6 58%,#ffffff75 100%),url(/brand/teacher-banner-bg.png) 100%/auto 156px no-repeat;border-radius:0 20px 20px 0;min-height:172px;box-shadow:0 16px 30px #062a551a}.teacher-welcome-copy{gap:12px;padding:22px 18px}.teacher-vertical-line{display:none}.teacher-welcome-copy h2{max-width:68%;margin-top:10px;font-size:clamp(25px,8vw,34px);line-height:1.03}.teacher-welcome-copy p{max-width:66%;margin-top:8px;font-size:13px;line-height:1.3}.teacher-hero-actions{gap:8px;margin-top:12px}.teacher-hero-actions .primary-btn,.teacher-hero-actions .secondary-btn{min-height:42px;padding-inline:12px;font-size:12px}.teacher-today-card,.content-card,.t-row-card{border-radius:22px;box-shadow:0 14px 30px #062a5514}.teacher-today-card{padding:18px}.teacher-today-card h2,.dashboard-section-head h2{font-size:25px}.teacher-compact-row{border-radius:16px;grid-template-columns:58px minmax(0,1fr);min-height:62px}.teacher-quick-card{margin-bottom:14px;padding:20px 14px}.dashboard-section-head{margin-bottom:14px;display:block}.dashboard-section-head>svg{display:none}.dashboard-section-head p{font-size:12px}.quick-icon-grid,.teacher-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quick-icon-tile{border-radius:16px;gap:8px;min-height:108px;padding:10px 6px}.quick-icon-tile img{width:42px;height:42px}.quick-icon-tile span{font-size:12px;line-height:1.12}.teacher-insight-grid,.t-dashboard-grid,.summary-grid,.t-two-grid{grid-template-columns:1fr;gap:14px}.t-filter-bar{border-radius:20px;gap:10px;padding:14px}.t-table-wrap{border-radius:18px}.bottom-nav{min-height:82px;padding:8px 7px calc(8px + env(safe-area-inset-bottom));background:#062a55;border:0;border-radius:24px;gap:0;bottom:8px;left:10px;right:10px;box-shadow:0 -10px 28px #062a5538}.bottom-nav a,.bottom-nav button{color:#ffffffb8;border-radius:18px;flex:1 1 0;min-width:0;min-height:58px;font-size:11px}.bottom-nav a.active{color:#f4b000;background:0 0}.bottom-nav a.active:after{content:"";background:#f4b000;border-radius:999px;width:34px;height:3px}}@media (max-width:390px){.quick-icon-grid,.teacher-quick-grid{gap:8px}.quick-icon-tile{min-height:98px}.quick-icon-tile img{width:38px;height:38px}.quick-icon-tile span{font-size:11px}.teacher-welcome-copy h2,.teacher-welcome-copy p{max-width:60%}}.auth-header img{object-fit:contain;flex:none;width:38px;height:46px;display:block}.image-auth-mark{background:#f8fafc;border:1px solid #e2e8f0;border-radius:22px;flex:none;width:74px;height:74px;overflow:hidden;box-shadow:0 14px 30px #062a551a}.image-auth-mark img{object-fit:contain;width:54px;max-width:100%;height:62px;display:block}@media (max-width:980px){:root{--tap-size:44px}body{font-size:15px}input,select,textarea,button{font-size:16px}.t-mobile-bar{border-radius:0 0 20px 20px;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;min-height:auto;padding:10px 12px 12px;box-shadow:0 12px 24px #062a5533}.t-mobile-bar:before,.t-mobile-bar:after{display:none}.t-mobile-brand{grid-template-columns:36px minmax(0,1fr);gap:9px}.t-mobile-brand img{width:34px;height:40px}.t-mobile-bar strong{font-size:clamp(16px,4.8vw,20px)}.t-mobile-bar small{font-size:11px}.t-mobile-bar .icon-btn{border-radius:14px;width:42px;min-width:42px;height:42px;min-height:42px}.t-main{padding:82px 12px 98px}.t-dashboard-route .t-main{padding-top:74px}.t-page-head{border-radius:18px;grid-template-columns:1fr;gap:10px;padding:14px}.t-title-lockup{grid-template-columns:52px minmax(0,1fr);gap:12px}.t-page-image-mark{border-radius:18px;width:52px;height:52px}.t-page-image-mark img{width:38px;height:38px}.t-page-head h1{overflow-wrap:anywhere;font-size:clamp(25px,8vw,34px);line-height:1.05}.t-page-head p{font-size:13px;line-height:1.32}.t-head-actions{grid-template-columns:1fr 1fr;gap:8px}.t-head-actions .t-teacher-chip{display:none}.teacher-welcome-layout{grid-template-columns:1fr;gap:10px;margin-top:8px;margin-bottom:12px}.teacher-welcome-card{background:linear-gradient(90deg,#fffffffa 0%,#fffaf2eb 60%,#ffffff80 100%),url(/brand/teacher-banner-bg.png) 100%/auto 108px no-repeat;border-left-width:6px;border-radius:18px;min-height:118px}.teacher-welcome-copy{padding:14px 16px}.teacher-welcome-copy h2{max-width:62%;margin-top:0;font-size:clamp(22px,7vw,28px);line-height:1}.teacher-welcome-copy p{display:none}.teacher-hero-actions{gap:8px;margin-top:10px}.teacher-hero-actions .primary-btn,.teacher-hero-actions .secondary-btn{border-radius:13px;min-height:38px;padding:0 11px;font-size:12px}.teacher-today-card{border-radius:18px;padding:14px}.teacher-today-card h2,.dashboard-section-head h2,.content-card h2{line-height:1.12;font-size:22px!important}.teacher-compact-row{border-radius:15px;grid-template-columns:56px minmax(0,1fr);min-height:56px;padding:9px 10px}.teacher-compact-row strong,.teacher-compact-row small{overflow-wrap:anywhere}.content-card,.teacher-quick-card,.t-row-card{border-radius:18px;padding:16px}.dashboard-section-head p,.content-card p{font-size:13px;line-height:1.35}.t-filter-bar{border-radius:18px;gap:11px;padding:12px;grid-template-columns:1fr!important}.field{min-width:0}.input,.select,textarea{border-radius:14px;width:100%;min-height:48px}.primary-btn,.secondary-btn,.text-btn{min-height:var(--tap-size);white-space:normal;border-radius:14px}.quick-icon-grid,.teacher-quick-grid{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))!important}.quick-icon-tile{border-radius:18px;min-height:104px;padding:10px 6px;transition:transform .16s,box-shadow .16s,border-color .16s;box-shadow:0 12px 22px #062a5514}.quick-icon-tile:active{transform:scale(.97)}.quick-icon-tile img{object-fit:contain;width:44px;height:44px}.quick-icon-tile span{font-size:12px;line-height:1.12}.teacher-insight-grid,.t-dashboard-grid,.summary-grid,.t-two-grid{gap:12px;grid-template-columns:1fr!important}.t-main [style*=grid-template-columns]{grid-template-columns:1fr!important}.t-main [style*="display: flex"]{flex-wrap:wrap!important}.t-main .content-card>table{-webkit-overflow-scrolling:touch;max-width:100%;display:block;overflow-x:auto;width:100%!important}.t-table-wrap{background:0 0;border:0;width:100%;overflow:visible}.t-table{border-collapse:separate;border-spacing:0 10px;background:0 0;width:100%;min-width:0!important}.t-table thead{display:none}.t-table tbody,.t-table tr,.t-table td{width:100%;display:block}.t-table tr{border:1px solid var(--color-border);background:#fff;border-radius:18px;padding:10px 12px;box-shadow:0 10px 20px #062a5512}.t-table td{text-align:right;white-space:normal;overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:12px;display:flex;border-bottom:0!important;padding:7px 0!important}.t-table td:before{content:"Info";color:var(--color-muted);text-align:left;text-transform:uppercase;flex:0 0 82px;font-size:10px;font-weight:900}.t-table td:first-child:before{content:"Student"}.t-table td:nth-child(2):before{content:"Class"}.t-table td:nth-child(3):before{content:"Status"}.t-table td:nth-child(4):before{content:"Marks"}.t-table td:nth-child(5):before{content:"Action"}.t-table td:nth-child(6):before{content:"More"}.fee-due-table td:before{content:attr(data-label)}.page-action-row,.fine-entry-actions{grid-template-columns:1fr;display:grid}.page-action-row .secondary-btn,.fine-entry-actions .primary-btn,.collection-action-buttons .primary-btn,.collection-action-buttons .secondary-btn{width:100%}.fine-entry-card{padding:16px}.fine-entry-header{grid-template-columns:auto minmax(0,1fr)}.fine-sync-note{grid-column:1/-1;justify-content:center;width:100%}.fine-entry-grid,.fine-entry-preview{grid-template-columns:1fr}.fine-entry-preview{padding:12px}.collection-action-buttons{grid-template-columns:1fr;width:100%;display:grid}.collection-action-buttons .primary-btn,.collection-action-buttons .secondary-btn{min-width:0}.invoice-chip{flex-direction:column;align-items:stretch}.invoice-chip .tiny-action-btn{width:100%}.recent-payment-row{grid-template-columns:1fr}.recent-payment-row .tiny-action-btn{width:100%}.auth-shell{background:linear-gradient(#fff 0%,#f4f7fc 48%,#edf3fb 100%)}.auth-header{align-items:center;height:auto;min-height:76px;padding:12px 18px}.auth-header strong{font-size:20px;line-height:1.1}.auth-card{border-radius:24px;padding:26px 20px;box-shadow:0 18px 40px #062a551f}}@media (max-width:430px){.t-main{padding-left:10px;padding-right:10px}.teacher-welcome-copy h2{max-width:60%}.quick-icon-grid,.teacher-quick-grid{gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))!important}.quick-icon-tile{min-height:96px}.quick-icon-tile img{width:38px;height:38px}.bottom-nav{border-radius:22px;min-height:74px;left:8px;right:8px}.bottom-nav a,.bottom-nav button{min-height:54px;font-size:10px}}.attendance-overview{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;margin-bottom:18px;display:grid}.attendance-context-card,.attendance-roster-card,.attendance-alert{background:linear-gradient(145deg,#fff 0%,#f7faff 100%);border:1px solid #d7e1ef;border-radius:22px;box-shadow:0 18px 38px #062a5512}.attendance-context-card{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:18px;min-height:150px;padding:22px;display:grid}.attendance-context-card h2,.attendance-roster-head h2{color:var(--brand-navy);letter-spacing:0;margin:0;font-family:Georgia,Times New Roman,serif;font-size:28px;line-height:1.1}.attendance-context-card p,.attendance-roster-head p{color:var(--color-muted);margin:8px 0 0;font-weight:700}.attendance-context-icon{width:54px;height:54px;color:var(--brand-navy);background:#e8f0ff;border-radius:18px;place-items:center;display:grid}.attendance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.attendance-stat-card{min-height:92px;color:var(--brand-navy);background:#fff;border:1px solid #d7e1ef;border-radius:18px;align-content:center;gap:6px;padding:16px;display:grid;box-shadow:0 12px 24px #062a550f}.attendance-stat-card.primary{background:var(--brand-navy);border-color:var(--brand-navy);color:#fff}.attendance-stat-card span{color:inherit;opacity:.72;text-transform:uppercase;font-size:12px;font-weight:900}.attendance-stat-card strong{font-size:30px;line-height:1}.attendance-alert{margin-bottom:16px;padding:14px 16px}.attendance-alert.danger{background:#fff5f5;border-color:#f2b8b5}.attendance-alert.success{background:#f3fff7;border-color:#95d4b3}.attendance-roster-card{padding:20px}.attendance-roster-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.attendance-student-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;display:grid}.attendance-student-card{background:#fff;border:1px solid #d9e3f0;border-left:5px solid #c8d6e8;border-radius:20px;gap:14px;padding:16px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid;box-shadow:0 14px 26px #062a550f}.attendance-student-card:hover{transform:translateY(-1px);box-shadow:0 18px 34px #062a551a}.attendance-student-card.present{border-left-color:#0f766e}.attendance-student-card.absent{border-left-color:#ba1a1a}.attendance-student-card.late{border-left-color:#b45309}.attendance-student-card.leave{border-left-color:#64748b}.attendance-student-main{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.attendance-avatar{width:48px;height:48px;color:var(--brand-navy);background:#e8f0ff;border-radius:16px;place-items:center;font-weight:900;display:grid}.attendance-student-main p{color:var(--color-muted);text-transform:uppercase;margin:0 0 2px;font-size:12px;font-weight:900}.attendance-student-main h3{color:var(--brand-navy);letter-spacing:0;overflow-wrap:anywhere;margin:0;font-size:18px;line-height:1.18}.attendance-status-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.attendance-status-pill{min-height:44px;color:var(--brand-navy);cursor:pointer;background:#f8fbff;border:1px solid #d7e1ef;border-radius:14px;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:900;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s,color .16s;display:inline-flex}.attendance-status-pill:hover{border-color:#b8c8dd;box-shadow:0 10px 20px #062a5514}.attendance-status-pill:active{transform:scale(.97)}.attendance-status-pill.active{color:#fff;border-color:#0000;box-shadow:0 12px 24px #062a551f}.attendance-status-pill.present.active{background:#0f766e}.attendance-status-pill.absent.active{background:#ba1a1a}.attendance-status-pill.late.active{background:#b45309}.attendance-status-pill.leave.active{background:#475569}.attendance-profile-link{min-height:44px;color:var(--brand-navy);border:1px solid #d7e1ef;border-radius:14px;justify-content:center;align-items:center;gap:8px;font-weight:900;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:inline-flex}.attendance-profile-link:hover{border-color:#b8c8dd;box-shadow:0 10px 20px #062a5514}@media (max-width:1050px){.attendance-overview{grid-template-columns:1fr}}@media (max-width:620px){.attendance-context-card,.attendance-roster-card{border-radius:20px;padding:16px}.attendance-context-card{grid-template-columns:1fr}.attendance-context-icon{width:48px;height:48px}.attendance-context-card h2,.attendance-roster-head h2{font-size:24px}.attendance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-roster-head{display:grid}.attendance-student-grid{grid-template-columns:1fr}.attendance-student-main{grid-template-columns:auto minmax(0,1fr)}.attendance-student-main .status-badge{grid-column:1/-1;justify-self:start}.attendance-status-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:380px){.attendance-summary-grid,.attendance-status-actions{grid-template-columns:1fr}}.transport-dashboard{gap:18px;display:grid}.transport-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.transport-stat-card{background:linear-gradient(145deg,#fff,#f6f9ff);border:1px solid #d7e1ef;border-radius:22px;align-content:space-between;gap:12px;min-height:130px;padding:18px;display:grid;box-shadow:0 18px 40px #062a5514}.transport-stat-card.accent{background:var(--brand-navy);color:#fff;border-color:var(--brand-navy)}.transport-stat-card.warning{background:linear-gradient(145deg,#fffaf0,#fff);border-color:#f7c56f}.transport-stat-card.success{background:linear-gradient(145deg,#f0fff6,#fff);border-color:#9ee6bd}.transport-stat-card span{color:inherit;align-items:center;gap:8px;font-size:13px;font-weight:900;display:inline-flex}.transport-stat-card strong{color:inherit;font-size:clamp(28px,4vw,42px);line-height:1}.transport-stat-card p{color:inherit;opacity:.74;margin:0;font-size:13px;font-weight:700}.transport-filter-card{background:#ffffffeb;border:1px solid #d7e1ef;border-radius:24px;grid-template-columns:minmax(260px,1fr) minmax(190px,260px) minmax(220px,340px);align-items:end;gap:14px;padding:18px;display:grid;box-shadow:0 18px 42px #062a5512}.transport-filter-card h2{color:var(--brand-navy);margin:4px 0 0;font-size:22px}.transport-filter-card p{color:var(--color-muted);margin:6px 0 0;font-weight:700}.transport-kicker{color:var(--color-success);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:900}.transport-filter-card label{color:#2d3748;letter-spacing:.04em;text-transform:uppercase;gap:8px;font-size:12px;font-weight:900;display:grid}.transport-filter-card select,.transport-filter-card input{border:1px solid var(--color-border);width:100%;min-width:0;min-height:50px;color:var(--color-text);background:#fff;border-radius:14px;padding:0 14px}.transport-search span{border:1px solid var(--color-border);background:#fff;border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:0 12px;display:grid}.transport-search span:focus-within{border-color:var(--brand-navy);box-shadow:0 0 0 4px #062a5514}.transport-search input{border:0;outline:0;padding:0}.secondary-btn.compact{min-height:42px;padding-inline:14px}.transport-route-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.transport-route-card{min-width:0;min-height:176px;color:var(--color-text);text-align:left;cursor:pointer;background:#fff;border:1px solid #d7e1ef;border-radius:20px;gap:10px;padding:16px;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;display:grid;box-shadow:0 12px 30px #062a550f}.transport-route-card:hover{border-color:#9fb4d2;transform:translateY(-2px);box-shadow:0 18px 42px #062a551c}.transport-route-card:active{transform:scale(.98)}.transport-route-card.active{border-color:var(--brand-navy);background:linear-gradient(145deg,#eef5ff,#fff);box-shadow:0 0 0 4px #062a5514,0 18px 42px #062a551f}.transport-route-card strong{color:var(--brand-navy);font-size:18px;line-height:1.2}.transport-route-card p{color:var(--color-muted);margin:0;font-size:13px;font-weight:800}.transport-stop-strip{flex-wrap:wrap;gap:7px;display:flex}.transport-stop-strip span{max-width:100%;color:var(--brand-navy);overflow-wrap:anywhere;background:#eef4ff;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.transport-panels{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:18px;display:grid}.transport-vehicle-list,.transport-manifest-list{gap:12px;margin-top:16px;display:grid}.transport-vehicle-card,.transport-manifest-card{background:#fff;border:1px solid #d7e1ef;border-radius:18px;gap:12px;padding:15px;display:grid;box-shadow:0 10px 26px #062a550d}.transport-vehicle-card>div:first-child,.transport-manifest-card>div:first-child{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.transport-vehicle-card strong,.transport-manifest-card strong{color:var(--brand-navy);overflow-wrap:anywhere;font-size:16px}.transport-vehicle-card span,.transport-manifest-card span{color:var(--color-muted);text-align:right;font-size:12px;font-weight:800}.transport-vehicle-card dl,.transport-manifest-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.transport-vehicle-card dt,.transport-manifest-card dt{color:#65748d;text-transform:uppercase;font-size:11px;font-weight:800}.transport-vehicle-card dd,.transport-manifest-card dd{color:var(--color-text);overflow-wrap:anywhere;margin:3px 0 0;font-size:13px;font-weight:800}.transport-empty{min-height:120px;color:var(--color-muted);text-align:center;background:#f8fbff;border:1px dashed #bed0e8;border-radius:18px;place-items:center;gap:8px;padding:22px;font-weight:800;display:grid}@media (max-width:1100px){.transport-summary-grid,.transport-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.transport-filter-card,.transport-panels{grid-template-columns:1fr}}@media (max-width:640px){.transport-dashboard{gap:14px}.transport-summary-grid,.transport-route-grid{grid-template-columns:1fr}.transport-stat-card{border-radius:20px;min-height:104px;padding:15px}.transport-filter-card,.transport-vehicle-card,.transport-manifest-card{border-radius:20px;padding:14px}.transport-filter-card h2{font-size:20px}.transport-route-card{border-radius:18px;min-height:152px}.transport-vehicle-card>div:first-child,.transport-manifest-card>div:first-child{display:grid}.transport-vehicle-card span,.transport-manifest-card span{text-align:left}.transport-vehicle-card dl,.transport-manifest-card dl{grid-template-columns:1fr}}.notice-dashboard{gap:18px;display:grid}.notice-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.notice-stat-card{background:#fff;border:1px solid #d9e4f2;border-radius:22px;align-content:space-between;gap:10px;min-height:132px;padding:18px;display:grid;box-shadow:0 14px 30px #062a550f}.notice-stat-card.accent{color:#fff;background:#062a55;border-color:#062a55}.notice-stat-card span{color:#62728b;align-items:center;gap:8px;font-size:13px;font-weight:900;display:inline-flex}.notice-stat-card.accent span,.notice-stat-card.accent p{color:#ffffffd1}.notice-stat-card strong{color:#062a55;font-size:38px;line-height:1}.notice-stat-card.accent strong{color:#fff}.notice-stat-card p{color:#66758e;margin:0;font-size:13px;font-weight:750;line-height:1.35}.notice-publish-button{align-self:end;min-width:190px}.notice-feedback{border:1px solid #badbcc;border-radius:18px;align-items:center;gap:10px;padding:14px 16px;font-weight:850;line-height:1.4;display:flex}.notice-feedback.success{color:#047857;background:#f0fdf4}.notice-feedback.danger{color:#9f1239;background:#fff1f2;border-color:#fecdd3}.notice-list-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.notice-card{background:#fff;border:1px solid #d9e4f2;border-radius:22px;gap:14px;padding:18px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;box-shadow:0 14px 30px #062a550f}.notice-card:hover{border-color:#b8cce5;transform:translateY(-2px);box-shadow:0 18px 36px #062a551a}.notice-card__top{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.notice-card__top h2{color:#062a55;overflow-wrap:anywhere;margin:10px 0 0;font-size:20px;line-height:1.15}.notice-card__top time{color:#66758e;text-align:right;white-space:nowrap;font-size:12px;font-weight:850}.notice-card>p{color:#3f4d63;overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.55}.notice-card__meta{flex-wrap:wrap;gap:8px;display:flex}.notice-card__meta span{color:#50627b;background:#f2f6fc;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:12px;font-weight:850;display:inline-flex}.notice-icon{color:#062a55;background:#eaf2ff;border-radius:15px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.notice-modal{gap:14px;display:grid}.notice-modal-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:4px;display:flex}.notice-modal-head>div{gap:8px;display:grid}.notice-modal-head h2{color:#062a55;margin:0;font-size:26px;line-height:1.1}.notice-modal-head p{color:#66758e;margin:0;font-weight:750;line-height:1.45}.notice-textarea{resize:vertical;min-height:132px;line-height:1.45}.notice-modal-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}@media (max-width:860px){.notice-summary-grid{grid-template-columns:1fr}.notice-publish-button{width:100%;min-width:0}.notice-list-grid{grid-template-columns:1fr}.notice-card__top{grid-template-columns:auto minmax(0,1fr)}.notice-card__top time{text-align:left;white-space:normal;grid-column:1/-1}.notice-modal-head{align-items:start}}@media (max-width:480px){.notice-stat-card,.notice-card{border-radius:18px;padding:15px}.notice-stat-card{min-height:108px}.notice-stat-card strong{font-size:32px}.notice-card__top h2{font-size:18px}.notice-modal-actions{display:grid}.notice-modal-actions .primary-btn,.notice-modal-actions .secondary-btn{width:100%}}.calendar-dashboard{gap:18px;display:grid}.calendar-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.calendar-stat-card{background:#fffffff0;border:1px solid #d9e2ef;border-radius:22px;align-content:space-between;gap:10px;min-height:132px;padding:18px;display:grid;box-shadow:0 16px 38px #062a5514}.calendar-stat-card.accent{color:#fff;background:#062a55;border-color:#062a55}.calendar-stat-card span{color:inherit;text-transform:uppercase;align-items:center;gap:8px;font-size:13px;font-weight:900;display:inline-flex}.calendar-stat-card strong{color:inherit;font-size:28px;line-height:1.05}.calendar-stat-card p{color:inherit;opacity:.74;margin:0;font-weight:700}.calendar-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:18px;display:grid}.calendar-month-card,.calendar-selected-card{background:#fffffff5;border:1px solid #d9e2ef;border-radius:24px;box-shadow:0 18px 44px #062a5514}.calendar-month-card{overflow:hidden}.calendar-month-head{border-bottom:1px solid #d9e2ef;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.calendar-month-head h2,.calendar-selected-card h2{color:#062a55;margin:4px 0 0;font-size:24px;line-height:1.12}.calendar-kicker{color:var(--color-success);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:900;display:inline-flex}.calendar-week-labels{color:#fff;background:#062a55;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-week-labels span{place-items:center;min-height:40px;font-size:12px;font-weight:900;display:grid}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-day{color:#062a55;text-align:left;cursor:pointer;background:#fff;border:1px solid #d9e2ef;border-top:0;border-left:0;align-content:start;gap:8px;min-height:132px;padding:10px;transition:background .18s,box-shadow .18s,color .18s;display:grid}.calendar-day:nth-child(7n){border-right:0}.calendar-day:hover,.calendar-day:focus-visible{background:#f2f6ff;outline:0;box-shadow:inset 0 0 0 2px #062a5538}.calendar-day.selected{background:#edf6ff;box-shadow:inset 0 0 0 2px #062a55}.calendar-day.today>span{color:#fff;background:#062a55}.calendar-day.muted{color:#91a0b6;background:#f8fafc}.calendar-day>span{border-radius:999px;place-items:center;width:28px;height:28px;font-size:13px;font-weight:900;display:inline-grid}.calendar-day>div{gap:5px;min-width:0;display:grid}.calendar-event-chip{color:#062a55;text-overflow:ellipsis;white-space:nowrap;background:#eef4ff;border-radius:8px;min-height:24px;padding:4px 7px;font-size:11px;font-style:normal;font-weight:900;line-height:1.2;display:block;overflow:hidden}.calendar-event-chip.holiday{color:#991b1b;background:#fee2e2}.calendar-event-chip.exam{color:#92400e;background:#fff3d0}.calendar-event-chip.event{color:#166534;background:#dcfce7}.calendar-event-chip.academic{color:#075985;background:#e0f2fe}.calendar-day em{color:#64748b;font-size:11px;font-style:normal;font-weight:800}.calendar-mobile-agenda{gap:10px;padding:12px;display:none}.calendar-agenda-row{color:#062a55;text-align:left;cursor:pointer;background:#fff;border:1px solid #d9e2ef;border-radius:18px;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:72px;padding:12px;transition:border-color .18s,box-shadow .18s,background .18s;display:grid}.calendar-agenda-row:hover,.calendar-agenda-row:focus-visible{background:#f8fbff;border-color:#062a5557;outline:0;box-shadow:0 12px 28px #062a551a}.calendar-agenda-row>span{color:var(--color-success);text-transform:uppercase;font-size:12px;font-weight:900}.calendar-agenda-row strong,.calendar-selected-event h3{color:#062a55;font-size:16px;line-height:1.2}.calendar-agenda-row small{color:#64748b;margin-top:4px;font-size:12px;font-weight:800;display:block}.calendar-selected-card{padding:20px;position:sticky;top:18px}.calendar-selected-list{gap:12px;margin-top:16px;display:grid}.calendar-selected-event{background:#f8fbff;border:1px solid #d9e2ef;border-radius:18px;gap:9px;padding:14px;display:grid}.calendar-selected-event h3,.calendar-selected-event p{margin:0}.calendar-selected-event p{color:#40506b;font-weight:700;line-height:1.45}.calendar-selected-event>span{color:#64748b;font-size:12px;font-weight:800}.calendar-empty{color:#64748b;text-align:center;background:#f8fbff;border:1px dashed #bfd0e6;border-radius:18px;padding:18px;font-weight:800}@media (max-width:1180px){.calendar-layout{grid-template-columns:1fr}.calendar-selected-card{position:static}}@media (max-width:860px){.calendar-summary-grid{grid-template-columns:1fr}.calendar-stat-card{border-radius:20px;min-height:112px}.calendar-week-labels,.calendar-grid{display:none}.calendar-month-head{padding:16px}.calendar-mobile-agenda{display:grid}.calendar-selected-card{padding:18px}}@media (max-width:480px){.calendar-month-head{align-items:stretch;display:grid}.calendar-month-head .secondary-btn{width:100%}.calendar-agenda-row{grid-template-columns:1fr;align-items:start;min-height:88px}.calendar-agenda-row .status-badge{justify-self:start}.calendar-selected-event{border-radius:16px}}.report-alert{border:1px solid var(--color-border);background:#fff;border-radius:14px;align-items:center;gap:10px;margin-bottom:16px;padding:14px 16px;display:flex;box-shadow:0 10px 24px #062a550f}.report-alert-danger{color:#991b1b;background:#fff7f7;border-color:#fecaca}.class-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px;display:grid}.class-overview-card{background:#fff;border:1px solid #dbe7f8;border-radius:18px;align-items:center;gap:14px;min-width:0;min-height:96px;padding:16px;display:flex;box-shadow:0 14px 30px #062a550f}.class-overview-card span{width:48px;height:48px;color:var(--role-color);background:#eaf2ff;border-radius:16px;flex:0 0 48px;place-items:center;display:grid}.class-overview-card p{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:12px;font-weight:900}.class-overview-card strong{color:var(--brand-navy);margin-top:5px;font-size:28px;line-height:1;display:block}.class-overview-feature{background:var(--role-color);border-color:var(--role-color);color:#fff}.class-overview-feature span{color:#fff;background:#ffffff24}.class-overview-feature p,.class-overview-feature strong{color:#fff}.class-card-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;display:grid}.class-card{border:1px solid var(--color-border);background:linear-gradient(145deg,#fff 0%,#f8fbff 100%);border-radius:20px;min-width:0;padding:18px;transition:border-color .18s,box-shadow .18s,transform .18s;box-shadow:0 18px 36px #062a5512}.class-card:hover{border-color:#cbd8eb;transform:translateY(-2px);box-shadow:0 22px 44px #062a551a}.class-card:active{transform:scale(.995)}.class-card-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.class-card-head>div{min-width:0}.class-card-head h2{color:var(--brand-navy);overflow-wrap:anywhere;margin:12px 0 0;font-size:28px;line-height:1.04}.class-card-head p{color:var(--color-muted);overflow-wrap:anywhere;margin:7px 0 0;font-weight:800}.class-card-icon{width:54px;height:54px;color:var(--role-color);background:#edf5ff;border:1px solid #d9e6f7;border-radius:18px;flex:0 0 54px;place-items:center;display:grid}.class-card-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.class-card-metrics div{background:#fff;border:1px solid #dbe7f8;border-radius:14px;min-width:0;padding:12px}.class-card-metrics span,.class-subject-list span{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:900;display:block}.class-card-metrics strong{color:var(--brand-navy);overflow-wrap:anywhere;margin-top:5px;font-size:17px;line-height:1.15;display:block}.class-subject-list{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.class-subject-list span{color:#34506f;overflow-wrap:anywhere;background:#f6f9ff;border:1px solid #dbe7f8;border-radius:999px;align-items:center;gap:5px;max-width:100%;padding:7px 10px;display:inline-flex}.class-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.class-card-actions .secondary-btn{width:100%}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon>svg{color:var(--color-muted);pointer-events:none;z-index:1;position:absolute;left:14px}.input-with-icon .input{padding-left:44px}.student-directory-list{gap:12px;margin-top:18px;display:grid}.student-directory-card{border:1px solid var(--color-border);background:linear-gradient(145deg,#fff 0%,#f8fbff 100%);border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;min-width:0;padding:14px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;box-shadow:0 14px 30px #062a5512}.student-directory-card:hover{border-color:#cbd8eb;transform:translateY(-1px);box-shadow:0 18px 36px #062a551a}.student-directory-card:active{transform:scale(.995)}.student-directory-avatar{width:54px;height:54px;color:var(--brand-navy);text-align:center;overflow-wrap:anywhere;background:#eaf2ff;border:1px solid #d5e3f7;border-radius:17px;flex:0 0 54px;justify-content:center;align-items:center;padding:4px;font-weight:900;line-height:1;display:inline-flex}.student-directory-main{min-width:0}.student-directory-main span{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:900}.student-directory-main h2{color:var(--brand-navy);overflow-wrap:anywhere;margin:5px 0 2px;font-size:20px;line-height:1.1}.student-directory-main p{color:var(--color-muted);overflow-wrap:anywhere;margin:0;font-weight:800}.student-directory-action{white-space:nowrap}.student-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.staff-student-form-card{margin-top:18px;margin-bottom:18px;padding:20px}.staff-student-form,.staff-student-edit-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.staff-student-edit-form{border-top:1px solid var(--color-border);margin-top:18px;padding-top:18px}.staff-student-address{resize:vertical;min-height:86px}:is(.staff-student-form .field:has(.staff-student-address),.staff-student-edit-form .field:has(.staff-student-address)){grid-column:span 2}.staff-student-form-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}.student-photo-upload{width:100%;position:relative;overflow:hidden}.student-photo-upload input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-input{padding:10px}.fee-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fee-due-card-list{display:none}.fee-due-card{border:1px solid var(--color-border);background:#fff;border-radius:18px;padding:16px;transition:border-color .18s,box-shadow .18s,transform .18s;box-shadow:0 14px 30px #062a5512}.fee-due-card:hover{border-color:#cbd8eb;transform:translateY(-2px);box-shadow:0 18px 36px #062a551a}.fee-due-card:active{transform:scale(.99)}.fee-due-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.fee-due-card-head div{min-width:0}.fee-due-card-head span,.fee-due-card-grid span{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:900;display:block}.fee-due-card-head h2{color:var(--brand-navy);overflow-wrap:anywhere;margin:6px 0 0;font-size:22px;line-height:1.05}.fee-due-card-head p{color:var(--color-muted);margin:5px 0 0;font-weight:800}.fee-due-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.fee-due-card-grid div{background:#f8fbff;border:1px solid #dbe7f8;border-radius:14px;min-width:0;padding:12px}.fee-due-card-grid strong{color:var(--brand-navy);overflow-wrap:anywhere;margin-top:5px;font-size:17px;display:block}.report-hero{background:linear-gradient(135deg,#fffffff5 0%,#f7fbfff5 58%,#fff7ecf5 100%);border:1px solid #d6e2f2;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:22px;display:flex;box-shadow:0 18px 42px #062a5512}.report-student-lockup{align-items:center;gap:16px;min-width:0;display:flex}.report-avatar{width:76px;height:76px;color:var(--role-color);background:#eaf1ff;border:1px solid #d5e1f4;border-radius:24px;flex:0 0 76px;justify-content:center;align-items:center;font-size:28px;font-weight:900;display:inline-flex}.report-hero h2{color:var(--brand-navy);letter-spacing:0;margin:10px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,4vw,48px);line-height:1}.report-hero p{color:var(--color-muted);margin:8px 0 0;font-weight:800}.report-hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.report-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.report-metric-card{border:1px solid var(--color-border);background:#fff;border-radius:18px;align-items:flex-start;gap:14px;min-height:126px;padding:18px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;box-shadow:0 16px 32px #062a550f}.report-metric-card:hover{border-color:#cbd8eb;transform:translateY(-2px);box-shadow:0 20px 38px #062a551a}.report-metric-card>span{width:48px;height:48px;color:var(--role-color);background:#eaf1ff;border-radius:16px;flex:0 0 48px;justify-content:center;align-items:center;display:inline-flex}.report-metric-card.feature{border-color:var(--role-color);background:var(--role-color);color:#fff}.report-metric-card.feature>span{color:#fff;background:#ffffff29}.report-metric-card.feature .metric-label,.report-metric-card.feature strong{color:#ffffffd1}.report-metric-card strong{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:8px;font-size:12px;display:block}.report-card-head{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.report-card-head>span{width:42px;height:42px;color:var(--role-color);background:#eaf1ff;border-radius:14px;flex:0 0 42px;justify-content:center;align-items:center;display:inline-flex}.report-card-head p{margin-top:5px}.report-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.report-mini-grid div{border:1px solid var(--color-border);background:#f8fafc;border-radius:14px;padding:14px}.report-mini-grid span{color:var(--role-color);font-size:24px;font-weight:900;display:block}.report-mini-grid strong{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:4px;font-size:11px;display:block}.report-mark-list,.report-feed{gap:12px;display:grid}.report-mark-card,.report-feed-card{border:1px solid var(--color-border);background:#fff;border-radius:16px;padding:14px;transition:border-color .18s,box-shadow .18s,transform .18s;box-shadow:0 10px 22px #062a550d}.report-mark-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.report-mark-card:hover,.report-feed-card:hover{border-color:#cbd8eb;transform:translateY(-1px);box-shadow:0 16px 30px #062a5514}.report-mark-card h3,.report-feed-card h3{color:var(--brand-navy);letter-spacing:0;margin:10px 0 0}.report-mark-card p,.report-feed-card p{color:var(--color-muted);margin:6px 0 0}.report-mark-score{white-space:nowrap;justify-items:end;gap:8px;display:grid}.report-mark-score strong{color:var(--role-color);font-size:24px}.report-empty{min-height:96px;color:var(--color-muted);text-align:center;background:#f8fafc;border:1px dashed #cbd8eb;border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:16px;display:flex}.report-empty p{margin:0}.report-conduct-card{margin-top:18px}@media (max-width:1180px){.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.report-alert{border-radius:16px;align-items:flex-start;padding:13px}.report-hero{border-radius:22px;padding:18px;display:grid}.report-student-lockup{align-items:flex-start;gap:12px}.report-avatar{border-radius:18px;flex-basis:58px;width:58px;height:58px;font-size:22px}.report-hero h2{overflow-wrap:anywhere;font-size:28px;line-height:1.05}.report-hero-actions .secondary-btn{width:100%}.report-summary-grid,.report-mini-grid{grid-template-columns:1fr}.report-metric-card{border-radius:18px;min-height:112px;padding:16px}.report-mark-card{grid-template-columns:1fr}.report-mark-score{grid-template-columns:auto auto;place-items:center start}}@media (max-width:760px){.class-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.class-overview-card{border-radius:18px;min-height:86px;padding:13px}.class-overview-card span{border-radius:14px;flex-basis:42px;width:42px;height:42px}.class-overview-card strong{font-size:23px}.class-card-grid{grid-template-columns:1fr;gap:12px}.class-card{border-radius:20px;padding:15px}.class-card-head h2{font-size:24px}.class-card-icon{border-radius:15px;flex-basis:46px;width:46px;height:46px}.class-card-metrics{grid-template-columns:1fr;gap:8px}.class-card-actions{grid-template-columns:1fr}.student-directory-card{border-radius:20px;grid-template-columns:auto minmax(0,1fr);padding:13px}.student-directory-card .status-badge{justify-self:start}.student-directory-action{grid-column:1/-1;width:100%}.student-directory-avatar{border-radius:15px;flex-basis:48px;width:48px;height:48px}.student-directory-main h2{font-size:18px}.student-toolbar-actions{justify-content:stretch}.student-toolbar-actions .primary-btn,.student-toolbar-actions .secondary-btn,.staff-student-form-actions .primary-btn,.staff-student-form-actions .secondary-btn{width:100%}.staff-student-form,.staff-student-edit-form{grid-template-columns:1fr}:is(.staff-student-form .field:has(.staff-student-address),.staff-student-edit-form .field:has(.staff-student-address)){grid-column:auto}.fee-summary-grid{grid-template-columns:1fr}.fee-due-card-list{gap:12px;display:grid}.fee-due-desktop-table{display:none!important}.fee-due-card{border-radius:20px;padding:15px}.fee-due-card-grid{grid-template-columns:1fr}}.academic-page{gap:18px;padding-bottom:48px;display:grid}.academic-context{z-index:8;border:1px solid var(--color-border);background:#fff;border-radius:8px;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;padding:14px;display:grid;position:sticky;top:10px;box-shadow:0 8px 22px #0f2a4014}.academic-context label,.academic-form-grid label,.block-field,.inline-select{gap:6px;min-width:0;display:grid}.academic-context label>span,.academic-form-grid label>span,.block-field>span,.inline-select>span{color:#445c70;text-transform:uppercase;font-size:12px;font-weight:900}.academic-context select,.academic-form-grid input,.academic-form-grid select,.academic-form-grid textarea,.block-field input,.inline-select select,.academic-table input,.student-search input{color:#102a43;width:100%;min-height:43px;font:inherit;background:#fff;border:1px solid #b8c8d5;border-radius:6px;padding:9px 11px;font-weight:700}.academic-context-summary{background:#f1f7f9;border-left:3px solid #176b87;align-content:center;padding:7px 12px;display:grid}.academic-context-summary span{color:#60758a;font-weight:750}.academic-tabs{border:1px solid var(--color-border);background:#eef4f7;border-radius:8px;grid-template-columns:repeat(3,1fr);padding:4px;display:grid}.academic-tabs button,.academic-segmented button{color:#52667a;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:900;display:inline-flex}.academic-tabs button.active,.academic-segmented button.active{color:#0b5f78;background:#fff;box-shadow:0 1px 5px #0f2a401f}.academic-alert{border:1px solid;border-radius:6px;align-items:center;gap:9px;padding:12px 14px;font-weight:800;display:flex}.academic-alert.error{color:#9f1239;background:#fff1f2;border-color:#fecdd3}.academic-alert.success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.academic-alert.warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.academic-two-column{grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);align-items:start;gap:18px;display:grid}.academic-stack{gap:18px;display:grid}.academic-panel{border:1px solid var(--color-border);background:#fff;border-radius:8px;min-width:0;padding:20px;box-shadow:0 5px 18px #0f2a400d}.academic-panel>h2{color:#102a43;margin:0 0 4px;font-size:19px}.academic-panel>p{color:#60758a;margin:0 0 16px;font-weight:650}.academic-panel-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.academic-panel-head h2{color:#102a43;margin:0 0 4px;font-size:19px}.academic-panel-head p{color:#60758a;margin:0;font-weight:650;line-height:1.45}.academic-count{color:#0b5f78;background:#e7f2f6;border-radius:999px;flex:none;padding:7px 10px;font-size:12px;font-weight:900}.academic-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:16px;display:grid}.academic-form-grid .wide{grid-column:1/-1}.academic-table-wrap{border:1px solid #d8e2e9;border-radius:7px;width:100%;overflow:auto}.academic-table{border-collapse:collapse;width:100%;min-width:760px}.academic-table th{z-index:2;color:#fff;text-align:left;text-transform:uppercase;background:#102a43;padding:11px 12px;font-size:11px;position:sticky;top:0}.academic-table td{color:#243b53;vertical-align:middle;border-top:1px solid #dfe7ed;padding:10px 12px}.academic-table tbody tr:nth-child(2n){background:#f8fafb}.academic-table td strong,.academic-table td small{display:block}.academic-table td small{color:#60758a;margin-top:3px;font-weight:700}.academic-table input{min-width:104px;min-height:39px}.academic-table .mark-input{width:82px;min-width:82px}.academic-table .check{accent-color:#176b87;width:20px;min-width:20px;min-height:20px}.marks-grid{max-height:min(62vh,680px)}.academic-actionbar{justify-content:space-between;align-items:center;gap:14px;margin-top:15px;display:flex}.academic-actionbar p{color:#52667a;margin:0;font-weight:800}.academic-actionbar>div{gap:10px;display:flex}.academic-actionbar.sticky{z-index:5;background:#fffffff5;border:1px solid #c8d7e1;border-radius:8px;padding:12px;position:sticky;bottom:12px;box-shadow:0 8px 24px #0f2a4021}.inline-select{min-width:220px}.academic-status{color:#445c70;background:#e8eef2;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;display:inline-flex}.academic-status.locked,.academic-status.issued,.academic-status.published{color:#166534;background:#dcfce7}.academic-status.draft{color:#92400e;background:#fef3c7}.class-check-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px;display:grid}.class-check-grid label{cursor:pointer;border:1px solid #cbd8e1;border-radius:7px;align-items:center;gap:10px;min-height:62px;padding:11px;display:flex}.class-check-grid label.selected{background:#eef8fa;border-color:#176b87}.class-check-grid input{accent-color:#176b87;width:18px;height:18px}.class-check-grid span,.class-check-grid small{display:block}.class-check-grid small{color:#60758a}.academic-segmented{background:#eef4f7;border:1px solid #cbd8e1;border-radius:8px;grid-template-columns:1fr 1fr;margin-bottom:14px;padding:4px;display:grid}.block-field{margin-bottom:15px}.academic-state{color:#52667a;justify-content:center;align-items:center;gap:10px;min-height:180px;font-weight:900;display:flex}.spin{animation:.8s linear infinite academic-spin}@keyframes academic-spin{to{transform:rotate(360deg)}}.admit-card-builder{gap:16px;display:grid}.academic-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.academic-steps span{color:#52667a;text-align:center;background:#f8fafb;border:1px solid #d4e0e7;border-radius:7px;justify-content:center;align-items:center;min-height:42px;padding:8px 10px;font-weight:900;display:flex}.academic-steps span.active{color:#0b5f78;background:#eef8fa;border-color:#176b87}.admit-card-schedule{min-width:680px}.academic-card-builder{border-top:1px solid #dde6ec;gap:14px;padding-top:16px;display:grid}.academic-card-builder .academic-panel-head{margin-bottom:0}.academic-optional-classes{background:#f8fafb;border:1px solid #d4e0e7;border-radius:7px}.academic-optional-classes summary{color:#102a43;cursor:pointer;align-items:center;min-height:44px;padding:0 12px;font-weight:900;display:flex}.academic-optional-classes .class-check-grid{padding:0 12px 12px}.academic-actionbar.compact-flow{border-bottom:1px solid #dde6ec;margin-top:0;padding-bottom:14px}.certificates-context{grid-template-columns:minmax(180px,.45fr) minmax(260px,1fr);position:static}.search-input{background:#fff;border:1px solid #b8c8d5;border-radius:6px;align-items:center;gap:8px;min-height:43px;padding:0 11px;display:flex}.search-input input{border:0;outline:0;min-height:40px;padding:0}.certificate-workspace{grid-template-columns:minmax(250px,.65fr) minmax(330px,1fr) minmax(290px,.85fr);align-items:start;gap:18px;display:grid}.certificate-student-list{gap:7px;max-height:480px;padding-right:8px;display:grid;overflow-y:auto}.certificate-student-list button{color:#102a43;text-align:left;cursor:pointer;background:#fff;border:1px solid #d4e0e7;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:60px;padding:10px 12px;display:flex}.certificate-student-list button.selected{background:#eef8fa;border-color:#176b87}.certificate-student-list span,.certificate-student-list small{display:block}.certificate-student-list small{color:#60758a;margin-top:4px;font-weight:700}.certificate-type-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;display:grid}.certificate-type-grid button{color:#445c70;cursor:pointer;background:#fff;border:1px solid #cbd8e1;border-radius:7px;place-items:center;gap:5px;min-height:78px;padding:9px;font-weight:900;display:grid}.certificate-type-grid button.active{color:#0b5f78;background:#eef8fa;border-color:#176b87}.certificate-summary{background:#f1f7f9;border-left:4px solid #176b87;gap:4px;padding:13px;display:grid}.certificate-summary span,.certificate-summary small{color:#52667a;font-weight:750}.clearance-list{margin-top:14px;display:grid}.clearance-list>div{border-bottom:1px solid #dde6ec;grid-template-columns:12px 1fr auto;align-items:center;gap:9px;padding:12px 0;display:grid}.clearance-list span,.clearance-list small{display:block}.clearance-list small{color:#60758a}.clearance-dot{background:#f59e0b;border-radius:50%;width:10px;height:10px}.clearance-dot.cleared{background:#16a34a}.clearance-dot.blocked{background:#dc2626}.compact{min-height:34px!important;padding:6px 9px!important;font-size:12px!important}.certificate-actions{justify-content:flex-end;margin-top:16px;display:flex}.certificate-empty{color:#60758a;place-items:center;min-height:220px;display:grid}@media (max-width:1180px){.certificate-workspace{grid-template-columns:1fr 1fr}.clearance-panel{grid-column:1/-1}}@media (max-width:820px){.academic-context,.certificates-context{grid-template-columns:1fr;position:static}.academic-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.academic-tabs button{min-width:0;padding:0 5px;font-size:12px}.academic-two-column,.certificate-workspace{grid-template-columns:1fr}.clearance-panel{grid-column:auto}.academic-form-grid{grid-template-columns:1fr}.academic-form-grid .wide{grid-column:auto}.academic-steps{grid-template-columns:1fr}.academic-actionbar{flex-direction:column;align-items:stretch}.academic-actionbar>div{grid-template-columns:1fr 1fr;display:grid}}@media (max-width:480px){.academic-panel{padding:15px}.academic-panel-head{flex-direction:column}.certificate-type-grid{grid-template-columns:1fr}.certificate-type-grid button{justify-content:flex-start;min-height:48px;display:flex}.academic-actionbar>div{grid-template-columns:1fr}}.profile-detail-section{margin-bottom:18px;padding:22px 24px}.profile-section-heading{align-items:center;gap:12px;margin-bottom:18px;display:flex}.profile-section-icon{width:42px;height:42px;color:var(--brand-navy,var(--color-primary));background:#eaf2ff;border-radius:13px;flex:none;justify-content:center;align-items:center;display:inline-flex}.profile-section-heading h2{color:var(--brand-navy,var(--color-primary));margin:0;font-size:24px;line-height:1.12}.profile-section-heading p{color:var(--color-muted);margin:4px 0 0;font-size:13px;font-weight:700}.student-profile-layout{grid-template-columns:140px minmax(0,1fr);align-items:flex-start;display:grid}.student-photo-panel{text-align:center;border-right:1px solid #d8e1ef;justify-items:center;gap:10px;padding-right:16px;display:grid}.student-photo-panel img,.student-photo-panel>span:first-child{object-fit:cover;width:112px;height:124px;color:var(--brand-navy,var(--color-primary));background:#edf4ff;border:1px solid #dfe7f2;border-radius:16px;place-items:center;font-size:34px;font-weight:900;display:grid}.student-photo-panel strong{color:var(--color-success);text-transform:uppercase;font-size:12px;font-weight:900}.student-photo-panel small{color:var(--color-muted);font-size:11px;font-weight:800}.profile-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.guardian-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-detail-cell{border-bottom:1px solid #d8e1ef;border-right:1px solid #d8e1ef;align-content:center;gap:4px;min-height:64px;padding:11px 12px;display:grid}.profile-detail-cell.wide{grid-column:span 2}.profile-detail-cell span{color:#63708a;font-size:11px;font-weight:700}.profile-detail-cell strong{color:var(--brand-navy,var(--color-primary));overflow-wrap:anywhere;font-size:14px;font-weight:900;line-height:1.25}.library-profile-grid{margin-bottom:14px}.library-profile-list{border-top:1px solid #d8e1ef;gap:0;display:grid}.library-profile-list>p{color:var(--color-muted);margin:14px 0 0;font-weight:700}.library-profile-row{border-bottom:1px solid #d8e1ef;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:62px;padding:11px 0;display:grid}.library-profile-row strong{color:var(--brand-navy,var(--color-primary));overflow-wrap:anywhere;font-size:14px;line-height:1.25;display:block}.library-profile-row p{color:var(--color-muted);margin:4px 0 0;font-size:12px;font-weight:700}.profile-action-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.marks-overview-card{background:linear-gradient(145deg,#fff 0%,#f8fbff 100%);border:1px solid #dbe7f8;border-radius:22px;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;padding:18px;display:flex;box-shadow:0 16px 34px #062a5512}.marks-overview-copy{min-width:0}.marks-overview-copy h2{color:var(--brand-navy,var(--color-primary));overflow-wrap:anywhere;margin:12px 0 0;font-size:28px;line-height:1.05}.marks-overview-copy p{color:var(--color-muted);margin:8px 0 0;font-weight:800;line-height:1.45}.marks-overview-icon{width:54px;height:54px;color:var(--role-color,var(--color-primary));background:#edf5ff;border:1px solid #d9e6f7;border-radius:18px;flex:0 0 54px;place-items:center;display:grid}.marks-summary-grid{margin-bottom:18px}.marks-entry-list{gap:12px;display:grid}.marks-entry-card{border:1px solid var(--color-border);background:#fff;border-radius:18px;padding:14px;transition:border-color .18s,box-shadow .18s,transform .18s;box-shadow:0 14px 30px #062a550f}.marks-entry-card:hover{border-color:#cbd8eb;transform:translateY(-1px);box-shadow:0 18px 36px #062a551a}.marks-entry-card:active{transform:scale(.995)}.marks-entry-student{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:12px;display:grid}.marks-entry-roll{width:50px;height:50px;color:var(--brand-navy,var(--color-primary));text-align:center;background:#eaf2ff;border:1px solid #d5e3f7;border-radius:16px;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.marks-entry-student h2{color:var(--brand-navy,var(--color-primary));overflow-wrap:anywhere;margin:0;font-size:19px;line-height:1.12}.marks-entry-student p{color:var(--color-muted);margin:5px 0 0;font-weight:800}.marks-entry-inputs{grid-template-columns:minmax(92px,.35fr) minmax(92px,.35fr) minmax(180px,1fr);gap:12px;display:grid}.marks-lock-bar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border:1px solid #dbe7f8;border-radius:20px;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding:14px;display:flex;position:sticky;bottom:18px;box-shadow:0 20px 44px #062a5529}.marks-lock-bar strong{color:var(--brand-navy,var(--color-primary))}.marks-lock-bar p{color:var(--color-muted);margin:3px 0 0;font-weight:800}.scholastic-overview-card{background:linear-gradient(145deg,#fff 0%,#f8fbff 100%);border:1px solid #dbe7f8;border-radius:22px;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;padding:18px;display:flex;box-shadow:0 16px 34px #062a5512}.scholastic-overview-copy{min-width:0}.scholastic-overview-copy h2{color:var(--brand-navy,var(--color-primary));overflow-wrap:anywhere;margin:12px 0 0;font-size:28px;line-height:1.05}.scholastic-overview-copy p{color:var(--color-muted);margin:8px 0 0;font-weight:800;line-height:1.45}.scholastic-overview-icon{width:54px;height:54px;color:var(--role-color,var(--color-primary));background:#edf5ff;border:1px solid #d9e6f7;border-radius:18px;flex:0 0 54px;place-items:center;display:grid}.scholastic-summary-grid{margin-bottom:18px}.scholastic-grade-workspace{grid-template-columns:minmax(320px,.72fr) minmax(360px,1fr);align-items:start;gap:18px;display:grid}.scholastic-form-card{gap:14px;display:grid}.scholastic-form-note{background:#f6faff;border:1px solid #dbe7f8;border-radius:16px;gap:4px;padding:13px;display:grid}.scholastic-form-note strong{color:var(--brand-navy,var(--color-primary));overflow-wrap:anywhere;font-size:17px;font-weight:900;line-height:1.2}.scholastic-form-note span{color:var(--color-muted);font-weight:800}.form-submit-row{justify-content:stretch;margin-top:4px;display:flex}.form-submit-row .primary-btn{width:100%}.scholastic-grade-list{gap:12px;margin-top:16px;display:grid}.scholastic-grade-card{border:1px solid var(--color-border);background:#fff;border-radius:18px;gap:12px;padding:14px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;box-shadow:0 14px 30px #062a550f}.scholastic-grade-card:hover{border-color:#cbd8eb;transform:translateY(-1px);box-shadow:0 18px 36px #062a551a}.scholastic-grade-card:active{transform:scale(.995)}.scholastic-grade-main{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.scholastic-grade-avatar{width:52px;height:52px;color:var(--brand-navy,var(--color-primary));letter-spacing:0;background:#eaf2ff;border:1px solid #cfe2fa;border-radius:16px;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.scholastic-grade-main h3{color:var(--brand-navy,var(--color-primary));overflow-wrap:anywhere;margin:0;font-size:18px;line-height:1.15}.scholastic-grade-main p{color:var(--color-muted);margin:5px 0 0;font-weight:800}.scholastic-grade-meta{border-top:1px solid #e4edf8;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.scholastic-grade-meta span:last-child{color:var(--color-muted);text-align:right;overflow-wrap:anywhere;font-weight:800}@media (max-width:980px){.marks-overview-card{border-radius:20px;padding:15px}.marks-overview-copy h2{font-size:23px}.marks-overview-icon{border-radius:15px;flex-basis:46px;width:46px;height:46px}.marks-entry-student{grid-template-columns:auto minmax(0,1fr)}.marks-entry-student .status-badge{grid-column:1/-1;justify-self:start}.marks-entry-inputs{grid-template-columns:1fr 1fr}.marks-entry-inputs .field:last-child{grid-column:1/-1}.marks-lock-bar{border-radius:20px;flex-direction:column;align-items:stretch;bottom:92px;left:12px;right:12px}.marks-lock-bar .primary-btn{width:100%}.profile-detail-section{padding:18px}.profile-section-heading{align-items:flex-start}.student-profile-layout{grid-template-columns:120px minmax(0,1fr)}.student-photo-panel{padding-right:10px}.student-photo-panel img,.student-photo-panel>span:first-child{border-radius:14px;width:96px;height:112px}.profile-detail-grid,.guardian-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.profile-detail-cell{min-height:72px;padding:10px 11px}.profile-detail-cell.wide{grid-column:1/-1}.library-profile-row{grid-template-columns:minmax(0,1fr);align-items:flex-start}.scholastic-overview-card{border-radius:20px;padding:15px}.scholastic-overview-copy h2{font-size:23px}.scholastic-overview-icon{border-radius:15px;flex-basis:46px;width:46px;height:46px}.scholastic-grade-workspace{grid-template-columns:1fr}.scholastic-grade-meta{flex-direction:column;align-items:flex-start}.scholastic-grade-meta span:last-child{text-align:left}}@media (max-width:430px){.marks-entry-inputs{grid-template-columns:1fr}.marks-entry-inputs .field:last-child{grid-column:auto}.student-profile-layout{grid-template-columns:108px minmax(0,1fr)}.student-photo-panel img,.student-photo-panel>span:first-child{width:82px;height:96px}.profile-detail-cell{min-height:70px}.profile-detail-cell strong{font-size:13px}}.conduct-hero-card{background:linear-gradient(135deg,#fff7edeb,#fffffff5 58%),radial-gradient(circle at 92% 24%,#f59e0b2e,#0000 32%);border:1px solid #f59e0b61;border-radius:24px;justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex;box-shadow:0 18px 48px #062a5517}.conduct-hero-main{align-items:center;gap:16px;min-width:0;display:flex}.conduct-hero-icon,.conduct-student-chip>svg,.conduct-stat-card>span,.conduct-modal-head>span{color:var(--role-color);background:#e9f1ff;flex:none;justify-content:center;align-items:center;display:inline-flex}.conduct-hero-icon{border-radius:20px;width:62px;height:62px}.conduct-hero-card h2,.conduct-modal-head h2,.conduct-record-body h3{letter-spacing:0;margin:0}.conduct-hero-card h2{color:var(--color-heading);font-size:clamp(28px,3.2vw,44px);line-height:1.02}.conduct-hero-card p{color:var(--color-muted);max-width:680px;margin:7px 0 0}.conduct-student-chip{border:1px solid var(--color-border);background:#ffffffd1;border-radius:20px;align-items:center;gap:12px;min-width:240px;padding:14px 16px;display:flex;box-shadow:inset 0 1px #ffffffd9}.conduct-student-chip>svg{border-radius:15px;width:44px;height:44px;padding:11px}.conduct-student-chip strong,.conduct-student-chip span{display:block}.conduct-student-chip strong{color:var(--color-heading)}.conduct-student-chip span{color:var(--color-muted);margin-top:3px;font-size:13px;font-weight:800}.conduct-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.conduct-stat-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:20px;align-items:center;gap:16px;min-height:108px;padding:18px;display:flex;box-shadow:0 14px 34px #062a5512}.conduct-stat-card.feature{background:var(--role-color);color:#fff}.conduct-stat-card>span{border-radius:16px;width:50px;height:50px}.conduct-stat-card.feature>span{color:#fff;background:#ffffff2e}.conduct-stat-card.feature .metric-label,.conduct-stat-card.feature .metric-value{color:#fff}.conduct-record-list{gap:14px;display:grid}.conduct-empty-card{text-align:center;justify-items:center;gap:10px;padding:34px 24px;display:grid}.conduct-empty-card>svg{width:52px;height:52px;color:var(--role-color);background:#e9f1ff;border-radius:18px;padding:14px}.conduct-record-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:22px;padding:18px;box-shadow:0 16px 38px #062a5514}.conduct-record-top{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.conduct-record-icon{width:48px;height:48px;color:var(--role-color);background:#e9f1ff;border-radius:16px;justify-content:center;align-items:center;display:inline-flex}.conduct-record-icon.commendation{color:#047857;background:#dcfce7}.conduct-record-icon.warning{color:#b91c1c;background:#fee2e2}.conduct-record-icon.counseling{color:#0369a1;background:#e0f2fe}.conduct-record-top h2{color:var(--color-heading);margin:8px 0 0;font-size:21px;line-height:1.1}.conduct-record-top p,.conduct-record-body p,.conduct-record-body span{color:var(--color-muted)}.conduct-record-top p{margin:4px 0 0;font-weight:800}.conduct-record-date{color:var(--role-color);white-space:nowrap;background:#f3f7fc;border-radius:999px;align-items:center;gap:7px;padding:10px 12px;display:inline-flex}.conduct-record-body{border-top:1px solid var(--color-border-soft);margin-top:16px;padding-top:16px}.conduct-record-body h3{color:var(--color-heading);font-size:18px}.conduct-record-body p{margin:8px 0 0;line-height:1.55}.conduct-record-body span{margin-top:12px;font-size:13px;font-weight:800;display:inline-flex}.conduct-modal{width:min(100%,720px)}.conduct-modal-head{align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.conduct-modal-head>span{border-radius:16px;width:50px;height:50px}.conduct-modal-head p{color:var(--color-muted);margin:6px 0 0}.conduct-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.conduct-note-field{margin-top:14px}.conduct-note-field textarea{resize:vertical;min-height:132px;line-height:1.45}.conduct-modal-actions{justify-content:flex-end;gap:12px;margin-top:18px;display:flex}@media (max-width:980px){.conduct-hero-card{border-radius:22px;flex-direction:column;align-items:stretch;padding:18px}.conduct-hero-main{align-items:flex-start}.conduct-hero-icon{border-radius:16px;width:50px;height:50px}.conduct-hero-card h2{font-size:28px}.conduct-student-chip{width:100%;min-width:0}.conduct-summary-grid{grid-template-columns:1fr}.conduct-record-top{grid-template-columns:auto minmax(0,1fr)}.conduct-record-date{grid-column:1/-1;justify-self:start}.conduct-modal-grid{grid-template-columns:1fr}.conduct-modal-actions{flex-direction:column-reverse}.conduct-modal-actions .primary-btn,.conduct-modal-actions .secondary-btn{width:100%}html{height:auto;min-height:100%;overflow:hidden auto}body{overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;height:auto;min-height:100dvh;position:static;overflow-x:hidden;overflow-y:auto!important}.t-app{height:auto;min-height:100dvh;overflow:visible}.t-main{-webkit-overflow-scrolling:touch;height:auto;min-height:auto;overflow:visible}.t-mobile-bar,.bottom-nav{touch-action:auto}}.leave-hero-card{background:radial-gradient(circle at 92% 18%,#f4b00021,#0000 28%),linear-gradient(135deg,#fff 0%,#f6f9ff 100%);border:1px solid #d9e2ef;border-radius:24px;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:center;gap:18px;margin-bottom:18px;padding:22px;display:grid;box-shadow:0 18px 38px #062a5514}.leave-hero-copy{align-items:flex-start;gap:16px;min-width:0;display:flex}.leave-hero-icon,.leave-record-icon,.leave-modal-head>span{color:#062a55;background:#eaf1ff;border:1px solid #d8e5fb;flex:none;justify-content:center;align-items:center;display:inline-flex}.leave-hero-icon{border-radius:18px;width:54px;height:54px}.leave-hero-copy p{color:#147044;letter-spacing:.09em;text-transform:uppercase;margin:0 0 7px;font-size:12px;font-weight:900}.leave-hero-copy h2{color:#062a55;letter-spacing:0;margin:0;font-size:clamp(24px,2.7vw,38px);line-height:1.05}.leave-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.leave-summary-grid article{background:#ffffffdb;border:1px solid #dfe7f2;border-radius:20px;align-content:space-between;gap:9px;min-height:112px;padding:16px;display:grid;box-shadow:0 12px 24px #062a550f}.leave-summary-grid svg{color:#f36b19}.leave-summary-grid span{color:#657187;font-weight:800}.leave-summary-grid strong{color:#062a55;font-size:30px;line-height:1}.leave-alert{border-radius:18px;margin-bottom:16px;padding:14px 16px;font-weight:850}.leave-alert-error{color:#991b1b;background:#fff5f5;border:1px solid #fecaca}.leave-alert-success{color:#05603a;background:#f1fbf4;border:1px solid #a8ddb8}.leave-layout{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;gap:18px;display:grid}.leave-panel{border-radius:24px;padding:22px}.leave-panel-head,.leave-record-top,.leave-modal-head{align-items:flex-start;gap:14px;display:flex}.leave-panel-head{justify-content:space-between;margin-bottom:16px}.leave-panel-head h2,.leave-modal-head h2,.leave-record-top h3{color:#062a55;letter-spacing:0;margin:0}.leave-panel-head p,.leave-modal-head p{color:#607086;margin:6px 0 0;font-weight:700}.leave-list{gap:12px;display:grid}.leave-empty-state{color:#64748b;text-align:center;background:#f8fbff;border:1px dashed #ced9e8;border-radius:20px;place-items:center;gap:8px;min-height:150px;padding:22px;display:grid}.leave-empty-state strong{color:#062a55;font-size:18px}.leave-request-card{background:linear-gradient(145deg,#fff 0%,#fbfdff 100%);border:1px solid #dce5f1;border-radius:20px;padding:16px;transition:transform .18s,box-shadow .18s,border-color .18s;box-shadow:0 12px 28px #062a550f}.leave-request-card:hover{border-color:#c9d6e8;transform:translateY(-1px);box-shadow:0 16px 32px #062a5517}.leave-record-top{grid-template-columns:auto minmax(0,1fr) auto;display:grid}.leave-record-icon{border-radius:14px;width:42px;height:42px}.leave-record-top p,.leave-request-card>p{color:#45546c;margin:6px 0 0;font-weight:700}.leave-record-top small,.leave-request-card small{color:#738196;margin-top:6px;font-weight:750;display:inline-block}.leave-decision-note{margin-bottom:14px}.leave-decision-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.leave-student-card{border-left:4px solid #f4b000}.leave-modal{width:min(100%,720px)}.leave-modal-head{margin-bottom:18px}.leave-modal-head>span{border-radius:16px;width:50px;height:50px}.leave-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.leave-reason-field{margin-top:14px}.leave-reason-field textarea{resize:vertical;min-height:120px}.leave-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px;display:flex}@media (max-width:980px){.leave-hero-card,.leave-layout{grid-template-columns:1fr}.leave-hero-card{border-radius:22px;padding:18px}.leave-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.leave-hero-card{margin-bottom:14px;padding:16px}.leave-hero-copy{gap:12px}.leave-hero-icon{border-radius:15px;width:46px;height:46px}.leave-hero-copy h2{font-size:23px;line-height:1.12}.leave-summary-grid{grid-template-columns:1fr}.leave-summary-grid article{grid-template-columns:auto 1fr auto;align-items:center;min-height:82px}.leave-panel{border-radius:20px;padding:16px}.leave-panel-head{flex-direction:column;gap:10px}.leave-record-top{grid-template-columns:auto minmax(0,1fr)}.leave-record-top .status-badge{grid-column:1/-1;justify-self:start}.leave-decision-actions,.leave-modal-grid{grid-template-columns:1fr}.leave-modal-actions{flex-direction:column-reverse}.leave-modal-actions .primary-btn,.leave-modal-actions .secondary-btn{width:100%}}.answer-hero{grid-template-columns:minmax(0,1fr) minmax(260px,.58fr);align-items:stretch;gap:16px;margin-bottom:18px;display:grid}.answer-hero-copy,.answer-summary-grid>div,.answer-section-card,.answer-student-card,.answer-sheet-card,.answer-preview,.answer-upload-option{background:linear-gradient(145deg,#fff 0%,#f9fbff 100%);border:1px solid #d7e1ef;box-shadow:0 16px 34px #062a5512}.answer-hero-copy{border-radius:24px;align-items:center;gap:18px;min-height:164px;padding:24px;display:flex}.answer-hero-icon{width:68px;height:68px;color:var(--brand-navy);background:#eaf2ff;border-radius:22px;flex:none;place-items:center;display:grid}.answer-hero-copy h2{color:var(--brand-navy);letter-spacing:0;margin:0;font-size:clamp(26px,4vw,44px);line-height:1}.answer-hero-copy p:not(.eyebrow){color:#4d5d75;margin:10px 0 0;font-weight:700}.answer-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.answer-summary-grid>div{border-radius:22px;align-content:center;gap:7px;min-height:122px;padding:16px;display:grid}.answer-summary-grid svg{color:var(--brand-navy)}.answer-summary-grid strong{color:var(--brand-navy);font-size:24px;line-height:1}.answer-summary-grid span{color:#66758a;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:850}.answer-state{border-radius:16px;align-items:center;gap:10px;margin-bottom:16px;padding:14px 16px;font-weight:850;display:flex}.answer-state-danger{color:#991b1b;background:#fff5f5;border:1px solid #fecaca}.answer-state-success{color:#046c4e;background:#f0fff7;border:1px solid #b7ebcf}.answer-section-card{border-radius:22px;margin-bottom:18px}.answer-section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.answer-section-head h2,.answer-preview h3,.answer-sheet-card h3,.answer-student-card h3{color:var(--brand-navy);letter-spacing:0;margin:0}.answer-section-head p,.answer-sheet-card p,.answer-student-card p,.answer-preview p{color:#58687e;margin:6px 0 0;font-weight:700}.answer-search{width:min(100%,330px);min-height:48px;color:var(--brand-navy);background:#fff;border:1px solid #cad6e6;border-radius:14px;align-items:center;gap:10px;padding:0 14px;display:flex}.answer-search input{width:100%;color:var(--color-text);background:0 0;border:0;outline:0}.answer-empty{color:#66758a;text-align:center;background:#f8fbff;border:1px dashed #cbd8ea;border-radius:20px;place-items:center;gap:10px;min-height:170px;padding:24px;display:grid}.answer-empty strong{color:var(--brand-navy);font-size:18px}.answer-student-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:14px;display:grid}.answer-student-card,.answer-sheet-card{border-radius:20px;padding:16px;transition:transform .18s,border-color .18s,box-shadow .18s}.answer-student-card:hover,.answer-sheet-card:hover,.answer-upload-option:hover{border-color:#b9c8dc;transform:translateY(-1px);box-shadow:0 18px 36px #062a551a}.answer-card-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.answer-roll,.answer-count-pill{min-height:32px;color:var(--brand-navy);background:#eaf2ff;border-radius:999px;justify-content:center;align-items:center;padding:6px 12px;font-weight:900;display:inline-flex}.answer-student-card .primary-btn{width:100%;margin-top:14px}.answer-sheet-list{gap:12px;display:grid}.answer-sheet-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.answer-sheet-meta span{background:#f8fbff;border:1px solid #e0e8f4;border-radius:14px;min-width:0;padding:10px}.answer-sheet-meta small{color:#718096;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:850;display:block}.answer-sheet-meta strong{color:var(--brand-navy);overflow-wrap:anywhere;margin-top:3px;display:block}.answer-action-row{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.answer-modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#062a557a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.answer-modal{background:#fff;border:1px solid #d7e1ef;border-radius:24px;width:min(100%,760px);max-height:calc(100dvh - 40px);padding:22px;overflow:auto;box-shadow:0 28px 80px #062a5547}.answer-modal-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.answer-modal-head h2{color:var(--brand-navy);margin:0}.answer-modal-head p{color:#58687e;margin:5px 0 0;font-weight:800}.answer-upload-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.answer-upload-option{min-height:140px;color:var(--brand-navy);cursor:pointer;border-radius:20px;align-content:center;gap:7px;padding:18px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid}.answer-upload-option span{color:#65748b;font-weight:700}.answer-upload-option input{opacity:0;pointer-events:none;block-size:1px;inline-size:1px;position:absolute}.answer-preview{border-radius:20px;min-height:190px;margin-top:16px;padding:14px}.answer-preview img,.answer-preview iframe{object-fit:contain;background:#f8fbff;border:1px solid #d8e2ef;border-radius:16px;width:100%;max-height:420px}.answer-preview iframe{min-height:420px}.answer-modal-actions .primary-btn,.answer-modal-actions .secondary-btn{min-width:150px}.spin-icon{animation:.9s linear infinite spin}@media (max-width:980px){.answer-hero{grid-template-columns:1fr}.answer-summary-grid,.answer-sheet-meta{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.answer-hero-copy,.answer-section-card,.answer-modal{border-radius:20px;padding:16px}.answer-hero-copy{align-items:flex-start;min-height:auto}.answer-hero-icon{border-radius:16px;width:50px;height:50px}.answer-hero-copy h2{font-size:27px}.answer-summary-grid,.answer-sheet-meta,.answer-upload-options{grid-template-columns:1fr}.answer-section-head{flex-direction:column}.answer-search{width:100%}.answer-card-top{align-items:flex-start}.answer-action-row,.answer-modal-actions{grid-template-columns:1fr;display:grid}.answer-action-row .primary-btn,.answer-action-row .secondary-btn{width:100%}.answer-modal-backdrop{align-items:flex-end;padding:0}.answer-modal{border-radius:24px 24px 0 0;max-height:90dvh}.answer-preview iframe{min-height:300px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.library-workspace{gap:18px;display:grid}.library-summary-grid,.library-issue-grid,.library-book-form{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px;display:grid}.library-panel{gap:16px;display:grid}.library-picker-head{align-items:center}.library-picker-head h2{margin:0}.library-picker-head>span{min-height:30px;color:var(--brand-navy);white-space:nowrap;background:#eef4ff;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:900;display:inline-flex}.library-selected-student{background:#f1f8ff;border:1px solid #8bc0f4;border-radius:8px;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:10px;padding:11px 12px;display:grid}.library-selected-student small,.library-selected-student strong,.library-selected-student span{display:block}.library-selected-student small{color:#1f7bbf;text-transform:uppercase;font-size:11px;font-weight:900}.library-selected-student strong{color:var(--brand-navy);margin-top:2px;font-size:15px;line-height:1.2}.library-selected-student span{color:#617086;margin-top:3px;font-size:12px;font-weight:800}.library-icon-btn{width:34px;height:34px;color:var(--brand-navy);cursor:pointer;background:#fff;border:1px solid #cfd9e8;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.library-student-search{background:#fff;border:1px solid #cfd9e8;border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:9px;min-height:44px;padding:0 12px;display:grid}.library-student-search input{min-width:0;color:var(--brand-navy);font:inherit;border:0;outline:0;font-weight:850}.library-choice-list,.library-transaction-list,.library-student-list{gap:10px;display:grid}.library-student-picker,.library-copy-picker{overscroll-behavior:contain;max-height:382px;padding-right:4px;overflow-y:auto}.library-choice,.library-copy,.library-transaction,.library-student-card{width:100%;color:var(--brand-navy);text-align:left;background:#fff;border:1px solid #dbe5f1;border-radius:8px;padding:13px}.library-choice,.library-copy{cursor:pointer;transition:border-color .16s,box-shadow .16s,transform .16s}.library-choice.compact{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;min-height:62px;padding:10px 12px;display:grid}.library-choice.compact strong{overflow-wrap:anywhere;min-width:0;font-size:14px;line-height:1.18}.library-choice.compact span{min-width:0;margin-top:0;font-size:12px;line-height:1.25}.library-choice.compact small{white-space:nowrap;grid-area:1/2/span 2;align-self:center;margin-top:0}.library-choice:hover,.library-copy:hover,.library-choice.active,.library-copy.active{border-color:#1f7bbf;box-shadow:0 12px 26px #062a551c}.library-choice strong,.library-choice span,.library-choice small,.library-copy strong,.library-copy small{display:block}.library-choice span,.library-copy small,.library-empty{color:#617086;margin-top:4px;font-weight:750}.library-choice small{color:#1f7bbf;margin-top:8px;font-weight:900}.library-copy{grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;display:grid}.library-copy input{width:18px;height:18px;margin-top:2px}.library-search-input{background:#fff;border:1px solid #cfd9e8;border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;padding:0 12px;display:grid}.library-search-input input{min-width:0;font:inherit;color:var(--brand-navy);border:0;outline:0;font-weight:800}.library-issue-footer{grid-template-columns:minmax(180px,1fr) auto;align-items:end;gap:12px;display:grid}.library-transaction{grid-template-columns:minmax(0,1.4fr) minmax(140px,.6fr) minmax(110px,.45fr) auto;align-items:center;gap:12px;display:grid}.library-transaction strong,.library-transaction span,.library-transaction small,.library-transaction b{display:block}.library-transaction small,.library-student-card dt{color:#63738a;text-transform:uppercase;font-size:11px;font-weight:900}.library-transaction input{border:1px solid #cfd9e8;border-radius:8px;width:100%;min-height:40px;padding:0 10px;font-weight:850}.library-copy-codes{grid-column:1/-1}.library-copy-codes textarea{resize:vertical;min-height:90px}.library-import-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.library-import-head h2,.library-import-head p{margin:0}.library-import-head p{color:#617086;margin-top:5px;font-weight:750}.library-import-grid{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.library-import-actions{flex-wrap:wrap;gap:10px;display:flex}.library-import-rules,.library-import-result{background:#f8fbff;border:1px solid #dbe5f1;border-radius:8px;gap:6px;padding:12px;display:grid}.library-import-rules strong,.library-import-result strong{color:var(--brand-navy)}.library-import-rules span,.library-import-result span,.library-import-result p{color:#617086;margin:0;font-size:13px;font-weight:750}.report-alert-success{color:#0f5132;background:#effaf3;border-color:#93d4ad}.library-student-card h3{color:var(--brand-navy);margin:9px 0 4px}.library-student-card p{color:#63738a;margin:0;font-weight:800}.library-student-card dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 0;display:grid}.library-student-card dd{color:var(--brand-navy);margin:3px 0 0;font-weight:900}@media (max-width:760px){.library-issue-footer,.library-transaction,.library-import-grid{grid-template-columns:1fr}.library-import-head{display:grid}.library-student-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.library-choice.compact{grid-template-columns:minmax(0,1fr)}.library-choice.compact small{grid-area:auto;justify-self:start}}.academic-title-actions{flex-wrap:wrap;gap:10px;display:flex}.academic-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.academic-tool-grid button{color:#102a43;text-align:left;cursor:pointer;background:#fff;border:1px solid #cfd9e7;border-radius:8px;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:12px;min-height:94px;padding:16px;display:grid}.academic-tool-grid button:hover,.academic-tool-grid button:focus-visible,.academic-tool-grid button.active{border-color:#0b67b2;box-shadow:0 0 0 3px #0b67b21c}.academic-tool-grid button.active{background:#f1f7fd}.academic-tool-grid button>span:nth-child(2){gap:4px;min-width:0;display:grid}.academic-tool-grid strong{font-size:16px}.academic-tool-grid small{color:#52677d;font-size:13px;line-height:1.35}.academic-tool-icon{color:#075985;background:#e8f4fb;border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.academic-tool-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.academic-tool-grid.compact button{grid-template-columns:34px minmax(0,1fr);min-height:72px;padding:12px}.academic-tool-grid.compact .academic-tool-icon{width:34px;height:34px}.academic-tool-grid.compact button>svg,.academic-tool-grid.compact small{display:none}.academic-hub-intro{justify-content:space-between;align-items:center;gap:20px;display:flex}.academic-hub-intro h2{margin:0 0 6px}.academic-hub-intro p{margin:0}.grade-select,.grade-input{min-width:86px}@media (max-width:900px){.academic-tool-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.academic-tool-grid,.academic-tool-grid.compact{grid-template-columns:1fr}.academic-tool-grid button{min-height:76px}.academic-tool-grid.compact button>svg{display:block}.academic-hub-intro{flex-direction:column;align-items:flex-start}}.dashboard-alert-strip{background:#f7fcff;border:1px solid #b8d8ee;border-left:4px solid #0875b5;border-radius:8px;grid-template-columns:minmax(170px,.28fr) minmax(0,1fr);align-items:stretch;gap:12px;margin-bottom:16px;padding:12px;display:grid}.dashboard-alert-title{color:#064d75;align-items:center;gap:10px;padding:4px 8px;display:flex}.dashboard-alert-title span,.dashboard-alert-items a span{gap:2px;min-width:0;display:grid}.dashboard-alert-title small,.dashboard-alert-items small{color:#52677d;font-size:12px;line-height:1.35}.dashboard-alert-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.dashboard-alert-items a{color:#102a43;background:#fff;border:1px solid #d7e3ec;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;min-width:0;min-height:58px;padding:9px 10px;text-decoration:none;display:flex}.dashboard-alert-items a.unread{background:#edf8fe;border-color:#73b8df}.dashboard-alert-items strong,.dashboard-alert-items small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (max-width:900px){.dashboard-alert-strip{grid-template-columns:1fr}}@media (max-width:640px){.dashboard-alert-items{grid-template-columns:1fr}.dashboard-alert-items a:nth-child(n+3){display:none}}.certificate-preview-backdrop{z-index:1000;background:#091e34ad;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.certificate-preview-dialog{background:#fff;border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(960px,100%);height:min(90vh,900px);display:grid;overflow:hidden;box-shadow:0 28px 70px #00000047}.certificate-preview-dialog header{border-bottom:1px solid #d7e1ea;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:10px 14px 10px 18px;display:flex}.certificate-preview-dialog header div{gap:3px;min-width:0;display:grid}.certificate-preview-dialog header small{color:#52677d}.certificate-preview-dialog iframe{background:#e8edf2;border:0;width:100%;height:100%}@media (max-width:640px){.certificate-preview-backdrop{padding:0}.certificate-preview-dialog{border-radius:0;width:100%;height:100%}}
