.app-navbar{--nav-primary:#1d4ed8;--nav-primary-dark:#1e3a8a;--nav-primary-light:#eff6ff;--nav-primary-soft:#dbeafe;--nav-primary-border:#bfdbfe;z-index:1000;background:#fff;border-bottom:1px solid #e2e8f0;width:100%;position:sticky;top:0;box-shadow:0 1px 2px #0f172a0a,0 6px 18px #0f172a0a}.app-navbar--admin{--nav-primary:#1d4ed8;--nav-primary-dark:#1e3a8a;--nav-primary-light:#eff6ff;--nav-primary-soft:#dbeafe;--nav-primary-border:#bfdbfe}.app-navbar--teacher{--nav-primary:#0f766e;--nav-primary-dark:#115e59;--nav-primary-light:#f0fdfa;--nav-primary-soft:#ccfbf1;--nav-primary-border:#99f6e4}.app-navbar__main{background:#fff}.app-navbar__inner{align-items:center;gap:26px;max-width:1600px;min-height:74px;margin:0 auto;padding:0 30px;display:flex}.app-navbar__brand{flex-shrink:0;align-items:center;gap:12px;min-width:230px;display:flex}.app-navbar__mark{color:#fff;background:linear-gradient(135deg, var(--nav-primary), var(--nav-primary-dark));border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 6px 18px #0f172a26}.app-navbar__mark svg{font-size:24px}.app-navbar__brand-text{flex-direction:column;line-height:1.2;display:flex}.app-navbar__brand-text strong{color:#0f172a;letter-spacing:-.2px;font-size:15px;font-weight:800}.app-navbar__brand-text small{color:#94a3b8;letter-spacing:1.3px;text-transform:uppercase;margin-top:4px;font-size:9px;font-weight:700}.app-navbar__links{flex:1;align-self:stretch;align-items:stretch;gap:3px;display:flex}.app-navbar__link{color:#64748b;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:13px;font-weight:600;text-decoration:none;transition:color .18s,background-color .18s;display:inline-flex;position:relative}.app-navbar__link svg{color:#64748b;transition:color .18s}.app-navbar__link:hover{color:var(--nav-primary);background:var(--nav-primary-light)}.app-navbar__link:hover svg{color:var(--nav-primary)}.app-navbar__link--active{color:var(--nav-primary);background:var(--nav-primary-light)}.app-navbar__link--active svg{color:var(--nav-primary)}.app-navbar__link--active:after{content:"";background:var(--nav-primary);border-radius:4px 4px 0 0;height:3px;position:absolute;bottom:0;left:16px;right:16px}.app-navbar__account{flex-shrink:0;align-items:center;gap:10px;display:flex}.app-navbar__profile{background:var(--nav-primary-light);border:1px solid var(--nav-primary-border);border-radius:12px;align-items:center;gap:10px;max-width:230px;padding:7px 11px;display:flex}.app-navbar__avatar{width:34px;height:34px;color:var(--nav-primary);background:var(--nav-primary-soft);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-navbar__identity{flex-direction:column;min-width:0;line-height:1.2;display:flex}.app-navbar__identity strong{color:#1e293b;font-size:12px;font-weight:700}.app-navbar__identity small{color:#64748b;white-space:nowrap;text-overflow:ellipsis;max-width:150px;margin-top:3px;font-size:10px;overflow:hidden}.app-navbar__demo-badge{color:#9a3412;letter-spacing:.8px;text-transform:uppercase;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-size:10px;font-weight:800;display:inline-flex}.app-navbar__demo-dot{background:#f97316;border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 0 3px #f973161f}.app-navbar__logout{color:#b91c1c}.app-navbar__logout svg{color:#dc2626}.app-navbar__logout:hover{color:#991b1b;background:#fef2f2}.app-navbar__logout:hover svg{color:#dc2626}.app-navbar__demo-strip{background:#f8fafc;border-top:1px solid #f1f5f9}.app-navbar__demo-strip-inner{color:#64748b;justify-content:space-between;align-items:center;gap:24px;max-width:1600px;min-height:30px;margin:0 auto;padding:0 30px;font-size:11px;font-weight:500;display:flex}.app-navbar__demo-strip-inner>span:first-child{align-items:center;display:flex}.app-navbar__demo-strip-inner>span:first-child:before{content:"";background:#f59e0b;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:8px}.app-navbar__author{color:#94a3b8;white-space:nowrap;font-size:10px;font-weight:600}@media (width<=1150px){.app-navbar__inner{gap:16px;padding:0 20px}.app-navbar__brand{min-width:auto}.app-navbar__identity{display:none}.app-navbar__profile{padding:6px}.app-navbar__link{padding:0 10px}}@media (width<=900px){.app-navbar__inner{flex-wrap:wrap;gap:8px;padding:10px 18px}.app-navbar__brand{flex:1}.app-navbar__links{order:3;width:100%;min-height:46px;overflow-x:auto}.app-navbar__demo-strip-inner{padding:7px 18px}.app-navbar__author{display:none}}@media (width<=600px){.app-navbar__brand-text small,.app-navbar__demo-badge{display:none}.app-navbar__link{font-size:12px}.app-navbar__demo-strip-inner{line-height:1.4}}.login-page{--login-navy:#0d1c3d;--login-blue:#2457d6;--login-gold:#e4bd63;background:#fff;grid-template-columns:minmax(420px,1.08fr) minmax(460px,.92fr);min-height:calc(100vh - 65px);display:grid;overflow:hidden}.login-story{isolation:isolate;color:#fff;background:radial-gradient(circle at 76% 20%, #4170e766, transparent 32%), linear-gradient(145deg, #122b5b 0%, var(--login-navy) 54%, #09142e 100%);flex-direction:column;justify-content:space-between;min-height:calc(100vh - 65px);padding:clamp(36px,5vw,76px);display:flex;position:relative}.login-story:before,.login-story:after{z-index:-1;content:"";border:1px solid #ffffff17;border-radius:50%;position:absolute}.login-story:before{width:460px;height:460px;top:-190px;right:-180px}.login-story:after{width:300px;height:300px;bottom:-155px;right:-74px}.login-brand{align-items:center;gap:13px;width:fit-content;display:inline-flex}.login-brand__mark{width:46px;height:46px;color:var(--login-navy);background:#fff;border-radius:14px;place-items:center;display:grid;box-shadow:0 12px 30px #0000002e}.login-brand__name{letter-spacing:-.015em;font-size:1rem;font-weight:750;display:block}.login-brand__label{color:#ffffff9e;letter-spacing:.12em;text-transform:uppercase;margin-top:2px;font-size:.72rem;font-weight:650;display:block}.login-story__content{max-width:610px;margin:clamp(70px,12vh,140px) 0}.login-eyebrow{color:#d7e2ff;letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:9px;margin-bottom:22px;font-size:.78rem;font-weight:750;display:inline-flex}.login-eyebrow:before{content:"";background:var(--login-gold);border-radius:2px;width:26px;height:2px}.login-story h1{letter-spacing:-.052em;max-width:600px;margin:0;font-size:clamp(2.6rem,5vw,4.65rem);font-weight:740;line-height:1.02}.login-story h1 span{color:#9eb7ff}.login-story__lead{color:#ebf1ffb8;max-width:520px;margin:27px 0 0;font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.72}.login-trust{color:#ffffffad;gap:30px;font-size:.78rem;display:flex}.login-trust span{align-items:center;gap:8px;display:inline-flex}.login-trust i{background:var(--login-gold);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #e4bd631f}.login-access{background-color:#fff;background-image:linear-gradient(#2457d606 1px,#0000 1px),linear-gradient(90deg,#2457d606 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:center;padding:clamp(32px,6vw,84px);display:grid;position:relative}.login-access__inner{width:100%;max-width:440px}.login-access__header{margin-bottom:34px}.login-access__header h2{color:#14213d;letter-spacing:-.04em;margin:0;font-size:clamp(2rem,3vw,2.55rem);line-height:1.16}.login-access__header p{color:#697892;margin:12px 0 0;font-size:.98rem;line-height:1.65}.login-form{flex-direction:column;gap:21px;display:flex}.login-form__label{color:#283853;margin-bottom:8px;font-size:.84rem;font-weight:700;display:block}.login-form__footer{color:#8a96aa;justify-content:center;margin-top:28px;font-size:.78rem;display:flex}.login-form__footer span{align-items:center;gap:7px;display:inline-flex}@media (width<=900px){.login-page{grid-template-columns:1fr}.login-story{min-height:auto;padding:34px clamp(24px,7vw,64px) 44px}.login-story__content{margin:64px 0 48px}.login-story h1{max-width:680px;font-size:clamp(2.5rem,8vw,4rem)}.login-access{min-height:650px;padding:64px 24px}}@media (width<=520px){.login-story{padding:26px 22px 36px}.login-story__content{margin:52px 0 38px}.login-story__lead{margin-top:20px}.login-trust{flex-direction:column;gap:12px}.login-access{min-height:610px;padding:50px 22px}}@media (prefers-reduced-motion:reduce){.login-page *,.login-page :before,.login-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important}}body{background:#f5f7fb}.page-shell{width:min(1440px,100% - 64px);margin:0 auto;padding:30px 0 64px;position:relative}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.page-header h1{color:#14213d;letter-spacing:-.04em;margin:0;font-size:clamp(1.85rem,3vw,2.5rem);font-weight:760;line-height:1.15}.page-header p{color:#6b7890;margin:8px 0 0;font-size:.95rem}.page-header .MuiButton-root{min-height:44px;padding-inline:20px}.page-notices{gap:10px;margin-bottom:18px;display:grid}.filter-card{background:#fff;border:1px solid #e2e8f2;border-radius:16px;margin-bottom:24px;padding:22px;box-shadow:0 8px 30px #1b2d4e0e}.filter-card__header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.filter-card__title{color:#263653;align-items:center;gap:10px;margin:0;font-size:.92rem;font-weight:750;display:flex}.filter-card__title svg{color:#2457d6}.filter-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px;display:grid}.filter-grid--two{grid-template-columns:repeat(2,minmax(220px,1fr));margin-top:16px}.filter-grid--enrollment{grid-template-columns:minmax(250px,1.1fr) minmax(420px,1.9fr);align-items:center}.filter-search{min-height:54px;box-shadow:none;background:#f9fbfe;border:1px solid #dce4f0;border-radius:12px;align-items:center;padding:0 16px;display:flex}.filter-search svg{color:#77849a}.data-card{background:#fff;border:1px solid #e2e8f2;border-radius:16px;overflow:hidden;box-shadow:0 10px 34px #1b2d4e0f}.data-card .MuiPaper-root{box-shadow:none;border-radius:0}.data-card .MuiTableCell-head{color:#40506b;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;background:#f7f9fc;border-bottom:1px solid #dfe6f0;padding-block:15px;font-size:.75rem;font-weight:750}.data-card .MuiTableCell-body{color:#34425b;border-color:#edf1f6;padding-block:15px}.data-card .table-id-column{color:#748197;width:72px}.data-card .table-actions-column{text-align:right;white-space:nowrap;width:1%;min-width:116px}.table-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.table-actions .MuiButton-root{border-radius:10px;width:38px;min-width:38px;height:38px;padding:0}.table-actions .MuiButton-startIcon,.table-actions .MuiButton-endIcon{margin:0}.table-actions .MuiSvgIcon-root{font-size:1.18rem}.status-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:7px;width:fit-content;padding:6px 10px;font-size:.76rem;font-weight:700;line-height:1;display:inline-flex}.status-badge .MuiSvgIcon-root{font-size:.98rem}.status-badge--active{color:#157347;background:#eaf8f0;border-color:#bce7cf}.status-badge--completed{color:#2354a5;background:#edf3ff;border-color:#c9d9fb}.status-badge--cancelled{color:#b13a3a;background:#fff0f0;border-color:#f3c8c8}.status-badge--unavailable{color:#68758a;background:#f3f5f8;border-color:#dce2e9}.data-card .MuiTableRow-root:hover .MuiTableCell-body{background:#f8faff}.pagination-bar{border-top:1px solid #edf1f6;justify-content:flex-end;padding:18px 20px;display:flex}.page-loading{z-index:20;border-radius:inherit;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#f5f7fbad;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.page-loading--fullscreen{border-radius:0;min-height:calc(100vh - 68px);position:fixed;inset:68px 0 0}.page-loading__content{color:#2457d6;background:#fff;border:1px solid #e1e7f0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;width:64px;height:64px;display:flex;box-shadow:0 16px 42px #1b2d4e26}.empty-state{color:#6c7990;text-align:center;background:#fff;border:1px dashed #cbd5e4;border-radius:16px;place-items:center;min-height:180px;padding:30px;display:grid}@media (width<=900px){.page-shell{width:min(100% - 36px,1440px);padding-top:30px}.filter-grid,.filter-grid--two,.filter-grid--enrollment{grid-template-columns:1fr}}@media (width<=600px){.page-shell{width:min(100% - 24px,1440px);padding:24px 0 42px}.page-header{flex-direction:column;align-items:flex-start}.filter-card{padding:16px}}
