:root{font-family:"Source Sans 3",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.55;font-kerning:normal;--ink: #2C3639;--deep: #3F4E4F;--accent: #A27B5C;--accent-base: #DCD7C9;--indigo-accent: #430ddb;--base: #fcfcfc;--bg: var(--base);--surface: color-mix(in srgb, var(--base) 92%, var(--deep));--card: color-mix(in srgb, var(--base) 96%, var(--deep));--card-bg: linear-gradient(135deg, color-mix(in srgb, var(--indigo-accent) 3%, transparent), transparent 50%), color-mix(in srgb, var(--base) 96%, var(--deep));--text: var(--ink);--text-2: color-mix(in srgb, var(--ink) 78%, var(--deep));--text-3: color-mix(in srgb, var(--ink) 56%, var(--base));--text-area: color-mix(in srgb, var(--ink) 32%, var(--DCD7C9));--border: color-mix(in srgb, var(--ink) 14%, transparent);--shadow-color: color-mix(in srgb, var(--ink) 14%, transparent);--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) 86%, var(--ink));--indigo-accent-hover: color-mix(in srgb, var(--indigo-accent) 88%, var(--ink));--shadow: 0 4px 20px var(--shadow-color);--overlay: color-mix(in srgb, var(--ink) 42%, transparent);--danger: color-mix(in srgb, var(--accent) 58%, var(--ink));--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, var(--accent) 52%, var(--base));--warning: color-mix(in srgb, var(--accent) 52%, var(--deep));--warning-soft: color-mix(in srgb, var(--warning) 10%, transparent);--warning-border: color-mix(in srgb, var(--warning) 40%, var(--border));--on-accent: var(--base);--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: var(--base);--sidebar-text: var(--ink);--sidebar-muted: color-mix(in srgb, var(--ink) 62%, var(--base));--wood-900: color-mix(in srgb, var(--accent) 72%, var(--ink));--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: var(--accent);--header-height: 60px;--header-gradient-start: var(--deep);--header-gradient-end: var(--deep);--note-bg: color-mix(in srgb, var(--card) 84%, var(--accent));--whatsapp-green: #25D366;--focus-ring: 0 0 0 3px color-mix(in srgb, var(--indigo-accent) 35%, transparent)}:root[data-theme=dark]{color-scheme:dark;--bg: linear-gradient(160deg, color-mix(in srgb, var(--deep) 35%, var(--ink)) 0%, color-mix(in srgb, var(--deep) 20%, var(--ink)) 40%, color-mix(in srgb, var(--ink) 85%, black) 75%, #050607 100%);background-attachment:fixed;--surface: var(--deep);--card: color-mix(in srgb, var(--deep) 90%, var(--ink));--card-bg: var(--card);--text: var(--base);--text-2: color-mix(in srgb, var(--base) 78%, var(--deep));--text-3: color-mix(in srgb, var(--base) 60%, var(--deep));--border: color-mix(in srgb, var(--base) 14%, transparent);--shadow-color: color-mix(in srgb, #000 42%, transparent);--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%, var(--base));--indigo-accent-hover: color-mix(in srgb, var(--indigo-accent) 76%, var(--base));--shadow: 0 4px 20px var(--shadow-color);--overlay: color-mix(in srgb, #000 50%, transparent);--danger: color-mix(in srgb, var(--accent) 60%, var(--ink));--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, var(--accent) 52%, var(--deep));--warning: color-mix(in srgb, var(--accent) 56%, var(--base));--warning-soft: color-mix(in srgb, var(--warning) 16%, transparent);--warning-border: color-mix(in srgb, var(--warning) 48%, var(--border));--on-accent: var(--base);--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: var(--deep);--sidebar-text: var(--text);--sidebar-muted: var(--text-2);--wood-900: color-mix(in srgb, var(--accent) 76%, var(--base));--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: var(--accent);--note-bg: color-mix(in srgb, var(--card) 72%, var(--accent));--whatsapp-green: #25D366;--focus-ring: 0 0 0 3px color-mix(in srgb, var(--indigo-accent) 42%, transparent)}:root[data-theme=dark] .MuiInputBase-root,:root[data-theme=dark] .MuiOutlinedInput-root,:root[data-theme=dark] .MuiFilledInput-root,:root[data-theme=dark] .MuiInput-root{color:var(--text)}:root[data-theme=dark] .MuiPickersInputBase-root,:root[data-theme=dark] .MuiPickersOutlinedInput-root{color:var(--text)}:root[data-theme=dark] .MuiPickersInputBase-input,:root[data-theme=dark] .MuiPickersOutlinedInput-root input{color:var(--text)}:root[data-theme=dark] .MuiPickersOutlinedInput-notchedOutline{border-color:var(--border)}:root[data-theme=dark] .MuiPickersOutlinedInput-root:hover .MuiPickersOutlinedInput-notchedOutline{border-color:color-mix(in srgb,var(--primary) 36%,var(--border))}:root[data-theme=dark] .MuiPickersOutlinedInput-root.Mui-focused .MuiPickersOutlinedInput-notchedOutline{border-color:var(--primary)}:root[data-theme=dark] .MuiInputBase-input,:root[data-theme=dark] .MuiOutlinedInput-input,:root[data-theme=dark] .MuiInputBase-inputMultiline{color:var(--text)}:root[data-theme=dark] .MuiInputBase-input::placeholder,:root[data-theme=dark] .MuiOutlinedInput-input::placeholder,:root[data-theme=dark] .MuiInputBase-inputMultiline::placeholder{color:var(--text-3);opacity:1}:root[data-theme=dark] .MuiFormLabel-root{color:var(--text-2)}:root[data-theme=dark] .MuiFormLabel-root.Mui-focused{color:var(--primary)}:root[data-theme=dark] .MuiOutlinedInput-notchedOutline{border-color:var(--border)}:root[data-theme=dark] .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:color-mix(in srgb,var(--primary) 36%,var(--border))}:root[data-theme=dark] .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:var(--primary)}:root[data-theme=dark] .MuiSelect-select,:root[data-theme=dark] .MuiSelect-icon,:root[data-theme=dark] .MuiFormControl-root .MuiSvgIcon-root,:root[data-theme=dark] .MuiInputAdornment-root .MuiSvgIcon-root{color:var(--text-2)}:root[data-theme=dark] .MuiPickersPopper-paper{background-color:var(--card);color:var(--text);border:1px solid var(--border)}:root[data-theme=dark] .MuiPickersDay-root{color:var(--text)}:root[data-theme=dark] .MuiPickersDay-root.Mui-selected{background-color:var(--accent);color:var(--on-accent)}:root[data-theme=dark] .MuiPickersCalendarHeader-label{color:var(--text)}:root[data-theme=dark] .MuiPickersCalendarHeader-switchViewButton,:root[data-theme=dark] .MuiPickersArrowSwitcher-button,:root[data-theme=dark] .MuiClockPicker-arrowSwitcher button{color:var(--text-2)}:root[data-theme=dark] .MuiClockNumber-root{color:var(--text)}:root[data-theme=dark] .MuiClockNumber-root.Mui-selected{color:var(--on-accent)}:root[data-theme=dark] .MuiClockPointer-root{background-color:var(--accent)}:root[data-theme=dark] .MuiPaper-root.MuiMenu-paper,:root[data-theme=dark] .MuiPopover-paper,:root[data-theme=dark] .MuiDialog-paper{background-color:var(--card);color:var(--text);border-color:var(--border)}:root[data-theme=dark] .MuiMenuItem-root{color:var(--text)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}*::-webkit-scrollbar{width:4px;height:4px}*::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:999px;border:2px solid transparent;background-clip:content-box}*::-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}:where(a,button,input,select,textarea,summary,[role=button],[tabindex]:not([tabindex="-1"])):focus-visible{outline:none!important;box-shadow:var(--primary)!important}@media (max-width: 899px){input,textarea,select{font-size:16px!important}}.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)}.text-auto-dir{unicode-bidi:plaintext}.rtl-mirror{display:inline-block}:root[dir=rtl] .rtl-mirror{transform:scaleX(-1)}.student-details-card{border-radius:14px!important;border:1px solid var(--border)!important;background:var(--surface-elev)!important;box-shadow:none!important;color:var(--text)!important}.student-details-content{display:grid;gap:6px;color:var(--text)!important;width:100%;padding:12px!important}.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;font-variant-numeric:tabular-nums}th{color:var(--muted)}.primary-button,.secondary-button{border:1px solid transparent;border-radius:10px;padding:9px 14px;font-weight:600;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease}.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;min-height:100dvh;width:100%;display:grid;place-items:center;padding:24px;overflow-y:auto;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 78%,var(--bg)) 0%,var(--bg) 100%)}.auth-container--single{align-items:center}.auth-card{width:min(360px,100%);display:grid;gap:10px;padding:16px;border-radius:14px;border:1px solid var(--border);background:var(--card);box-shadow:0 4px 12px color-mix(in srgb,var(--ink) 5%,transparent)}.auth-card--signup{gap:8px}.auth-card h1{font-size:clamp(1.1rem,.62vw + .9rem,1.38rem);line-height:1.1;letter-spacing:-.02em}.auth-kicker{margin-top:-2px;font-size:.64rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--accent) 52%,var(--text-2))}.eyebrow{color:var(--primary);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.auth-branding{display:flex;align-items:center;justify-content:center}.auth-branding-logo{height:40px;width:auto}.auth-card label{display:grid;gap:4px;font-weight:600;font-size:.84rem}.auth-field{position:relative;display:block}.auth-card input,.auth-card select{width:100%;border:1px solid var(--border);border-radius:9px;min-height:38px;padding:8px 10px;background:var(--card);color:var(--text);transition:border-color .18s ease,box-shadow .18s ease}.auth-field input{padding-top:13px;padding-bottom:5px}.auth-field-label{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:.8rem;font-weight:600;color:var(--text-2);pointer-events:none;background:var(--card);padding:0 4px;transition:top .12s ease,transform .12s ease,font-size .12s ease,color .12s ease}.auth-field input:focus+.auth-field-label,.auth-field input:not(:placeholder-shown)+.auth-field-label,.auth-field input:-webkit-autofill+.auth-field-label{top:0;transform:translateY(-50%);font-size:.66rem;color:color-mix(in srgb,var(--indigo-accent) 74%,var(--text))}.auth-field:focus-within input{border-color:color-mix(in srgb,var(--accent) 42%,var(--border))}.auth-card .primary-button,.auth-card .secondary-button{width:100%;min-height:38px;padding:8px 12px}.auth-error{color:var(--danger);font-size:.72rem}.auth-success{color:var(--success);font-size:.72rem}.auth-hint{font-size:.72rem;color:var(--muted)}.auth-links{display:flex;justify-content:space-between;gap:8px}.auth-links--single{justify-content:flex-end}.auth-oauth-button{width:100%}.auth-oauth-button--icon{width:44px;min-width:44px;min-height:44px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;justify-self:center;padding:0}.auth-oauth-button--icon svg{font-size:1.2rem}.auth-oauth-button--labeled{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.auth-oauth-button--labeled span{font-size:.82rem;font-weight:600}.signup-form-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}.signup-field{min-width:0}.signup-field--full{grid-column:1 / -1}.signup-field--password{grid-column:auto}.auth-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.auth-links a{color:var(--indigo-accent);text-decoration:none;font-weight:600;font-size:.84rem}.auth-links a:hover{color:var(--indigo-accent-hover)}.auth-student-invite-hint{margin-top:2px;line-height:1.35}.auth-card label.auth-consent{display:flex;align-items:center;gap:8px;margin-top:2px}.auth-consent-checkbox{width:14px!important;height:14px;min-height:14px!important;margin-top:2px;padding:0!important;border-radius:3px!important;accent-color:var(--indigo-accent)}.auth-legal-link-row{text-align:center;margin-top:2px}.auth-claim-link{display:inline-flex;justify-content:center;align-items:center;text-decoration:none}.link-button{border:0;background:transparent;color:var(--indigo-accent);font-weight:600;font-size:.92rem;cursor:pointer;padding:0}.link-button:hover{color:var(--indigo-accent-hover)}.auth-card input:focus-visible,.auth-card select:focus-visible,.exercise-field input:focus-visible,.exercise-field textarea:focus-visible{outline:none;box-shadow:var(--primary)}@media (prefers-reduced-motion: reduce){.auth-card input,.auth-card select,.primary-button,.secondary-button,.auth-field-label{transition:none}}.MuiButton-root{font-weight:600!important}:root{--mui-btn-contained-bg: var(--wood-800);--mui-btn-contained-color: var(--on-accent);--mui-btn-contained-bg-hover: var(--wood-900);--mui-btn-contained-bg-disabled: color-mix(in srgb, var(--wood-800) 35%, transparent);--mui-btn-contained-color-disabled: color-mix(in srgb, var(--on-accent) 75%, transparent);--mui-btn-outlined-border: var(--border);--mui-btn-outlined-color: var(--wood-800);--mui-btn-outlined-bg: transparent;--mui-btn-outlined-bg-hover: var(--wood-wash);--mui-btn-outlined-bg-active: var(--wood-wash-2);--mui-btn-text-color: var(--wood-800);--mui-btn-text-bg-hover: var(--wood-wash)}.MuiButton-contained{background:var(--mui-btn-contained-bg)!important;color:var(--mui-btn-contained-color)!important}.MuiButton-contained:hover,.MuiButton-contained:active{background:var(--mui-btn-contained-bg-hover)!important}.MuiButton-contained.Mui-disabled{background:var(--mui-btn-contained-bg-disabled)!important;color:var(--mui-btn-contained-color-disabled)!important}.MuiButton-outlined{border-color:var(--mui-btn-outlined-border)!important;color:var(--mui-btn-outlined-color)!important;background:var(--mui-btn-outlined-bg)!important}.MuiButton-outlined:hover{background:var(--mui-btn-outlined-bg-hover)!important}.MuiButton-outlined:active{background:var(--mui-btn-outlined-bg-active)!important}.MuiButton-text{color:var(--mui-btn-text-color)!important}.MuiButton-text:hover{background:var(--mui-btn-text-bg-hover)!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}}@media (max-width: 560px){.auth-container{padding:14px}.auth-card{padding:18px;gap:12px}.auth-branding-logo{height:34px}.auth-card--signup{gap:10px}.auth-card--signup input{padding:8px}}@media (min-width: 1024px){.auth-card--login{width:min(360px,100%)}.auth-card--signup{width:min(400px,100%)}}@media (max-height: 820px){.auth-container{padding:12px}.auth-card--signup,.auth-card--login{gap:8px;padding:14px}.auth-card--signup h1{font-size:1.32rem;line-height:1.15}.auth-card--signup label{gap:4px;font-size:.84rem}.auth-card--signup input{min-height:38px;padding:7px 10px}.auth-card--signup .signup-form-grid{row-gap:8px;column-gap:10px}.auth-card--signup .auth-hint,.auth-card--signup .auth-error,.auth-card--signup .auth-success{font-size:.72rem;line-height:1.35}.auth-card--signup .primary-button,.auth-card--signup .secondary-button,.auth-card--login .primary-button,.auth-card--login .secondary-button{min-height:38px;padding:7px 12px}}@media (max-height: 620px) and (min-width: 900px){.auth-card--signup{width:min(360px,100%);padding:10px;gap:6px}.auth-card--signup h1{font-size:1rem;line-height:1.1}.auth-card--signup label{font-size:.78rem;gap:3px}.auth-card--signup input{min-height:34px;padding:6px 8px}.auth-card--signup .auth-field-label{left:8px;font-size:.74rem}.auth-card--signup .auth-field input{padding-top:12px;padding-bottom:4px}.auth-card--signup .primary-button,.auth-card--signup .secondary-button{min-height:34px;padding:6px 10px}.auth-card--signup .auth-kicker,.auth-card--signup .auth-hint,.auth-card--signup .auth-error,.auth-card--signup .auth-success,.auth-card--signup .auth-links a,.auth-card--signup .auth-oauth-button--labeled span{font-size:.7rem}.auth-card--signup .signup-form-grid{gap:8px}.auth-card--signup .auth-branding-logo{height:30px}}:root[data-theme=dark] .auth-card{background:var(--card);border-color:color-mix(in srgb,var(--base) 10%,transparent);box-shadow:0 4px 12px color-mix(in srgb,#000 30%,transparent)}:root[data-theme=dark] .auth-card input,:root[data-theme=dark] .auth-card select{background:color-mix(in srgb,var(--surface) 85%,var(--card));border-color:color-mix(in srgb,var(--base) 10%,transparent);color:var(--text)}:root[data-theme=dark] .auth-field-label{background:color-mix(in srgb,var(--surface) 85%,var(--card))}:root[data-theme=dark] .auth-kicker{color:color-mix(in srgb,var(--accent) 70%,var(--text))}:root[data-theme=dark] .auth-hint{color:var(--text-2)}:root[data-theme=dark] .auth-links a{color:color-mix(in srgb,var(--indigo-accent) 82%,var(--base))}:root[data-theme=dark] .auth-links a:hover{color:var(--indigo-accent-hover)}:root[data-theme=dark] .link-button{color:color-mix(in srgb,var(--indigo-accent) 82%,var(--base))}:root[data-theme=dark] .link-button:hover{color:var(--indigo-accent-hover)}:root[data-theme=dark] .auth-card a{color:color-mix(in srgb,var(--indigo-accent) 82%,var(--base))}:root[data-theme=dark] .auth-card a:hover{color:var(--indigo-accent-hover)}:root[data-theme=dark] .auth-claim-link{color:color-mix(in srgb,var(--indigo-accent) 82%,var(--base))}:root[data-theme=dark] .auth-legal-link-row a{color:color-mix(in srgb,var(--indigo-accent) 82%,var(--base))}:root[data-theme=dark] .auth-oauth-button--labeled span{color:var(--text)}.MuiPickersPopper-paper,.MuiPickersLayout-root,.MuiDateCalendar-root{background:var(--surface-elev)!important;color:var(--text)!important}.MuiDayCalendar-weekDayLabel,.MuiPickersCalendarHeader-label,.MuiPickersToolbarText-root,.MuiPickersToolbar-root .MuiTypography-root{color:var(--text)!important}
