:root{--bg:#f6f7f9;--ink:#20242a;--muted:#67707d;--line:#dde2e8;--panel:#fff;--primary:#146c5f;--primary-dark:#0d4b43;--accent:#c84f31;--soft:#edf4f2}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a,button{font:inherit}button{min-height:40px;border:0;border-radius:6px;padding:0 14px;background:var(--primary);color:#fff;cursor:pointer}.loginShell{display:grid;min-height:100vh;place-items:center;padding:18px;background:radial-gradient(circle at 10% 10%,rgba(255,45,160,.12),transparent 24%),radial-gradient(circle at 90% 8%,rgba(35,209,255,.14),transparent 24%),#f5f7f9}.loginPanel{width:min(860px,calc(100vw - 28px));max-height:calc(100vh - 28px);border:1px solid rgba(221,226,232,.92);border-radius:8px;background:#fff;box-shadow:0 22px 58px rgba(15,23,42,.14);overflow:hidden}.loginPanelPro{display:grid;grid-template-columns:330px minmax(0,1fr)}.loginBrandPane{display:grid;align-content:center;grid-gap:22px;gap:22px;min-height:470px;background:#08090b;color:#fff;padding:28px}.loginLogo{width:min(245px,100%);height:auto;border-radius:8px;object-fit:contain}.loginBrandCopy{display:grid;grid-gap:10px;gap:10px}.loginBrandCopy span{width:-moz-fit-content;width:fit-content;border:1px solid hsla(0,0%,100%,.24);border-radius:999px;color:#cbf7ff;font-size:11px;font-weight:800;letter-spacing:0;padding:6px 10px;text-transform:uppercase}.loginBrandCopy h1{margin:0;max-width:270px;color:#fff;font-size:clamp(25px,3vw,34px);line-height:1.08}.loginBrandCopy p{display:none}.loginAccessPane{display:grid;align-content:center;justify-items:stretch;padding:clamp(24px,3.4vw,38px)}.loginAccessHeader{display:grid;grid-gap:6px;gap:6px;max-width:420px;margin-bottom:18px}.loginAccessHeader h2{margin:0;color:var(--ink);font-size:clamp(30px,3.2vw,38px);line-height:1.04}.loginAccessHeader span{color:var(--muted);font-size:15px}.loginForm{display:grid!important;grid-template-columns:1fr!important;grid-gap:13px;gap:13px;width:100%;max-width:420px;margin-top:0}.loginForm label{font-size:13px}.loginForm input{width:100%;min-height:46px;border-radius:8px;font-size:15px;padding:10px 13px}.passwordInputWrap{position:relative;display:block}.loginForm .passwordInputWrap input{width:100%;padding-right:48px}.passwordToggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);display:grid;width:34px;height:34px;min-height:34px!important;place-items:center;border:0;border-radius:7px;background:transparent;color:var(--muted);padding:0!important}.passwordToggle:hover,.passwordToggle[aria-pressed=true]{background:var(--soft);color:var(--primary-dark)}.passwordToggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.loginFeedback{border-radius:8px;font-size:13px;font-weight:700;line-height:1.35;margin:-2px 0 0;padding:10px 12px}.loginFeedback.success{border:1px solid rgba(21,122,102,.22);background:#eef8f5;color:var(--primary-dark)}.loginFeedback.error{border:1px solid rgba(200,77,48,.28);background:#fff4f0;color:#9a3412}.loginForm button[type=submit]{min-height:48px;border-radius:8px;font-size:15px;font-weight:800}.loginOptions{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:28px;padding:0 0 3px}.loginRemember{display:inline-flex!important;align-items:center;gap:10px;flex:0 0 auto;width:max-content!important;max-width:100%;min-height:auto!important;border:0!important;border-radius:0!important;color:var(--muted)!important;font-size:13px!important;font-weight:700!important;line-height:1!important;padding:0!important;white-space:nowrap!important}.loginRemember input{flex:0 0 15px;width:15px!important;height:15px!important;min-height:15px!important;margin:0;accent-color:var(--primary)}.linkButton{flex:0 0 auto;min-height:auto;border:0;background:transparent;padding:0;font-weight:800;line-height:1;white-space:nowrap}.linkButton,.loginSecurityNote{color:var(--primary-dark);font-size:13px}.loginSecurityNote{max-width:420px;border:1px solid rgba(20,108,95,.14);border-radius:8px;background:#eef8f5;line-height:1.35;margin:16px 0 0;padding:10px 12px}@media (max-width:820px){.loginShell{align-items:start;padding:12px}.loginPanel{width:100%;max-height:none}.loginPanelPro{grid-template-columns:1fr}.loginBrandPane{grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:auto;padding:18px}.loginLogo{width:138px}.loginBrandCopy{gap:6px}.loginBrandCopy h1{max-width:none;font-size:21px}.loginAccessPane{padding:22px 18px 20px}.loginAccessHeader h2{font-size:32px}.loginOptions{align-items:flex-start;flex-direction:column;gap:10px}}.attendancePanel{display:grid;grid-gap:16px;gap:16px}.attendanceSummary{display:grid;grid-gap:7px;gap:7px;border:1px solid var(--line);border-radius:6px;background:#f6faf9;padding:14px}.attendanceSummary small,.attendanceSummary span{color:var(--muted)}.attendanceActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.attendanceActions button{min-height:56px;font-weight:700}button.secondary{background:var(--accent)}button.ghost{border:1px solid var(--line);background:#fff;color:var(--ink)}.billingGenerator input,.billingGenerator select,.billingStudentSelector input,.billingStudentSelector select,.chatComposer input,.focusedBillingForm input,.focusedBillingForm select,.modal input,.modal select,.modal textarea,.panel input,.panel select,.panel textarea,.teacherAttendanceFilters input,.teacherAttendanceFilters select{border:1px solid #d6dee7;background:linear-gradient(180deg,#fff,#fbfcfd);color:var(--ink);box-shadow:0 1px 2px rgba(15,23,42,.04),inset 0 1px 0 hsla(0,0%,100%,.9);transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.billingGenerator input:hover,.billingGenerator select:hover,.billingStudentSelector input:hover,.billingStudentSelector select:hover,.chatComposer input:hover,.focusedBillingForm input:hover,.focusedBillingForm select:hover,.modal input:hover,.modal select:hover,.modal textarea:hover,.panel input:hover,.panel select:hover,.panel textarea:hover,.teacherAttendanceFilters input:hover,.teacherAttendanceFilters select:hover{border-color:#b8c5d2}.billingGenerator input:focus,.billingGenerator select:focus,.billingStudentSelector input:focus,.billingStudentSelector select:focus,.chatComposer input:focus,.focusedBillingForm input:focus,.focusedBillingForm select:focus,.modal input:focus,.modal select:focus,.modal textarea:focus,.panel input:focus,.panel select:focus,.panel textarea:focus,.teacherAttendanceFilters input:focus,.teacherAttendanceFilters select:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px rgba(20,108,95,.13),0 8px 20px rgba(15,23,42,.07);outline:0}.modal input::placeholder,.modal textarea::placeholder,.panel input::placeholder,.panel textarea::placeholder{color:#9aa4b2}.filterBar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;border:1px solid rgba(221,226,232,.92);border-radius:8px;background:linear-gradient(180deg,#fff,#f8fbfa);box-shadow:0 12px 30px rgba(15,23,42,.04);padding:12px}.filterBar label{display:grid;flex:1 1 260px;grid-gap:6px;gap:6px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.filterBar input,.filterBar select{width:100%;min-height:42px;border-radius:7px;padding:0 12px;font:inherit;text-transform:none}.filterBar button{min-height:42px}.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s ease}.shell.navCollapsed{grid-template-columns:0 minmax(0,1fr)}.shell.navCollapsed .sidebar{overflow:hidden;padding-left:0;padding-right:0;transform:translateX(-100%)}.sidebar{position:-webkit-sticky;position:sticky;top:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100vh;border-right:1px solid var(--line);background:#fff;padding:18px;z-index:30}.sidebarHeader{border-bottom:1px solid var(--line);padding-bottom:16px}.brand{display:flex;gap:12px;align-items:center;margin-bottom:0}.brandMark{display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:700}.brandLogoMini,.brandMark{width:42px;height:42px;border-radius:8px}.brandLogoMini{object-fit:contain;background:#08090b}.brand small,.brand strong{display:block}.brandPreviewBox{grid-column:1/-1;display:flex;align-items:center;gap:16px;padding:16px;border:1px solid var(--border);border-radius:8px;background:#f8fbfa}.brandPreviewBox .loginLogo{width:160px;max-height:90px;background:#08090b;padding:8px}.brandPreviewBox small,.brandPreviewBox span,.brandPreviewBox strong{display:block}.brand small,.eyebrow,.reservation small,.reservation span,.student span{color:var(--muted)}.sidebarNav,nav{display:grid;grid-gap:6px;gap:6px}.sidebarNav{align-content:start;margin:12px -6px;overflow-y:auto;overscroll-behavior:contain;padding:4px 6px 12px;scrollbar-gutter:stable}.sidebarNav::-webkit-scrollbar{width:8px}.sidebarNav::-webkit-scrollbar-thumb{border-radius:999px;background:#cbd5df}.sidebarFooter{display:grid;grid-gap:10px;gap:10px;border-top:1px solid var(--line);padding-top:12px}nav button{border:0;font-size:15px;justify-content:flex-start}.sidebarUser{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;min-height:52px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:8px;text-align:left}.sidebarUser span:last-child{display:grid;min-width:0}.sidebarUser small,.sidebarUser strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebarUser small{color:var(--muted);font-size:12px}.sidebarLogout{min-height:38px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:14px}.content{padding:22px 28px 28px}.panelHeader,.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;margin:-22px -28px 16px;border-bottom:1px solid var(--line);background:rgba(248,250,252,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 28px}.hamburgerButton{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:19px;padding:0;box-shadow:0 8px 22px rgba(15,23,42,.06)}.topbarTitle{display:grid;grid-gap:3px;gap:3px;min-width:0;margin-right:auto}.titleMeta{display:flex;flex-wrap:nowrap;gap:8px;min-width:0}.titleMeta span{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:9px;font-weight:700;padding:2px 7px;text-transform:uppercase}.statusNotice,.titleMeta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statusNotice{display:inline-flex;width:-moz-fit-content;width:fit-content;max-width:min(460px,100%);border:1px solid rgba(21,122,102,.18);border-radius:999px;background:#eef7f4;color:var(--primary-dark);font-size:11px;margin:0;padding:3px 8px}.statusNotice.loading{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.topActions{align-items:center;flex-wrap:nowrap;justify-content:flex-end}.actionMenu,.userMenu{position:relative}.userMenuButton{display:flex;align-items:center;gap:8px;min-height:38px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);padding:6px 10px 6px 6px}.userAvatar{display:grid;width:30px;height:30px;place-items:center;border-radius:999px;background:var(--primary);color:#fff;font-size:13px;font-weight:700}.userSummary{display:grid;min-width:120px;text-align:left}.userSummary small,.userSummary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userSummary small{color:var(--muted);font-size:12px}.userDropdown{position:absolute;right:0;top:calc(100% + 8px);display:none;min-width:190px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 16px 38px rgba(15,23,42,.16);padding:6px;z-index:80}.userMenu.open .userDropdown{display:grid}.floatingActionMenu button,.userDropdown button{width:100%;border:0;border-radius:5px;background:transparent;color:var(--ink);justify-content:flex-start;padding:10px;text-align:left}.floatingActionMenu button:hover,.userDropdown button:hover{background:var(--soft);color:var(--primary-dark)}.floatingActionMenu{position:fixed;display:grid;min-width:210px;max-width:min(260px,calc(100vw - 24px));border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 18px 42px rgba(15,23,42,.18);padding:6px;transform:translateX(-100%);z-index:120}.eyebrow{font-size:12px;font-weight:700;margin:0 0 6px;text-transform:uppercase}.eyebrow,h1,h2{letter-spacing:0}h1,h2{margin:0}h1{font-size:32px}.topbarTitle h1{max-width:min(520px,42vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(22px,2vw,30px);line-height:1.05}h2{font-size:18px}.actions{display:flex;flex-wrap:wrap;gap:10px}.topActions>button{min-height:38px;padding:0 12px;white-space:nowrap}.profileChip{display:grid;min-width:210px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:9px 12px}.profileChip small,.profileChip span{color:var(--muted);font-size:12px}.profileGrid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));grid-gap:12px;gap:12px;margin-top:16px}.profileCard{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--line);border-radius:6px;padding:14px}.profileCard small,.profileCard span{color:var(--muted)}.profileModule{display:grid;grid-gap:16px;gap:16px}.attendanceConfigBand,.linkShareBox,.profileDetails,.profileHero{border:1px solid var(--line);border-radius:8px;background:#fff}.profileHero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px;padding:18px}.profileHero span{color:var(--muted)}.profileAvatar{display:grid;place-items:center;width:62px;height:62px;border-radius:8px;background:var(--primary);color:#fff;font-size:22px;font-weight:800}.profileDetails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;padding:18px}.permissionList{display:grid;grid-gap:8px;gap:8px}.permissionList span{border:1px solid var(--line);border-radius:6px;color:var(--muted);padding:10px 12px}.studentPackagesModule{display:grid;grid-gap:18px;gap:18px;max-width:1180px}.studentPackagesHero{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid rgba(21,122,102,.24);border-radius:10px;background:#f4fbf8;padding:20px}.studentPackagesHero span{color:var(--muted)}.studentPackagesGrid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));grid-gap:14px;gap:14px}.studentPackageCard{display:grid;grid-gap:14px;gap:14px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.04);padding:16px;cursor:pointer;text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.studentPackageCard:focus-visible,.studentPackageCard:hover{border-color:rgba(21,122,102,.5);box-shadow:0 18px 34px rgba(15,23,42,.08);outline:none;transform:translateY(-1px)}.packageBalanceLine,.studentPackageHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.studentPackageHeader span,.studentPackageHeader strong{display:block}.packageBalanceLine span,.studentPackageHeader span,.studentPackageMeta strong{color:var(--muted)}.packageBalanceLine strong{color:var(--primary-dark);font-size:30px}.progressTrack{height:10px;overflow:hidden;border-radius:999px;background:var(--soft)}.progressTrack span{display:block;height:100%;border-radius:inherit;background:var(--primary)}.studentPackageMeta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.studentPackageMeta span{display:grid;grid-gap:3px;gap:3px;border:1px solid var(--line);border-radius:6px;padding:9px 10px}@media (max-width:980px){.studentPackagesGrid{grid-template-columns:1fr}}@media (max-width:620px){.packageBalanceLine,.studentPackageHeader,.studentPackagesHero{align-items:stretch;flex-direction:column}.studentPackageMeta{grid-template-columns:1fr}}.studentAccountProfile{max-width:960px}.accountHero{box-shadow:0 12px 30px rgba(15,23,42,.05)}.studentAccountGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.profileSecurityActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}@media (max-width:760px){.studentAccountGrid{grid-template-columns:1fr}}.studentDashboard{display:grid;grid-gap:18px;gap:18px;max-width:1180px}.studentDashboardHero{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid rgba(21,122,102,.24);border-radius:10px;background:#f4fbf8;padding:20px}.studentDashboardHero span{color:var(--muted)}.studentDashboardGrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);grid-gap:14px;gap:14px}@media (max-width:980px){.studentDashboardGrid{grid-template-columns:1fr}}@media (max-width:620px){.studentDashboardHero{align-items:stretch;flex-direction:column}}.studentProfileModule{display:grid;grid-gap:18px;gap:18px;max-width:1180px}.studentMainPanel,.studentModulesPanel,.studentProfileHero,.studentSidePanel{border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.04)}.studentProfileHero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:16px;gap:16px;padding:18px}.studentProfileHero span{color:var(--muted)}.profileHeroActions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.profileHeroActions .ghost{min-height:42px}.studentProfileGrid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));grid-gap:12px;gap:12px}.studentSummaryCard{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--line);border-radius:8px;padding:16px}.studentSummaryCard,button.studentSummaryCard{background:#fff;color:var(--ink)}.studentSummaryCard.primarySummary{border-color:rgba(21,122,102,.35);background:#f4fbf8}.studentInfoList strong,.studentModuleCard span,.studentSummaryCard small,.studentSummaryCard span{color:var(--muted)}.studentSummaryCard strong{color:var(--ink);font-size:30px}.studentSummaryCard.primarySummary strong{color:var(--primary-dark)}.studentProfileWorkArea{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);grid-gap:14px;gap:14px}.studentMainPanel,.studentModulesPanel,.studentSidePanel{padding:18px}.studentNextClass{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr) auto;align-items:center;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:8px;margin-top:14px;padding:14px}.studentNextClass small,.studentNextClass span,.studentNextClass strong{display:block}.studentNextClass small,.studentNextClass span{color:var(--muted)}.studentInfoList{display:grid;grid-gap:9px;gap:9px;margin-top:12px}.studentInfoList span{display:grid;grid-gap:3px;gap:3px;border:1px solid var(--line);border-radius:6px;padding:10px 12px}.studentModuleGrid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));grid-gap:12px;gap:12px;margin-top:14px}.studentModuleCard{display:grid;grid-gap:10px;gap:10px;align-content:start;border:1px solid var(--line);border-radius:8px;padding:14px}.studentModuleCard button{align-self:end}@media (max-width:980px){.studentModuleGrid,.studentProfileGrid,.studentProfileWorkArea{grid-template-columns:1fr}.studentNextClass{grid-template-columns:1fr auto}}@media (max-width:620px){.studentProfileHero{align-items:stretch}.studentNextClass,.studentProfileHero{grid-template-columns:1fr}}.cleanProfile{max-width:980px}.cleanProfileHero{border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.05)}.compactProfileGrid{grid-template-columns:repeat(3,minmax(160px,1fr))}.cleanProfileDetails{align-items:start}.cleanList span{display:grid;grid-gap:3px;gap:3px;color:var(--ink)}.cleanList strong{color:var(--muted);font-size:12px;text-transform:uppercase}.attendanceConfigBand{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:14px}.attendanceConfigBand small,.attendanceConfigBand span{color:var(--muted)}.attendanceConfigBand span,.attendanceConfigBand strong{display:block}.linkShareBox{display:grid;grid-gap:12px;gap:12px;padding:14px}.linkShareBox label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:13px;font-weight:700}.linkShareBox input,.linkShareBox textarea{width:100%;border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit;padding:10px}.statsGrid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.panel,.statCard{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.statCard{display:grid;align-content:start;grid-gap:8px;gap:8px;min-height:98px;padding:16px;color:var(--ink)}button.courseSummaryCard,button.statCard,button.studentSummaryCard,button.teacherNextClassCard{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;font:inherit;text-align:left}.interactiveCard{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.interactiveCard:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:0 10px 24px rgba(15,23,42,.08)}.interactiveCard:focus-visible{outline:3px solid rgba(20,122,103,.22);outline-offset:2px}.statCard span{display:block;color:var(--muted);font-size:13px;margin-bottom:0}.statCard strong{display:block;color:var(--ink);font-size:28px;line-height:1.1}.workArea{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);grid-gap:18px;gap:18px}.teacherDashboardGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:16px;gap:16px}.teacherNextClassCard{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;padding:18px}.teacherNextClassCard h2{margin:0}.teacherNextClassCard span{display:block;color:var(--muted);margin-top:6px}.teacherNextClassCard>strong{color:var(--primary);font-size:18px;text-align:right}.teacherNextClassCard .rowActions{grid-column:1/-1;justify-content:flex-start}.panel{padding:18px}.reservationList,.studentList{display:grid;grid-gap:10px;gap:10px;margin-top:16px}.reservation,.student{display:grid;align-items:center;grid-gap:12px;gap:12px;min-height:72px;border:1px solid var(--line);border-radius:6px;padding:12px}.reservation{grid-template-columns:minmax(0,1fr) minmax(180px,.8fr) auto}.student{grid-template-columns:minmax(0,1fr) auto}.reservation small,.reservation span,.reservation strong,.student span,.student strong{display:block}.status{border-radius:999px;background:var(--soft);color:var(--primary-dark);font-size:12px;font-weight:700;padding:7px 9px}.statusATTENDED{background:#e7f5ed;color:#17613f}.statusCANCELED,.statusNO_SHOW{background:#f9ece8;color:#9d3920}.statusRESCHEDULED{background:#eef1f8;color:#42526f}.agendaModule{display:grid;grid-gap:16px;gap:16px}.agendaHeader{margin-bottom:0}.agendaTabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding-bottom:10px}.agendaTabs button{min-height:38px;border:1px solid var(--line);background:#fff;color:var(--ink)}.agendaTabs button.active{border-color:var(--primary);background:var(--primary);color:#fff}.agendaCalendarLayout{display:grid;grid-template-columns:minmax(620px,1fr) minmax(280px,360px);grid-gap:18px;gap:18px;align-items:start}.agendaSidePanel,.calendarPanel{border:1px solid var(--line);border-radius:8px;background:#fff;padding:16px}.calendarToolbar{display:grid;grid-template-columns:38px minmax(0,1fr) auto 38px;grid-gap:10px;gap:10px;align-items:center;margin-bottom:14px}.calendarToolbar strong{text-align:center;font-size:18px}.calendarMonthCount{border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;padding:6px 10px;white-space:nowrap}.calendarToolbar button{min-width:38px;min-height:38px;padding:0;font-size:22px}.calendarGrid,.calendarWeekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.calendarWeekdays span{color:var(--muted);font-size:12px;font-weight:800;text-align:center;text-transform:uppercase}.calendarDay{min-height:74px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:8px;overflow:hidden;color:var(--ink);font:inherit;text-align:left}.calendarDay.empty{border-color:#edf1f5;border-style:dashed;background:#fbfcfd}.calendarDay.hasClass{background:#f7fbfa}.calendarDay.hasReservation{border-color:rgba(20,108,95,.38);box-shadow:inset 0 3px 0 var(--primary)}.calendarDay.hasStudentClass{border-color:rgba(20,108,95,.24)}.calendarDay.hasStudentClass:not(.hasReservation){background:#fbfdfc}.calendarDay .lockedClassBadge{opacity:.86}.calendarDay .reservableClassBadge{box-shadow:0 2px 8px rgba(20,108,95,.16)}.agendaCourseGroup.locked{background:#f8fafc;color:var(--muted)}.calendarDay.selected{border-color:var(--primary);box-shadow:0 0 0 3px rgba(20,122,103,.14),inset 0 3px 0 var(--primary)}button.calendarDay{cursor:pointer}button.calendarDay:hover{border-color:var(--primary);transform:translateY(-1px)}.calendarDay em,.calendarDay small,.calendarDay span,.calendarDay strong{display:block}.calendarDay strong{color:var(--ink);font-size:14px;font-weight:800;margin-bottom:5px}.calendarDay.empty strong{color:#aab4c0}.calendarDay small{display:inline-block;width:-moz-fit-content;width:fit-content;max-width:100%;border-radius:999px;background:rgba(20,122,103,.1);color:var(--primary-dark);font-size:10px;font-weight:800;line-height:1;margin-bottom:5px;padding:4px 6px;text-transform:uppercase}.calendarDay .courseColorBadge{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendarDay .calendarReservationPill{border-left:4px solid var(--primary);border-radius:4px;background:#f8fafc;margin-top:3px;padding:2px 5px}.calendarDay span{color:var(--ink);font-size:11px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendarDay em{color:var(--primary-dark);font-size:11px;font-style:normal;font-weight:800;margin-top:3px}.agendaMiniCard{border-left:4px solid transparent}.agendaSidePanel h3{margin:4px 0 14px}.agendaMiniCard{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--line);border-radius:6px;margin-bottom:10px;padding:12px}.agendaMiniCard:first-of-type{border-top:1px solid var(--line)}.agendaMiniCard strong{color:var(--ink)}.agendaMiniCard small,.agendaMiniCard span,.mutedText{color:var(--muted)}.agendaCourseGroup li{background:#fbfcfd;border:1px solid var(--line);border-radius:6px;padding:8px}.agendaTableWrap{overflow:visible}.agendaTable td{vertical-align:middle}.agendaMetricsGrid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));grid-gap:12px;gap:12px}.agendaMetric{background:#fff}.teacherAttendanceModule{display:grid;grid-gap:16px;gap:16px}.teacherAttendanceFilters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.7fr) minmax(160px,.7fr) auto;grid-gap:12px;gap:12px;align-items:end}.teacherAttendanceFilters label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:13px;font-weight:700}.teacherAttendanceFilters input,.teacherAttendanceFilters select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;color:var(--ink);font:inherit}.compactMetrics{grid-template-columns:repeat(4,minmax(140px,1fr))}.studentCourseFilters{grid-template-columns:minmax(220px,360px) minmax(220px,360px) auto;justify-content:start}.courseSummaryGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px}.courseSummaryCard{min-height:96px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:14px;text-align:left;color:var(--ink);font:inherit;cursor:pointer}.courseSummaryCard small,.courseSummaryCard span,.courseSummaryCard strong{display:block}.courseSummaryCard small,.courseSummaryCard span{margin-top:5px;color:var(--muted)}.courseSummaryCard.active{border-color:var(--primary);box-shadow:0 0 0 2px rgba(20,122,103,.14)}.teacherStudentsTable{min-width:860px}.teacherAttendanceTable td{vertical-align:middle}.superAdminDashboard{display:grid;grid-gap:18px;gap:18px}.monthFilter{display:grid;grid-gap:6px;gap:6px;min-width:190px;color:var(--muted);font-size:13px;font-weight:700}.monthFilter input{min-height:42px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;color:var(--ink);font:inherit}.billingPanel{background:#fff}.billingPreview{display:grid;grid-gap:6px;gap:6px;grid-column:1/-1;border:1px solid var(--line);border-radius:6px;background:#f6faf9;padding:12px}.billingPreview strong{color:var(--ink)}.billingPreview span{color:var(--muted)}.hours{min-width:72px;text-align:right}.hours strong{color:var(--primary-dark);font-size:24px}@media (max-width:980px){.teacherAttendanceFilters{grid-template-columns:1fr 1fr}.compactMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.agendaCalendarLayout{grid-template-columns:minmax(0,1fr)}.agendaMetricsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:min(86vw,310px);height:100vh;height:100dvh;border-right:1px solid var(--line);box-shadow:0 20px 50px rgba(15,23,42,.18);transform:translateX(-105%);transition:transform .18s ease;z-index:140}.shell.navOpen .sidebar{transform:translateX(0)}.shell.navOpen .topbar{z-index:40}.shell.navCollapsed{grid-template-columns:1fr}.shell.navCollapsed .sidebar{padding:18px}.topbar{align-items:flex-start;margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}nav button{text-align:left}.statsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacherGrid,.workArea{grid-template-columns:1fr}}@media (max-width:620px){.content{padding:18px}.topActions,.userMenu,.userMenuButton{width:100%}.userSummary{min-width:0}.sidebar{padding:18px;z-index:140}.panelHeader,.topbar{align-items:stretch;flex-direction:column}.actions,.profileChip{width:100%}.actions button{flex:1 1 160px}h1{font-size:26px}.sidebarNav,nav{grid-template-columns:1fr}nav button{min-height:40px;padding:8px}.reservation,.statsGrid{grid-template-columns:1fr}}.notice{color:var(--muted);margin:8px 0 0}button:disabled{opacity:.6}.rowActions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}button.mini{min-height:32px;padding:0 10px;font-size:13px}.secondaryGrid,.teacherGrid{margin-top:18px}.teacherGrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-gap:16px;gap:16px}.compactList{gap:8px}.sectionLabel{margin-top:18px;color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase}.assignmentSummary{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.assignmentSummary div{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--line);border-radius:6px;background:#f6faf9;padding:14px}.assignmentSummary span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.assignmentSummary small{color:var(--muted)}.packageGrid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));grid-gap:10px;gap:10px;margin-top:16px}.packageItem{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--line);border-radius:6px;min-height:92px;padding:12px}.packageItem small,.packageItem span,.student small{color:var(--muted)}.packagePlansOverview .panelHeader{align-items:center}.packageSummaryGrid{grid-template-columns:repeat(3,minmax(260px,1fr))}.packageSummaryItem{gap:10px;min-height:210px}.packageSummaryHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.packageSummaryHeader>div{display:grid;grid-gap:4px;gap:4px}.packageSummaryStats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.packageSummaryStats span{display:grid;grid-gap:2px;gap:2px;min-height:58px;border:1px solid var(--line);border-radius:6px;padding:8px;color:var(--muted);background:var(--soft)}.packageSummaryStats strong{color:var(--ink);font-size:22px;line-height:1}.studentAdminTable td{vertical-align:top}.studentAdminTable td small,.studentAdminTable td span{display:block;color:var(--muted);margin-top:3px}.studentDetailModal{display:grid;grid-gap:16px;gap:16px}.studentDetailModal .profileDetails{margin-top:0}.studentDetailInfoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px}.studentDetailInfoGrid span{display:grid;grid-gap:5px;gap:5px;min-width:0;border:1px solid #edf0f4;border-radius:6px;background:#fbfcfd;padding:10px 12px}.studentDetailInfoGrid span.wide{grid-column:1/-1}.studentDetailInfoGrid strong{color:var(--muted);font-size:12px;text-transform:uppercase}.studentDetailInfoGrid em{color:var(--ink);font-style:normal;line-height:1.35;overflow-wrap:anywhere}@media (max-width:720px){.studentDetailInfoGrid{grid-template-columns:1fr}}.modalBackdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:rgba(20,28,36,.42);padding:18px}.modal{width:min(680px,100%);max-height:min(760px,92vh);overflow:auto;border-radius:8px;background:#fff;padding:20px;box-shadow:0 24px 80px rgba(11,18,32,.24)}.modalHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.iconButton{display:grid;place-items:center;width:36px;min-height:36px;padding:0;border:1px solid var(--line);background:#fff;color:var(--ink)}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.formGrid label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:13px;font-weight:700}.formGrid input,.formGrid select,.formGrid textarea{width:100%;min-height:42px;border:1px solid var(--line);border-radius:6px;padding:9px 10px;color:var(--ink);font:inherit}.formGrid button,.formGrid textarea{grid-column:1/-1}.weeklyClassPreview{display:grid;grid-gap:8px;gap:8px;margin-top:2px}.weeklyClassPreview span{display:grid;grid-gap:2px;gap:2px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:9px 10px}.weeklyClassPreview span.available{border-color:rgba(20,108,95,.28);background:#eef8f5;box-shadow:inset 4px 0 0 var(--primary)}.weeklyClassPreview span.locked{background:#f8fafc;color:var(--muted);box-shadow:inset 4px 0 0 #cbd5df}.weeklyClassPreview strong{color:var(--ink);font-size:13px}.weeklyClassPreview em{color:var(--muted);font-size:12px;font-style:normal}.weeklyClassPreview .available em{color:var(--primary-dark);font-weight:800}@media (max-width:980px){.packageGrid,.packageSummaryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.assignmentSummary,.attendanceActions,.formGrid,.packageGrid,.packageSummaryStats,.profileDetails,.profileGrid,.profileHero{grid-template-columns:1fr}.attendanceConfigBand{align-items:stretch;flex-direction:column}.rowActions{justify-content:flex-start}}nav button{width:100%;min-height:46px;border-radius:6px;background:transparent;color:var(--ink);padding:12px;text-align:left}nav button.active,nav button:hover{background:var(--soft);color:var(--primary-dark)}.roleSwitcher{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.roleSwitcher select{min-height:40px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:inherit;padding:0 10px;text-transform:none}.emptyState{margin:0;border:1px dashed var(--line);border-radius:6px;color:var(--muted);padding:16px}.formHint{grid-column:1/-1;margin:0;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--primary-dark);padding:10px 12px}.adminGrid{display:grid;grid-gap:18px;gap:18px}.adminPanel{min-width:0}.adminHeader,.adminTableHeader{align-items:flex-start}.tabBar{display:flex;gap:8px;margin-top:18px;overflow-x:auto;padding-bottom:2px}.tabBar button{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:150px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:10px 12px}.tabBar button.active{border-color:rgba(21,122,102,.45);background:var(--soft);color:var(--primary-dark)}.tabBar button strong{display:grid;min-width:28px;height:28px;place-items:center;border-radius:999px;background:#fff;color:var(--primary-dark);font-size:13px}.adminTableHeader{margin-bottom:14px}.adminCrudTable{min-width:860px}.kebabButton{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:700;padding:0}.kebabButton:hover,.statusPill{background:var(--soft);color:var(--primary-dark)}.statusPill{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;font-size:12px;font-weight:700;padding:5px 9px}button:disabled{cursor:not-allowed;opacity:.55}.managementGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:10px;gap:10px;margin-top:16px}.managementBlock{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:78px;border:1px solid var(--line);border-radius:6px;padding:12px}.managementBlock.primaryAction{border-color:rgba(21,122,102,.35);background:#f4fbf8}.managementBlock span,.managementBlock strong{display:block}.managementBlock span{color:var(--muted);margin-top:5px}.catalogColumns{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));grid-gap:12px;gap:12px;margin-top:16px}.catalogColumns div{border:1px solid var(--line);border-radius:6px;padding:12px}.catalogColumns span,.catalogColumns strong{display:block}.catalogColumns span{color:var(--muted);margin-top:5px}.tableGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:16px}.tableWrap{min-width:0;overflow-x:auto;border:1px solid var(--line);border-radius:6px;background:#fff}.tableWrap.wideTable{grid-column:1/-1}.dataTable{width:100%;min-width:560px;border-collapse:collapse;font-size:14px}.dataTable caption{padding:12px 14px;color:var(--ink);font-weight:700;text-align:left}.dataTable td,.dataTable th{border-top:1px solid var(--line);padding:11px 14px;text-align:left;vertical-align:top}.dataTable th{background:var(--soft);color:var(--muted);font-size:12px;text-transform:uppercase}.dataTable td span{display:block;color:var(--muted);margin-top:4px}.formGrid select[multiple]{min-height:110px}@media (max-width:980px){.catalogColumns,.tableGrid{grid-template-columns:1fr}}@media (max-width:620px){.compactMetrics,.teacherAttendanceFilters{grid-template-columns:1fr}.calendarGrid,.calendarWeekdays{gap:5px}.calendarDay{min-height:64px;padding:6px}.calendarDay span{display:none}.calendarDay small{font-size:9px;padding:3px 5px}.agendaMetricsGrid,.managementGrid{grid-template-columns:1fr}.dataTable{min-width:640px}}.checkboxGroup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;grid-column:1/-1;border:1px solid var(--line);border-radius:6px;margin:0;padding:12px}.checkboxGroup legend{color:var(--muted);font-size:13px;font-weight:700;padding:0 6px}.checkLine,.checkboxGroup label{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:14px;font-weight:400}.checkLine{grid-column:1/-1;border:1px solid var(--line);border-radius:6px;padding:10px 12px}.checkLine input[type=checkbox],.checkboxGroup input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;min-width:18px;min-height:18px;margin:0;accent-color:var(--primary)}.courseScheduleGrid{display:grid;grid-gap:10px;gap:10px;grid-column:1/-1;border:1px solid var(--line);border-radius:6px;margin:0;padding:12px}.courseScheduleGrid legend{color:var(--muted);font-size:13px;font-weight:700;padding:0 6px}.daySchedule{display:grid;grid-template-columns:minmax(130px,1fr) minmax(100px,.7fr) minmax(100px,.7fr);grid-gap:8px;gap:8px;align-items:center}.daySchedule .checkLine{grid-column:auto;margin:0}@media (max-width:620px){.daySchedule{grid-template-columns:1fr}}.overrideOption.checkLine{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;border-color:rgba(20,108,95,.24);background:#f7fbfa;padding:12px}.overrideOption.checkLine input[type=checkbox]{margin-top:2px}.overrideOption span{display:grid;grid-gap:3px;gap:3px;min-width:0}.overrideOption strong{color:var(--ink);font-size:13px}.overrideOption small{color:var(--muted);font-size:12px;font-weight:600;line-height:1.35}.overrideOption:has(input:checked){border-color:rgba(20,108,95,.48);background:var(--soft);box-shadow:inset 4px 0 0 var(--primary)}.teacherPicker.courseScheduleGrid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));max-height:250px;overflow-y:auto;overscroll-behavior:contain;padding:12px;scrollbar-gutter:stable}.teacherPicker.courseScheduleGrid legend{grid-column:1/-1}.teacherPicker.courseScheduleGrid::-webkit-scrollbar{width:8px}.teacherPicker.courseScheduleGrid::-webkit-scrollbar-thumb{border-radius:999px;background:#cbd5df}.teacherPickerOption.checkLine{grid-column:auto;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:46px;border-color:#dce4ec;background:#fff;box-shadow:0 6px 16px rgba(15,23,42,.035);padding:9px 11px}.teacherPickerOption.checkLine:hover{border-color:rgba(20,108,95,.32);background:#f7fbfa}.teacherPickerOption input[type=checkbox]{width:18px;height:18px}.teacherPickerOption span{overflow:hidden;color:var(--ink);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.teacherPickerOption:has(input:checked){border-color:rgba(20,108,95,.48);background:var(--soft);box-shadow:inset 4px 0 0 var(--primary),0 8px 18px rgba(20,108,95,.08)}@media (max-width:620px){.teacherPicker.courseScheduleGrid{grid-template-columns:1fr;max-height:220px}}.classDeliveredPanel{border:1px solid var(--line);border-radius:8px;background:#fff;padding:16px}.classDeliveredGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px}.classDeliveredCard{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:6px;padding:12px}.classDeliveredCard small,.classDeliveredCard span,.classDeliveredCard strong{display:block}.classDeliveredCard small,.classDeliveredCard span{color:var(--muted);margin-top:4px}.classLinksList{display:grid;grid-gap:12px;gap:12px;max-height:420px;overflow:auto}.classLinksList article{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:6px;padding:12px}.chatLayout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);grid-gap:16px;gap:16px}.chatContacts,.chatMessages,.chatThread{min-width:0}.chatContacts{display:grid;align-content:start;grid-gap:8px;gap:8px}.chatContacts button{border:1px solid var(--line);background:#fff;color:var(--ink);padding:12px;text-align:left}.chatContacts button.active{border-color:var(--primary);background:var(--soft)}.chatContacts span,.chatContacts strong,.chatHeader span,.chatHeader strong,.chatMessages small,.chatMessages span,.chatMessages strong{display:block}.chatContacts span,.chatHeader span,.chatMessages small{color:var(--muted);margin-top:4px}.chatThread{display:grid;grid-template-rows:auto minmax(280px,1fr) auto;border:1px solid var(--line);border-radius:8px;background:#fff}.chatComposer,.chatHeader{padding:12px}.chatMessages{display:grid;align-content:start;grid-gap:10px;gap:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px;overflow:auto}.chatMessages article{max-width:74%;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;padding:10px}.chatMessages article.own{justify-self:end;border-color:rgba(20,122,103,.24);background:#f1faf7}.chatComposer{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px}.chatComposer input{min-height:42px;border:1px solid var(--line);border-radius:6px;padding:0 12px}@media (max-width:760px){.chatLayout{grid-template-columns:1fr}.chatMessages article{max-width:100%}}.managementReportPanel{display:grid;grid-gap:16px;gap:16px}.reportLegend{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.reportLegend span,.reportStatus{display:inline-flex;align-items:center;min-height:30px;border-radius:999px;font-size:13px;font-weight:800;padding:5px 10px;white-space:nowrap}.reportMetricCard{border-width:1px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.reportMetricCard:hover{transform:translateY(-2px)}.reportMetricCard.danger{border-color:#fecaca;background:linear-gradient(180deg,#fff7f7,#fef2f2)}.reportMetricCard.danger strong{color:#991b1b}.reportMetricCard.warning{border-color:#fde68a;background:linear-gradient(180deg,#fffdf2,#fffbeb)}.reportMetricCard.warning strong{color:#92400e}.reportMetricCard.success{border-color:#bbf7d0;background:linear-gradient(180deg,#f7fff9,#f0fdf4)}.reportMetricCard.success strong{color:#166534}.reportMetricCard.all{border-color:rgba(20,122,103,.24);background:#f6fbfa}.reportMetricCard.all strong{color:var(--primary-dark)}.reportMetricCard.active{box-shadow:0 0 0 3px rgba(20,122,103,.16)}.reportFilters{margin:0}.reportFilterSummary{margin:-4px 0 0;color:var(--muted);font-weight:700}.legendDanger,.reportStatus.danger{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}.legendWarning,.reportStatus.warning{border:1px solid #fde68a;background:#fffbeb;color:#92400e}.legendSuccess,.reportStatus.success{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534}.managementReportTable .reportRow.danger td:first-child{box-shadow:inset 4px 0 0 #dc2626}.managementReportTable .reportRow.warning td:first-child{box-shadow:inset 4px 0 0 #d97706}.managementReportTable .reportRow.success td:first-child{box-shadow:inset 4px 0 0 #16a34a}.managementReportTable td span,.managementReportTable td strong{display:block}.managementReportTable td span{color:var(--muted)}@media (max-width:760px){.reportLegend{align-items:stretch;flex-direction:column}.reportLegend span{justify-content:center}}.billingModule{display:grid;grid-gap:16px;gap:16px}.billingGenerator{display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(3,minmax(140px,.8fr)) minmax(180px,1fr) auto;grid-gap:12px;gap:12px;align-items:end;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff}.billingGenerator label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-weight:800}.billingGenerator input,.billingGenerator select{min-height:42px;border:1px solid var(--line);border-radius:6px;padding:0 12px;font:inherit;background:#fff}.billingTable td span,.billingTable td strong{display:block}.billingTable td span{color:var(--muted)}.reportStatus.info{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8}.reportStatus.muted{border:1px solid var(--line);background:#f8fafc;color:var(--muted)}.billingTable .reportRow.info td:first-child,.managementReportTable .reportRow.info td:first-child{box-shadow:inset 4px 0 0 #2563eb}.billingTable .reportRow.muted td:first-child,.managementReportTable .reportRow.muted td:first-child{box-shadow:inset 4px 0 0 #94a3b8}.dangerGhost{color:#991b1b}@media (max-width:1100px){.billingGenerator{grid-template-columns:repeat(2,minmax(0,1fr))}.billingGenerator button{grid-column:1/-1}}@media (max-width:680px){.billingGenerator{grid-template-columns:1fr}}.attendanceQrPanel{display:grid;justify-items:center;grid-gap:8px;gap:8px;width:-moz-fit-content;width:fit-content;max-width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.attendanceQrPanel img{width:180px;height:180px;object-fit:contain}.attendanceQrPanel span{color:var(--muted);font-weight:800;text-align:center}.attendanceQrPanel.compact{width:118px;padding:8px}.attendanceQrPanel.compact img{width:96px;height:96px}@media (max-width:680px){.attendanceQrPanel,.attendanceQrPanel.compact{width:100%}}.billingWorkbench{display:grid;grid-gap:14px;gap:14px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff}.billingStudentSelector{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr);grid-gap:14px;gap:14px;align-items:end}.billingStudentSelector label,.focusedBillingForm label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-weight:800}.billingStudentSelector select,.focusedBillingForm input,.focusedBillingForm select{min-height:44px;border:1px solid var(--line);border-radius:6px;padding:0 12px;font:inherit;background:#fff}.billingSelectedInvoice,.billingStudentSnapshot{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(120px,.6fr));grid-gap:10px;gap:10px}.billingSelectedInvoice span,.billingStudentSnapshot span{display:grid;grid-gap:3px;gap:3px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;color:var(--muted);font-weight:700}.billingSelectedInvoice strong,.billingStudentSnapshot strong{overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.billingActionTabs{display:inline-flex;width:-moz-fit-content;width:fit-content;max-width:100%;gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.billingActionTabs button{min-height:38px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-weight:900}.billingActionTabs button.active{background:var(--primary);color:#fff}.focusedBillingForm{grid-template-columns:minmax(260px,1.2fr) minmax(220px,.7fr) auto;padding:0;border:0}.focusedBillingForm .billingSelectedInvoice{grid-column:1/-1}@media (max-width:1050px){.billingSelectedInvoice,.billingStudentSelector,.billingStudentSnapshot,.focusedBillingForm{grid-template-columns:1fr}.billingActionTabs{width:100%}.billingActionTabs button{flex:1 1}}.upcomingClass{align-items:center;grid-template-columns:minmax(0,1.1fr) minmax(160px,.8fr) auto auto;border-left:4px solid var(--primary)}.upcomingClass.locked{border-left-color:#cbd5df;background:#f8fafc}.upcomingClass.locked .ghost{display:none}.upcomingClass .rowActions .ghost{min-height:34px;padding:0 12px}