:root{font-optical-sizing:auto;font-variation-settings:"wdth" 100;color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary:#1d4ed8;--primary-strong:#1e3a8a;--accent:#0f766e;--muted:#5f6b7a;--surface:#fff;--surface-muted:#f4f7fb;--surface-subtle:#eef3f9;--border:#0f172a14;--border-strong:#0f172a24;--shadow-soft:0 20px 48px #0f172a14;--shadow-card:0 12px 32px #0f172a0f;--radius-xl:20px;--radius-lg:16px;--radius-md:12px;--radius-sm:10px;background:radial-gradient(circle at 0 0,#0f172a14,#0000 30%),radial-gradient(circle at 100% 0,#1e40af14,#0000 24%),linear-gradient(#eef2f7 0%,#f7f9fc 44%,#fff 100%);font-family:Bricolage Grotesque,ui-sans-serif,system-ui,sans-serif;font-style:normal}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at 0 0,#0f172a14,#0000 30%),radial-gradient(circle at 100% 0,#1e40af14,#0000 24%),linear-gradient(#eef2f7 0%,#f7f9fc 44%,#fff 100%);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.mobile-shell{justify-content:center;min-height:100vh;padding:16px 0 36px;display:flex}.mobile-shell-auth{min-height:100dvh;padding:0}.phone-frame{border:1px solid var(--border);background:linear-gradient(#fffffffa 0%,#f6f8fcfc 100%);border-radius:28px;width:min(100%,460px);min-height:calc(100vh - 32px);position:relative;overflow:hidden;box-shadow:0 26px 70px #0f172a24}.phone-frame-auth{width:100%;min-height:100dvh;box-shadow:none;border-radius:0}.mobile-shell-teacher-full{padding:0}.phone-frame-teacher-full{width:100%;min-height:100vh;box-shadow:none;background:0 0;border:0;border-radius:0}.screen-glow{pointer-events:none;background:radial-gradient(circle at 100% 0,#1e40af1f,#0000 28%),radial-gradient(circle at 0 18%,#0f172a14,#0000 34%);position:absolute;inset:0}.app-shell{z-index:1;gap:16px;width:100%;padding:16px 16px 112px;display:grid;position:relative}.app-shell-auth{gap:0;min-height:100dvh;padding:0}.app-shell-teacher-full{min-height:100vh;padding:20px 18px 112px}.hero-header,.panel-soft,.toolbar-card,.auth-card,.card,.promo-card,.status-banner,.status-inline{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero-header,.panel-soft,.toolbar-card,.auth-card,.card,.promo-card{border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-card);background:#fffffff0}.hero-header,.toolbar-card,.auth-card,.card,.panel-soft{padding:16px}.search-shell{align-items:center;gap:12px;padding:4px;display:flex}.search-icon,.install-pill,.feature-icon,.account-avatar,.dock-icon,.promo-mark,.school-mark-fallback{justify-content:center;align-items:center;display:inline-flex}.school-mark-fallback{color:#fff;background:linear-gradient(135deg,#132a5c 0%,#f97316 100%);font-weight:800}.promo-mark,.school-profile-logo,.student-photo,.entity-avatar{object-fit:cover}.search-icon{border-radius:var(--radius-md);width:38px;height:38px;color:var(--primary);background:#1d4ed814;font-weight:800}.search-title{font-size:.98rem;font-weight:700}.search-subtitle{color:var(--muted);margin-top:2px;font-size:.82rem}.install-pill{border-radius:var(--radius-md);color:#fff;letter-spacing:.01em;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);border:0;padding:11px 15px;font-weight:700}.status-banner,.status-inline,.status-toast{border-radius:var(--radius-lg);color:var(--primary-strong);background:#1d4ed814;border:1px solid #1d4ed81f;padding:12px 16px;font-weight:600}.status-banner.error{color:#dc2626;background:#dc262614;border-color:#dc262629}.auth-card,.stack-form,.card-body,.content-stack{gap:14px;display:grid}.dashboard-stack{gap:16px;display:grid}.toolbar-card label,.toolbar-card .stack-form label{gap:8px}.toolbar-card label>span{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.76rem;font-weight:700}.status-toast{z-index:30;pointer-events:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:.18s ease-out status-toast-enter;position:absolute;top:16px;left:16px;right:16px;box-shadow:0 18px 44px #0f172a2e}.status-toast.error{color:#dc2626;background:#dc262614;border-color:#dc262629}@keyframes status-toast-enter{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dashboard-skeleton .metric-card,.dashboard-skeleton .fees-highlight,.dashboard-skeleton .online-class-card,.dashboard-skeleton .dashboard-requests,.feed-page-skeleton .card,.feed-page-skeleton .alert-card,.feed-page-skeleton .entity-card,.feed-page-skeleton .collection-item,.feed-page-skeleton .list-block,.feed-page-skeleton .list-row,.feed-page-skeleton .skeleton-entity-card,.feed-page-skeleton .stat-box,.auth-page-skeleton .input-shell,.auth-page-skeleton .auth-card,.public-intake-card .public-intake-section{overflow:hidden}.skeleton-line,.skeleton-circle,.skeleton-progress,.skeleton-chip,.skeleton-pill,.skeleton-button,.skeleton-dot,.skeleton-bars span{background:#e5e7eb;position:relative;overflow:hidden}.skeleton-line:after,.skeleton-circle:after,.skeleton-progress:after,.skeleton-chip:after,.skeleton-pill:after,.skeleton-button:after,.skeleton-dot:after,.skeleton-bars span:after{content:"";background:linear-gradient(90deg,#0000,#ffffffb8,#0000);animation:1.2s infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-copy{gap:10px;display:grid}.skeleton-line{border-radius:999px}.skeleton-date{width:108px;height:14px}.skeleton-name{width:148px;height:32px}.skeleton-circle{border-radius:999px}.skeleton-avatar{width:58px;height:58px}.skeleton-icon-box{border-radius:18px;width:56px;height:56px}.skeleton-label{width:82px;height:14px;margin-top:18px}.skeleton-card-title{width:132px;height:18px}.skeleton-card-badge{border-radius:999px;width:54px;height:28px}.skeleton-metric-value{width:110px;height:22px;margin-top:10px}.skeleton-arrow{width:18px;height:18px}.skeleton-progress{border-radius:999px;width:100%;height:5px;margin-top:14px}.skeleton-bars{align-items:flex-end;gap:6px;margin-left:auto;display:flex}.skeleton-bars span{border-radius:4px;width:12px}.skeleton-bars span:first-child{height:18px}.skeleton-bars span:nth-child(2){height:28px}.skeleton-bars span:nth-child(3){height:22px}.skeleton-bars span:nth-child(4){height:34px}.skeleton-bars span:nth-child(5){height:28px}.skeleton-fees-value{width:150px;height:24px;margin-top:10px}.skeleton-stat-label{width:92px;height:14px}.skeleton-stat-value{width:32px;height:22px;margin-top:8px}.exam-banner-skeleton{background:linear-gradient(135deg,#4d88ff 0%,#86b6ff 100%)}.skeleton-overline{background:#ffffff47;width:56px;height:12px}.skeleton-banner-title{background:#ffffff57;width:240px;max-width:88%;height:32px;margin-top:14px}.skeleton-banner-copy{background:#ffffff47;width:220px;max-width:80%;height:16px;margin-top:10px}.skeleton-chip{background:#ffffff38;border-radius:18px;min-height:58px}.skeleton-dot{border-radius:999px;width:10px;height:10px}.skeleton-alert-icon{border-radius:14px;width:42px;height:42px}.skeleton-alert-badge{border-radius:999px;width:68px;height:28px}.skeleton-alert-badge-wide{width:92px}.skeleton-alert-title{width:60%;min-width:140px;height:18px;margin-top:12px}.skeleton-alert-copy{width:100%;height:14px}.skeleton-alert-copy-short{width:72%}.skeleton-alert-chip{border-radius:999px;width:90px;height:32px}.skeleton-alert-chip-wide{width:132px}.skeleton-topline{width:108px;height:12px}.skeleton-pill{border-radius:999px;width:54px;height:34px;margin-left:auto}.skeleton-online-title{width:148px;height:28px;margin-top:20px}.skeleton-online-copy{width:96px;height:16px;margin-top:10px}.skeleton-button{border-radius:18px;width:100%;min-height:70px;margin-top:22px}.skeleton-requests-title{width:94px;height:22px;margin-bottom:12px}.auth-page-skeleton .auth-submit{box-shadow:none;background:#e5e7eb}.skeleton-request-key{width:72px;height:14px}.skeleton-request-value{width:96px;height:14px}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.dashboard-top-hero{gap:16px;display:grid}.dashboard-greeting{justify-content:space-between;align-items:center;gap:12px;padding:2px 2px 4px;display:flex}.dashboard-greeting-actions{align-items:center;gap:10px;display:flex}.dashboard-menu-shell{position:relative}.dashboard-date{color:#64748b;font-size:.9rem;font-weight:700}.dashboard-greeting h2{letter-spacing:-.04em;margin:4px 0 0;font-size:clamp(1.8rem,3vw,2.6rem);line-height:.96}.dashboard-student-meta{color:#64748b;letter-spacing:-.01em;align-items:center;gap:6px;margin-top:4px;font-size:.95rem;font-weight:600;display:flex}.dashboard-student-meta-icon{stroke-width:2.2px;color:#94a3b8;width:14px;height:14px}.dashboard-avatar{border-radius:var(--radius-lg);color:#fff;background:linear-gradient(135deg,#0f172a 0%,#334155 100%);justify-content:center;align-items:center;width:58px;height:58px;font-weight:800;display:inline-flex;overflow:hidden}.dashboard-avatar-button{cursor:pointer;border:0}.dashboard-menu-toggle{position:relative}.dashboard-menu-chevron{color:#fff;background:#0f172ad1;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex;position:absolute;bottom:5px;right:5px;box-shadow:0 6px 14px #0f172a2e}.dashboard-menu-chevron svg{stroke-width:2.7px;width:12px;height:12px}.dashboard-avatar-menu{z-index:20;background:#fffffffa;border:1px solid #94a3b82e;border-radius:24px;gap:10px;width:min(320px,100vw - 32px);padding:14px;display:grid;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 22px 48px #0f172a29}.dashboard-menu-link{color:#0f172a;text-align:left;background:#f8fafc;border:1px solid #94a3b829;border-radius:16px;align-items:center;gap:10px;width:100%;padding:12px 14px;font-weight:700;display:flex}.dashboard-menu-link svg{stroke-width:2.2px;color:#334155;width:18px;height:18px}.dashboard-menu-link strong{color:#1d4ed8;background:#dbeafe;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 7px;font-size:.72rem;display:inline-flex}.dashboard-menu-push{background:linear-gradient(#f8fbff 0%,#eef5ff 100%);border:1px solid #93c5fd66;border-radius:18px;gap:12px;padding:14px;display:grid}.dashboard-menu-push-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dashboard-menu-label{text-transform:uppercase;letter-spacing:.12em;color:#2563eb;font-size:.8rem;font-weight:800}.dashboard-menu-copy{color:#475569;margin:6px 0 0;font-size:.84rem;line-height:1.45}.dashboard-menu-status{color:#334155;white-space:nowrap;background:#0f172a14;border-radius:999px;padding:6px 10px;font-size:.74rem;font-weight:800}.dashboard-menu-status.active{color:#15803d;background:#22c55e24}.dashboard-menu-push-actions{flex-wrap:wrap;gap:8px;display:flex}.dashboard-menu-action{color:#0f172a;background:#fffffff0;border:1px solid #94a3b833;border-radius:14px;align-items:center;gap:8px;padding:10px 12px;font-weight:700;display:inline-flex}.dashboard-menu-action svg,.dashboard-menu-note svg{stroke-width:2.2px;width:16px;height:16px}.dashboard-menu-action-primary{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#2563eb 100%);border-color:#0000}.dashboard-menu-action-primary svg{color:#fff}.dashboard-menu-note,.dashboard-menu-message{border-radius:14px;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;font-size:.8rem;line-height:1.45;display:flex}.dashboard-menu-note{color:#475569;background:#ffffffd1}.dashboard-menu-message{color:#0f172a;background:#ffffffeb}.dashboard-alert-button{border-radius:var(--radius-lg);color:#0f172a;width:48px;height:48px;box-shadow:var(--shadow-card);background:#fffffff5;border:1px solid #94a3b829;justify-content:center;align-items:center;display:inline-flex;position:relative}.dashboard-alert-button svg{stroke-width:2.2px;width:22px;height:22px}.dashboard-alert-badge{color:#fff;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.68rem;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:-6px;right:-6px;box-shadow:0 0 0 3px #fffffff5}.dashboard-avatar-image{object-fit:cover;width:100%;height:100%;display:block}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.metric-card,.fees-highlight,.online-class-card,.dashboard-transport-card,.dashboard-requests{border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-card);background:#fffffffa;min-width:0;padding:22px 18px}.metric-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.metric-icon{border-radius:var(--radius-lg);justify-content:center;align-items:center;width:56px;height:56px;font-weight:800;display:inline-flex}.metric-icon svg{stroke-width:2.15px;width:26px;height:26px}.metric-icon.blue{color:#2563eb;background:#edf4ff}.metric-icon.green{color:#16a34a;background:#edfdf5}.metric-icon.sky{color:#1d4ed8;background:#eef7ff}.metric-icon.coral{color:#e11d48;background:#fff1f2}.dashboard-shortcut-card{text-align:left;cursor:pointer}.dashboard-top-hero .metric-card,.dashboard-top-hero .fees-highlight{background:linear-gradient(180deg, #fffffff2, #ffffffe6), var(--dashboard-wave) center bottom / cover no-repeat}.metric-label{color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-top:18px;font-size:.78rem;font-weight:800}.metric-value{color:#0f172a;margin-top:8px;font-size:1.15rem;font-weight:900;line-height:1.05}.metric-value-loading{color:#64748b;font-weight:700}.metric-arrow{color:#94a3b8;font-size:1.2rem;font-weight:700}.metric-progress{background:#dbeafe;border-radius:999px;height:5px;margin-top:14px;overflow:hidden}.metric-progress span{border-radius:inherit;background:linear-gradient(90deg,#1d4ed8 0%,#60a5fa 100%);height:100%;display:block}.metric-progress-loading{background:#e2e8f0}.metric-bars{align-items:flex-end;gap:6px;margin-left:auto;display:flex}.metric-bars span{background:#bfdbfe;border-radius:4px;width:12px}.metric-bars span:first-child{height:18px}.metric-bars span:nth-child(2){height:28px}.metric-bars span:nth-child(3){height:22px}.metric-bars span:nth-child(4){background:#60a5fa;height:34px}.metric-bars span:nth-child(5){background:#2563eb;height:28px}.exam-banner{border-radius:var(--radius-xl);color:#fff;background:radial-gradient(circle at 100% 0,#ffffff29,#0000 24%),linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);padding:22px 18px;box-shadow:0 20px 42px #1d4ed838}.exam-overline{letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;font-size:.82rem;font-weight:800;display:inline-flex}.exam-overline svg{stroke-width:2.2px;width:16px;height:16px}.exam-banner h3{margin:14px 0 8px;font-size:1.8rem;line-height:1.02}.exam-banner p{color:#ffffffd1;max-width:54ch;margin:0;line-height:1.45}.exam-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.exam-chip{border-radius:var(--radius-lg);color:#fff;background:#ffffff1a;border:1px solid #ffffff3d;justify-content:center;align-items:center;gap:10px;min-height:58px;font-weight:800;display:inline-flex}.exam-chip svg{stroke-width:2.2px;width:18px;height:18px}.online-topline{color:#2563eb;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;font-size:.82rem;font-weight:800;display:flex}.online-topline svg{stroke-width:2.2px;width:16px;height:16px}.online-dot{background:#2563eb;border-radius:999px;width:10px;height:10px}.online-now{border-radius:var(--radius-md);color:#111827;border:1px solid #94a3b838;margin-left:auto;padding:8px 14px;font-size:.86rem}.online-class-card h3{margin:20px 0 6px;font-size:1.85rem;line-height:1}.online-class-card p{color:#64748b;align-items:center;gap:8px;margin:0;display:inline-flex}.online-class-card p svg{color:#2563eb;stroke-width:2.1px;width:16px;height:16px}.dashboard-transport-topline{color:#0f766e;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;font-size:.82rem;font-weight:800;display:inline-flex}.dashboard-transport-topline svg{stroke-width:2.2px;width:16px;height:16px}.dashboard-transport-card h3{margin:18px 0 8px;font-size:1.6rem;line-height:1.05}.dashboard-transport-card p{color:#64748b;margin:0;line-height:1.5}.dashboard-transport-button{background:linear-gradient(135deg,#0f172a 0%,#0f766e 100%);margin-top:18px}.join-button{border-radius:var(--radius-lg);color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);border:0;justify-content:center;align-items:center;gap:10px;width:100%;min-height:60px;margin-top:22px;font-size:1.05rem;font-weight:800;display:inline-flex}.join-button svg{stroke-width:2.2px;width:20px;height:20px}.dashboard-requests h3{margin:0 0 12px;font-size:1.1rem}.dashboard-requests .list-block{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.dashboard-requests .list-row{text-align:center;border-bottom:0;grid-template-columns:1fr;justify-items:center;gap:4px;padding-bottom:0}.dashboard-requests .list-key-wrap{text-transform:uppercase;letter-spacing:.05em;color:#64748b;justify-content:center;font-size:.72rem}.dashboard-requests .list-value{color:#0f172a;text-align:center;font-size:.94rem;font-weight:700}.push-alert-copy{gap:8px;display:grid}.push-alert-copy h3{margin:0;font-size:1.05rem}.push-alert-copy p,.push-alert-note,.push-alert-message{color:#64748b;margin:0;line-height:1.5}.push-alert-note{border-radius:var(--radius-lg);background:#f8fafc;border:1px solid #94a3b824;padding:14px}.push-alert-actions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=640px){.dashboard-top-hero{gap:14px}}@media (width>=960px){.dashboard-top-hero{gap:20px}.dashboard-greeting{padding-top:10px}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.exam-actions{grid-template-columns:repeat(2,minmax(0,220px))}}.auth-layout{gap:0;width:100%;min-height:100dvh;display:grid}.auth-loading-screen{background:radial-gradient(circle at 18% 18%,#638bd338,#0000 28%),radial-gradient(circle at 82% 12%,#2563922e,#0000 26%),linear-gradient(#eaf1ff 0%,#f8fbff 100%);place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-loading-panel{text-align:center;border:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe6;border-radius:22px;justify-items:center;gap:0;width:min(100%,180px);padding:28px;display:grid;box-shadow:0 22px 54px #0f172a1f}.auth-loading-logo-shell{border-radius:var(--radius-xl);background:linear-gradient(#fff 0%,#f4f8ff 100%);justify-content:center;align-items:center;width:96px;height:96px;animation:1.55s ease-in-out infinite auth-logo-pulse;display:inline-flex;box-shadow:inset 0 1px #ffffffeb,0 18px 34px #607bb02e}.auth-loading-logo{border-radius:var(--radius-lg);object-fit:cover;width:62px;height:62px;display:block}.auth-hero{color:#fff;background:radial-gradient(circle at 100% 0,#ffffff1a,#0000 22%),linear-gradient(#0f172a 0%,#1e3a8a 100%);border-radius:0 0 24px 24px;flex-direction:column;justify-content:space-between;gap:20px;min-height:220px;padding:18px 18px 68px;display:flex;position:relative;overflow:hidden}.auth-orb{background:#457cc742;border-radius:999px;position:absolute}.auth-orb-top{width:220px;height:220px;top:-84px;right:-56px}.auth-orb-bottom{background:#25639247;width:210px;height:210px;bottom:-112px;left:-88px}.auth-brand,.auth-sheet-copy,.auth-copy{z-index:1;position:relative}.auth-brand{align-items:center;gap:12px;display:flex}.auth-brand-logo{border-radius:var(--radius-lg);object-fit:cover;width:58px;height:58px;box-shadow:0 12px 30px #0f172a47}.auth-brand-title{letter-spacing:-.02em;max-width:18ch;font-size:1.15rem;font-weight:800;line-height:1.08}.auth-brand-subtitle{color:#ffffffb8;margin-top:6px;font-size:.82rem}.auth-hero-footer{z-index:1;color:#ffffffc2;letter-spacing:.03em;border-top:1px solid #ffffff29;flex-wrap:wrap;align-items:center;gap:10px;padding-top:14px;font-size:.76rem;line-height:1.4;display:flex;position:relative}.auth-hero-kicker{text-transform:uppercase;font-weight:700}.auth-hero-divider{background:#ffffff57;width:24px;height:1px}.auth-card{z-index:2;background:#fffffff7;border-radius:24px 24px 0 0;gap:8px;margin-top:-50px;padding:16px 16px 14px;position:relative}.auth-sheet-banner{justify-content:center;margin-bottom:12px;display:flex}.auth-sheet-banner-image{object-fit:contain;object-position:center;border-radius:0;width:min(100%,320px);height:auto;max-height:180px;display:block}.auth-sheet-copy h2{letter-spacing:-.03em;margin:0;font-size:1.48rem;line-height:1}.auth-sheet-copy p{color:var(--muted);margin-top:4px;font-size:.84rem;line-height:1.35}label{gap:6px;font-weight:600;display:grid}.auth-field{color:#0f172a;gap:6px}.auth-field-label{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.78rem;font-weight:700}.input-shell{border-radius:var(--radius-lg);background:#fff;border:1px solid #cbd5e1f2;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:56px;padding:0 14px;transition:border-color .16s,box-shadow .16s,background-color .16s;display:grid;position:relative}.input-shell.is-filled{border-color:#94a3b8c7}.input-shell:focus-within{border-color:#607bb0b3;box-shadow:0 0 0 3px #9db2d72e}.input-icon,.input-trailing{color:#94a3b8;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.input-icon svg,.input-trailing svg,.password-toggle svg{stroke-width:2px;width:17px;height:17px}.password-toggle{border-radius:var(--radius-sm);color:#94a3b8;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:background-color .16s,color .16s,box-shadow .16s;display:inline-flex}.password-toggle:hover{color:#64748b;background:#94a3b81f}.password-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #9db2d738}input,select,textarea{width:100%;min-width:0;font:inherit;color:#0f172a;appearance:none;box-shadow:none;background:0 0;border:0;border-radius:0;outline:none;padding:15px 0;font-size:16px;font-weight:500;line-height:1.35}input::placeholder,textarea::placeholder{color:#94a3b8;opacity:1}input:-webkit-autofill{-webkit-text-fill-color:#0f172a;caret-color:#0f172a;-webkit-box-shadow:inset 0 0 0 1000px #fff}input:-webkit-autofill:hover{-webkit-text-fill-color:#0f172a;caret-color:#0f172a;-webkit-box-shadow:inset 0 0 0 1000px #fff}input:-webkit-autofill:focus{-webkit-text-fill-color:#0f172a;caret-color:#0f172a;-webkit-box-shadow:inset 0 0 0 1000px #fff}textarea{resize:vertical;min-height:112px}.primary-button,.secondary-button,.danger-button,.arrow-button,.feature-tile,.section-chip,.dock-item{border:0}.primary-button{border-radius:var(--radius-lg);color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);min-height:52px;padding:12px 16px;font-size:1rem;font-weight:700;transition:background-color .16s,box-shadow .16s,transform .16s,opacity .16s}.primary-button:disabled{opacity:1;color:#fff;cursor:progress}.auth-submit{min-height:52px;margin-top:6px;box-shadow:0 14px 28px #1d4ed82e}.auth-submit:disabled,.auth-submit[aria-busy=true]{background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);box-shadow:0 14px 28px #1d4ed82e}.secondary-button,.danger-button{border-radius:var(--radius-lg);justify-content:center;align-items:center;gap:10px;min-height:52px;padding:12px 16px;font-weight:800;display:inline-flex}.secondary-button{color:var(--primary);background:#eff4ff}.danger-button{color:#e11d48;background:#fff1f2}.auth-links{text-align:left;color:#2d3748;justify-items:stretch;gap:6px;padding-top:0;display:grid}.auth-card .stack-form,.auth-card label{gap:6px}.auth-install-card{background:linear-gradient(#eff6ffeb 0%,#f8fafcf5 100%);border:1px solid #94a3b833;border-radius:20px;gap:12px;padding:14px;display:grid}.auth-install-copy{gap:6px;display:grid}.auth-install-title{color:#0f172a;align-items:center;gap:8px;display:inline-flex}.auth-install-title svg{width:16px;height:16px;color:var(--primary)}.auth-install-copy p{color:#475569;margin:0;font-size:.82rem;line-height:1.5}.auth-install,.dashboard-install{min-height:44px;padding:10px 16px}.auth-install{justify-content:center;justify-self:start;align-items:center;gap:8px;display:inline-flex}.auth-install svg{width:15px;height:15px}.install-modal{width:min(100%,560px)}.install-modal-brand{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;display:grid}.install-modal-logo{object-fit:cover;border-radius:18px;width:56px;height:56px;box-shadow:0 16px 30px #0f172a24}.install-modal-copy h3{margin:0 0 6px}.install-modal-copy p{color:var(--muted);margin:0;line-height:1.5}.install-modal-panel,.install-step{background:linear-gradient(#f8fafcf5 0%,#f1f5f9eb 100%);border:1px solid #94a3b82e;border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:14px;display:grid}.install-modal-icon,.install-step-icon{width:38px;height:38px;color:var(--primary);background:#1d4ed814;border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.install-modal-panel strong,.install-step strong{color:#0f172a;display:block}.install-modal-panel p,.install-step p{color:#475569;margin:4px 0 0;font-size:.84rem;line-height:1.5}.install-modal-steps{gap:12px;display:grid}.install-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.auth-links strong,.text-link{color:var(--primary)}.text-link{background:0 0;border:0;font-weight:800}@keyframes auth-logo-pulse{0%,to{transform:scale(1);box-shadow:inset 0 1px #ffffffeb,0 18px 34px #607bb02e}50%{transform:scale(1.08);box-shadow:inset 0 1px #fffffffa,0 24px 42px #607bb047}}@media (width>=1024px){.auth-install-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.auth-install{justify-self:end}}.public-intake-shell{background:radial-gradient(circle at 0 0,#0f172a14,#0000 32%),radial-gradient(circle at 100% 0,#2563eb1a,#0000 28%),linear-gradient(#f8fafc 0%,#eef4fb 100%);min-height:100vh;padding:32px 16px 64px}.public-intake-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid #94a3b82e;border-radius:22px;width:min(1320px,100%);margin:0 auto;padding:28px;box-shadow:0 28px 60px #0f172a1a}.public-intake-header{margin-bottom:24px}.public-intake-kicker{color:var(--primary);letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:.8rem;font-weight:700}.public-intake-header h1{color:#0f172a;letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,3rem);line-height:.96}.public-intake-header p{color:#475569;max-width:720px;margin:12px 0 0;line-height:1.6}.public-intake-status{border-radius:var(--radius-lg);border:1px solid #94a3b829;margin-bottom:20px;padding:14px 16px;font-size:.95rem;line-height:1.5}.public-intake-status.is-info{color:var(--primary-strong);background:#eff4ff}.public-intake-status.is-error{color:#b91c1c;background:#fef2f2}.public-intake-status.is-success{color:#166534;background:#ecfdf5}.public-intake-form{gap:20px;display:grid}.public-intake-fieldset{border:0;gap:20px;min-width:0;margin:0;padding:0;display:grid}.public-intake-fieldset:disabled{opacity:.72}.public-intake-section{border-radius:var(--radius-xl);background:linear-gradient(#fffffffa,#f8fafcf0);border:1px solid #94a3b82e;padding:20px}.public-intake-section h2{color:#0f172a;margin:0 0 16px;font-size:1.1rem}.public-intake-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;display:grid}.public-intake-grid label,.public-intake-agree{gap:8px;display:grid}.public-intake-grid label{grid-column:span 4}.public-intake-grid span{color:#334155;font-size:.88rem;font-weight:600}.public-intake-grid input,.public-intake-grid select,.public-intake-grid textarea{border-radius:var(--radius-md);color:#0f172a;width:100%;font:inherit;background:#fff;border:1px solid #94a3b852;padding:12px 14px;box-shadow:inset 0 1px #fffc}.public-intake-grid input:focus,.public-intake-grid select:focus,.public-intake-grid textarea:focus{border-color:#2563eb6b;box-shadow:0 0 0 3px #2563eb1a}.public-intake-grid input:disabled,.public-intake-grid select:disabled,.public-intake-grid textarea:disabled{background:#f8fafc}.public-intake-grid textarea{resize:vertical}.public-intake-full{grid-column:1/-1}.public-intake-photo-preview{object-fit:cover;border-radius:var(--radius-lg);border:1px solid #94a3b84d;width:120px;height:120px}.public-intake-agree{grid-template-columns:auto 1fr;align-items:start;gap:12px;padding:6px 4px}.public-intake-agree span{color:#334155;line-height:1.5}.public-intake-actions{justify-content:flex-end;display:flex}.public-intake-actions .primary-button{min-width:220px}@media (width>=1024px){.public-intake-grid label{grid-column:span 3}}@media (width<=720px){.public-intake-shell{padding:18px 12px 40px}.public-intake-card{border-radius:var(--radius-xl);padding:18px}.public-intake-section{border-radius:var(--radius-lg);padding:16px}.public-intake-grid{grid-template-columns:1fr}.public-intake-grid label{grid-column:auto}.public-intake-actions{justify-content:stretch}.public-intake-actions .primary-button{width:100%}}@media (width>=960px){.mobile-shell:not(.mobile-shell-auth){background:radial-gradient(circle at 10% 18%,#0f172a0f,#0000 26%),radial-gradient(circle at 88% 14%,#2563eb14,#0000 24%),linear-gradient(#edf2f8 0%,#f7f9fc 100%);padding:0}.phone-frame:not(.phone-frame-auth){width:100%;min-height:100vh;box-shadow:none;background:0 0;border:0;border-radius:0}.app-shell:not(.app-shell-auth){align-content:start;gap:20px;width:min(100%,1720px);min-height:100vh;margin:0 auto;padding:30px 32px 126px}.app-shell.app-shell-teacher-full{width:100%;max-width:none;padding:28px 40px 126px}.phone-frame:not(.phone-frame-auth) .screen-glow{opacity:.55}.phone-frame:not(.phone-frame-auth) .panel-soft,.phone-frame:not(.phone-frame-auth) .toolbar-card,.phone-frame:not(.phone-frame-auth) .card,.phone-frame:not(.phone-frame-auth) .promo-card{box-shadow:0 18px 45px #0f172a14}.phone-frame:not(.phone-frame-auth) .dashboard-stack,.phone-frame:not(.phone-frame-auth) .content-stack{width:100%;max-width:none}.phone-frame:not(.phone-frame-auth) .dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.phone-frame:not(.phone-frame-auth) .content-stack{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px}.phone-frame:not(.phone-frame-auth) .alerts-page-layout{grid-template-columns:minmax(0,1fr);max-width:none}.phone-frame:not(.phone-frame-auth) .alerts-page-layout>*,.phone-frame:not(.phone-frame-auth) .content-stack>:first-child,.phone-frame:not(.phone-frame-auth) .assignment-results-panel,.phone-frame:not(.phone-frame-auth) .health-profile-card,.phone-frame:not(.phone-frame-auth) .health-notes-card,.phone-frame:not(.phone-frame-auth) .health-outreach-card{grid-column:1/-1}.phone-frame:not(.phone-frame-auth) .collection-grid,.phone-frame:not(.phone-frame-auth) .entity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.phone-frame:not(.phone-frame-auth) .list-block{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.phone-frame:not(.phone-frame-auth) .list-row{min-height:56px}.phone-frame:not(.phone-frame-auth) .section-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.phone-frame:not(.phone-frame-auth) .transport-layout{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start;gap:20px}.mobile-shell-auth{background:radial-gradient(circle at 12% 18%,#2563eb14,#0000 28%),radial-gradient(circle at 88% 84%,#0f172a0f,#0000 30%),linear-gradient(#eef3fb 0%,#f8fafc 100%)}.phone-frame-auth{background:0 0;max-width:none;min-height:100dvh;padding:0}.phone-frame-auth .screen-glow{display:none}.app-shell-auth{min-height:100dvh;padding:0}.auth-layout{background:#fff9;grid-template-columns:minmax(0,1.45fr) minmax(380px,460px);align-items:stretch;width:100%;min-height:100dvh;margin:0;overflow:hidden}.auth-hero,.auth-card{border-radius:0}.auth-hero{min-height:100dvh;padding:40px 44px}.auth-card{background:#fffffffa;flex-direction:column;justify-content:center;margin-top:0;padding:34px 30px 26px;display:flex;box-shadow:inset 1px 0 #94a3b82e}.auth-loading-panel{width:min(100%,196px);padding:32px}.auth-brand-logo{border-radius:22px;width:72px;height:72px}.auth-brand-title{max-width:22ch;font-size:2rem;line-height:1.04}.auth-brand-subtitle{margin-top:8px;font-size:1rem}.auth-hero-footer{gap:14px;padding-top:18px;font-size:.9rem}.auth-hero-divider{width:36px}.auth-sheet-copy h2{font-size:2rem}.auth-sheet-copy p{margin-top:8px;font-size:.98rem;line-height:1.35}.auth-card .stack-form{gap:12px;margin-top:6px}.auth-card label{gap:8px}.input-shell,.auth-brand-logo,.auth-loading-logo-shell,.primary-button,.secondary-button,.danger-button{border-radius:var(--radius-md)}}.account-card{grid-template-columns:auto 1fr;align-items:center;gap:14px;display:grid}.account-avatar{border-radius:var(--radius-lg);color:#fff;background:linear-gradient(135deg,#0f172a 0%,#334155 100%);width:52px;height:52px;font-weight:800}.account-kicker{text-transform:uppercase;letter-spacing:.1em;color:var(--primary);font-size:.76rem;font-weight:700}.account-title{font-size:1.05rem;font-weight:800}.account-meta{color:var(--muted);margin-top:4px;font-size:.88rem}.account-student-photo{border-radius:var(--radius-md);object-fit:cover;border:1px solid var(--border);background:#e2e8f0;width:44px;height:44px}.account-student-photo--lead{border-radius:var(--radius-lg);width:52px;height:52px}.arrow-button{border-radius:var(--radius-md);background:var(--surface-subtle);color:#111827;width:36px;height:36px;font-size:1rem}.feature-grid,.mini-grid,.stat-grid{gap:12px;display:grid}.feature-grid,.mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-tile{border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-card);text-align:left;background:#fffffff5;gap:12px;padding:16px;display:grid}.feature-icon{border-radius:var(--radius-md);width:40px;height:40px;font-weight:800}.feature-icon.mint{color:#047857;background:#10b98129}.feature-icon.coral{color:#db2777;background:#f472b629}.feature-title{font-weight:700}.feature-copy{color:var(--muted);margin-top:4px;font-size:.88rem;line-height:1.45}.mini-card{border-radius:var(--radius-lg);border:1px solid var(--border);min-height:108px;box-shadow:var(--shadow-card);align-content:space-between;padding:16px;display:grid}.mini-card span{color:#111827;font-weight:700}.mini-card strong{font-size:.98rem;line-height:1.35}.mini-card.peach{background:linear-gradient(#fff0e7 0%,#ffe7d8 100%)}.mini-card.silver{background:linear-gradient(#f4f6f8 0%,#eceff3 100%)}.mini-card.sand{background:linear-gradient(#f6efe3 0%,#ede0cd 100%)}.promo-card{color:#fff;background:radial-gradient(circle at 100% 0,#ffffff1f,#0000 24%),linear-gradient(135deg,#0f172a 0%,#1e3a8a 58%,#2563eb 100%);border:1px solid #0f172a05;justify-content:space-between;align-items:flex-end;gap:20px;padding:20px;display:flex}.promo-overline{text-transform:uppercase;letter-spacing:.12em;opacity:.76;font-size:.8rem}.promo-card h2{margin:8px 0 6px;font-size:1.7rem;line-height:1.02}.promo-card p{max-width:420px;font-size:.92rem;line-height:1.45}.promo-mark{border-radius:var(--radius-lg);background:#ffffff29;border:1px solid #ffffff29;width:58px;height:58px;font-size:.95rem;font-weight:800}.section-strip{scrollbar-width:none;gap:10px;padding-bottom:2px;display:flex;overflow-x:auto}.section-strip::-webkit-scrollbar{display:none}.section-chip{border-radius:var(--radius-md);color:#334155;border:1px solid var(--border);background:#fffffff5;flex:none;padding:11px 15px;font-weight:700;box-shadow:0 8px 22px #0f172a0d}.section-chip.active{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);border-color:#0f172a05}.section-strip-schedule{gap:10px;display:flex}.section-chip-schedule{box-sizing:border-box;text-align:center;flex:1 1 0;justify-content:center;align-items:center;height:42px;padding:8px 12px;font-size:.9rem;line-height:1;display:inline-flex}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.card-header h3{overflow-wrap:anywhere;flex:180px;min-width:0;margin:0;font-size:1rem}.badge{color:var(--primary-strong);background:#1d4ed81a;border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:700}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-box{border-radius:var(--radius-lg);background:#f8fafcf5;border:1px solid #94a3b824;padding:14px}.stat-box span{color:var(--muted);font-size:.82rem;display:block}.stat-box strong{margin-top:8px;font-size:1rem;display:block}.list-block,.collection-grid,.json-view{border-radius:var(--radius-lg);background:#f8fafceb;border:1px solid #94a3b824;gap:8px;padding:12px;display:grid}.health-profile-card .list-block{grid-template-columns:repeat(2,minmax(0,1fr))}.health-profile-card .list-row{text-align:center;border-bottom:0;grid-template-columns:1fr;justify-items:center;padding-bottom:0}.health-profile-card .list-key-wrap{flex-direction:column;justify-content:center;align-items:center;gap:6px}.health-profile-card .list-value{text-align:center;color:#0f172a;width:100%;font-size:.86rem;font-weight:700}.health-profile-card .list-key{letter-spacing:.06em;text-transform:uppercase;color:#64748b;font-size:.7rem;font-weight:600}.health-profile-card .list-icon{border-radius:var(--radius-md);width:32px;height:32px}.health-profile-card .list-icon svg{width:16px;height:16px}.list-row{border-bottom:1px solid #0f172a14;grid-template-columns:minmax(0,110px) minmax(0,1fr);align-items:flex-start;gap:10px;padding-bottom:8px;display:grid}.list-row:last-child{border-bottom:0;padding-bottom:0}.list-key-wrap{align-items:center;gap:10px;min-width:0;max-width:100%;display:inline-flex}.list-icon{border-radius:var(--radius-sm);color:#2563eb;background:#2563eb14;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.list-icon svg{stroke-width:2.2px;width:14px;height:14px}.list-icon-health-student{color:#0284c7;background:#0ea5e91f}.list-icon-health-class{color:#4f46e5;background:#6366f11f}.list-icon-health-section{color:#9333ea;background:#a855f71f}.list-icon-health-blood{color:#dc2626;background:#ef44441f}.list-icon-health-bmi{color:#059669;background:#10b9811f}.list-icon-health-allergies{color:#d97706;background:#f59e0b24}.list-icon-request-student{color:#0284c7;background:#0ea5e91f}.list-icon-request-class{color:#4f46e5;background:#6366f11f}.list-icon-request-section{color:#9333ea;background:#a855f71f}.list-icon-request-bus{color:#059669;background:#10b9811f}.list-icon-request-alerts{color:#d97706;background:#f59e0b24}.list-key{text-transform:capitalize;overflow-wrap:anywhere;font-size:.88rem;font-weight:700}.list-value{color:var(--muted);text-align:left;overflow-wrap:anywhere;word-break:break-word;min-width:0;font-size:.88rem}.collection-item{border-radius:var(--radius-lg);border:1px solid var(--border);background:#fff;padding:14px}.collection-item summary{cursor:pointer;gap:4px;font-weight:700;display:grid}.collection-item small{color:var(--muted);font-weight:500}.collection-item pre,.json-view{white-space:pre-wrap;word-break:break-word;margin:8px 0 0;overflow:auto}.profile-actions{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.profile-actions>.secondary-button,.profile-actions>.danger-button{width:100%}.profile-school-card,.profile-security-card{grid-column:1/-1}.profile-security-card-body{gap:14px;display:grid}.profile-password-note{border-radius:var(--radius-lg);color:#1d4ed8;background:#2563eb14;align-items:center;gap:10px;padding:12px 14px;font-size:.88rem;font-weight:600;display:flex}.profile-password-note svg,.button-spinner{flex:none;width:16px;height:16px}.profile-password-submit{justify-content:center;align-items:center;gap:10px;display:inline-flex}.profile-password-trigger{justify-content:center;align-items:center;gap:10px;width:100%;display:inline-flex}.button-spinner{animation:.9s linear infinite section-spin}.promo-school{letter-spacing:.04em;opacity:.88;margin-top:14px;font-size:.8rem;font-weight:700}.section-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.section-stat-icon{border-radius:var(--radius-md);color:#2563eb;background:#2563eb1a;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:10px;display:inline-flex}.section-stat-icon-published{color:#9333ea;background:#a855f71f}.section-stat-icon-submitted{color:#059669;background:#10b9811f}.section-stat-icon-pending{color:#d97706;background:#f59e0b24}.section-stat-icon-balance{color:#0284c7;background:#0ea5e91f}.section-stat-icon-spent{color:#dc2626;background:#ef44441f}.section-stat-icon-orders{color:#4f46e5;background:#6366f11f}.section-empty{padding:12px 0}.student-spotlight{grid-template-columns:auto 1fr;align-items:center;gap:14px;display:grid}.student-photo,.entity-avatar,.school-profile-logo{border-radius:var(--radius-lg);width:64px;height:64px}.student-spotlight-copy h3{margin:6px 0 4px}.student-spotlight-copy p,.student-spotlight-meta{color:var(--muted);margin:0;font-size:.9rem}.entity-grid{gap:12px;display:grid}.assignment-results-grid{grid-template-columns:minmax(0,1fr)}.entity-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:#fff;gap:12px;padding:14px;display:grid;box-shadow:0 8px 24px #0f172a0a}.entity-card h4,.routine-day h4{overflow-wrap:anywhere;margin:0;line-height:1.35}.entity-card p{color:var(--muted);overflow-wrap:anywhere;word-break:break-word;margin:0;line-height:1.45}.entity-card-header,.entity-card-title-row{align-items:center;gap:12px;display:flex}.entity-chip-row{flex-wrap:wrap;gap:8px;display:flex}.entity-chip{border-radius:var(--radius-md);color:#334155;overflow-wrap:anywhere;background:#f8fafc;border:1px solid #94a3b824;align-items:center;gap:8px;padding:8px 12px;font-size:.84rem;font-weight:600;display:inline-flex}.entity-chip-routine-time,.entity-chip-exam-time{color:#0284c7;background:#0ea5e91f;border-color:#0ea5e92e}.entity-chip-routine-class{color:#4f46e5;background:#6366f11f;border-color:#6366f12e}.entity-chip-routine-section{color:#9333ea;background:#a855f71f;border-color:#a855f72e}.entity-chip-exam-full{color:#059669;background:#10b9811f;border-color:#10b9812e}.entity-chip-exam-pass{color:#d97706;background:#f59e0b24;border-color:#f59e0b33}.entity-chip svg{width:15px;height:15px}.wallet-history-card{grid-column:1/-1;margin-bottom:20px}.wallet-history-toolbar{border-bottom:1px solid #94a3b829;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;padding-bottom:18px;display:flex}.wallet-history-toolbar-copy{gap:4px;display:grid}.wallet-history-toolbar-copy strong,.wallet-history-toolbar-copy p{margin:0}.wallet-history-toolbar-copy p{color:var(--muted)}.wallet-history-sort{gap:8px;min-width:min(100%,220px);display:grid}.wallet-history-sort span{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.72rem;font-weight:700}.wallet-history-sort-shell{border-radius:var(--radius-lg);background:#fff;border:1px solid #cbd5e1f2;align-items:center;min-height:52px;padding:0 14px;display:grid}.wallet-history-sort-shell select{padding:14px 0;font-weight:700}.wallet-history-list{gap:18px;display:grid}.wallet-history-row{border-top:1px solid #94a3b829;gap:12px;padding-top:18px;display:grid}.wallet-history-row:first-child{border-top:0;padding-top:0}.wallet-history-summary{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.wallet-history-copy{gap:4px;display:grid}.wallet-history-copy h4,.wallet-history-copy p{margin:0}.wallet-history-copy p,.wallet-pagination-status{color:var(--muted)}.wallet-history-meta,.wallet-history-items{flex-wrap:wrap;gap:8px;display:flex}.wallet-history-meta{justify-content:flex-end}.wallet-history-pagination{border-top:1px solid #94a3b829;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:18px;display:flex}.wallet-pagination-status{text-align:center;margin:0;font-size:.88rem;font-weight:600}.wallet-pagination-button{min-width:112px}.routine-stack{gap:18px;display:grid}.routine-day{gap:12px;display:grid}.section-link{border-radius:var(--radius-md);width:fit-content;color:var(--primary);background:#eef4ff;border:1px solid #2563eb1f;justify-content:center;align-items:center;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-flex}.transport-request-button{width:fit-content;margin-top:4px}.transport-layout,.transport-summary,.transport-stops,.transport-stop-list{gap:14px;display:grid}.transport-summary{background:linear-gradient(#f8fafcf5,#fffffffa);border:1px solid #94a3b829;border-radius:18px;padding:18px}.transport-summary h4,.transport-stop-item h4{overflow-wrap:anywhere;margin:0}.transport-summary p,.transport-stop-item p{color:var(--muted);overflow-wrap:anywhere;margin:0;line-height:1.5}.transport-stops-title{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.8rem;font-weight:800}.transport-stop-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.transport-stop-item{background:#fff;border:1px solid #94a3b824;border-radius:16px;gap:10px;padding:16px;display:grid}.school-profile-card{align-items:start;gap:18px;display:grid}.profile-summary-card{gap:18px;display:grid}.teacher-profile-page{display:block}.teacher-profile-surface{gap:18px;padding:0;display:grid}.teacher-profile-header{align-items:center;gap:16px;display:flex}.teacher-profile-header-copy{gap:4px;min-width:0;display:grid}.teacher-profile-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#2563eb;font-size:.74rem;font-weight:800}.teacher-profile-header-copy h2,.teacher-profile-header-copy p,.teacher-profile-header-copy small{margin:0}.teacher-profile-header-copy h2{color:#0f172a;font-size:1.45rem;line-height:1.1}.teacher-profile-header-copy p{color:#334155;font-weight:700}.teacher-profile-header-copy small{color:#64748b;font-size:.84rem;font-weight:600}.teacher-profile-details .list-block{background:0 0;border:0;border-radius:0;gap:0;padding:0}.teacher-profile-details .list-row{grid-template-columns:minmax(0,130px) minmax(0,1fr);padding:14px 0}.teacher-profile-details .list-key{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.76rem}.teacher-profile-details .list-value{color:#0f172a;font-weight:600}.teacher-profile-divider{background:#94a3b829;height:1px}.teacher-profile-actions{gap:14px;display:grid}.teacher-profile-password-copy{gap:5px;display:grid}.teacher-profile-section-label{letter-spacing:.12em;text-transform:uppercase;color:#64748b;font-size:.74rem;font-weight:800}.teacher-profile-password-copy strong,.teacher-profile-password-copy p{margin:0}.teacher-profile-password-copy strong{color:#0f172a;font-size:1rem}.teacher-profile-password-copy p{color:#64748b;line-height:1.5}.teacher-profile-action-buttons{flex-wrap:wrap;gap:10px;display:flex}.teacher-profile-password-button{align-items:center;gap:8px;display:inline-flex}.teacher-profile-action-buttons>.primary-button,.teacher-profile-action-buttons>.secondary-button,.teacher-profile-action-buttons>.danger-button{width:auto}.teacher-profile-password-status{margin-top:14px}@media (width<=560px){.teacher-profile-header{align-items:flex-start}.teacher-profile-details .list-row{grid-template-columns:minmax(0,1fr);gap:8px}.teacher-profile-action-buttons{grid-template-columns:minmax(0,1fr);display:grid}.teacher-profile-action-buttons>.primary-button,.teacher-profile-action-buttons>.secondary-button,.teacher-profile-action-buttons>.danger-button{width:100%}}.profile-summary-identity{border-bottom:1px solid #94a3b824;align-items:center;gap:14px;padding-bottom:16px;display:flex}.profile-summary-avatar{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 100%);border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:1.2rem;font-weight:800;display:inline-flex;overflow:hidden}.profile-summary-avatar-image{object-fit:cover;width:100%;height:100%;display:block}.profile-summary-copy{gap:4px;min-width:0;display:grid}.profile-summary-copy h3,.profile-summary-copy p,.profile-summary-copy span{margin:0}.profile-summary-copy h3{color:#0f172a;font-size:1.2rem;line-height:1.2}.profile-summary-copy p{color:#334155;font-weight:700}.profile-summary-copy span{color:#64748b;font-size:.84rem;font-weight:600}.profile-school-card .card-body,.profile-school-card .list-block{width:100%}.profile-modal-overlay{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172a6b;justify-content:center;align-items:center;padding:20px 16px;display:flex;position:fixed;inset:0}.profile-modal{background:#fffffffa;border:1px solid #94a3b829;border-radius:22px;gap:18px;width:min(100%,560px);padding:20px;display:grid;box-shadow:0 24px 70px #0f172a2e}.profile-modal-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.profile-modal-header h3{margin:10px 0 6px}.profile-modal-header p{color:var(--muted);margin:0;line-height:1.5}.profile-modal-close{flex-shrink:0}.assignment-page{align-items:start}.assignment-collection{gap:12px;display:grid}.assignment-card{border-radius:16px;gap:12px;padding:12px;box-shadow:0 6px 18px #0f172a0a}.assignment-card-selected{border-color:#2563eb47;box-shadow:0 14px 32px #2563eb1a}.assignment-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.assignment-title-block{gap:3px;display:grid}.assignment-title-block small,.assignment-metadata-item dt,.assignment-submit-context-copy>span,.assignment-subheading{letter-spacing:.08em;text-transform:uppercase;color:#64748b;align-items:center;gap:4px;font-size:.7rem;font-weight:700;display:inline-flex}.assignment-title-block small svg,.assignment-metadata-item dt svg{stroke-width:2.2px;flex-shrink:0;width:12px;height:12px}.assignment-title-block h3{margin:0;font-size:1rem;line-height:1.3}.assignment-status-badge{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border:1px solid #2563eb24;border-radius:999px;align-items:center;gap:5px;padding:6px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.assignment-status-badge svg{stroke-width:2.5px;width:12px;height:12px}.leave-status-badge{color:#475569;letter-spacing:.02em;white-space:nowrap;background:#f1f5f9eb;border:1px solid #94a3b82e;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.leave-status-badge-pending{color:#b45309;background:#f59e0b1f;border-color:#f59e0b2e}.leave-status-badge-approved{color:#047857;background:#10b9811f;border-color:#10b9812e}.leave-status-badge-rejected{color:#b91c1c;background:#ef44441f;border-color:#ef44442e}.leave-request-card{gap:12px;padding:16px;display:grid}.leave-request-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.leave-request-heading{gap:6px;min-width:0;display:grid}.leave-request-range{color:#0f172a;font-size:.98rem;font-weight:800;line-height:1.35}.leave-request-created{color:#64748b;margin:0;font-size:.78rem;font-weight:600}.leave-request-reason,.leave-request-review{color:#334155;margin:0;font-size:.9rem;line-height:1.6}.leave-request-reason{padding-top:2px}.leave-request-review{color:#475569;border-top:1px solid #94a3b824;padding-top:10px}.assignment-metadata-grid{border-top:1px solid #94a3b824;border-bottom:1px solid #94a3b824;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px;margin:0;padding:10px 0;display:grid}.assignment-metadata-item{gap:3px;min-width:0;margin:0;display:grid}.assignment-metadata-item dt,.assignment-metadata-item dd{min-width:0;margin:0}.assignment-metadata-item dd{color:#0f172a;font-size:.86rem;font-weight:700}.assignment-metadata-item-due dd{color:#dc2626}.assignment-inline-meta{color:#64748b;flex-wrap:wrap;gap:6px 12px;font-size:.83rem;font-weight:600;display:flex}.assignment-inline-meta span{align-items:center;gap:5px;display:inline-flex}.assignment-inline-meta span svg{stroke-width:2.2px;flex-shrink:0;width:13px;height:13px}.assignment-inline-meta span+span{position:relative}.assignment-inline-meta span+span:before{content:"â€¢";color:#cbd5e1;margin-right:12px}.assignment-detail-list{gap:10px;display:grid}.assignment-detail-row{gap:4px;display:grid}.assignment-detail-row strong{letter-spacing:.08em;text-transform:uppercase;color:#64748b;align-items:center;gap:5px;font-size:.72rem;font-weight:700;display:inline-flex}.assignment-detail-row strong svg{stroke-width:2.2px;flex-shrink:0;width:12px;height:12px}.assignment-detail-row p{color:#475569;margin:0;line-height:1.55}.assignment-attachment-stack{gap:8px;padding-top:2px;display:grid}.assignment-attachment-grid{gap:0;display:grid}.assignment-attachment-card{border-top:1px solid #94a3b824;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.assignment-attachment-copy{gap:2px;min-width:0;display:grid}.assignment-attachment-copy strong,.assignment-attachment-copy small{overflow-wrap:anywhere}.assignment-attachment-copy strong{color:#0f172a}.assignment-attachment-copy small{color:#64748b}.assignment-submit-context-copy small svg{width:18px;height:18px}.assignment-card-action{align-self:flex-start;min-height:46px;margin-top:2px}.assignment-inline-link{color:var(--primary);background:0 0;border:0;justify-content:flex-start;min-height:auto;padding:0}.assignment-submit-card{grid-column:1/-1}.assignment-submit-page{gap:14px}.assignment-submit-page-header{align-items:center;display:flex}.assignment-back-button{border-radius:var(--radius-md);color:#0f172a;background:#fff;border:1px solid #94a3b82e;align-items:center;gap:8px;padding:10px 14px;font-weight:700;display:inline-flex;box-shadow:0 8px 22px #0f172a0d}.assignment-back-button svg{width:16px;height:16px}.assignment-submit-form{gap:18px}.assignment-submit-context{background:linear-gradient(#eff4ffe6,#fffffffa);border:1px solid #2563eb24;border-radius:18px;padding:16px 18px}.assignment-submit-context-copy{gap:6px;display:grid}.assignment-submit-context-copy strong{color:#0f172a;font-size:1rem}.assignment-submit-context-copy small{color:#475569;align-items:center;gap:8px;font-size:.9rem;display:inline-flex}.assignment-submit-context-due{color:#dc2626;font-weight:700}.assignment-selected-field{border-radius:var(--radius-lg);color:#0f172a;background:linear-gradient(#fffffffa,#f8fafcfa);border:1px solid #94a3b829;width:100%;padding:14px 16px;font-weight:700}.assignment-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.assignment-field{gap:8px;display:grid}.assignment-field>span{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.76rem;font-weight:700}.assignment-field-span-2{grid-column:1/-1}.assignment-field textarea,.assignment-field select,.assignment-field input{width:100%}.assignment-upload-shell{border-radius:var(--radius-lg);cursor:pointer;background:linear-gradient(#fffffffa,#eff4fffa);border:1px dashed #2563eb47;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:16px 18px;display:grid}.assignment-upload-icon{border-radius:var(--radius-md);width:42px;height:42px;color:var(--primary);background:#1d4ed81a;justify-content:center;align-items:center;display:inline-flex}.assignment-upload-icon svg,.assignment-upload-pill svg,.assignment-upload-clear svg,.assignment-link-label svg{stroke-width:2.1px;width:18px;height:18px}.assignment-upload-copy{gap:4px;display:grid}.assignment-upload-copy strong{font-size:.98rem}.assignment-upload-copy small,.assignment-helper{color:var(--muted);line-height:1.45}.assignment-file-input{display:none}.assignment-upload-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.assignment-upload-pill{border-radius:var(--radius-md);color:#334155;background:#f8fafc;border:1px solid #94a3b82e;align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:inline-flex}.assignment-upload-clear{border-radius:var(--radius-md);color:#dc2626;background:#fff5f5;border:1px solid #dc262624;align-items:center;gap:8px;padding:10px 12px;font-weight:700;display:inline-flex}.assignment-link-row{border-radius:var(--radius-lg);background:#f8fafcf5;border:1px solid #94a3b824;padding:14px 16px}.assignment-link-label{color:#475569;align-items:center;gap:10px;font-weight:600;display:inline-flex}.assignment-link-label svg{color:var(--primary)}.assignment-submit-button{width:100%;min-height:56px}@keyframes section-spin{to{transform:rotate(360deg)}}@media (width>=480px){.entity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-results-grid{grid-template-columns:minmax(0,1fr)}.school-profile-card{grid-template-columns:auto minmax(0,1fr)}}@media (width<=640px){.account-card,.student-spotlight{align-items:start}.account-title{overflow-wrap:anywhere;font-size:.96rem}.account-meta{overflow-wrap:anywhere;font-size:.82rem}.list-row{grid-template-columns:minmax(0,100px) minmax(0,1fr);gap:8px}.list-value{text-align:right;width:auto;padding-left:0}.section-stat-grid{grid-template-columns:1fr}.promo-card{flex-direction:column;align-items:flex-start}.promo-card h2{overflow-wrap:anywhere;font-size:1.35rem;line-height:1.08}.promo-card p,.promo-school{overflow-wrap:anywhere;font-size:.84rem}.section-chip{padding:10px 12px;font-size:.84rem}.wallet-history-summary,.wallet-history-pagination,.wallet-history-toolbar{flex-direction:column;align-items:stretch}.wallet-history-meta{justify-content:flex-start}.wallet-history-sort{min-width:0}.wallet-pagination-button{width:100%}.assignment-form-grid{grid-template-columns:1fr}.assignment-card-header,.assignment-attachment-card{flex-direction:column;align-items:flex-start}.assignment-title-block h3{overflow-wrap:anywhere;font-size:.98rem;line-height:1.28}.assignment-title-block small,.assignment-metadata-item dt,.assignment-subheading{font-size:.7rem}.assignment-status-badge{white-space:normal;padding:7px 10px;font-size:.74rem}.assignment-inline-meta{gap:4px 10px}.assignment-card-action{align-self:stretch;width:100%}.assignment-metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-metadata-item dd,.assignment-detail-row p,.assignment-attachment-copy strong,.assignment-attachment-copy small,.section-link{font-size:.88rem}.section-link{overflow-wrap:anywhere}.assignment-inline-meta span+span:before{margin-right:10px}.profile-modal-overlay{padding:12px}.profile-modal{border-radius:20px;padding:18px}.profile-modal-header{flex-direction:column}.profile-modal-close,.profile-password-trigger{width:100%}}.teacher-dashboard{--teacher-sky-border:#94a3b82e;--teacher-mint-border:#94a3b82e;--teacher-amber-border:#94a3b82e;--teacher-rose-border:#94a3b82e}.teacher-home-hero{justify-content:space-between;align-items:center;gap:14px;padding:2px 2px 4px;display:flex}.teacher-home-date{color:#64748b;font-size:.9rem;font-weight:700}.teacher-home-hero h2{letter-spacing:-.04em;margin:4px 0 0;font-size:clamp(1.8rem,3vw,2.6rem);line-height:.96}.teacher-home-meta{color:#64748b;letter-spacing:-.01em;margin-top:4px;font-size:.95rem;font-weight:600}.teacher-home-actions{align-items:center;gap:10px;display:flex}.teacher-home-profile{border-radius:var(--radius-lg);cursor:pointer;background:0 0;border:0;width:58px;height:58px;padding:0}.teacher-home-profile-avatar{border-radius:var(--radius-lg);color:#fff;width:58px;height:58px;box-shadow:var(--shadow-card);background:linear-gradient(135deg,#0f172a 0%,#334155 100%);justify-content:center;align-items:center;font-weight:800;display:inline-flex;overflow:hidden}.teacher-home-profile-image{object-fit:cover;width:100%;height:100%;display:block}.teacher-overview-shell,.teacher-overview-copy,.teacher-overview-meta,.teacher-hero-actions,.teacher-subject-cloud,.teacher-metric-grid,.teacher-action-grid,.teacher-feed-grid,.teacher-signal-grid,.teacher-empty-state{gap:12px;display:grid}.teacher-overview-copy{gap:10px}.teacher-kicker{letter-spacing:.14em;text-transform:uppercase;color:#2563eb;font-size:.72rem;font-weight:800}.teacher-overview-shell{border-bottom:1px solid #94a3b829;gap:16px;padding-bottom:8px}.teacher-overview-copy h3{color:#0f172a;margin:0;font-size:1.5rem;line-height:1.08}.teacher-overview-copy p{color:#475569;max-width:52ch;margin:0;line-height:1.58}.teacher-overview-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.teacher-hero-pill{background:#ffffffd1;border:1px solid #94a3b824;border-radius:16px;gap:4px;padding:14px 12px;display:grid}.teacher-hero-pill-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.teacher-hero-pill-icon{color:#2563eb;background:#2563eb14;border-radius:10px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.teacher-hero-pill-chart{align-items:flex-end;gap:3px;height:18px;display:inline-flex}.teacher-hero-pill-chart span{background:linear-gradient(#2563eb52,#2563ebc7);border-radius:999px;width:4px}.teacher-hero-pill-chart span:first-child{height:8px}.teacher-hero-pill-chart span:nth-child(2){height:13px}.teacher-hero-pill-chart span:nth-child(3){height:17px}.teacher-hero-pill-icon svg,.teacher-inline-action-copy svg{width:16px;height:16px}.teacher-hero-pill strong{color:#0f172a;font-size:1.4rem;line-height:1}.teacher-hero-pill span{color:#64748b;font-size:.76rem;font-weight:700}.teacher-hero-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-inline-action,.teacher-card-cta{color:#0f172a;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:0;font-weight:700;display:inline-flex}.teacher-inline-action-copy{align-items:center;gap:8px;display:inline-flex}.teacher-subject-cloud{grid-template-columns:repeat(auto-fit,minmax(120px,max-content));align-items:start}.teacher-subject-pill{color:#334155;background:#0f172a0a;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:4px 10px;font-size:.76rem;font-weight:700;display:inline-flex}.teacher-subject-pill-muted{color:#64748b;background:#f8fafcf5}.teacher-metric-grid,.teacher-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-metric-card,.teacher-action-card,.teacher-feed-card,.teacher-signal-card,.teacher-empty-state{border:1px solid var(--teacher-sky-border);box-shadow:none;background:#ffffffbd;border-radius:18px}.teacher-tone-sky{border-color:var(--teacher-sky-border)}.teacher-tone-mint{border-color:var(--teacher-mint-border)}.teacher-tone-amber{border-color:var(--teacher-amber-border)}.teacher-tone-rose{border-color:var(--teacher-rose-border)}.teacher-metric-card,.teacher-action-card,.teacher-signal-card{text-align:left}.teacher-metric-card,.teacher-action-card,.teacher-signal-card,.teacher-inline-action,.teacher-card-cta{transition:transform .18s,box-shadow .18s,border-color .18s}.teacher-metric-card:hover,.teacher-action-card:hover,.teacher-signal-card:hover,.teacher-inline-action:hover,.teacher-card-cta:hover{transform:translateY(-1px)}.teacher-metric-card:focus-visible,.teacher-action-card:focus-visible,.teacher-signal-card:focus-visible,.teacher-inline-action:focus-visible,.teacher-card-cta:focus-visible{outline-offset:2px;outline:2px solid #1d4ed857}.teacher-metric-card{align-content:start;gap:12px;padding:18px 16px;display:grid}.teacher-metric-head{align-items:center;gap:10px;min-width:0;display:flex}.teacher-metric-icon,.teacher-action-icon{color:#1e3a8a;background:#2563eb14;border-radius:10px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.teacher-metric-icon svg,.teacher-action-icon svg,.teacher-card-link svg,.teacher-inline-action svg,.teacher-card-cta svg{width:18px;height:18px}.teacher-metric-label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:700}.teacher-metric-card strong{color:#0f172a;font-size:2rem;line-height:1}.teacher-metric-card p{color:#475569;margin:0;font-size:.82rem;line-height:1.55}.teacher-card-link{color:#1e3a8a;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:6px;font-size:.76rem;font-weight:800;display:inline-flex}.teacher-action-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:14px;display:grid}.teacher-action-copy{gap:4px;min-width:0;display:grid}.teacher-action-copy strong{color:#0f172a;font-size:.96rem}.teacher-action-copy small{color:#526071;line-height:1.4}.teacher-action-meta{color:#1e3a8a;background:#ffffffc7;border-radius:999px;grid-column:1/-1;width:fit-content;padding:6px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.teacher-feed-card,.teacher-signal-card{gap:10px;padding:14px;display:grid}.teacher-feed-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.teacher-feed-head span{color:#0f172a;align-items:center;gap:8px;min-width:0;font-weight:700;display:inline-flex}.teacher-feed-primary,.teacher-feed-secondary,.teacher-empty-state p{margin:0}.teacher-feed-primary{color:#334155;font-weight:600}.teacher-feed-secondary{color:#64748b;font-size:.84rem;line-height:1.45}.teacher-inline-badge{color:#1e3a8a;white-space:nowrap;background:#ffffffd6;border-radius:999px;justify-content:center;align-items:center;min-height:28px;padding:4px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.teacher-empty-state{padding:18px 16px}.teacher-empty-state p{color:#475569;font-weight:600}.teacher-card-cta{background:#0f172ad6;border-color:#0f172ad6;width:fit-content}.teacher-section-flat{gap:14px;display:grid}.teacher-section-flat-compact{gap:6px;margin-top:-8px}.teacher-section-flat-compact>.muted{margin:0;line-height:1.45}.teacher-section-flat-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.teacher-section-flat-header h3{color:#0f172a;margin:0;font-size:1.05rem}.teacher-class-list{gap:12px;display:grid}.teacher-class-card{border-radius:var(--radius-lg);background:linear-gradient(#fffffffa 0%,#f8fbff 100%);border:1px solid #94a3b82e;gap:14px;padding:16px;display:grid;box-shadow:0 10px 26px #0f172a0d}.teacher-class-header,.teacher-class-title{gap:4px;display:grid}.teacher-class-name{color:#0f172a;align-items:center;gap:8px;font-size:1rem;font-weight:800;line-height:1.3;display:inline-flex}.teacher-class-name svg{flex:none;width:16px;height:16px}.teacher-class-title small{color:#64748b;font-size:.82rem;font-weight:700}.teacher-class-subjects{flex-wrap:wrap;gap:8px;display:flex}.teacher-class-subject-tag{color:#334155;background:#0f172a0f;border-radius:999px;align-items:center;min-height:30px;padding:6px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.teacher-class-empty{color:#64748b;margin:0;font-size:.88rem;font-weight:600}.teacher-health-card,.teacher-health-compact-card{border-radius:var(--radius-lg);background:linear-gradient(#fffffffa 0%,#f8fbff 100%);border:1px solid #94a3b82e;gap:14px;padding:16px;display:grid;box-shadow:0 10px 26px #0f172a0d}.teacher-health-compact-card{text-align:left;cursor:pointer;gap:12px;width:100%;transition:transform .16s,box-shadow .16s,border-color .16s}.teacher-health-compact-card:hover{border-color:#2563eb33;transform:translateY(-1px);box-shadow:0 16px 32px #0f172a14}.teacher-health-compact-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.teacher-health-open-hint{color:#2563eb;text-transform:uppercase;letter-spacing:.06em;flex:none;font-size:.75rem;font-weight:800}.teacher-health-compact-line{color:#475569;margin:0;font-size:.84rem;font-weight:600;line-height:1.4}.teacher-health-section{gap:14px;display:grid}.teacher-health-toolbar{grid-template-columns:minmax(0,1fr) 200px;gap:10px;display:grid}.teacher-health-search,.teacher-health-sort{color:#0f172a;background:#f8fafcf2;border:1px solid #94a3b847;border-radius:14px;outline:none;width:100%;min-height:44px;padding:0 14px;font-size:.92rem;font-weight:600;box-shadow:inset 0 1px #fff9}.teacher-health-search::placeholder{color:#94a3b8}.teacher-health-search:focus,.teacher-health-sort:focus{border-color:#2563eb6b;box-shadow:0 0 0 3px #3b82f61f}.teacher-health-header,.teacher-health-title{gap:4px;display:grid}.teacher-health-student{color:#0f172a;align-items:center;gap:8px;font-size:1rem;font-weight:800;line-height:1.3;display:inline-flex}.teacher-health-student svg{flex:none;width:16px;height:16px}.teacher-health-title small{color:#64748b;font-size:.82rem;font-weight:700}.teacher-health-meta-grid,.teacher-health-insight-grid{gap:10px;display:grid}.teacher-health-meta-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.teacher-health-detail-card,.teacher-health-insight-card{background:#ffffffc7;border:1px solid #94a3b82e;border-radius:16px;gap:8px;padding:12px;display:grid}.teacher-health-detail-label{color:#64748b;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;font-size:.72rem;font-weight:800;display:inline-flex}.teacher-health-detail-label svg{flex:none;width:14px;height:14px}.teacher-health-detail-value{color:#0f172a;font-size:.92rem;font-weight:800;line-height:1.35}.teacher-health-tags{flex-wrap:wrap;gap:8px;display:flex}.teacher-health-label{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.76rem;font-weight:800}.teacher-health-tag{border-radius:999px;align-items:center;min-height:30px;padding:6px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.teacher-health-tag-allergy{color:#b45309;background:#f59e0b24}.teacher-health-tag-condition{color:#7e22ce;background:#a855f71f}.teacher-health-summary{flex-wrap:wrap;gap:8px;display:flex}.teacher-health-summary-chip{color:#1d4ed8;background:#2563eb14;border-radius:999px;align-items:center;min-height:30px;padding:6px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.teacher-health-modal{width:min(680px,100vw - 24px);max-height:min(88vh,760px);overflow:hidden}.teacher-health-modal-stack{gap:16px;max-height:calc(min(88vh,760px) - 96px);padding-right:4px;display:grid;overflow-y:auto}.teacher-health-tabs{flex-wrap:wrap;gap:8px;display:flex}.teacher-health-tab{color:#475569;background:#f8fafcf2;border:1px solid #94a3b83d;border-radius:999px;min-height:36px;padding:0 12px;font-size:.82rem;font-weight:700}.teacher-health-tab.active{color:#1d4ed8;background:#2563eb1a;border-color:#2563eb33}.teacher-health-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.teacher-health-modal .teacher-health-detail-card,.teacher-health-modal .teacher-health-insight-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.teacher-health-modal .teacher-health-modal-grid{border-top:1px solid #94a3b82e;border-bottom:1px solid #94a3b82e;gap:0}.teacher-health-modal .teacher-health-detail-card{border-bottom:1px solid #94a3b824;gap:4px;padding:12px 0}.teacher-health-modal .teacher-health-detail-card:nth-last-child(-n+2){border-bottom:0}.teacher-health-modal .teacher-health-insight-grid{gap:14px}.teacher-health-modal .teacher-health-insight-card{gap:10px;padding-top:2px}.teacher-health-modal .teacher-health-tags{gap:6px}.teacher-health-list{gap:12px;display:grid}.teacher-health-list-item{border-bottom:1px solid #94a3b824;gap:6px;padding:14px 0;display:grid}.teacher-health-list-item:last-child{border-bottom:0}.teacher-health-list-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.teacher-health-list-title{color:#0f172a;margin:0;font-size:.95rem;font-weight:800}.teacher-health-list-meta{color:#64748b;margin:0;font-size:.78rem;font-weight:600}.teacher-health-list-copy{color:#334155;margin:0;font-size:.88rem;line-height:1.55}.teacher-health-empty-state{text-align:center;background:#f8fafcb8;border:1px dashed #94a3b847;border-radius:18px;justify-items:center;gap:10px;padding:28px 18px;display:grid}.teacher-health-empty-state svg{color:#94a3b8;width:28px;height:28px}.teacher-health-empty-state p{color:#64748b;margin:0;font-size:.9rem;font-weight:600}.exam-schedule-list,.routine-schedule-list{gap:12px;display:grid}.routine-schedule-card,.exam-schedule-card{border-radius:var(--radius-lg);background:linear-gradient(#fffffffa 0%,#f8fbff 100%);border:1px solid #94a3b82e;gap:14px;padding:16px;display:grid;box-shadow:0 10px 26px #0f172a0d}.routine-schedule-header,.exam-schedule-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.routine-schedule-title,.exam-schedule-title{gap:4px;min-width:0;display:grid}.routine-schedule-subject,.exam-schedule-subject{color:#0f172a;align-items:center;gap:8px;font-size:1rem;font-weight:800;line-height:1.3;display:inline-flex}.routine-schedule-subject svg,.routine-schedule-time svg,.exam-schedule-subject svg,.exam-schedule-date svg{flex:none;width:16px;height:16px}.routine-schedule-title small,.exam-schedule-title small{color:#64748b;font-size:.82rem;font-weight:700}.routine-schedule-time,.exam-schedule-date{color:#1d4ed8;white-space:nowrap;background:#1d4ed814;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.routine-schedule-time{color:#0284c7;background:#0ea5e91f}.routine-schedule-room{color:#64748b;margin:0;font-size:.88rem;font-weight:600}.entity-chip-exam-class{color:#4f46e5;background:#6366f11f;border-color:#6366f12e}@media (width<=560px){.teacher-overview-meta,.teacher-hero-actions,.teacher-metric-grid,.teacher-action-grid{grid-template-columns:minmax(0,1fr)}.teacher-feed-head{flex-direction:column}.teacher-inline-badge{white-space:normal}.teacher-card-cta{width:100%}.teacher-health-toolbar{grid-template-columns:1fr}.teacher-health-compact-header{flex-direction:column}.teacher-health-open-hint{font-size:.72rem}.routine-schedule-header,.exam-schedule-header{flex-direction:column}.routine-schedule-time,.exam-schedule-date{white-space:normal}.teacher-section-flat-header{align-items:flex-start}.teacher-health-meta-grid,.teacher-health-insight-grid,.teacher-health-tags,.teacher-health-summary{gap:6px}.teacher-health-detail-card,.teacher-health-insight-card{border-radius:14px;padding:11px}.teacher-health-modal-grid{grid-template-columns:1fr}.teacher-health-list-row{flex-direction:column}.teacher-health-modal .teacher-health-detail-card:nth-last-child(-n+2){border-bottom:1px solid #94a3b824}.teacher-health-modal .teacher-health-detail-card:last-child{border-bottom:0}}.exam-results-list{gap:12px;display:grid}.exam-result-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:#fff;gap:12px;padding:16px;display:grid;box-shadow:0 4px 16px #0f172a0a}.exam-result-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.exam-result-subject{gap:2px;min-width:0;display:grid}.exam-result-subject-name{color:#0f172a;font-size:1rem;font-weight:800;line-height:1.3}.exam-result-exam-name{color:#64748b;font-size:.78rem;font-weight:600}.exam-result-grade{color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#1d4ed8 0%,#7c3aed 100%);border-radius:999px;flex-shrink:0;padding:5px 12px;font-size:.78rem;font-weight:800}.exam-result-body{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.exam-result-score{align-items:baseline;gap:4px;display:flex}.exam-result-obtained{color:#0f172a;letter-spacing:-.03em;font-size:1.8rem;font-weight:900;line-height:1}.exam-result-separator{color:#cbd5e1;font-size:1.1rem;font-weight:600}.exam-result-full{color:#64748b;font-size:1rem;font-weight:700}.exam-result-pct{color:#1d4ed8;font-size:1.1rem;font-weight:800}.exam-result-bar-track{background:#e2e8f0;border-radius:999px;height:6px;overflow:hidden}.exam-result-bar-fill{border-radius:inherit;background:linear-gradient(90deg,#1d4ed8 0%,#7c3aed 100%);min-width:4px;height:100%;transition:width .6s}.exam-result-footer{color:#64748b;border-top:1px solid #94a3b824;align-items:center;gap:6px;padding-top:4px;font-size:.82rem;font-weight:600;display:flex}.exam-result-footer svg{color:#f59e0b;stroke-width:2.2px;flex-shrink:0;width:14px;height:14px}.exam-result-footer strong{color:#0f172a;font-weight:800}.health-profile-identity{border-bottom:1px solid #94a3b824;align-items:center;gap:14px;margin-bottom:16px;padding-bottom:16px;display:flex}.health-profile-avatar{border-radius:var(--radius-lg);color:#fff;letter-spacing:-.02em;background:linear-gradient(135deg,#0f172a 0%,#1e3a8a 100%);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.1rem;font-weight:800;display:inline-flex}.health-profile-identity-copy{gap:4px;min-width:0;display:grid}.health-profile-name{color:#0f172a;font-size:1.05rem;font-weight:800;display:block}.health-profile-class{color:#64748b;align-items:center;gap:5px;font-size:.84rem;font-weight:600;display:inline-flex}.health-profile-class svg{stroke-width:2.2px;flex-shrink:0;width:13px;height:13px}.health-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.health-metric{border-radius:var(--radius-lg);text-align:center;border:1px solid var(--border);background:var(--surface-muted);justify-items:center;gap:6px;padding:14px 10px;display:grid}.health-metric-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.health-metric-icon svg{stroke-width:2.1px;width:18px;height:18px}.health-metric.blood .health-metric-icon{color:#dc2626;background:#ef44441f}.health-metric.bmi .health-metric-icon{color:#059669;background:#10b9811f}.health-metric.allergy .health-metric-icon{color:#d97706;background:#f59e0b24}.health-metric-label{text-transform:uppercase;letter-spacing:.07em;color:#94a3b8;font-size:.66rem;font-weight:700}.health-metric-value{color:#0f172a;overflow-wrap:anywhere;font-size:.8rem;font-weight:700;line-height:1.3}.health-metric.emergency .health-metric-icon{color:#4f46e5;background:#6366f11f}.alert-feed{gap:14px;display:grid}.alert-filter-panel{display:block}.alert-filter-bar{flex-wrap:wrap;gap:8px;display:flex}.alert-filter-chip,.alert-read-toggle{align-items:center;gap:8px;font-weight:700;display:inline-flex}.alert-filter-chip{color:#475569;background:#f1f5f9f5;border:1px solid #94a3b824;padding:8px 11px;font-size:.84rem}.alert-filter-chip strong{text-align:center;color:#0f172a;min-width:20px;font-size:.8rem}.alert-filter-chip.active{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);border-color:#0f172a05}.alert-filter-chip.active strong{color:#fff}.alert-filter-chip svg{stroke-width:2.2px;width:14px;height:14px}.alert-card{border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-card);background:linear-gradient(#fffffffa 0%,#f8fafcf0 100%);gap:14px;padding:16px;display:grid}.alert-card-top{grid-template-columns:auto 1fr;align-items:start;gap:12px;display:grid}.alert-icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.alert-icon.notice{color:#ea580c;background:#f973161f}.alert-icon.notification{color:#2563eb;background:#2563eb1a}.alert-icon svg{stroke-width:2.15px;width:20px;height:20px}.alert-card-copy h4{margin:8px 0 0;font-size:1rem;line-height:1.35}.alert-card-meta{flex-wrap:wrap;gap:8px;display:flex}.alert-priority,.alert-category,.alert-detail-chip,.alert-empty{border-radius:999px;font-size:.78rem;font-weight:700}.alert-priority,.alert-category{padding:6px 10px}.alert-priority.high{color:#dc2626;background:#dc26261a}.alert-priority.medium{color:#b45309;background:#f59e0b1f}.alert-priority.low{color:#047857;background:#10b9811f}.alert-category{color:#334155;background:#0f172a0f}.alert-content{color:#475569;word-break:break-word;margin:0;line-height:1.55}.alert-read-toggle{box-shadow:none;color:#64748b;white-space:nowrap;background:0 0;border:0;outline:none;margin-left:auto;padding:0;font-size:.8rem}.alert-read-toggle:focus,.alert-read-toggle:focus-visible{box-shadow:none;outline:none}.alert-read-toggle.read{color:#047857}.alert-read-toggle.unread{color:#2563eb}.alert-read-toggle svg{stroke-width:2.2px;width:13px;height:13px}.alert-content a{color:#2563eb;font-weight:700;text-decoration:none}.alert-content a:hover{text-decoration:underline}.alert-detail-row{flex-wrap:wrap;gap:8px;display:flex}.alert-detail-chip{color:#475569;background:#f1f5f9f5;border:1px solid #94a3b824;align-items:center;gap:7px;padding:8px 10px;display:inline-flex}.alert-detail-chip svg{width:14px;height:14px;color:var(--primary);stroke-width:2.2px}.alert-empty{color:#64748b;text-align:center;background:#f8fafceb;padding:14px}.notices-page-card .card-header,.notice-composer-card .card-header,.complaints-page-card .card-header{margin-bottom:6px}.notice-composer-header{grid-template-columns:auto 1fr;align-items:start;gap:12px;display:grid}.notice-composer-header p{color:#475569;margin:0;line-height:1.55}.notice-composer-launch{gap:16px;display:grid}.notice-composer-modal{width:min(100%,640px);max-height:min(100dvh - 32px,760px);overflow:auto}.notice-composer-icon{border-radius:var(--radius-md);color:#ea580c;background:#f973161f;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.notice-composer-icon-warning{color:#dc2626;background:#dc26261f}.notice-composer-icon svg{stroke-width:2.15px;width:20px;height:20px}.notice-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.notice-field-label{letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-size:.76rem;font-weight:700}.notice-textarea-shell{align-items:stretch}.notice-submit-button{justify-content:center;width:100%}.notice-submit-button svg{stroke-width:2.2px;width:16px;height:16px}.complaint-resolution{border-radius:var(--radius-md);background:#f8fafceb;border:1px solid #94a3b824;gap:6px;padding:12px;display:grid}.complaint-resolution strong{text-transform:uppercase;letter-spacing:.08em;color:#0f172a;font-size:.78rem}.complaint-resolution p{color:#475569;margin:0;line-height:1.5}@media (width<=520px){.notice-composer-modal{max-height:calc(100dvh - 24px)}.notice-form-grid{grid-template-columns:1fr}.alert-read-toggle{font-size:.76rem}}.bottom-dock{border:1px solid var(--border);z-index:3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border-radius:20px;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:min(100vw - 24px,560px);padding:10px;display:grid;position:fixed;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 18px 36px #0f172a1f}body[data-modal-open=true] .bottom-dock{opacity:0;pointer-events:none}.dock-item{color:#64748b;background:0 0;border-radius:14px;justify-items:center;gap:4px;padding:10px 6px 8px;font-size:.66rem;font-weight:600;line-height:1.1;display:grid}.dock-item.active{color:var(--primary);background:#eff4ff;box-shadow:inset 0 0 0 1px #2563eb2e}.dock-icon{color:currentColor;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex;position:relative}.dock-icon svg{width:24px;height:24px;display:block}.dock-badge{color:#fff;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.64rem;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:-8px;right:-12px;box-shadow:0 0 0 3px #fffffff5}@media (width>=960px){.bottom-dock{grid-template-columns:repeat(5,minmax(120px,1fr));width:min(100vw - 64px,920px);bottom:18px}}@media (width<=420px){.feature-grid,.mini-grid,.stat-grid{grid-template-columns:1fr}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-card{border-radius:20px;padding:18px 14px}.metric-icon{border-radius:16px;width:48px;height:48px}.metric-label{letter-spacing:.06em;margin-top:14px;font-size:.72rem}.metric-value{font-size:.98rem}.metric-progress{margin-top:12px}.exam-actions{grid-template-columns:1fr}.bottom-dock{bottom:10px}}
