*{box-sizing:border-box}body{background:#f7f7f8;min-width:320px;min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}:root{--color-page-bg:#f7f7f8;--color-surface:#fff;--color-surface-muted:#f9fafb;--color-border:#e4e7ec;--color-text:#101828;--color-text-muted:#667085;--color-primary:#7c3aed;--color-primary-hover:#5925dc;--color-danger:#b42318;--color-success:#027a48;--color-warning:#f79009;--radius-sm:4px;--radius-md:4px;--radius-lg:4px;--shadow-sm:none;--shadow-md:none}.app{background:var(--color-page-bg);color:#1f2933;min-height:100vh;padding:28px 20px}.appHero{text-align:center;max-width:960px;margin:0 auto 24px}.eyebrow{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:13px;font-weight:700}h1,h2,h3{color:var(--color-text);margin:0}h1{font-size:48px;line-height:1}.heroText{color:#52616b;max-width:640px;margin:16px auto 0;font-size:18px;line-height:1.5}.authAccount{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.appShell{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:16px;width:min(100%,1440px);margin:0 auto;display:grid}.appSidebar{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;justify-content:space-between;min-height:calc(100vh - 56px);padding:16px;display:flex;position:sticky;top:20px}.sidebarBrand{border-bottom:1px solid var(--color-border);padding-bottom:14px}.sidebarBrand p{color:var(--color-text);margin:0;font-size:17px;font-weight:800}.sidebarBrand span{color:var(--color-text-muted);margin-top:4px;font-size:12px;font-weight:700;display:block}.sidebarNav{gap:0;margin-top:14px;display:grid}.sidebarNavItem{color:#52616b;border:0;border-left:3px solid #0000;border-radius:0;padding:9px 10px 9px 12px;text-decoration:none;display:block}.sidebarNavItem span{color:var(--color-text);font-weight:800;display:block}.sidebarNavItem small{color:var(--color-text-muted);margin-top:3px;font-size:12px;line-height:1.35;display:block}.sidebarNavItemActive{border-left-color:var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-surface-muted)}.sidebarNavItemActive span{color:var(--color-primary)}.sidebarAccount{border-top:1px solid var(--color-border);gap:8px;padding-top:14px;display:grid}.sidebarAccount span{overflow-wrap:anywhere;min-width:0;color:var(--color-text-muted);font-size:13px;font-weight:700}.appWorkspace{min-width:0}.appWorkspace .pagePanel{max-width:none;margin:0}.pagePanel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);max-width:960px;margin:0 auto;padding:20px}.pageHeader{margin-bottom:14px}.pageHeader h2{margin-bottom:4px;font-size:26px}.pageHeader p{color:var(--color-text-muted);margin:0}.sectionCard{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);padding:14px}.sectionCardHeader{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.sectionCardHeader h3{font-size:19px}.primaryButton{border-radius:var(--radius-md);background:var(--color-primary);color:#fff;cursor:pointer;border:0;min-height:36px;padding:7px 12px;font-size:14px;font-weight:700}.lessonList{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);gap:0;display:grid;overflow:hidden}.lessonList>.mutedText,.studentList>.mutedText{padding:9px 10px}.lessonTableHeader,.studentTableHeader{border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text-muted);letter-spacing:0;text-transform:none;align-items:center;gap:12px;padding:7px 10px;font-size:12px;font-weight:700;display:grid}.lessonTableHeader{grid-template-columns:112px minmax(240px,1fr) 76px 132px 102px}.studentTableHeader{grid-template-columns:minmax(0,1fr) 74px 64px 184px}.lessonTableHeader span:nth-child(n+3),.studentTableHeader span:nth-child(n+2){text-align:right}.lessonRow{background:var(--color-surface);border:0;border-radius:0;grid-template-columns:112px minmax(240px,1fr) auto;align-items:center;gap:10px;padding:7px 10px;display:grid}.lessonRow:hover{background:var(--color-surface-muted)}.lessonRow>strong{color:var(--color-text);white-space:nowrap;font-size:14px;line-height:1.3}.lessonRow>div:not(.lessonMeta){min-width:0}.lessonRow>div:not(.lessonMeta)>span{color:var(--color-text);overflow-wrap:break-word;font-weight:700}.lessonRow small{color:var(--color-text-muted);text-transform:capitalize}.mutedText{color:var(--color-text-muted);margin:0;line-height:1.5}@media (width<=900px){.appShell{grid-template-columns:1fr}.appSidebar{gap:18px;min-height:0;position:static}.sidebarNav{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebarAccount{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}}@media (width<=760px){.app{padding:24px 14px}h1{font-size:42px}.pagePanel{padding:18px}.sectionCardHeader{flex-direction:column;align-items:flex-start}.lessonRow{grid-template-columns:1fr}.lessonMeta{justify-content:flex-start}}@media (width<=640px){.sidebarNav{grid-template-columns:1fr}.sidebarAccount{flex-direction:column;align-items:stretch}}.studentList{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);gap:0;display:grid;overflow:hidden}.studentRowWithEdit{border-bottom:1px solid var(--color-border);gap:0;min-width:0;display:grid}.studentRowWithEdit:last-child{border-bottom:0}.studentRow{background:var(--color-surface);border:0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:7px 10px;display:grid}.studentRow:hover{background:var(--color-surface-muted)}.studentRow strong{color:var(--color-text);overflow-wrap:break-word;margin-bottom:3px;font-size:15px;line-height:1.3;display:block}.studentRow p{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.35}.studentPrice{color:var(--color-text);text-align:right;white-space:nowrap;font-size:13px;font-weight:700}.studentMeta{grid-template-columns:74px 64px max-content max-content max-content;justify-content:flex-end;align-items:center;gap:6px;display:grid}.studentNotes{color:var(--color-text-muted);margin-top:4px;font-size:12px;line-height:1.35;display:block}.statusBadge{border-radius:var(--radius-sm);color:var(--color-success);white-space:nowrap;background:#ecfdf3;padding:3px 7px;font-size:11px;font-weight:700;line-height:1.3}.statusBadgeMuted{color:var(--color-text-muted);background:#f2f4f7}.lessonMeta{grid-template-columns:76px 132px max-content max-content;justify-content:flex-end;align-items:center;gap:6px;font-weight:700;display:grid}.lessonMeta span{color:var(--color-text);white-space:nowrap;font-size:13px}.lessonNotes{color:var(--color-text-muted);margin-top:4px;font-size:12px;line-height:1.35;display:block}.studentForm,.lessonForm{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);gap:12px;margin-bottom:16px;padding:12px;display:grid}.studentForm{grid-template-columns:repeat(2,minmax(0,1fr))}.studentAddForm .studentForm{margin-bottom:16px}.studentInlineEditForm{border:0;border-top:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:0;padding:10px 10px 12px}.studentInlineEditForm .studentForm{background:0 0;border:0;border-radius:0;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 120px 120px;gap:10px;margin-bottom:0;padding:0}.studentInlineEditForm .studentForm textarea{min-height:64px}.lessonForm{grid-template-columns:minmax(260px,1.35fr) minmax(170px,.6fr) minmax(180px,.65fr) minmax(180px,.65fr);align-items:start;overflow:visible}.lessonFormEdit{grid-template-columns:minmax(240px,1.35fr) minmax(160px,.58fr) minmax(170px,.62fr) minmax(170px,.62fr) minmax(136px,.5fr)}.formErrorText{color:var(--color-danger);font-size:12px;font-weight:600;line-height:1.4}.studentForm label,.lessonForm label{color:#344054;align-content:start;gap:5px;font-size:13px;font-weight:700;display:grid}.studentSearchInput,.studentForm input,.studentForm select,.studentForm textarea,.lessonForm input,.lessonForm select,.lessonForm textarea{border-radius:var(--radius-sm);width:100%;min-height:36px;color:var(--color-text);background:var(--color-surface);border:1px solid #d0d5dd;padding:8px 10px;font-size:14px}.studentCombobox{position:relative}.studentCombobox input[aria-invalid=true]{border-color:#fda29b}.studentComboboxList{z-index:20;border-radius:var(--radius-sm);background:var(--color-surface);max-height:220px;box-shadow:none;border:1px solid #d0d5dd;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.studentComboboxOption,.studentComboboxEmpty{border-radius:var(--radius-sm);color:var(--color-text);padding:8px 9px;font-size:14px;font-weight:600}.studentComboboxOption{cursor:pointer}.studentComboboxOptionActive{color:var(--color-primary-hover);background:#f4f3ff}.studentComboboxEmpty{color:var(--color-text-muted)}.lessonRateSummary{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:#475467;background:var(--color-surface);white-space:nowrap;padding:2px 7px;font-size:12px;font-weight:700;line-height:1.4}.studentForm textarea,.lessonForm textarea{resize:vertical}.studentForm textarea{min-height:68px}.lessonForm input,.lessonForm select,.lessonForm textarea{min-height:36px;padding:8px 10px}.lessonStudentField,.lessonDateField,.lessonStartField,.lessonEndField,.lessonStatusField{min-width:0}.lessonForm .formInvalidField{border-color:#fda29b}.lessonFormSubmitError{margin:-4px 0 0}.studentFormWide,.lessonFormWide{grid-column:1/-1}.primaryButton:disabled{opacity:.5;cursor:not-allowed}.studentSummary{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-bottom:14px;display:grid;overflow:hidden}.studentSummary div{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:0 0;min-width:0;padding:8px 10px}.studentSummary strong{overflow-wrap:anywhere;color:var(--color-text);font-size:17px;line-height:1.25;display:block}.studentSummary span{color:var(--color-text-muted);font-size:13px}.studentFilters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.studentSearchInput{flex:280px;max-width:360px}.studentFilterButtons{flex-wrap:wrap;gap:8px;display:flex}.secondaryButton{border-radius:var(--radius-sm);background:var(--color-surface);color:#344054;cursor:pointer;white-space:nowrap;border:1px solid #d0d5dd;min-height:34px;padding:6px 10px;font-size:14px;font-weight:700}.secondaryButton:hover{background:var(--color-surface-muted)}.dangerButton{border-radius:var(--radius-sm);background:var(--color-surface);min-height:34px;color:var(--color-danger);cursor:pointer;white-space:nowrap;border:1px solid #fda29b;padding:6px 10px;font-size:14px;font-weight:700}.dangerButton:hover{background:#fff1f0}.studentFormActions{flex-wrap:wrap;grid-column:1/-1;gap:10px;display:flex}.lessonFormActions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:10px;display:flex}.lessonFormActions .primaryButton{min-height:36px}@media (width<=760px){.studentRow{grid-template-columns:1fr}.studentMeta{justify-content:flex-start}.studentInlineEditForm .studentForm{grid-template-columns:1fr}}.lessonForm .primaryButton{align-self:end}@media (width<=760px){.studentForm,.lessonForm,.lessonFormEdit{grid-template-columns:1fr}}.scheduleWorkbench{gap:10px;display:grid}.scheduleWorkbenchHeader{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.scheduleTitleBlock{min-width:0}.scheduleTitleBlock h3{white-space:nowrap}.scheduleHeaderControls,.scheduleDateGroup,.quickDateButtons{align-items:center;gap:8px;min-width:0;display:flex}.scheduleHeaderControls,.scheduleDateGroup{flex-wrap:wrap}.quickDateButtons{flex-wrap:nowrap}.scheduleDateGroup .primaryButton,.scheduleDateGroup .secondaryButton,.workingDayInput{min-height:34px}.scheduleDateGroup .primaryButton,.scheduleDateGroup .secondaryButton{padding:0 10px;font-size:14px}.workingDayInput{border-radius:var(--radius-sm);background:var(--color-surface);width:168px;color:var(--color-text);border:1px solid #d0d5dd;padding:0 12px;font-size:14px;font-weight:700}.scheduleMainContent{grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;display:grid}.scheduleMainContentWithForm{grid-template-columns:minmax(0,1fr)}.scheduleNewLessonBar{justify-content:flex-start;min-width:0;display:flex}.scheduleLessonPanel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;min-height:440px;padding:12px}.scheduleLessonPanelEmpty{min-height:0}.scheduleAddLessonForm{min-width:0}.scheduleAddLessonForm .lessonForm{margin-bottom:0}.lessonRowWithEdit{border-bottom:1px solid var(--color-border);gap:0;min-width:0;display:grid}.lessonRowWithEdit:last-child{border-bottom:0}.lessonRowWithEdit .lessonRow,.lessonRowWithEdit .lessonRow>div{min-width:0}.lessonInlineEditForm{border:0;border-top:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:0;padding:10px 10px 12px}.lessonInlineEditForm .lessonForm{background:0 0;border:0;border-radius:0;gap:10px;margin-bottom:0;padding:0}.lessonFormHeader{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;display:flex}.lessonFormHeader h4,.lessonListHeader h4{color:var(--color-text);margin:0;font-size:16px}.lessonFormCloseButton{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:18px;font-weight:700;line-height:1;display:inline-flex}.lessonFormCloseButton:hover,.lessonFormCloseButton:focus-visible{color:var(--color-danger);background:#fff1f0;border-color:#d0d5dd}.lessonListHeader{justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 10px;display:flex}.lessonListHeader p{text-align:right}.lessonFieldHeader{justify-content:space-between;align-items:center;gap:10px;min-height:22px;display:flex}.lessonFormField{position:relative}.lessonFieldWithPopover{overflow:visible}.lessonFormFooter{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.lessonNotesField{min-width:0}.lessonNotesField textarea{min-height:36px}.fieldErrorPopover{z-index:30;border-radius:var(--radius-sm);width:max-content;max-width:min(320px,100%);color:var(--color-danger);box-shadow:none;background:#fff1f0;border:1px solid #fda29b;padding:8px 10px;font-size:12px;font-weight:700;line-height:1.35;position:absolute;top:24px;right:0;transform:translateY(-100%)}.fieldErrorPopover:after{content:"";background:#fff1f0;border-bottom:1px solid #fda29b;border-right:1px solid #fda29b;width:10px;height:10px;position:absolute;bottom:-6px;right:18px;transform:rotate(45deg)}.errorToast{z-index:1100;border-radius:var(--radius-md);width:min(340px,100vw - 32px);color:var(--color-danger);box-shadow:none;background:#fff1f0;border:1px solid #fda29b;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.4;display:flex;position:fixed;top:20px;right:20px}.errorToast span{flex:1}.errorToastCloseButton{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--color-danger);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;font-size:18px;font-weight:700;line-height:1;display:inline-flex}.errorToastCloseButton:hover,.errorToastCloseButton:focus-visible{background:#fee4e2}.lessonStatusSelect{border-radius:var(--radius-sm);background:var(--color-surface);color:#344054;text-transform:capitalize;border:1px solid #d0d5dd;min-height:32px;padding:5px 8px;font-size:13px;font-weight:700}.studentRow .secondaryButton,.studentRow .dangerButton,.lessonRow .secondaryButton,.lessonRow .dangerButton{border-radius:var(--radius-sm);min-height:28px;padding:3px 6px;font-size:12px;font-weight:600;line-height:1.25}.studentRow .secondaryButton,.lessonRow .secondaryButton{color:#475467;background:0 0;border-color:#0000}.studentRow .dangerButton,.lessonRow .dangerButton{background:0 0;border-color:#0000}.lessonDaySummary{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);grid-template-columns:repeat(6,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.lessonDaySummary div{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:0 0;min-width:0;padding:8px 10px}.lessonDaySummary strong{overflow-wrap:anywhere;color:var(--color-text);font-size:17px;line-height:1.25;display:block}.lessonDaySummary span{color:var(--color-text-muted);font-size:13px}@media (width<=840px){.lessonTableHeader,.studentTableHeader{display:none}.lessonRow,.studentRow{grid-template-columns:1fr;align-items:start}.lessonMeta,.studentMeta{justify-content:flex-start}}@media (width<=1040px){.lessonForm,.lessonFormEdit{grid-template-columns:minmax(240px,1fr) repeat(2,minmax(160px,1fr))}}@media (width<=760px){.scheduleWorkbenchHeader,.scheduleHeaderControls,.scheduleDateGroup{flex-direction:column;align-items:stretch}.quickDateButtons{flex-wrap:wrap}.quickDateButtons .primaryButton,.quickDateButtons .secondaryButton{flex:120px}.scheduleTitleBlock h3{white-space:normal}.workingDayInput{width:100%}.lessonForm,.lessonFormEdit{grid-template-columns:1fr}.lessonFormHeader,.lessonListHeader{flex-direction:column;align-items:flex-start;gap:4px}.lessonFormHeader p,.lessonListHeader p{text-align:left}.lessonFormFooter{grid-template-columns:1fr}.lessonFormActions{justify-content:flex-start}.lessonMeta,.studentMeta{flex-wrap:wrap;display:flex}.fieldErrorPopover{width:100%;max-width:none;box-shadow:none;position:static;transform:none}.fieldErrorPopover:after{display:none}.errorToast{width:auto;top:16px;left:16px;right:16px}}.statsWorkbench{gap:10px;display:grid}.statsToolbar{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.statsToolbarTitle{min-width:0}.statsToolbarTitle h3{color:var(--color-text);margin:0 0 3px;font-size:18px}.statsToolbarTitle p{font-size:13px}.statsFilterButtons{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.statsFilterButtons .primaryButton,.statsFilterButtons .secondaryButton{border-radius:var(--radius-sm);min-height:34px;padding:6px 10px;font-size:13px}.statsSummary{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.statsSummary div{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:0 0;min-width:0;padding:8px 10px}.statsSummary strong{overflow-wrap:anywhere;color:var(--color-text);font-size:17px;line-height:1.25;display:block}.statsSummary span{color:var(--color-text-muted);font-size:13px}@media (width<=1100px){.lessonDaySummary,.studentSummary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.lessonDaySummary,.studentSummary,.statsSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.studentSummary div:last-child{grid-column:span 2}}.statsTableBlock{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;padding:12px}.statsTableHeader{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:9px;display:flex}.statsTableBlock h4{color:var(--color-text);margin:0;font-size:18px}.statsTableHeader p{text-align:right;font-size:13px}.statsEmptyState{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);padding:12px}.statsTableWrapper{overflow-x:auto}.statsTable{border-collapse:collapse;background:var(--color-surface);width:100%;min-width:780px}.statsTable th,.statsTable td{text-align:left;white-space:nowrap;border-bottom:1px solid #eef0f3;padding:9px 10px}.statsTable th{color:#344054;background:var(--color-surface-muted);font-size:12px;font-weight:800}.statsTable td{color:var(--color-text);font-size:13px}.statsTable th:not(:first-child),.statsTable td:not(:first-child){text-align:right}.statsTable td:first-child{color:var(--color-text);font-weight:700}.statsTable tr:last-child td{border-bottom:0}@media (width<=760px){.statsToolbar,.statsTableHeader{flex-direction:column;align-items:flex-start;gap:8px}.statsFilterButtons{justify-content:flex-start}.statsTableHeader p{text-align:left}}.dialogOverlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1018287a;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.confirmDialog{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:min(100%,430px);box-shadow:none;padding:16px}.confirmDialog h3{color:var(--color-text);margin:0 0 8px;font-size:19px}.confirmDialog p{color:var(--color-text-muted);margin:0;line-height:1.5}.confirmDialogActions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.dialogDangerButton{border-radius:var(--radius-md);color:#fff;cursor:pointer;white-space:nowrap;background:#d92d20;border:0;min-height:36px;padding:7px 12px;font-size:14px;font-weight:700}.dialogDangerButton:hover{background:var(--color-danger)}@media (width<=760px){.confirmDialogActions{justify-content:stretch}.confirmDialogActions button{flex:auto}}.actionErrorBanner{border-radius:var(--radius-md);color:var(--color-danger);background:#fff1f0;border:1px solid #fda29b;gap:4px;margin-bottom:14px;padding:10px 12px;line-height:1.4;display:grid}.actionErrorBanner strong{font-size:14px}.actionErrorBanner span{font-size:13px}
