@import url("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}body,html{min-height:100%}body{margin:0;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(244,176,0,.18)}a{color:inherit}button,input,select,textarea{font:inherit}a,button,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(244,176,0,.45);outline-offset:3px}.t-app{min-height:100vh;background:var(--color-bg);color:var(--color-text)}.t-sidebar{position:fixed;inset:0 auto 0 0;width:292px;background:var(--brand-navy);border-right:0;color:#fff;padding:28px 16px 18px;display:flex;flex-direction:column;z-index:40;box-shadow:18px 0 42px rgba(5,28,57,.18)}.t-side-brand{min-height:78px;display:flex;align-items:center;gap:12px;text-decoration:none;padding:0 0 22px;border-bottom:1px solid hsla(0,0%,100%,.18);margin-bottom:16px}.t-side-brand>img{width:48px;height:64px;object-fit:contain;flex:0 0 auto}.t-teacher-profile-card{margin-bottom:16px;padding:12px;border:1px solid hsla(0,0%,100%,.18);border-radius:16px;background:hsla(0,0%,100%,.08);display:flex;gap:12px;align-items:center}.t-teacher-profile-card img{width:46px;height:46px;border-radius:999px;object-fit:cover;background:#fff}.t-teacher-profile-card small,.t-teacher-profile-card strong{display:block}.t-teacher-profile-card strong{color:#fff;font-size:13px}.t-teacher-profile-card small{color:hsla(0,0%,100%,.72);font-size:12px;margin-top:3px}.brand-mark{width:44px;height:44px;border-radius:999px;background:var(--role-color);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;flex:0 0 auto}.t-mobile-bar strong,.t-side-brand strong{display:block;color:var(--color-primary-strong);font-size:18px;line-height:1.1}.t-side-brand strong{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:17px;text-transform:uppercase}.t-mobile-bar small,.t-side-brand small{display:block;color:var(--color-muted);font-size:12px;font-weight:600;margin-top:3px}.t-side-brand small{color:var(--brand-gold);text-transform:uppercase}.t-side-nav{display:flex;flex-direction:column;gap:4px;overflow-y:auto;padding-right:4px}.t-side-nav a{min-height:46px;border-radius:10px;display:flex;align-items:center;gap:12px;padding:0 12px;color:hsla(0,0%,100%,.78);text-decoration:none;font-size:14px;font-weight:700}.t-side-nav a.active,.t-side-nav a:hover{background:#fff;color:var(--brand-navy)}.t-side-nav a.active{box-shadow:none}.t-side-logout{min-height:48px;margin-top:auto;border-radius:0;border:0;border-top:1px solid hsla(0,0%,100%,.18);background:transparent;color:#ffb4b4;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;cursor:pointer}.t-main{margin-left:292px;min-height:100vh;padding:30px 32px 96px;background:radial-gradient(circle at 76% 6%,rgba(244,176,0,.12),transparent 28%),linear-gradient(180deg,#f5f8ff,#eef3fb)}.t-page-head{min-height:78px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.t-title-lockup{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:14px;gap:14px;align-items:center;min-width:0}.t-page-image-mark{width:58px;height:58px;border-radius:20px;border:1px solid #e3e8f2;background:linear-gradient(145deg,#fff,#f7faff);box-shadow:0 16px 28px rgba(6,42,85,.08);display:grid;place-items:center}.t-page-image-mark img{width:42px;height:42px;object-fit:contain}.t-page-head h1{margin:0;font-size:32px;line-height:1.15;letter-spacing:0}.t-page-head p{margin:6px 0 0;color:var(--color-muted);font-size:14px}.t-eyebrow{margin:0 0 8px!important;color:var(--role-color)!important;font-size:11px!important;line-height:1;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.t-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.t-badge,.t-teacher-chip{min-height:32px;border-radius:999px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:800;white-space:nowrap}.t-badge,.t-badge.success,.t-teacher-chip{background:#dcfce7;color:#166534}.t-badge.warning{background:#fef3c7;color:#92400e}.t-badge.danger{background:#fee2e2;color:#991b1b}.t-badge.neutral{background:var(--color-surface-soft);color:var(--color-muted)}.t-mobile-bar{display:none;min-height:68px;border-bottom:1px solid var(--color-border);background:rgba(248,249,255,.96);padding:10px 16px;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:32}.t-drawer-backdrop{position:fixed;inset:0;background:rgba(11,28,48,.48);z-index:60;display:flex}.t-drawer{width:min(88vw,330px);background:var(--color-surface);height:100%;padding:18px;display:flex;flex-direction:column}.t-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--color-border);margin-bottom:16px}.t-filter-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:16px;margin-bottom:22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px;align-items:flex-end}.field{display:flex;flex-direction:column;gap:6px}.field label,.field span,.field-label{color:var(--color-muted);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.input,.select{width:100%;min-height:48px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:10px 12px;outline:none}.input:focus,.select:focus{border-color:var(--role-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--role-color) 16%,transparent)}.home-btn,.icon-btn,.primary-btn,.secondary-btn{min-height:48px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-size:14px;font-weight:800;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease,opacity .16s ease}.primary-btn{border:0;background:var(--role-color);color:#fff;padding:0 20px;text-transform:uppercase}.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}.home-btn,.icon-btn{width:48px;border:1px solid var(--color-border);background:var(--color-surface);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 rgba(6,42,85,.18)}.home-btn:hover,.icon-btn:hover,.secondary-btn:hover{border-color:#b9c7dc;box-shadow:0 12px 24px rgba(6,42,85,.08)}.home-btn:active,.icon-btn:active,.module-tile:active,.primary-btn:active,.quick-icon-tile:active,.secondary-btn:active{transform:scale(.97)}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;margin-bottom:26px}.metric-card{min-height:112px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);padding:22px;display:flex;justify-content:space-between;gap:20px;align-items:center}.metric-card.feature{background:var(--role-color);color:#fff;border-color:var(--role-color)}.metric-label{margin:0 0 8px;color:var(--color-muted);font-size:15px}.metric-card.feature .metric-label{color:hsla(0,0%,100%,.78)}.metric-value{margin:0;font-size:34px;line-height:1;font-weight:800}.content-card,.t-row-card{border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);padding:20px;box-shadow:0 16px 30px rgba(6,42,85,.05)}.dashboard-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.dashboard-section-head h2{margin:0;color:var(--brand-navy);font-family:Georgia,Times New Roman,serif;font-size:28px;line-height:1.1;letter-spacing:0}.dashboard-section-head p{margin:5px 0 0;color:var(--color-muted);font-size:14px;font-weight:700}.quick-icon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(176px,1fr));grid-gap:18px;gap:18px}.teacher-quick-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.teacher-quick-card{margin-bottom:22px}.quick-icon-tile{min-height:154px;border:1px solid #e3e8f2;border-radius:18px;background:linear-gradient(145deg,#fff,#f7faff);box-shadow:0 18px 32px rgba(6,42,85,.07);text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:16px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.quick-icon-tile:hover{transform:translateY(-2px);border-color:#c6d2e5;box-shadow:0 22px 38px rgba(6,42,85,.11)}.quick-icon-tile img{width:58px;height:58px;object-fit:contain}.quick-icon-tile span{color:#1b2738;font-size:17px;font-weight:900;text-align:center}.t-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px}.t-two-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);grid-gap:18px;gap:18px}.t-list{display:grid;grid-gap:14px;gap:14px}.t-row-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.content-card h2,.content-card h3,.t-row-card h2,.t-row-card h3{margin:0;letter-spacing:0}.content-card p,.t-row-card p{margin:8px 0 0;color:var(--color-muted)}.t-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.t-table{width:100%;border-collapse:collapse;min-width:720px}.t-table td,.t-table th{padding:13px 14px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}.t-table th{color:var(--color-muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc}.t-table tr:last-child td{border-bottom:0}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:16px;gap:16px}.module-grid.compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.module-tile{min-height:150px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-text);text-decoration:none;padding:18px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}.module-tile:hover{border-color:var(--role-color);background:var(--color-surface-soft)}.tile-icon{width:52px;height:52px;border-radius:12px;background:var(--color-surface-blue);color:var(--role-color);display:inline-flex;align-items:center;justify-content:center}.tile-label{color:var(--color-text);font-size:14px;font-weight:800}.t-teacher-hero{border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);padding:20px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:18px}.t-teacher-hero h2{margin:12px 0 0;font-size:26px;line-height:1.15}.t-teacher-hero p{margin:8px 0 0;color:var(--color-muted)}.t-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.teacher-welcome-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:28px;gap:28px;margin-bottom:28px}.teacher-welcome-card{min-height:218px;border:1px solid #f4d79e;border-radius:16px 28px 28px 16px;background:linear-gradient(90deg,hsla(0,0%,100%,.98),hsla(0,0%,100%,.88) 56%,rgba(255,247,234,.58)),url(/brand/teacher-banner-bg.png) 100% /contain no-repeat;box-shadow:0 24px 46px rgba(6,42,85,.08);overflow:hidden;display:flex;align-items:center}.teacher-welcome-copy{display:flex;gap:22px;padding:28px 34px;max-width:620px}.teacher-vertical-line{width:8px;min-height:132px;background:var(--brand-orange);flex:0 0 auto}.teacher-welcome-copy h2{margin:14px 0 0;color:var(--brand-navy);font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,4.2vw,46px);line-height:1;letter-spacing:0}.teacher-welcome-copy p{max-width:440px;margin:14px 0 0;color:#53647d;font-size:16px;line-height:1.45}.teacher-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.teacher-today-card{border:1px solid var(--color-border);border-radius:16px;background:hsla(0,0%,100%,.92);padding:22px;box-shadow:0 20px 36px rgba(6,42,85,.07)}.teacher-today-card h2{margin:0;color:var(--brand-navy);font-family:Georgia,Times New Roman,serif;font-size:24px}.teacher-compact-schedule{display:grid;grid-gap:12px;gap:12px}.teacher-compact-row{min-height:70px;border:1px solid #e4eaf4;border-radius:12px;background:#f8fbff;display:grid;grid-template-columns:62px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;padding:12px 14px;text-decoration:none}.teacher-compact-row strong{color:var(--brand-orange);font-size:16px}.teacher-compact-row span{color:var(--color-text);display:block;font-weight:900}.teacher-compact-row small{display:block;color:var(--color-muted);font-size:12px;font-weight:700;margin-top:3px}.t-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);grid-gap:18px;gap:18px}.t-timetable-panel{min-height:620px}.t-timeline{border:1px solid var(--color-border);border-radius:10px;overflow:hidden;background:var(--color-surface)}.t-time-row{min-height:70px;display:grid;grid-template-columns:78px 12px minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px;padding:10px 14px;border-bottom:1px solid var(--color-border)}.t-time-row:last-child{border-bottom:0}.t-time-row.complete{background:#f8fafc;opacity:.72}.t-time-row.current{background:#eff4ff;box-shadow:inset 4px 0 0 var(--color-primary)}.t-time-row.sub{background:#fff7f7;box-shadow:inset 4px 0 0 var(--color-danger)}.t-time-row.break{min-height:48px;background:#f8fafc;color:var(--color-muted)}.t-time-index{text-align:center}.t-time-index strong{display:block;font-size:13px}.t-time-index span{display:block;color:var(--color-muted);font-size:12px;font-weight:700}.t-time-pin{width:6px;height:42px;border-radius:999px;background:var(--color-border)}.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{margin:4px 0 0;color:var(--color-muted)}.t-right-rail{display:grid;grid-gap:18px;gap:18px;align-content:start}.teacher-insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px;align-items:flex-start}.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);border-radius:10px;padding:14px;background:#f8fafc}.t-queue-row p{margin:10px 0 0;color:var(--color-muted)}.t-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:16px}.t-mini-stats div{border:1px solid var(--color-border);border-radius:10px;padding:12px;background:#f8fafc}.t-mini-stats span{display:block;color:var(--role-color);font-size:22px;font-weight:800}.t-mini-stats strong{display:block;color:var(--color-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.t-segmented{display:inline-flex;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);padding:4px;gap:4px}.t-segmented button{min-height:40px;border:0;border-radius:8px;background:transparent;color:var(--color-muted);padding:0 14px;font-weight:800;cursor:pointer}.t-segmented button.active{background:var(--role-color);color:#fff}.t-modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(11,28,48,.5);display:flex;align-items:center;justify-content:center;padding:20px}.t-modal{width:min(100%,620px);max-height:calc(100vh - 40px);overflow:auto;border-radius:16px;background:var(--color-surface);padding:24px;border:1px solid var(--color-border)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;min-height:80px;border-top:1px solid var(--color-border);background:#eef4ff;display:none;align-items:center;justify-content:center;gap:min(5vw,34px);z-index:30}.bottom-nav a,.bottom-nav button{min-width:72px;min-height:56px;border-radius:18px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-decoration:none;color:var(--color-muted);font-size:12px;font-weight:700;border:0;background:transparent;cursor:pointer}.bottom-nav a.active{background:#fff2bf;color:var(--brand-navy)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.erp-state-shell{min-height:62vh;display:grid;place-items:center;padding:24px}.erp-state-card{width:min(100%,430px);border:1px solid #e2e8f3;border-radius:20px;background:#fff;box-shadow:0 24px 54px rgba(6,42,85,.1);padding:34px 28px;text-align:center;display:grid;justify-items:center;grid-gap:18px;gap:18px}.erp-state-visual{width:108px;height:74px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,hsla(0,0%,100%,.88),rgba(231,238,250,.9)),radial-gradient(circle at 50% 0,#fff,transparent 62%);color:var(--role-color);box-shadow:0 20px 32px rgba(6,42,85,.12)}.erp-state-card h2{margin:0;color:var(--color-text);font-size:26px;line-height:1.12}.erp-state-card p{margin:9px 0 0;color:var(--color-muted);font-size:14px;font-weight:700}.erp-state-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.auth-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg)}.auth-header{height:72px;display:flex;align-items:center;gap:12px;padding:0 32px;color:var(--color-primary-strong)}.auth-header strong{font-size:24px}.auth-main{flex:1 1;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:min(100%,520px);border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);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{margin:0;color:var(--color-muted)}.auth-mark{width:52px;height:52px;border-radius:14px;background:#dcfce7;color:var(--role-color);display:inline-flex;align-items:center;justify-content:center}.error-box{border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#991b1b;padding:12px 14px;font-size:13px;font-weight:700;margin-bottom:18px}.locked-note{border-top:1px solid var(--color-border);margin-top:22px;padding-top:18px;color:var(--color-muted);font-size:13px;text-align:center}@media (max-width:980px){.t-sidebar{display:none}.bottom-nav,.t-mobile-bar{display:flex}.t-main{margin-left:0;padding:22px 16px 104px}.t-page-head{display:grid;grid-gap:14px;gap:14px;margin-bottom:18px}.t-title-lockup{align-items:flex-start}.t-page-head h1{overflow-wrap:anywhere}.t-page-head p{max-width:100%}.t-head-actions{justify-content:flex-start;margin-top:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,max-content))}.t-head-actions .primary-btn,.t-head-actions .secondary-btn{min-width:0}.summary-grid,.t-dashboard-grid,.t-two-grid,.teacher-insight-grid,.teacher-welcome-layout{grid-template-columns:1fr}.t-teacher-hero{display:grid}.t-hero-actions{justify-content:flex-start}.content-card>div[style*=grid-template-columns],.content-card>form[style*=grid-template-columns],.t-main>div[style*=grid-template-columns],.t-main>section[style*=grid-template-columns]{grid-template-columns:1fr!important}.t-main [style*=min-width],.t-main [style*=minWidth]{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{width:54px;height:54px;border-radius:18px}.t-page-image-mark img{width:38px;height:38px}.t-mobile-bar{padding:10px 12px;gap:10px}.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{min-width:0;justify-content:center;white-space:normal;text-align:center}.t-row-top{display:grid}.t-segmented{width:100%}.t-segmented button{flex:1 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{min-height:122px;border-radius:14px;gap:10px}.quick-icon-tile img{width:44px;height:44px}.quick-icon-tile span{font-size:13px}.teacher-welcome-card{min-height:270px;background:linear-gradient(180deg,hsla(0,0%,100%,.98),rgba(255,250,243,.9)),url(/brand/teacher-banner-bg.png) 100% 100% /78% auto no-repeat}.teacher-welcome-copy{padding:28px 24px;gap:18px}.teacher-welcome-copy p{font-size:16px}.auth-card{padding:26px}}@media print{.bottom-nav,.t-filter-bar,.t-head-actions,.t-mobile-bar,.t-sidebar{display:none!important}.t-main{margin:0;padding:0}body{background:#fff}}@media (max-width:980px){body,html{overflow-x:hidden;overscroll-behavior-y:contain;background:#f4f7fc}.t-app{background:linear-gradient(180deg,#fff,#f4f7fc 44%,#eef3fa)}.t-mobile-bar{position:fixed;inset:0 0 auto 0;z-index:45;min-height:128px;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:flex-start;grid-gap:10px;gap:10px;padding:18px 14px 38px;border:0;border-radius:0 0 30px 30px;background:radial-gradient(circle at 86% 10%,rgba(255,183,3,.18),transparent 150px),linear-gradient(135deg,#062a55,#07376e 56%,#031d3d);color:#fff;box-shadow:0 18px 36px rgba(6,42,85,.22);overflow:hidden}.t-mobile-bar:after{content:"";position:absolute;left:0;right:-28px;bottom:-32px;height:72px;background:#f4b000;-webkit-clip-path:ellipse(70% 52% at 74% 0);clip-path:ellipse(70% 52% at 74% 0);opacity:.95}.t-mobile-bar:before{content:"";position:absolute;left:-20px;right:-20px;bottom:-40px;height:76px;background:#fff;-webkit-clip-path:ellipse(78% 58% at 46% 0);clip-path:ellipse(78% 58% at 46% 0);z-index:1}.t-mobile-bar>*{position:relative;z-index:2}.t-mobile-brand{min-width:0;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px}.t-mobile-brand img{width:44px;height:54px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.t-mobile-bar strong{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:clamp(16px,5vw,22px);line-height:1.05;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-mobile-bar small{color:#ffcc35;font-size:12px;font-weight:850;text-transform:uppercase}.t-mobile-bar .icon-btn{width:44px;min-width:44px;height:44px;min-height:44px;border-radius:16px;border-color:hsla(0,0%,100%,.2);background:hsla(0,0%,100%,.12);color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.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);border-radius:22px;background:hsla(0,0%,100%,.94);padding:16px;box-shadow:0 14px 30px rgba(6,42,85,.08)}.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 .icon-btn,.t-head-actions .primary-btn,.t-head-actions .secondary-btn,.t-head-actions .t-teacher-chip{width:100%;min-width:0}.teacher-welcome-layout{display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px;margin-top:-18px;margin-bottom:14px}.teacher-welcome-card{min-height:172px;border-radius:0 20px 20px 0;border-left:8px solid var(--brand-orange);background:linear-gradient(90deg,hsla(0,0%,100%,.98),rgba(255,250,242,.9) 58%,hsla(0,0%,100%,.46)),url(/brand/teacher-banner-bg.png) 100% /auto 156px no-repeat;box-shadow:0 16px 30px rgba(6,42,85,.1)}.teacher-welcome-copy{padding:22px 18px;gap:12px}.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{margin-top:12px;gap:8px}.teacher-hero-actions .primary-btn,.teacher-hero-actions .secondary-btn{min-height:42px;padding-inline:12px;font-size:12px}.content-card,.t-row-card,.teacher-today-card{border-radius:22px;box-shadow:0 14px 30px rgba(6,42,85,.08)}.teacher-today-card{padding:18px}.dashboard-section-head h2,.teacher-today-card h2{font-size:25px}.teacher-compact-row{min-height:62px;border-radius:16px;grid-template-columns:58px minmax(0,1fr)}.teacher-quick-card{padding:20px 14px;margin-bottom:14px}.dashboard-section-head{display:block;margin-bottom:14px}.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{min-height:108px;border-radius:16px;gap:8px;padding:10px 6px}.quick-icon-tile img{width:42px;height:42px}.quick-icon-tile span{font-size:12px;line-height:1.12}.summary-grid,.t-dashboard-grid,.t-two-grid,.teacher-insight-grid{grid-template-columns:1fr;gap:14px}.t-filter-bar{border-radius:20px;padding:14px;gap:10px}.t-table-wrap{border-radius:18px}.bottom-nav{min-height:82px;left:10px;right:10px;bottom:8px;border:0;border-radius:24px;background:#062a55;box-shadow:0 -10px 28px rgba(6,42,85,.22);gap:0;padding:8px 7px calc(8px + env(safe-area-inset-bottom))}.bottom-nav a,.bottom-nav button{min-width:0;min-height:58px;flex:1 1;border-radius:18px;color:hsla(0,0%,100%,.72);font-size:11px}.bottom-nav a.active{background:transparent;color:#f4b000}.bottom-nav a.active:after{content:"";width:34px;height:3px;border-radius:999px;background:#f4b000}}@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{width:38px;height:46px;object-fit:contain}.image-auth-mark{width:74px;height:74px;border-radius:22px;background:#f8fafc;border:1px solid #e2e8f0;box-shadow:0 14px 30px rgba(6,42,85,.1)}.image-auth-mark img{width:54px;height:62px;object-fit:contain}@media (max-width:980px){:root{--tap-size:44px}body{font-size:15px}button,input,select,textarea{font-size:16px}.t-mobile-bar{min-height:auto;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;padding:10px 12px 12px;border-radius:0 0 20px 20px;box-shadow:0 12px 24px rgba(6,42,85,.2)}.t-mobile-bar:after,.t-mobile-bar:before{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{width:42px;min-width:42px;height:42px;min-height:42px;border-radius:14px}.t-main{padding:82px 12px 98px}.t-dashboard-route .t-main{padding-top:74px}.t-page-head{grid-template-columns:1fr;gap:10px;padding:14px;border-radius:18px}.t-title-lockup{grid-template-columns:52px minmax(0,1fr);gap:12px}.t-page-image-mark{width:52px;height:52px;border-radius:18px}.t-page-image-mark img{width:38px;height:38px}.t-page-head h1{font-size:clamp(25px,8vw,34px);line-height:1.05;overflow-wrap:anywhere}.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{min-height:118px;border-left-width:6px;border-radius:18px;background:linear-gradient(90deg,hsla(0,0%,100%,.98),rgba(255,250,242,.92) 60%,hsla(0,0%,100%,.5)),url(/brand/teacher-banner-bg.png) 100% /auto 108px no-repeat}.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{margin-top:10px;gap:8px}.teacher-hero-actions .primary-btn,.teacher-hero-actions .secondary-btn{min-height:38px;padding:0 11px;border-radius:13px;font-size:12px}.teacher-today-card{padding:14px;border-radius:18px}.content-card h2,.dashboard-section-head h2,.teacher-today-card h2{font-size:22px!important;line-height:1.12}.teacher-compact-row{min-height:56px;border-radius:15px;grid-template-columns:56px minmax(0,1fr);padding:9px 10px}.teacher-compact-row small,.teacher-compact-row strong{overflow-wrap:anywhere}.content-card,.t-row-card,.teacher-quick-card{border-radius:18px;padding:16px}.content-card p,.dashboard-section-head p{font-size:13px;line-height:1.35}.t-filter-bar{grid-template-columns:1fr!important;padding:12px;gap:11px;border-radius:18px}.field{min-width:0}.input,.select,textarea{width:100%;min-height:48px;border-radius:14px}.primary-btn,.secondary-btn,.text-btn{min-height:var(--tap-size);border-radius:14px;white-space:normal}.quick-icon-grid,.teacher-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px}.quick-icon-tile{min-height:104px;border-radius:18px;padding:10px 6px;box-shadow:0 12px 22px rgba(6,42,85,.08);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.quick-icon-tile:active{transform:scale(.97)}.quick-icon-tile img{width:44px;height:44px;object-fit:contain}.quick-icon-tile span{font-size:12px;line-height:1.12}.summary-grid,.t-dashboard-grid,.t-two-grid,.teacher-insight-grid{grid-template-columns:1fr!important;gap:12px}.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{display:block;width:100%!important;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.t-table-wrap{overflow:visible;border:0}.t-table,.t-table-wrap{width:100%;background:transparent}.t-table{min-width:0!important;border-collapse:separate;border-spacing:0 10px}.t-table thead{display:none}.t-table tbody,.t-table td,.t-table tr{display:block;width:100%}.t-table tr{border:1px solid var(--color-border);border-radius:18px;background:#fff;box-shadow:0 10px 20px rgba(6,42,85,.07);padding:10px 12px}.t-table td{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:0!important;padding:7px 0!important;text-align:right;white-space:normal;overflow-wrap:anywhere}.t-table td:before{content:"Info";flex:0 0 82px;color:var(--color-muted);font-size:10px;font-weight:900;text-align:left;text-transform:uppercase}.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"}.auth-shell{background:linear-gradient(180deg,#fff,#f4f7fc 48%,#edf3fb)}.auth-header{height:auto;min-height:76px;padding:12px 18px;align-items:center}.auth-header strong{font-size:20px;line-height:1.1}.auth-card{border-radius:24px;padding:26px 20px;box-shadow:0 18px 40px rgba(6,42,85,.12)}}@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{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px}.quick-icon-tile{min-height:96px}.quick-icon-tile img{width:38px;height:38px}.bottom-nav{left:8px;right:8px;min-height:74px;border-radius:22px}.bottom-nav a,.bottom-nav button{min-height:54px;font-size:10px}}.profile-detail-section{margin-bottom:18px;padding:22px 24px}.profile-section-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.profile-section-icon{width:42px;height:42px;border-radius:13px;background:#eaf2ff;color:var(--brand-navy,var(--color-primary));display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.profile-section-heading h2{margin:0;color:var(--brand-navy,var(--color-primary));font-size:24px;line-height:1.12}.profile-section-heading p{margin:4px 0 0;color:var(--color-muted);font-size:13px;font-weight:700}.student-profile-layout{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:flex-start}.student-photo-panel{border-right:1px solid #d8e1ef;padding-right:16px;display:grid;justify-items:center;grid-gap:10px;gap:10px;text-align:center}.student-photo-panel img,.student-photo-panel>span:first-child{width:112px;height:124px;border-radius:16px;border:1px solid #dfe7f2;background:#edf4ff;object-fit:cover;display:grid;place-items:center;color:var(--brand-navy,var(--color-primary));font-size:34px;font-weight:900}.student-photo-panel strong{color:var(--color-success);font-size:12px;font-weight:900;text-transform:uppercase}.student-photo-panel small{color:var(--color-muted);font-size:11px;font-weight:800}.profile-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.guardian-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-detail-cell{min-height:64px;border-right:1px solid #d8e1ef;border-bottom:1px solid #d8e1ef;padding:11px 12px;display:grid;align-content:center;grid-gap:4px;gap:4px}.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));font-size:14px;font-weight:900;line-height:1.25;overflow-wrap:anywhere}.profile-action-row{margin-top:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}@media (max-width:980px){.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{width:96px;height:112px;border-radius:14px}.guardian-grid,.profile-detail-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}}@media (max-width:430px){.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}}@media (max-width:980px){html{min-height:100%;overflow-y:auto}body,html{height:auto;overflow-x:hidden}body{min-height:100dvh;overflow-y:auto!important;overscroll-behavior-y:auto;position:static;-webkit-overflow-scrolling:touch}.t-app{min-height:100dvh}.t-app,.t-main{height:auto;overflow:visible}.t-main{min-height:auto;-webkit-overflow-scrolling:touch}.bottom-nav,.t-mobile-bar{touch-action:auto}}