@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600&display=swap";.app-shell{min-height:100vh}.student-app-window{display:flex;flex-direction:column;height:100dvh;min-height:100dvh;--student-bottom-nav-height: clamp(56px, 8dvh, 72px)}.student-content{padding-bottom:calc(var(--student-bottom-nav-height) + env(safe-area-inset-bottom,0px))}.student-bottom-nav{border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 86%,var(--card))!important;position:fixed;left:0;right:0;bottom:0;z-index:55;height:var(--student-bottom-nav-height);min-height:var(--student-bottom-nav-height);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -4px 14px color-mix(in srgb,var(--shadow-color) 55%,transparent)}.student-bottom-nav .MuiBottomNavigationAction-root{color:var(--text-2);min-width:0;transition:color .14s ease,background-color .14s ease;border-radius:12px;margin:6px 4px;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.student-bottom-nav .Mui-selected{color:var(--text)!important;background:color-mix(in srgb,var(--accent) 18%,transparent)}.student-bottom-nav .MuiBottomNavigationAction-label{font-size:.68rem;font-weight:600;-webkit-user-select:none;user-select:none}:root[data-theme=dark] .student-bottom-nav{background:color-mix(in srgb,var(--surface) 92%,#000)!important}.app-window{height:100vh;border:1px solid var(--border);background:var(--bg);overflow:hidden;display:flex;flex-direction:column;--app-header-bg: var(--sidebar-bg);--app-header-ink: var(--sidebar-text);--app-header-border: color-mix(in srgb, var(--app-header-ink) 16%, transparent);--app-header-shadow: 0 1px 0 color-mix(in srgb, var(--app-header-ink) 14%, transparent);--sidebar-bg: #ffffff;--sidebar-border: color-mix(in srgb, var(--sidebar-text) 16%, transparent);--sidebar-shadow: none;--wood-wash: rgba(34, 40, 49, .06);--wood-wash-2: rgba(34, 40, 49, .1);--wood-800: var(--sidebar-text);--wood-700: transparent}:root[data-theme=dark] .app-window{--app-header-bg: var(--surface);--app-header-ink: var(--text);--app-header-border: color-mix(in srgb, var(--text) 18%, transparent);--app-header-shadow: 0 1px 0 color-mix(in srgb, var(--text) 10%, transparent);--sidebar-bg: var(--surface);--sidebar-border: color-mix(in srgb, var(--text) 18%, transparent);--sidebar-shadow: none;--wood-wash: rgba(255, 255, 255, .045);--wood-wash-2: rgba(255, 255, 255, .07);--wood-800: var(--text);--wood-700: transparent}.app-header{min-height:var(--header-height);position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--app-header-border);background:var(--app-header-bg);box-shadow:var(--app-header-shadow)}:root:not([data-theme=dark]) .app-header{background:var(--app-header-bg)}.app-header-left,.app-header-right{display:flex;align-items:center;gap:8px}.header-title{font-weight:600;letter-spacing:-.01em;font-size:.9rem;color:var(--app-header-ink)}.header-logo{height:22px;width:auto;display:block}.header-icon-button{width:32px;height:32px;border-radius:10px;border:1px solid color-mix(in srgb,var(--app-header-ink) 22%,transparent);background:color-mix(in srgb,var(--app-header-ink) 8%,transparent);display:inline-flex;align-items:center;justify-content:center;color:var(--app-header-ink);cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.header-sidebar-toggle{border:0;background:transparent}.header-sidebar-toggle:hover{border:0;background:color-mix(in srgb,var(--app-header-ink) 10%,transparent)}.header-sidebar-toggle:focus-visible{border:0}:root[data-theme=dark] .header-sidebar-toggle{border:0;background:transparent}:root[data-theme=dark] .header-sidebar-toggle:hover{border:0;background:#ffffff0f}:root[data-theme=dark] .header-icon-button{background:transparent;border-color:#ffffff1f}.header-icon-button:hover{background:color-mix(in srgb,var(--app-header-ink) 14%,transparent);border-color:color-mix(in srgb,var(--app-header-ink) 30%,transparent)}.header-icon-button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 22%,transparent)}.header-profile{display:flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--app-header-ink) 22%,transparent);background:color-mix(in srgb,var(--app-header-ink) 7%,transparent)}:root[data-theme=dark] .header-profile{background:transparent;border-color:#ffffff1f}.header-profile-text{display:grid;line-height:1.1}.header-profile-name{font-weight:600;font-size:.78rem;color:var(--app-header-ink)}.header-profile-role{font-size:.68rem;color:color-mix(in srgb,var(--app-header-ink) 64%,transparent)}.sidebar-close{width:32px;height:32px;border-radius:10px;border:1px solid var(--sidebar-border)}.app-logo-wrap{display:flex;align-items:center}.app-logo-image,.profile-avatar{width:30px;height:30px;border-radius:8px}.app-logo-image{object-fit:contain}.profile-avatar{object-fit:cover}.app-logo-fallback{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:.75rem}.app-header-title-wrap{display:grid;line-height:1.1}.app-header-title{font-size:.82rem;font-weight:600}.app-header-subtitle{font-size:.66rem;color:var(--muted)}.app-window aside,.app-shell .MuiDrawer-paper{background:var(--sidebar-bg)!important;border-right:1px solid var(--sidebar-border)!important;box-shadow:var(--sidebar-shadow)}.sidebar-brand{display:flex;align-items:center;gap:10px}.sidebar-logo-full{height:28px;width:auto;display:block}.sidebar-logo-mark{height:32px;width:32px;display:block}.sidebar-brand-text{font-weight:600;letter-spacing:-.01em;font-size:.9rem}.sidebar-upgrade{border-radius:16px;border:1px solid color-mix(in srgb,var(--sidebar-text) 22%,transparent);background:color-mix(in srgb,var(--sidebar-text) 8%,transparent);padding:12px}:root[data-theme=dark] .sidebar-upgrade{background:color-mix(in srgb,var(--text) 5%,transparent);border-color:#ffffff1f}.sidebar-upgrade-title{font-weight:700;font-size:.82rem;letter-spacing:-.01em}.sidebar-upgrade-subtitle{margin-top:4px;font-size:.72rem;color:color-mix(in srgb,var(--sidebar-text) 70%,transparent)}.sidebar-upgrade-actions{margin-top:10px}.sidebar-upgrade-button{width:100%;height:34px;border-radius:12px;border:0;background:var(--accent);color:var(--on-accent);font-weight:600;font-size:.78rem;cursor:pointer}.sidebar-upgrade-button:hover{background:var(--primary-hover)}.profile-avatar-fallback{border-radius:999px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 20%,var(--surface));color:var(--text);font-weight:600;font-size:.72rem}.content{min-height:0;flex:1;display:flex;flex-direction:column;gap:14px;padding:5px;overflow-y:scroll;background:var(--bg)}.page-body{flex:1;display:grid;gap:14px;align-content:start}.sidebar-backdrop{display:none}@media (max-width: 1200px){.app-header-subtitle{display:none}}@media (max-width: 1024px){.app-shell{padding:0}.app-window{min-height:100vh;border-radius:0;border:0}}@media (max-width: 820px){.app-header{gap:8px;padding:8px 10px}.header-profile-text{display:none}}:root{--card-shadow: 0 12px 28px color-mix(in srgb, var(--shadow-color) 84%, transparent);--card-shadow-hover: 0 20px 40px color-mix(in srgb, var(--shadow-color) 96%, transparent);--student-card-soft-shadow: 0 10px 5px color-mix(in srgb, var(--shadow-color) 80%, transparent);--student-card-sheen: color-mix(in srgb, var(--accent) 8%, transparent);--student-card-top: var(--card);--student-card-bottom: color-mix(in srgb, var(--card) 82%, var(--surface));--student-card-text: var(--text);--student-card-muted: var(--text-2);--student-card-divider: var(--border);--student-scroll-track: var(--scroll-track);--student-scroll-thumb: var(--scroll-thumb);--student-scroll-thumb-hover: var(--scroll-thumb-hover);--student-card-ring: color-mix(in srgb, var(--primary) 36%, transparent)}:root[data-theme=dark]{--student-card-top: color-mix(in srgb, var(--card) 86%, var(--surface));--student-card-bottom: var(--card);--student-card-sheen: color-mix(in srgb, white 8%, transparent);--student-card-ring: color-mix(in srgb, var(--accent) 28%, transparent)}.students-page{display:grid;gap:10px;margin:5px}.students-toolbar{gap:10px}.students-controls{width:100%}.students-capacity{padding:2px 2px 4px}.students-empty-state{padding:4px 2px}.student-details-page{height:100%;max-height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.students-state{min-height:220px;display:grid;place-items:center}.students-page .student-card.MuiCard-root{height:100%!important;min-height:200px!important;min-width:200px!important;border-radius:12px!important;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border))!important;background:linear-gradient(180deg,var(--student-card-top) 0%,var(--student-card-bottom) 100%)!important;box-shadow:var(--card-shadow),var(--student-card-soft-shadow);position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important}.students-page .student-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(1200px 400px at 20% 0%,var(--student-card-sheen),transparent 55%);opacity:.9}.students-page .student-card-action{height:100%;border-radius:inherit!important}.students-page .student-card-action .MuiCardActionArea-focusHighlight{border-radius:inherit}.students-page .student-card-action:focus-visible{outline:0;box-shadow:0 0 0 3px var(--student-card-ring);border-radius:inherit}.students-page .student-card-content{display:flex;flex-direction:column;justify-content:space-between;gap:8px;height:100%;padding:14px!important;position:relative;z-index:1}.students-page .student-card .MuiTypography-root{color:var(--student-card-text)}.students-page .student-card .muted,.students-page .student-card .student-card-caption{color:var(--student-card-muted)!important}.students-page .student-card-meta{color:var(--student-card-text);opacity:.95}.students-page .student-label{color:var(--student-card-muted);min-width:48px;font-weight:600}.students-page .student-card .MuiDivider-root{border-color:var(--student-card-divider)!important;opacity:1}.students-page .student-card:hover{transform:none;box-shadow:var(--card-shadow-hover);border-color:color-mix(in srgb,var(--primary) 80%,var(--border))!important}.students-page .student-card-add{border-style:dashed}.students-page .student-card-add-content{align-items:center;justify-content:center;text-align:center}.students-page .student-add-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:600;background:color-mix(in srgb,var(--primary) 16%,transparent);border:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));color:var(--student-card-text)}.students-page .student-card-add:hover .student-add-mark{background:color-mix(in srgb,var(--primary) 22%,transparent);border-color:color-mix(in srgb,var(--primary) 42%,var(--border))}.students-page .student-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:600;background:color-mix(in srgb,var(--primary) 18%,transparent);border:1px solid color-mix(in srgb,var(--primary) 38%,var(--border));color:var(--student-card-text)}.student-details-card{border-radius:14px!important;border-color:var(--border)!important;background:var(--surface-elev)!important;box-shadow:none!important;color:var(--text)!important;min-height:20vh;height:100%;width:100%}.student-details-content{display:grid;gap:6px;color:var(--text)!important;width:100%;padding:12px!important}.student-details-page .student-layout__grid{flex:1;min-height:0}.student-details-page .student-details-content{display:flex;flex-direction:column;min-height:0;height:100%}.student-details-page .student-layout__details-pane,.student-details-page .student-layout__lessons-pane{min-height:0;height:100%}.student-details-page .student-layout__details-pane{display:grid;gap:12px;align-content:start}.student-layout__lessons-grid{height:100%;min-height:0;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:12px}.student-details-page .student-layout__details-grid{min-height:0;height:auto;align-content:stretch}.student-profile-card .student-details-content{gap:10px}.student-lessons-filters{margin-top:2px}.student-details-page .student-layout__details-grid>.MuiGrid-root{min-height:0;display:flex;min-width:0;width:100%;max-width:none;flex-basis:auto}.student-details-page .student-layout__card-summary .student-details-card,.student-details-page .student-layout__card-exercises .student-details-card,.student-details-page .student-layout__card-next-subject .student-details-card,.student-details-page .student-layout__lessons-pane .student-details-card{min-height:0;height:100%;overflow:hidden}.student-details-page .student-layout__card-payment-compact{align-self:stretch}.student-details-page .student-layout__card-payment-compact .student-details-card{min-height:0;height:100%}.student-payment-content{min-height:0;gap:8px}.student-card-body-scroll{min-height:0;flex:1 1 auto;overflow:auto;display:grid;gap:6px;align-content:start}.student-timeline-content{display:flex;flex-direction:column;min-height:0;height:100%}.student-lessons-list-card{min-height:0;height:100%;overflow:hidden}.student-lessons-list{min-height:0;flex:1 1 auto;overflow-y:auto;max-height:none}.student-details-card .MuiTypography-root,.student-details-card .MuiTableCell-root{border-bottom-color:var(--border);color:var(--text)}.student-details-card .MuiTypography-subtitle2-root{font-size:.8rem}.student-details-card .MuiTypography-body2-root{font-size:.76rem;line-height:1.4}.student-details-card .MuiTypography-caption-root{font-size:.68rem}.student-details-card .MuiInputBase-input,.student-details-card .MuiFormLabel-root,.student-details-card .MuiSelect-select{font-size:.76rem!important}.student-details-card .MuiChip-label{font-size:.68rem}.student-details-card .MuiTableCell-head{color:var(--muted);font-weight:600;background:var(--surface-soft)}.student-details-card .MuiButton-root,.student-details-card strong{color:var(--text)}.student-lessons-list,.student-lessons-table-wrap{scrollbar-width:thin;scrollbar-color:var(--student-scroll-thumb) var(--student-scroll-track)}.student-lessons-list::-webkit-scrollbar,.student-lessons-table-wrap::-webkit-scrollbar{width:7px}.student-lessons-list::-webkit-scrollbar-track,.student-lessons-table-wrap::-webkit-scrollbar-track{background:var(--student-scroll-track);border-radius:999px}.student-lessons-list::-webkit-scrollbar-thumb,.student-lessons-table-wrap::-webkit-scrollbar-thumb{background:var(--student-scroll-thumb);border-radius:999px}.student-lessons-list::-webkit-scrollbar-thumb:hover,.student-lessons-table-wrap::-webkit-scrollbar-thumb:hover{background:var(--student-scroll-thumb-hover)}@media (max-width: 820px){.students-page .student-card{min-height:160px}.students-controls{width:100%}.student-details-page{height:auto;max-height:none;overflow:auto}.student-lessons-list{max-height:36vh}.student-details-page .student-layout__details-pane{gap:10px}}@media (min-width: 821px) and (max-width: 1440px){.student-layout__card-summary .student-details-card,.student-layout__card-exercises .student-details-card{min-height:230px}.student-layout__card-next-subject .student-details-card,.student-layout__card-payment .student-details-card{min-height:165px}.student-lessons-list-card{min-height:360px}.student-lessons-list{max-height:38vh}.student-details-page .student-layout__details-pane{gap:10px}.student-details-page .student-details-card .MuiTypography-subtitle2-root{font-size:.72rem}.student-details-page .student-details-card .MuiTypography-body2-root{font-size:.68rem;line-height:1.3}.student-details-page .student-details-card .MuiTypography-caption-root{font-size:.62rem}.student-details-page .student-details-card .MuiInputBase-input,.student-details-page .student-details-card .MuiFormLabel-root,.student-details-page .student-details-card .MuiSelect-select{font-size:.68rem!important}.student-details-page .student-lessons-list .MuiListItemText-primary{font-size:.74rem!important;line-height:1.25}.student-details-page .student-lessons-list .MuiListItemText-secondary{font-size:.66rem!important;line-height:1.2}}@media (min-width: 1200px){.student-details-page .student-layout__details-grid.MuiGrid-container{display:grid!important;gap:12px;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-areas:"summary exercises" "subject payment"}.student-details-page .student-layout__card-summary{grid-area:summary}.student-details-page .student-layout__card-exercises{grid-area:exercises}.student-details-page .student-layout__card-next-subject{grid-area:subject}.student-details-page .student-layout__card-payment{grid-area:payment}.student-details-page .student-layout__card-payment-compact .student-details-card,.student-details-page .student-layout__root.student-layout__grid{height:100%}.student-details-page .student-layout__card-summary .student-details-card,.student-details-page .student-layout__card-exercises .student-details-card,.student-details-page .student-layout__card-next-subject .student-details-card,.student-details-page .student-layout__card-payment .student-details-card,.student-details-page .student-lessons-list-card{min-height:0}.student-details-page .student-lessons-list-card{min-height:0;height:100%}.student-details-page .student-lessons-list{max-height:none;height:100%}}.content.student-details-content-lock{overflow-y:hidden}.content.student-details-content-lock .page-body{height:100%;min-height:0;align-content:stretch}.midi-helper{display:grid;gap:12px}.midi-helper{--mh-bg: var(--surface);--mh-surface: color-mix(in srgb, var(--card) 72%, var(--bg));--mh-surface-2: color-mix(in srgb, var(--surface) 76%, var(--bg));--mh-border: var(--border);--mh-text: var(--text);--mh-muted: var(--text-2);--mh-shadow: 0 10px 26px var(--shadow-color);--mh-shadow-hover: 0 16px 34px var(--shadow-color);--mh-ring: color-mix(in srgb, var(--primary) 34%, transparent);--mh-slider-color: color-mix(in srgb, var(--primary) 88%, var(--on-accent))}:root[data-theme=light] .midi-helper{--mh-bg: var(--bg);--mh-surface: color-mix(in srgb, var(--card) 88%, var(--surface));--mh-surface-2: color-mix(in srgb, var(--surface) 74%, var(--card));--mh-border: var(--border);--mh-text: var(--text);--mh-muted: var(--text-2);--mh-shadow: 0 10px 26px var(--shadow-color);--mh-shadow-hover: 0 16px 34px var(--shadow-color);--mh-ring: color-mix(in srgb, var(--primary) 22%, transparent);--mh-slider-color: color-mix(in srgb, var(--accent) 88%, var(--text))}.midi-shell{border-radius:18px!important;border:1px solid var(--mh-border)!important;background:var(--mh-surface)!important;box-shadow:var(--mh-shadow)!important;overflow:hidden}.midi-shell__content{padding:16px!important}.midi-helper .MuiTypography-root{color:var(--mh-text)}.midi-helper .MuiTypography-body2-root{color:var(--mh-muted)}.midi-helper strong{color:var(--mh-text)}.midi-helper .MuiDivider-root{border-color:var(--mh-border)!important}.midi-helper .MuiCard-root{border-radius:16px!important;border:1px solid var(--mh-border)!important;background:var(--mh-surface-2)!important}.midi-helper .MuiTextField-root .MuiOutlinedInput-root{background:color-mix(in srgb,var(--mh-surface) 70%,transparent)!important;border-radius:12px}.midi-helper .MuiTextField-root .MuiOutlinedInput-notchedOutline{border-color:var(--mh-border)!important}.midi-helper .MuiTextField-root:hover .MuiOutlinedInput-notchedOutline{border-color:color-mix(in srgb,var(--primary) 45%,var(--mh-border))!important}.midi-helper .MuiTextField-root .MuiInputBase-input,.midi-helper .MuiTextField-root .MuiSelect-select{color:var(--mh-text)!important}.midi-helper .MuiTextField-root .MuiInputLabel-root,.midi-helper .MuiTextField-root .MuiFormHelperText-root{color:var(--mh-muted)!important}.midi-helper .MuiOutlinedInput-root.Mui-focused{box-shadow:0 0 0 3px var(--mh-ring)}.midi-helper .MuiPaper-root.MuiMenu-paper{border:1px solid var(--mh-border);background:color-mix(in srgb,var(--mh-bg) 86%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.midi-helper .MuiMenuItem-root{color:var(--mh-text)}.midi-helper .MuiMenuItem-root.Mui-selected{background:color-mix(in srgb,var(--primary) 18%,transparent)!important}.midi-helper .MuiButton-contained{border-radius:12px;box-shadow:none}.midi-helper .MuiButton-outlined{border-radius:12px;border-color:var(--mh-border);color:var(--mh-text)}.midi-helper .MuiButton-outlined:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--mh-border));background:color-mix(in srgb,var(--primary) 10%,transparent)}.midi-helper .MuiSlider-root{color:var(--mh-slider-color)}.midi-helper .MuiSlider-rail{opacity:.25}.midi-helper .MuiSlider-track{border:none}.midi-helper .MuiSlider-thumb{box-shadow:0 6px 14px var(--shadow-color)}.midi-helper .MuiAlert-root{border-radius:14px;border:1px solid var(--mh-border)}.ex-page{display:grid;gap:10px}.ex-toolbar{margin-bottom:2px;gap:8px}.ex-toolbar__title-wrap{display:grid;gap:2px}.ex-toolbar__meta{padding-left:2px}.ex-state{min-height:220px;display:grid;place-items:center}.ex-alert{border:1px solid var(--border);border-radius:10px}.ex-card{border-radius:16px!important;border-color:var(--border)!important;background:var(--card)!important;background-image:none!important}.ex-card__content{padding:14px!important;display:grid;gap:10px}.ex-section-title,.ex-card .MuiIconButton-root{color:var(--text)}.ex-action-cluster .MuiIconButton-root{border:1px solid var(--border);border-radius:10px}.ex-action-cluster .MuiIconButton-root:hover{background:var(--wood-wash)}.ex-action-cluster .MuiIconButton-root:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 24%,transparent)}.ex-card .MuiIconButton-root.Mui-disabled{color:var(--muted)}.ex-card .MuiIconButton-colorPrimary{color:var(--primary)}.ex-muted{color:var(--muted)!important}.ex-divider{border-color:var(--border)!important}.ex-list{max-height:52vh;overflow:auto;padding-top:2px}.ex-level-section{display:grid;gap:4px;margin-bottom:8px}.ex-level-title{color:var(--muted)!important;text-transform:capitalize;padding:2px 4px 0}.ex-list__item{border-radius:12px!important;margin-bottom:2px;border:1px solid transparent;min-height:54px}.ex-list__item:hover{background:var(--wood-wash)!important}.ex-list__item:focus-visible{outline:none;border-color:color-mix(in srgb,var(--primary) 38%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}.ex-list__item.Mui-selected{border-color:color-mix(in srgb,var(--wood-700) 28%,var(--border));background:var(--wood-wash-2)!important}.ex-list__item.Mui-selected:hover{background:color-mix(in srgb,var(--wood-wash-2) 90%,var(--wood-wash))!important}.ex-list-text .MuiListItemText-primary{color:var(--text)!important}.ex-list-text .MuiListItemText-secondary{color:var(--muted)!important}.ex-list-secondary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ex-audio{border:1px solid var(--border);border-radius:14px;padding:12px;background:var(--card-2)}.ex-audio__player{width:100%;margin-top:8px;border-radius:10px}.ex-view-card{border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--card-2) 92%,transparent) 0%,var(--card-2) 100%);padding:10px;display:grid;gap:5px;color:var(--text)}.ex-view-card--small{width:fit-content;min-width:120px}.ex-view-grid{display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;align-items:start}.ex-view-card--description,.ex-view-card--audio{background:var(--card-2)}.ex-view-card .MuiTypography-root{color:var(--text)}.ex-view-card .ex-muted,.ex-view-card .MuiTypography-caption{color:var(--muted)!important}.ex-view-card .MuiTypography-subtitle2-root{line-height:1.35}.ex-view-card .MuiTypography-body2-root{line-height:1.45}@media (max-width: 899px){.ex-grid{row-gap:12px}.ex-list{max-height:38vh}.ex-card__content{padding:12px!important;gap:8px}}@media (min-width: 900px) and (max-width: 1199px){.ex-grid{row-gap:10px}.ex-list{max-height:46vh}}.pinned-notes-grid{--pinned-note-bg: color-mix(in srgb, var(--note-bg) 74%, var(--card));--pinned-note-bg-active: color-mix(in srgb, var(--note-bg) 82%, var(--card));--pinned-note-border: color-mix(in srgb, var(--accent) 28%, var(--border));--pinned-note-pin: color-mix(in srgb, var(--accent) 40%, var(--text));--pinned-note-delete: color-mix(in srgb, var(--text) 62%, var(--accent));--pinned-note-delete-bg: color-mix(in srgb, var(--card) 76%, transparent);--pinned-note-delete-hover-bg: color-mix(in srgb, var(--accent) 18%, transparent);--pinned-note-text: color-mix(in srgb, var(--text) 92%, var(--surface));--pinned-note-placeholder: color-mix(in srgb, var(--text-2) 68%, transparent);--pinned-note-shadow: 0 4px 12px color-mix(in srgb, var(--shadow-color) 52%, transparent);--pinned-note-focus-ring: color-mix(in srgb, var(--accent) 34%, transparent)}.pinned-notes-header{margin-bottom:2px}.pinned-notes-title{color:color-mix(in srgb,var(--text) 84%,var(--text-2));letter-spacing:.02em}.pinned-notes-add.MuiButton-root{border-color:color-mix(in srgb,var(--accent) 32%,var(--border));color:color-mix(in srgb,var(--text) 84%,var(--accent));background:color-mix(in srgb,var(--accent) 8%,var(--card));text-transform:none;font-weight:600}.pinned-notes-add.MuiButton-root:hover{border-color:color-mix(in srgb,var(--accent) 44%,var(--border));background:color-mix(in srgb,var(--accent) 14%,var(--card))}.pinned-notes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.pinned-note{position:relative;background:var(--pinned-note-bg);border:1px solid var(--pinned-note-border);border-radius:10px;box-shadow:var(--pinned-note-shadow);transform:rotate(var(--note-tilt, 0deg));transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.pinned-note-pin{position:absolute;top:7px;left:50%;width:8px;height:8px;border-radius:50%;transform:translate(-50%);background:var(--pinned-note-pin);box-shadow:0 1px 2px color-mix(in srgb,black 25%,transparent)}.pinned-note-delete{position:absolute;top:6px;right:6px;width:18px;height:18px;border:1px solid color-mix(in srgb,var(--pinned-note-delete) 22%,transparent);border-radius:999px;background:var(--pinned-note-delete-bg);color:var(--pinned-note-delete);cursor:pointer;line-height:1;font-size:.72rem;display:inline-flex;align-items:center;justify-content:center;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.pinned-note-delete:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--pinned-note-delete-hover-bg);color:color-mix(in srgb,var(--text) 78%,var(--accent))}.pinned-note-delete:focus-visible{outline:0;box-shadow:0 0 0 2px var(--pinned-note-focus-ring)}.pinned-note-textarea{width:100%;min-height:110px;border:1px solid transparent;border-radius:inherit;resize:vertical;background:transparent;color:var(--pinned-note-text);font:inherit;font-size:.8rem;line-height:1.45;padding:22px 10px 10px;direction:auto}.pinned-note-textarea::placeholder{color:var(--pinned-note-placeholder)}.pinned-note-textarea:focus-visible{outline:none;border-color:color-mix(in srgb,var(--accent) 36%,transparent);background:var(--pinned-note-bg-active);box-shadow:inset 0 0 0 2px var(--pinned-note-focus-ring)}@media (min-width: 1200px){.pinned-notes-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 768px) and (max-width: 1199px){.pinned-notes-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 767px){.pinned-notes-grid{grid-template-columns:1fr}}.studio-page{--studio-pill-bg: color-mix(in srgb, var(--surface-soft) 62%, var(--card));--studio-pill-border: var(--border);--studio-pill-text: var(--text-2);--studio-timeline-event-left: 92px;--studio-timeline-event-right: 6px;height:100%;max-height:100%;min-height:0;margin:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;overflow:hidden;align-self:stretch}.studio-topbar{display:grid;gap:4px}.studio-dashboard{height:100%;min-height:0;display:grid;gap:10px;grid-template-columns:1fr;grid-template-areas:"today" "upcoming" "payments" "notes";overflow:visible}.studio-card-slot{min-height:0;display:flex;overflow:hidden}.studio-card-today{grid-area:today}.studio-card-nextdays{grid-area:upcoming}.studio-card-payments{grid-area:payments}.studio-card-notes{grid-area:notes}.studio-card-slot .student-details-card{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;background:var(--card);border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border)}.studio-card-slot .student-details-content{padding:10px!important;display:flex;flex-direction:column;height:100%;min-height:0}.studio-card--today{border-color:color-mix(in srgb,var(--accent) 14%,var(--border));background:color-mix(in srgb,var(--card) 92%,var(--surface))}.studio-card--next{border-color:color-mix(in srgb,var(--text) 8%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--card) 98%,var(--surface)),color-mix(in srgb,var(--card) 94%,var(--surface)));box-shadow:0 2px 10px color-mix(in srgb,var(--shadow-color) 40%,transparent)}.studio-card-header{flex:0 0 auto;padding:2px 2px 4px}.studio-today-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.studio-overlap-toggle.MuiButton-root{min-height:28px;border-radius:8px;text-transform:none;font-size:.7rem;border-color:color-mix(in srgb,var(--accent) 28%,var(--border));color:color-mix(in srgb,var(--text) 80%,var(--accent));background:color-mix(in srgb,var(--accent) 6%,var(--card))}.studio-overlap-toggle.MuiButton-root:hover{background:color-mix(in srgb,var(--accent) 12%,var(--card))}.studio-card-body{flex:1 1 auto;min-height:0;overflow:auto;padding:12px}.studio-card-payments .studio-card-body{overflow-y:scroll;overflow-x:hidden;overscroll-behavior:contain;padding:0 6px 0 0}.studio-card-payments .studio-card-body::-webkit-scrollbar{width:9px}.studio-card-payments .studio-card-body::-webkit-scrollbar-track{background:color-mix(in srgb,var(--text) 10%,transparent);border-radius:999px}.studio-card-payments .studio-card-body::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 58%,var(--text));border-radius:999px}.studio-card-payments .studio-card-body::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--accent) 72%,var(--text))}.studio-notes-card .student-details-content{overflow:auto;opacity:.88}.studio-list{margin:0;padding-left:14px;display:grid;gap:3px}.studio-session--past{text-decoration-line:line-through;text-decoration-thickness:1px}.studio-heading-primary{color:var(--text);letter-spacing:.2px}.studio-heading-secondary{color:var(--text-2);letter-spacing:.2px}.studio-today-body{overflow:hidden;padding:0}.studio-timeline-shell{height:100%;min-height:0;padding:4px 0 0}.studio-timeline-scroll{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:smooth;padding:0 10px 10px 0}.studio-timeline{position:relative;min-height:100%;isolation:isolate}.studio-timeline-axis{position:absolute;top:0;bottom:0;left:72px;width:1px;background:color-mix(in srgb,var(--accent) 22%,var(--border))}.studio-timeline-tick{position:absolute;left:0;right:0;height:1px}.studio-timeline-time{position:absolute;left:0;top:-10px;width:62px;text-align:right;color:var(--text-2);font-size:.68rem;font-weight:600;letter-spacing:.02em}.studio-timeline-line{position:absolute;left:72px;right:0;height:1px;background:color-mix(in srgb,var(--text) 8%,transparent)}.studio-timeline-now{position:absolute;left:72px;right:0;display:flex;align-items:center;gap:8px;z-index:3}.studio-timeline-now-dot{width:9px;height:9px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent);transform:translate(-4px)}.studio-timeline-now-line{flex:1;height:2px;border-radius:999px;background:color-mix(in srgb,var(--accent) 72%,var(--text))}.studio-timeline-event{position:absolute;left:var(--studio-timeline-event-left);right:var(--studio-timeline-event-right);border-radius:14px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,var(--card)),color-mix(in srgb,var(--accent) 36%,var(--card)));box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 18%,transparent);padding:8px 10px;display:grid;align-content:start;gap:2px;overflow:hidden;container-type:inline-size}.studio-timeline-event--conflict{border-color:color-mix(in srgb,#e05757 66%,var(--border));box-shadow:inset 0 0 0 1px color-mix(in srgb,#e05757 38%,transparent),0 8px 20px color-mix(in srgb,#e05757 16%,transparent)}.studio-timeline-event-time{color:color-mix(in srgb,var(--text) 74%,transparent);font-weight:700;letter-spacing:.02em}.studio-timeline-event-student{color:var(--text);font-weight:600;line-height:1.25}.studio-timeline-event-focus{color:color-mix(in srgb,var(--text) 82%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-timeline-event--short{padding:6px 8px;gap:1px}.studio-timeline-event--short .studio-timeline-event-focus{display:none}@container (max-width: 170px){.studio-timeline-event-time{font-size:.64rem}.studio-timeline-event-student{font-size:.7rem;line-height:1.2}.studio-timeline-event-focus{font-size:.64rem}}@container (max-width: 130px){.studio-timeline-event{padding:6px 7px}.studio-timeline-event-time{font-size:.6rem}.studio-timeline-event-student{font-size:.64rem}.studio-timeline-event-focus{display:none}}.studio-timeline-event--past{opacity:.62}.studio-timeline-empty{position:sticky;top:12px;margin-left:92px;margin-right:6px;border:1px dashed var(--border);border-radius:12px;padding:10px;color:var(--text-2);background:color-mix(in srgb,var(--card) 90%,var(--surface))}.studio-next-group{display:grid;gap:4px;padding:8px;border-radius:10px;background:color-mix(in srgb,var(--card) 92%,var(--surface))}.studio-next-group:last-child{margin-bottom:0}.studio-next-day-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.studio-next-date{color:color-mix(in srgb,var(--text) 74%,transparent);font-weight:600;letter-spacing:.01em}.studio-next-day-count{min-width:20px;height:20px;border-radius:999px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 14%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));color:color-mix(in srgb,var(--text) 82%,transparent);font-size:.65rem;font-weight:700}.studio-next-list{display:grid;gap:3px}.studio-next-item{color:color-mix(in srgb,var(--text) 82%,transparent);display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px;align-items:baseline;line-height:1.35;padding:4px 0 4px 8px;border-bottom:.05px solid color-mix(in srgb,var(--accent) 10%,transparent);border-left:2px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:6px}.studio-next-time{color:color-mix(in srgb,var(--text) 70%,transparent);font-weight:600;font-size:.7rem;letter-spacing:.02em}.studio-next-student{color:color-mix(in srgb,var(--text) 88%,transparent);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-details-content .card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.card-title{font-weight:600;letter-spacing:.2px;color:var(--text-2)}.pill{font-size:10px;padding:3px 8px;border-radius:999px;background:var(--studio-pill-bg);border:1px solid var(--studio-pill-border);color:var(--studio-pill-text)}.next-days-list{display:grid;gap:4px}.muted{color:var(--text-2)}.studio-page .MuiTypography-subtitle2-root{font-size:.78rem}.studio-page .MuiTypography-body2-root{font-size:.76rem;line-height:1.4}.studio-page .MuiTypography-caption-root{font-size:.7rem}@media (max-width: 899px){.studio-page{--studio-timeline-event-left: 78px;--studio-timeline-event-right: 6px;overflow:auto}.studio-dashboard{overflow:visible;gap:10px}.studio-card-slot{overflow:visible}.studio-card-slot .student-details-card{min-height:150px}.studio-card-today .student-details-card,.studio-card-nextdays .student-details-card{min-height:180px}.studio-card-payments .student-details-card,.studio-notes-card{min-height:220px}.studio-today-item{grid-template-columns:1fr;gap:3px}.studio-timeline-axis,.studio-timeline-line,.studio-timeline-now{left:60px}.studio-timeline-time{width:50px;font-size:.64rem}.studio-timeline-empty{margin-left:78px}.studio-page .MuiTypography-subtitle2-root{font-size:.8rem}.studio-page .MuiTypography-body2-root{font-size:.76rem;line-height:1.4}.studio-page .MuiTypography-caption-root{font-size:.7rem}}@media (min-width: 520px) and (max-width: 899px){.studio-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"today upcoming" "payments payments" "notes notes"}.studio-card-today .student-details-card,.studio-card-nextdays .student-details-card{min-height:170px}}.content.studio-content-lock{overflow-y:hidden}.content.studio-content-lock .page-body{height:100%;min-height:0;align-content:stretch}@media (min-width: 900px) and (max-width: 1199px){.studio-page{overflow:auto}.studio-dashboard{height:auto;overflow:visible;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"today upcoming" "payments notes";grid-template-rows:minmax(0,.8fr) minmax(0,1.2fr)}.studio-card-today,.studio-card-nextdays,.studio-card-payments,.studio-card-notes{min-height:0}}@media (min-width: 1200px) and (max-width: 1439px){.studio-page{overflow:hidden}.studio-dashboard{height:100%;overflow:hidden;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"today upcoming" "payments notes";grid-template-rows:repeat(2,minmax(0,1fr))}}@media (min-width: 1440px){.studio-page{overflow:hidden}.studio-dashboard{height:100%;overflow:hidden;gap:10px;grid-template-columns:1fr 1fr minmax(320px,.9fr);grid-template-areas:"today upcoming notes" "payments payments notes";grid-template-rows:minmax(220px,.9fr) minmax(260px,1.1fr)}}.payments-due{display:grid;gap:8px;background:transparent;border:0;border-radius:12px;padding:0}.payments-due-filter-wrap{display:inline-flex;align-items:center;gap:6px}.payments-due-filter-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.payments-due-filter-control{position:relative;display:inline-flex;align-items:center}.payments-due-filter{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid color-mix(in srgb,var(--text) 12%,transparent);background:color-mix(in srgb,var(--card) 92%,var(--surface));color:var(--text);border-radius:999px;font-size:.68rem;font-weight:600;padding:4px 24px 4px 10px;line-height:1.2;cursor:pointer}.payments-due-filter:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 22%,transparent)}.payments-due-filter-icon{position:absolute;right:8px;pointer-events:none;color:color-mix(in srgb,var(--text) 68%,transparent);font-size:.72rem}.payments-due-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid color-mix(in srgb,var(--text) 8%,transparent);background:color-mix(in srgb,var(--card) 95%,var(--surface))}.payments-due-row:hover{background:color-mix(in srgb,var(--accent) 5%,var(--card))}.payments-due-row:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 42%,transparent);outline-offset:2px}.payments-due-left{display:flex;align-items:center;gap:10px;min-width:0}.payments-due-avatar{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;flex:0 0 auto;background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--text);font-size:.76rem;font-weight:700}.payments-due-student{display:grid;gap:2px;min-width:0}.payments-due-student .MuiTypography-root{color:var(--text);line-height:1.35}.payments-due-meta{color:var(--text-2);font-size:.7rem;line-height:1.3}.payments-due-action{display:flex;align-items:center;justify-content:center}.payments-due-reminder-btn{border-radius:999px!important;text-transform:none!important;font-weight:600!important;font-size:.68rem!important;min-height:28px!important;padding:3px 10px!important;box-shadow:none!important;border:1px solid color-mix(in srgb,var(--text) 14%,transparent)!important;background:color-mix(in srgb,var(--card) 92%,var(--surface))!important;color:var(--text)!important}.payments-due-reminder-btn:hover,.payments-due-reminder-btn:active{background:color-mix(in srgb,var(--accent) 9%,var(--card))!important;border-color:color-mix(in srgb,var(--accent) 34%,var(--border))!important}.payments-due-reminder-btn .MuiButton-startIcon{margin-right:5px!important}.payments-due-whatsapp-icon{color:var(--whatsapp-green)}.payments-due-amount{min-width:84px;text-align:right;color:var(--text);font-size:.8rem;font-weight:700;letter-spacing:.01em}@media (max-width: 899px){.payments-due-row{grid-template-columns:1fr auto;gap:8px}.payments-due-left{grid-column:1 / -1}.payments-due-action{justify-self:start}.payments-due-amount{justify-self:end;min-width:76px}}.settings-page{height:100%;min-height:0;padding:10px}.settings-modal-layout{height:100%;min-height:0;border:1px solid var(--border);border-radius:18px;background:var(--card);display:grid;grid-template-columns:220px minmax(0,1fr);overflow:hidden;box-shadow:var(--shadow)}.settings-menu{border-right:1px solid var(--border);background:color-mix(in srgb,var(--card-2) 74%,var(--surface));padding:14px;display:grid;gap:8px;align-content:start}.settings-menu-title{font-size:.8rem!important;color:var(--text-2);margin-bottom:4px!important}.settings-menu-button{justify-content:flex-start!important;border-radius:10px!important;min-height:36px!important;font-size:.76rem!important;font-weight:600!important;color:var(--text-2)!important;border:1px solid transparent!important}.settings-menu-button:hover{background:var(--wood-wash)!important}.settings-menu-button.is-active{color:var(--wood-800)!important;background:var(--wood-wash-2)!important;border-color:color-mix(in srgb,var(--wood-700) 20%,var(--border))!important}.settings-content-panel{height:100%;min-height:0;overflow:auto;padding:16px}.settings-section{display:grid;gap:12px}.settings-section-head{display:grid;gap:2px}.settings-title{font-size:1rem!important;font-weight:600!important}.settings-subtitle,.settings-subtle{color:var(--text-2)}.settings-subtitle{font-size:.75rem!important}.settings-subtle{font-size:.72rem!important}.settings-card{border-radius:14px!important;border:1px solid var(--border)!important;background:color-mix(in srgb,var(--card) 88%,var(--surface))!important;box-shadow:none!important}.settings-card-content{display:grid;gap:12px;padding:14px!important}.profile-overview-content{padding:12px 14px!important}.settings-profile-avatar{width:56px!important;height:56px!important;font-size:1rem!important;font-weight:600!important;color:var(--text)!important;background:color-mix(in srgb,var(--primary) 22%,var(--card-2))!important;border:1px solid color-mix(in srgb,var(--primary) 32%,var(--border))}.settings-profile-avatar-large{width:72px!important;height:72px!important;font-size:1.12rem!important}.settings-form-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-form-grid .MuiOutlinedInput-root{border-radius:10px}.settings-stat-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.settings-stat{border:1px solid var(--border);border-radius:10px;padding:10px;background:color-mix(in srgb,var(--surface-soft) 52%,transparent)}.settings-usage-track{display:grid;gap:6px}.settings-usage-track .MuiLinearProgress-root{height:8px;border-radius:999px;background:color-mix(in srgb,var(--surface-soft) 80%,transparent)}.settings-usage-track .MuiLinearProgress-bar{border-radius:999px;background:linear-gradient(90deg,var(--primary) 0%,color-mix(in srgb,var(--primary) 75%,var(--card)) 100%)}.settings-state{min-height:240px;display:grid;place-items:center}@media (max-width: 1024px){.settings-page{padding:8px}.settings-modal-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.settings-menu{border-right:0;border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}.settings-menu-title{grid-column:1 / -1}}@media (max-width: 760px){.settings-content-panel{padding:12px}.settings-form-grid,.settings-stat-grid,.settings-menu{grid-template-columns:1fr}}.calendar-page{display:grid;gap:10px;margin:5px;padding-top:15px;min-height:0}.calendar-page--state{min-height:220px;place-items:center}.calendar-page-title{color:var(--text);letter-spacing:.01em}.calendar-page-header{display:grid;gap:8px}.calendar-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.calendar-control-field{display:grid;gap:4px;min-width:0}.calendar-control-label{font-size:.68rem;font-weight:600;color:var(--text-2);letter-spacing:.02em}.calendar-control-select,.calendar-control-input{min-height:40px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));background:color-mix(in srgb,var(--card) 92%,var(--surface));color:var(--text);padding:0 10px;font:inherit;width:100%}.calendar-control-select:focus-visible,.calendar-control-input:focus-visible,.calendar-day-cell:focus-visible,.calendar-month-nav-btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 26%,transparent)}.calendar-layout{display:grid;gap:10px;min-height:0}.calendar-left-rail,.calendar-main{display:grid;gap:10px;min-height:0;border-radius:15px}.calendar-card.MuiCard-root{border-radius:12px;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);min-height:0}.calendar-card-content{display:grid;gap:10px;padding:12px!important;min-height:0}.calendar-card-title{color:var(--text);letter-spacing:.015em}.calendar-month-header{display:flex;align-items:center;justify-content:space-between;gap:6px}.calendar-month-nav{display:inline-flex;gap:4px}.calendar-month-nav-btn.MuiButton-root{min-height:34px;border-radius:8px;color:var(--text-2);text-transform:none;padding:0 8px}.calendar-month-nav-btn.MuiButton-root:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.calendar-weekday-headings{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekday-headings span{text-align:center;color:var(--text-2);font-size:.64rem;font-weight:600}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-day-cell{min-height:36px;border:0;border-radius:999px;background:transparent;color:var(--text);cursor:pointer;font:inherit;font-size:.73rem;display:grid;place-items:center;position:relative}.calendar-day-cell.is-selected{background:color-mix(in srgb,var(--accent) 18%,var(--card));color:color-mix(in srgb,var(--text) 88%,var(--accent))}.calendar-day-cell.is-outside{color:color-mix(in srgb,var(--text-2) 65%,transparent)}.calendar-day-cell:hover{background:color-mix(in srgb,var(--accent) 10%,var(--card))}.calendar-day-dot{position:absolute;bottom:4px;width:4px;height:4px;border-radius:999px;background:var(--accent)}.calendar-upcoming-list{display:grid;gap:6px}.calendar-upcoming-item{display:grid;grid-template-columns:60px minmax(0,1fr);gap:8px;padding:8px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));background:color-mix(in srgb,var(--card) 88%,var(--surface))}.calendar-upcoming-time{color:var(--text-2);font-size:.7rem;font-weight:700}.calendar-upcoming-text{min-width:0;display:grid;line-height:1.25}.calendar-upcoming-text strong{color:var(--text);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-upcoming-text span{color:var(--text-2);font-size:.68rem}.calendar-card-content--schedule{gap:8px}.calendar-schedule-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-schedule-actions{display:inline-flex;align-items:center;gap:8px}.calendar-schedule-date{color:var(--text-2)}.calendar-overlap-toggle.MuiButton-root{min-height:32px;border-radius:9px;text-transform:none;border-color:color-mix(in srgb,var(--accent) 32%,var(--border));color:color-mix(in srgb,var(--text) 82%,var(--accent));background:color-mix(in srgb,var(--accent) 8%,var(--card))}.calendar-overlap-toggle.MuiButton-root:hover{background:color-mix(in srgb,var(--accent) 14%,var(--card))}.calendar-mobile-agenda{display:none;gap:6px}.calendar-agenda-item{display:grid;grid-template-columns:66px minmax(0,1fr);gap:8px;padding:9px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));background:color-mix(in srgb,var(--card) 90%,var(--surface))}.calendar-agenda-time{color:var(--text-2);font-size:.69rem;font-weight:700}.calendar-agenda-info{min-width:0;display:grid;gap:2px;line-height:1.25}.calendar-agenda-info strong,.calendar-agenda-info span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-agenda-info strong{color:var(--text);font-size:.76rem}.calendar-agenda-info span{color:var(--text-2);font-size:.7rem}.calendar-timeline-shell{min-height:0;display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px}.calendar-time-axis{display:grid;grid-template-rows:repeat(auto-fit,minmax(0,68px));align-content:start}.calendar-time-label{color:var(--text-2);font-size:.67rem;font-weight:600}.calendar-grid{position:relative;min-height:var(--calendar-grid-height);border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));background:color-mix(in srgb,var(--card) 90%,var(--surface));overflow:hidden}.calendar-hour-line{position:absolute;left:0;right:0;height:1px;background:color-mix(in srgb,var(--text) 10%,transparent)}.calendar-now-line{position:absolute;left:0;right:0;display:flex;align-items:center;gap:8px;z-index:2}.calendar-now-dot{width:8px;height:8px;margin-left:7px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent)}.calendar-now-stroke{flex:1;height:2px;background:color-mix(in srgb,var(--accent) 70%,var(--text))}.calendar-event{position:absolute;left:10px;right:10px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 24%,var(--card)),color-mix(in srgb,var(--accent) 14%,var(--card)));box-shadow:0 6px 14px color-mix(in srgb,var(--shadow-color) 60%,transparent);padding:8px 9px;display:grid;align-content:start;gap:1px;z-index:3;overflow:hidden}.calendar-event--compact .calendar-event-focus{display:none}.calendar-event-time{color:color-mix(in srgb,var(--text) 74%,transparent);font-size:.66rem;font-weight:700}.calendar-event-student{color:var(--text);font-size:.78rem;line-height:1.2;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event-focus{color:color-mix(in srgb,var(--text) 78%,transparent);font-size:.68rem;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-empty-timeline{position:absolute;top:10px;left:10px;right:10px;border-radius:10px;border:1px dashed var(--border);padding:8px;background:color-mix(in srgb,var(--card) 88%,var(--surface))}@media (max-width: 519px){.calendar-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-control-field--filter{grid-column:1 / -1}.calendar-control-select,.calendar-control-input{min-height:44px}.calendar-month-grid{gap:3px}.calendar-day-cell{min-height:34px;font-size:.68rem}.calendar-schedule-actions{flex-direction:column;align-items:flex-end;gap:4px}.calendar-timeline-shell{display:none}.calendar-mobile-agenda{display:grid}}@media (min-width: 520px) and (max-width: 899px){.calendar-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-timeline-shell{display:none}.calendar-mobile-agenda{display:grid}.calendar-control-select,.calendar-control-input{min-height:42px}}@media (min-width: 900px) and (max-width: 1199px){.calendar-page-header{grid-template-columns:auto 1fr;align-items:end;gap:12px}.calendar-controls{grid-template-columns:repeat(3,minmax(120px,170px));justify-content:end}.calendar-control-select,.calendar-control-input{min-height:36px;font-size:.82rem}.calendar-layout{grid-template-columns:1fr}.calendar-left-rail{grid-template-columns:1fr 1fr}.calendar-mobile-agenda{display:none}.calendar-timeline-shell{display:grid}}@media (min-width: 1200px) and (max-width: 1439px){.calendar-page-header{grid-template-columns:auto 1fr;align-items:end;gap:12px}.calendar-controls{grid-template-columns:repeat(3,minmax(120px,170px));justify-content:end}.calendar-control-select,.calendar-control-input{min-height:36px;font-size:.82rem}.calendar-layout{grid-template-columns:minmax(320px,.34fr) minmax(0,.66fr);align-items:start}.calendar-mobile-agenda{display:none}.calendar-timeline-shell{display:grid}}@media (min-width: 1440px){.calendar-page-header{grid-template-columns:auto 1fr;align-items:end;gap:12px}.calendar-controls{grid-template-columns:repeat(3,minmax(120px,170px));justify-content:end}.calendar-control-select,.calendar-control-input{min-height:36px;font-size:.82rem}.calendar-layout{grid-template-columns:minmax(320px,.3fr) minmax(0,.7fr);align-items:start}.calendar-mobile-agenda{display:none}.calendar-timeline-shell{display:grid}}.student-workspace-page{min-height:0}.student-workspace-grid{display:grid;gap:10px;min-height:0}.student-workspace-main,.student-workspace-list{min-height:0;overflow:hidden;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow)}.student-workspace-content{gap:10px}.student-workspace-content .MuiTypography-root{color:var(--text)}.student-workspace-content .muted{color:var(--text-2)}.student-workspace-accordion.MuiAccordion-root{border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--card) 88%,var(--surface));box-shadow:none}.student-workspace-accordion.MuiAccordion-root:before{display:none}.student-workspace-accordion .MuiAccordionSummary-root{min-height:44px}.student-workspace-accordion .MuiAccordionSummary-content{margin:8px 0}.student-workspace-accordion .MuiAccordionSummary-expandIconWrapper{color:var(--text-2)}.student-workspace-accordion .MuiAccordionDetails-root{border-top:1px solid color-mix(in srgb,var(--accent) 14%,var(--border))}.student-workspace-lessons{min-height:0;overflow:auto;display:grid;gap:4px}.student-workspace-lesson-item,.student-workspace-exercise-item{border-radius:10px;border:1px solid transparent}.student-workspace-lesson-item.Mui-selected,.student-workspace-exercise-item.Mui-selected{border-color:color-mix(in srgb,var(--accent) 38%,var(--border));background:color-mix(in srgb,var(--accent) 14%,transparent)}.student-workspace-lesson-item:hover,.student-workspace-exercise-item:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.student-workspace-audio{width:min(420px,100%);border-radius:10px}.student-workspace-payment-chip{color:var(--text-2);border-color:color-mix(in srgb,var(--text-2) 28%,var(--border));background:color-mix(in srgb,var(--surface) 68%,transparent)}.student-workspace-payment-chip--paid{color:color-mix(in srgb,var(--success) 80%,var(--text));border-color:color-mix(in srgb,var(--success) 44%,var(--border))}.student-workspace-payment-chip--pending{color:color-mix(in srgb,var(--warning) 85%,var(--text));border-color:color-mix(in srgb,var(--warning) 46%,var(--border))}.student-workspace-payment-chip--canceled,.student-workspace-payment-chip--refunded{color:color-mix(in srgb,var(--danger) 75%,var(--text));border-color:color-mix(in srgb,var(--danger) 42%,var(--border))}.student-workspace-waiting-chip{color:color-mix(in srgb,var(--text-2) 84%,var(--accent));border-color:color-mix(in srgb,var(--accent) 34%,var(--border));background:color-mix(in srgb,var(--accent) 8%,transparent)}@media (min-width: 1024px){.student-workspace-grid{grid-template-columns:minmax(0,1fr) minmax(280px,320px);align-items:start}.student-workspace-main{order:1}.student-workspace-list{order:2}}.student-profile-root-card{border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));background:color-mix(in srgb,var(--card) 88%,var(--surface))}.student-profile-hero.MuiCard-root,.student-profile-section.MuiCard-root{border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--surface) 72%,var(--card))}.student-profile-hero-content,.student-profile-section-content{display:grid;gap:10px;padding:12px!important}.student-profile-hero-content{grid-template-columns:auto 1fr;align-items:center}.student-profile-avatar.MuiAvatar-root{width:46px;height:46px;background:color-mix(in srgb,var(--accent) 72%,var(--card));color:var(--on-accent);font-weight:700}.student-profile-row{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:start;color:var(--text-2)}.student-settings-card{border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));background:color-mix(in srgb,var(--card) 88%,var(--surface))}.student-settings-section.MuiCard-root{border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:16px;background:color-mix(in srgb,var(--surface) 72%,var(--card))}.student-settings-section-content{display:grid;gap:8px;padding:12px!important}.student-settings-segmented{display:grid;grid-template-columns:1fr 1fr;gap:6px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:13px;padding:3px;background:color-mix(in srgb,var(--surface) 70%,var(--card))}.student-settings-segment{min-height:34px;border:0;border-radius:10px;background:transparent;color:var(--text-2);font-weight:600;font-size:.82rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.student-settings-segment.is-active{background:color-mix(in srgb,var(--accent) 56%,var(--card));color:var(--on-accent)}.student-settings-segment:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 38%,transparent)}.student-settings-account-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid color-mix(in srgb,var(--danger) 26%,var(--border));border-radius:12px;padding:4px;background:color-mix(in srgb,var(--danger) 7%,transparent)}.student-settings-logout-btn.MuiButton-root{border-color:transparent;color:color-mix(in srgb,var(--danger) 90%,var(--text));background:transparent;text-transform:none;justify-content:flex-start}.student-settings-logout-btn.MuiButton-root:hover{background:color-mix(in srgb,var(--danger) 14%,transparent)}:root{font-family:Manrope,Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;--bg: #EEEEEE;--surface: color-mix(in srgb, #EEEEEE 92%, #393E46);--card: #FFFFFF;--accent: #00ADB5;--text: #222831;--text-2: #2C3639;--text-3: color-mix(in srgb, #2C3639 52%, #EEEEEE);--border: rgba(34, 40, 49, .14);--shadow-color: rgba(34, 40, 49, .1);--card-2: color-mix(in srgb, var(--card) 88%, var(--surface));--surface-elev: var(--card);--surface-soft: var(--card-2);--muted: var(--text-2);--primary: var(--accent);--primary-hover: color-mix(in srgb, var(--accent) 85%, black);--shadow: 0 4px 20px var(--shadow-color);--overlay: rgba(34, 40, 49, .42);--danger: color-mix(in srgb, #222831 76%, #00ADB5);--danger-soft: color-mix(in srgb, var(--danger) 12%, transparent);--danger-border: color-mix(in srgb, var(--danger) 28%, var(--border));--danger-hover-soft: color-mix(in srgb, var(--danger) 18%, transparent);--success: color-mix(in srgb, #00ADB5 78%, #EEEEEE);--warning: color-mix(in srgb, #393E46 68%, #00ADB5);--warning-soft: color-mix(in srgb, var(--warning) 10%, transparent);--warning-border: color-mix(in srgb, var(--warning) 40%, var(--border));--on-accent: #FFFFFF;--scroll-track: color-mix(in srgb, var(--text-3) 12%, transparent);--scroll-thumb: color-mix(in srgb, var(--text-2) 32%, var(--accent));--scroll-thumb-hover: color-mix(in srgb, var(--text-2) 45%, var(--accent));--sidebar-bg: #EEEEEE;--sidebar-text: #222831;--sidebar-muted: color-mix(in srgb, #222831 62%, #EEEEEE);--wood-900: color-mix(in srgb, var(--accent) 80%, black);--wood-800: var(--accent);--wood-700: color-mix(in srgb, var(--accent) 72%, var(--text-2));--wood-600: color-mix(in srgb, var(--accent) 58%, var(--text-3));--wood-wash: color-mix(in srgb, var(--accent) 6%, transparent);--wood-wash-2: color-mix(in srgb, var(--accent) 10%, transparent);--teal-700: #00ADB5;--header-height: 60px;--header-gradient-start: #393E46;--header-gradient-end: #393E46;--note-bg: color-mix(in srgb, var(--card) 84%, var(--accent));--whatsapp-green: #25D366}:root[data-theme=dark]{--bg: #222831;--surface: #393E46;--card: color-mix(in srgb, #393E46 90%, #222831);--accent: #00ADB5;--text: #EEEEEE;--text-2: color-mix(in srgb, #EEEEEE 76%, #393E46);--text-3: color-mix(in srgb, #EEEEEE 58%, #393E46);--border: rgba(238, 238, 238, .14);--shadow-color: rgba(0, 0, 0, .4);--card-2: color-mix(in srgb, var(--card) 86%, var(--surface));--surface-elev: var(--card);--surface-soft: var(--card-2);--muted: var(--text-2);--primary: var(--accent);--primary-hover: color-mix(in srgb, var(--accent) 82%, #EEEEEE);--shadow: 0 4px 20px var(--shadow-color);--overlay: rgba(0, 0, 0, .5);--danger: color-mix(in srgb, #222831 76%, #00ADB5);--danger-soft: color-mix(in srgb, var(--danger) 20%, transparent);--danger-border: color-mix(in srgb, var(--danger) 34%, var(--border));--danger-hover-soft: color-mix(in srgb, var(--danger) 27%, transparent);--success: color-mix(in srgb, #00ADB5 74%, #393E46);--warning: color-mix(in srgb, #EEEEEE 30%, #00ADB5);--warning-soft: color-mix(in srgb, var(--warning) 16%, transparent);--warning-border: color-mix(in srgb, var(--warning) 48%, var(--border));--on-accent: #EEEEEE;--scroll-track: color-mix(in srgb, var(--text-3) 18%, transparent);--scroll-thumb: color-mix(in srgb, var(--text-2) 36%, var(--accent));--scroll-thumb-hover: color-mix(in srgb, var(--text-2) 50%, var(--accent));--sidebar-bg: #393E46;--sidebar-text: var(--text);--sidebar-muted: var(--text-2);--wood-900: color-mix(in srgb, var(--accent) 76%, white);--wood-800: var(--accent);--wood-700: color-mix(in srgb, var(--accent) 74%, var(--text-2));--wood-600: color-mix(in srgb, var(--accent) 62%, var(--text-3));--wood-wash: color-mix(in srgb, var(--accent) 14%, transparent);--wood-wash-2: color-mix(in srgb, var(--accent) 22%, transparent);--teal-700: #00ADB5;--note-bg: color-mix(in srgb, var(--card) 72%, var(--accent));--whatsapp-green: #26bf5f}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}*::-webkit-scrollbar{width:7px;height:7px}*::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:999px}*::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}body{margin:0;color:var(--text);background:var(--bg);overflow:hidden}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px;height:80vh}.exercises-card{overflow:auto}.exercises-list{display:grid;gap:12px}.exercise-row{border:1px solid var(--border);border-radius:10px;padding:12px;display:grid;gap:10px;background:var(--card-2)}.exercise-row-header{display:flex;align-items:center;justify-content:space-between}.exercise-field{display:grid;gap:6px;font-size:.86rem;font-weight:600}.exercise-field input,.exercise-field textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--surface-elev);color:var(--text);font:inherit}.exercise-field textarea{resize:vertical}.exercise-audio-wrap{display:grid;gap:8px}.exercise-audio-name{font-size:.78rem}.exercise-audio-player{width:min(420px,100%)}.stat-card h3{margin-top:6px;font-size:1.7rem;font-weight:600}.muted{color:var(--muted)}.row{display:flex;align-items:center;gap:10px}.space-between{justify-content:space-between;margin-bottom:10px}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--border);text-align:left;padding:9px;font-size:.92rem}th{color:var(--muted)}.primary-button,.secondary-button{border:1px solid transparent;border-radius:10px;padding:9px 14px;font-weight:600;cursor:pointer}.primary-button{background:var(--wood-800);color:var(--on-accent)}.primary-button:hover,.primary-button:active{background:var(--wood-900)}.primary-button:disabled{background:color-mix(in srgb,var(--wood-800) 35%,transparent);color:color-mix(in srgb,var(--on-accent) 75%,transparent);border-color:transparent;opacity:1}.secondary-button{background:transparent;color:var(--wood-800);border-color:var(--border)}.secondary-button:hover{background:var(--wood-wash)}.secondary-button:active{background:var(--wood-wash-2)}.secondary-button:disabled{color:color-mix(in srgb,var(--wood-800) 45%,transparent);border-color:var(--border);background:transparent;opacity:1}.auth-container{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(430px,100%);display:grid;gap:14px;padding:22px;border-radius:14px;border:1px solid var(--border);background:var(--card)}.eyebrow{color:var(--primary);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.auth-card label{display:grid;gap:6px;font-weight:600}.auth-card input,.auth-card select{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--card);color:var(--text)}.auth-error{color:var(--danger);font-size:.8rem}.auth-success{color:var(--success);font-size:.8rem}.auth-hint{font-size:.8rem;color:var(--muted)}.auth-links{display:flex;justify-content:space-between;gap:8px}.auth-links a{color:var(--teal-700);text-decoration:none;font-weight:600;font-size:.92rem}.auth-links a:hover{color:color-mix(in srgb,var(--teal-700) 90%,var(--text))}.auth-role-cta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.auth-role-chip{border:1px solid var(--border);background:transparent;color:var(--text-2);border-radius:10px;min-height:38px;font-weight:600;cursor:pointer}.auth-role-chip.is-active{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--text)}.auth-claim-link{display:inline-flex;justify-content:center;align-items:center;text-decoration:none}.link-button{border:0;background:transparent;color:var(--teal-700);font-weight:600;font-size:.92rem;cursor:pointer;padding:0}.link-button:hover{color:color-mix(in srgb,var(--teal-700) 90%,var(--text))}.auth-card input:focus-visible,.auth-card select:focus-visible,.exercise-field input:focus-visible,.exercise-field textarea:focus-visible{outline:none;box-shadow:0 0 0 3px var(--wood-wash-2)}.MuiButton-root{font-weight:600!important}.MuiButton-contained{background:var(--wood-800)!important;color:var(--on-accent)!important}.MuiButton-contained:hover,.MuiButton-contained:active{background:var(--wood-900)!important}.MuiButton-contained.Mui-disabled{background:color-mix(in srgb,var(--wood-800) 35%,transparent)!important;color:color-mix(in srgb,var(--on-accent) 75%,transparent)!important}.MuiButton-outlined{border-color:var(--border)!important;color:var(--wood-800)!important;background:transparent!important}.MuiButton-outlined:hover{background:var(--wood-wash)!important}.MuiButton-outlined:active{background:var(--wood-wash-2)!important}.MuiButton-text{color:var(--wood-800)!important}.MuiButton-text:hover{background:var(--wood-wash)!important}button:disabled{opacity:.55;cursor:not-allowed}@media (max-width: 820px){th,td{white-space:nowrap;font-size:.86rem}.auth-links{flex-direction:column}}
