@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#20202a;background:#f5f6fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{color:inherit}.app-loader{height:100vh;display:grid;place-items:center}.app-shell{min-height:100vh}.sidebar{position:sticky!important;top:0;height:100vh;border-right:1px solid #ececf2}.brand{height:72px;display:flex;align-items:center;gap:11px;padding:0 22px;font-size:18px;font-weight:700;color:#252232}.brand-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,#8467e8,#5b3bbb);color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:0 7px 18px #6c4bd545}.sidebar .ant-menu{border-inline-end:0!important;padding:8px 12px}.sidebar .ant-menu-item{height:44px;margin-block:3px}.topbar{height:72px;background:#fff!important;border-bottom:1px solid #ececf2;padding:0 28px!important;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20}.topbar-subtitle{font-size:11px;line-height:14px;color:#8b8b98}.profile-button{height:46px!important;display:flex;align-items:center;gap:8px}.page-content{padding:26px 28px 44px;max-width:1680px;width:100%;margin:0 auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}.page-header .ant-typography{margin:0!important}.page-header h2{font-size:27px!important;letter-spacing:-.5px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.toolbar .ant-input-search{max-width:360px}.toolbar .ant-select{min-width:180px}.action-strip{margin-bottom:16px}.section-row,.section-card{margin-top:16px}.stat-card{height:100%;position:relative;overflow:hidden}.stat-card .ant-card-body{padding:19px}.stat-card .ant-statistic-title{padding-right:32px}.stat-card .ant-statistic-content{font-size:26px!important;font-weight:700}.stat-icon{position:absolute;right:15px;top:15px;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#f0edfc;color:#6b4dcc}.chart{height:260px}.switch-label{margin-left:8px}.form-alert{margin-bottom:18px}.calendar-card .ant-card-body{padding:16px}.fc{--fc-border-color:#e9e8ef;--fc-button-bg-color:#7558d6;--fc-button-border-color:#7558d6;--fc-button-hover-bg-color:#6042c5;--fc-button-active-bg-color:#5435b7;font-size:13px}.fc .fc-toolbar-title{font-size:20px}.fc-event{border:0;padding:2px 4px;border-radius:5px;background:#7558d6}.fc .lesson-completed{background:#39956c}.fc .lesson-cancelled{background:#aaa;text-decoration:line-through}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.1fr) minmax(380px,.9fr);background:#f7f7fb}.login-visual{margin:18px;border-radius:24px;display:flex;align-items:flex-end;padding:58px;background:radial-gradient(circle at 75% 25%,#a590f0 0,transparent 33%),linear-gradient(145deg,#2a2144,#6044b0);color:#fff;overflow:hidden;position:relative}.login-visual:after{content:"";position:absolute;width:300px;height:300px;border:70px solid #ffffff12;border-radius:50%;right:-80px;top:10%}.login-copy{max-width:580px;position:relative;z-index:1}.login-copy h1,.login-copy p{color:#fff!important}.login-copy h1{font-size:48px;line-height:1.06;letter-spacing:-1.8px}.login-copy p{font-size:17px;opacity:.78}.eyebrow{display:flex;gap:7px;align-items:center;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:1px}.login-card{width:min(440px,calc(100% - 32px));align-self:center;justify-self:center;border:0;box-shadow:0 22px 60px #33254d17}.login-card .ant-card-body{padding:38px}.login-logo{display:flex;align-items:center;gap:9px;font-weight:700;margin-bottom:28px}.login-card h2{margin-bottom:4px!important}.ant-card{border-color:#ececf2}.ant-table-wrapper{overflow:hidden}.ant-list-item-meta-title{margin-bottom:3px!important}@media (max-width:899px){.page-content{padding:20px 18px 36px}.topbar{padding:0 14px!important}.profile-name{display:none}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-card{margin:24px}.fc .fc-toolbar{align-items:flex-start;gap:8px}.fc .fc-toolbar.fc-header-toolbar{flex-wrap:wrap}.fc .fc-toolbar-title{font-size:17px}}@media (max-width:575px){.page-content{padding:16px 12px 32px}.page-header{align-items:flex-start;flex-direction:column;margin-bottom:16px}.page-header .ant-btn{width:100%}.page-header h2{font-size:23px!important}.topbar{height:62px}.toolbar>*{width:100%!important;max-width:none!important}.action-strip>.ant-space{width:100%}.action-strip>.ant-space .ant-space-item{flex:1}.action-strip>.ant-space button{width:100%}.ant-card .ant-card-body,.stat-card .ant-card-body{padding:14px}.stat-card .ant-statistic-title{font-size:12px}.stat-card .ant-statistic-content{font-size:21px!important}.stat-icon{display:none}.chart{height:220px}.login-card .ant-card-body{padding:25px}.fc .fc-button{padding:.35em .5em;font-size:.88em}.fc .fc-toolbar-chunk:nth-child(2){order:-1;width:100%}.fc .fc-toolbar-title{text-align:center}.ant-modal{max-width:calc(100vw - 20px);margin:10px auto}.ant-modal-content{padding:16px!important}}.topbar{display:flex;justify-content:space-between}.topbar-side{justify-self:start}.profile-button{width:46px!important;padding:6px!important;justify-content:center;margin-left:auto;gap:0}.fc-timegrid-slots tr:has(.calendar-slot-hidden){display:none}.fc-timegrid-slots tr:has(.calendar-slot-break){display:table-row;height:34px}.fc-timegrid-slots tr:has(.calendar-slot-break)>td{height:34px!important;background:#faf9fe;border-top:1px solid #e8e3f5;border-bottom:1px solid #e8e3f5}.fc-timegrid-slots tr:has(.calendar-slot-break) .fc-timegrid-slot-label{color:transparent;background:#faf9fe}.fc-timegrid-slots .calendar-slot-break{position:relative;z-index:4;padding:0!important;background:#faf9fe!important}.fc-timegrid-slots .calendar-slot-break:before{content:"";position:absolute;left:12px;right:12px;top:50%;border-top:1px dashed #b9acd9}.fc-timegrid-slots .calendar-slot-break:after{content:attr(data-break-label);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:3px 12px;border:1px solid #ded7ef;border-radius:999px;background:#fff;color:#74658f;font-size:11px;font-weight:600;letter-spacing:.15px;white-space:nowrap;box-shadow:0 2px 7px #4d376512}@media (max-width:899px){.topbar{padding:0 14px!important}}@media (max-width:575px){.topbar{height:62px}}.client-shell{min-height:100vh;background:#f5f6fa}.client-header{height:70px;background:#fff;border-bottom:1px solid #ececf2;display:flex;align-items:center;gap:24px;padding:0 28px;position:sticky;top:0;z-index:30}.client-brand{display:flex;align-items:center;gap:10px;min-width:210px}.client-brand>div:last-child{display:flex;flex-direction:column}.client-brand small{color:#92909c;font-size:11px}.client-desktop-nav{flex:1;display:flex;justify-content:center}.client-menu{border-bottom:0!important;min-width:620px;justify-content:center}.client-content{width:min(1320px,100%);margin:0 auto;padding:28px}.client-bottom-nav{display:none}.client-auth-page{min-height:100vh;background:radial-gradient(circle at 20% 5%,#eee9ff,transparent 35%),#f7f7fb;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px}.client-auth-brand{display:flex;align-items:center;gap:10px;font-size:20px;margin-bottom:20px}.client-auth-card{width:min(460px,100%);box-shadow:0 20px 55px #422d6d18;border:0}.client-auth-card .ant-card-body{padding:34px}.client-auth-help{text-align:center;color:#777482;margin:18px 0 10px}.purple{color:#6b4dcc}.calendar-legend{display:flex;gap:18px;margin:-8px 0 16px;flex-wrap:wrap}.calendar-legend span{display:flex;align-items:center;gap:7px;font-size:13px;color:#666}.calendar-legend i{width:12px;height:12px;border-radius:4px}.legend-blue{background:#4285d4}.legend-green{background:#38a169}.legend-gray{background:#a7a7ad}.fc .client-event-available{background:#4285d4}.fc .client-event-booked{background:#38a169}.fc .client-event-past{background:#a7a7ad}.fc .client-event-cancelled{background:#d5d5d8;color:#777;text-decoration:line-through}.client-filters{margin-bottom:16px}.client-subscription-card{height:100%}.subscription-balance{margin-top:14px}@media (max-width:899px){.client-header{height:62px;padding:0 14px}.client-desktop-nav{display:none}.client-brand{min-width:0;flex:1}.client-content{padding:20px 14px 88px}.client-bottom-nav{display:block;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5e5eb;z-index:50;padding-bottom:env(safe-area-inset-bottom)}.client-bottom-menu{border-bottom:0!important;display:flex;justify-content:space-around}.client-bottom-menu .ant-menu-item{flex:1;text-align:center;padding-inline:0!important}.client-bottom-menu .ant-menu-title-content{display:none}.client-auth-page{padding:16px}.client-auth-card .ant-card-body{padding:24px}.client-filters{width:100%;overflow:auto}.client-filters .ant-segmented-group{min-width:430px}.client-content .ant-list-item{align-items:flex-start;gap:8px;flex-wrap:wrap}.client-content .ant-list-item-action{margin-inline-start:0;width:100%}.client-content .ant-list-item-action button{width:100%}}.registration-link-card{margin-bottom:16px}.registration-link-card .ant-typography{overflow-wrap:anywhere}.subscriptions-page-card,.subscriptions-page-card .ant-card-body,.subscriptions-table{min-width:0;width:100%}.subscriptions-page-card .ant-card-body{padding:18px}.subscriptions-table .ant-table-cell{padding-inline:7px!important;font-size:13px;overflow-wrap:anywhere}.subscriptions-table .ant-table-thead .ant-table-cell{white-space:normal}.subscriptions-cell-wrap,.subscriptions-period,.subscriptions-price{display:flex;min-width:0;flex-direction:column;line-height:1.35}.subscriptions-plan-name{display:block;line-height:1.35;overflow-wrap:anywhere}.subscriptions-date,.subscriptions-period>span,.subscriptions-price>span{white-space:nowrap}.subscriptions-price small{font-size:11px;line-height:1.35;color:#777482;white-space:normal}.subscriptions-table .ant-tag{max-width:100%;margin-inline-end:0;white-space:normal;text-align:center;line-height:18px;padding-inline:5px}.subscriptions-table .ant-btn{width:30px;height:30px;padding:0}.subscriptions-page-card .toolbar{min-width:0}.subscriptions-page-card .toolbar .ant-input-search{flex:1 1 220px;min-width:180px}.subscriptions-page-card .toolbar .ant-select{flex:0 1 180px;min-width:150px}@media (max-width:767px){.subscriptions-table .ant-table-content{overflow-x:auto}.subscriptions-table table{min-width:760px}}.lesson-details-content{display:flex;flex-direction:column;gap:16px;width:100%;min-width:0}.lesson-details-content>*{width:100%;min-width:0}.lesson-info-card .ant-descriptions-view{width:100%}.lesson-students-card .ant-card-body,.lesson-visits-table{min-width:0;width:100%}.lesson-visits-table .ant-table-cell{padding-inline:8px!important;font-size:13px;overflow-wrap:anywhere}.lesson-visits-table .ant-tag{max-width:100%;margin-inline-end:0;white-space:normal;text-align:center}.lesson-visits-table .ant-space{column-gap:6px!important;row-gap:6px!important}.lesson-visits-table .ant-btn{padding-inline:9px}@media (max-width:767px){.lesson-info-card .ant-descriptions-row{display:flex;flex-direction:column}.lesson-visits-table .ant-table-content{overflow-x:auto}.lesson-visits-table-admin table{min-width:760px}.lesson-visits-table-teacher table{min-width:680px}}.admin-table-card,.admin-table-card .ant-card-body,.admin-fit-table{width:100%;min-width:0}.admin-table-card .ant-card-body{padding:18px}.admin-fit-table .ant-table-cell{padding-inline:8px!important;font-size:13px;overflow-wrap:anywhere}.admin-fit-table .ant-table-thead .ant-table-cell{white-space:normal}.admin-fit-table .cell-nowrap{white-space:nowrap}.admin-fit-table .ant-tag{max-width:100%;margin-inline-end:0;white-space:normal;text-align:center;line-height:18px;padding-inline:5px}.admin-fit-table .ant-space{column-gap:6px!important;row-gap:6px!important}.admin-fit-table .ant-btn{min-width:30px;height:30px;padding-inline:8px;font-size:13px}.admin-person-name{line-height:1.3;overflow-wrap:anywhere}.subscriptions-cell-wrap{display:inline;line-height:1.35}.subscriptions-cell-wrap>span{display:inline}.plans-table td:first-child,.plans-table td:nth-child(3),.lessons-table td:nth-child(3),.lessons-table td:nth-child(4),.lessons-table td:nth-child(5),.teachers-table td:nth-child(3){overflow-wrap:anywhere}.students-table .ant-space{column-gap:4px!important}.students-table .ant-btn{width:28px;min-width:28px;height:28px;padding:0}.plans-table .ant-space{column-gap:4px!important}.plans-table .ant-btn{width:28px;min-width:28px;height:28px;padding:0}.lessons-table .ant-btn{padding-inline:6px}@media (max-width:767px){.admin-fit-table .ant-table-content{overflow-x:auto}.students-table table{min-width:820px}.teachers-table table{min-width:840px}.plans-table table{min-width:860px}.lessons-table table{min-width:800px}}.brand-logo{width:36px;height:36px;display:block;flex:0 0 36px;object-fit:contain}.login-page{grid-template-columns:1fr;place-items:center;padding:24px}.login-card{width:min(410px,100%);margin:0}.login-logo{gap:10px;font-size:18px}@media (max-width:575px){.login-page{padding:16px}.login-card .ant-card-body{padding:25px}}.math-captcha{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;margin-bottom:14px;border:1px solid #ddd8ef;border-radius:12px;background:#f7f4ff}.math-captcha>div{display:flex;flex-direction:column;gap:3px}.math-captcha span{font-size:12px;color:#777482}.math-captcha strong{font-size:22px;letter-spacing:.5px;color:#3d315f}.client-profile-button{height:44px!important;display:flex;align-items:center;gap:9px}.client-profile-button>span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:899px){.client-profile-button>span{display:none}.client-profile-button{padding-inline:4px!important}}.teacher-shell{min-height:100vh;background:#f5f6fa}.teacher-topbar{height:68px;background:#fff!important;border-bottom:1px solid #ececf2;display:flex;align-items:center;gap:24px;padding:0 28px!important;position:sticky;top:0;z-index:30}.teacher-brand{display:flex;align-items:center;gap:10px;font-weight:700;white-space:nowrap}.teacher-topbar>.ant-menu{flex:1;justify-content:center;border-bottom:0!important}.teacher-content{width:min(1380px,100%);margin:0 auto;padding:28px}.fc .teacher-own-event{background:#7558d6;cursor:pointer}.fc .teacher-other-event{background:#aaa;opacity:.72;cursor:default}@media (max-width:899px){.teacher-topbar{height:auto;min-height:62px;padding:8px 12px!important;gap:8px;flex-wrap:wrap}.teacher-brand{flex:1}.teacher-brand span{font-size:13px}.teacher-topbar>.ant-menu{order:3;width:100%;overflow-x:auto;justify-content:flex-start}.teacher-topbar>.ant-menu .ant-menu-item{padding-inline:12px}.teacher-content{padding:18px 12px 36px}}.calendar-lesson-event{min-width:0;line-height:1.22;overflow:hidden}.calendar-lesson-time{font-size:14px;font-weight:800;letter-spacing:.1px;white-space:nowrap}.calendar-lesson-title{margin-top:2px;font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-lesson-teacher{margin-top:2px;font-size:11px;font-weight:500;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-daygrid-event .calendar-lesson-event{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:5px;align-items:baseline;width:100%}.fc-daygrid-event .calendar-lesson-time{font-size:12px}.fc-daygrid-event .calendar-lesson-title{margin-top:0}.fc-daygrid-event .calendar-lesson-teacher{grid-column:1/-1;margin-top:1px}.login-copy .ant-typography{color:#fff!important}.login-help{margin-top:12px;color:#8b8b98;font-size:12px;text-align:center}@media (max-width: 899px){.login-card{width:calc(100% - 32px);margin:0}}
