:root{font-family:SF Pro Display,Segoe UI,sans-serif;--bg-base: #e8eef3;--bg-deep: #f5efe1;--panel-bg: rgba(247, 249, 251, .98);--panel-strong: rgba(255, 255, 255, 1);--panel-soft: rgba(20, 28, 38, .05);--border-soft: rgba(20, 28, 38, .14);--surface-border: rgba(29, 41, 57, .15);--surface-card: #ffffff;--surface-card-soft: #f2f5f7;--text-primary: #182336;--text-muted: rgba(24, 35, 54, .74);--brand-gold: #e8aa43;--brand-gold-soft: rgba(242, 182, 72, .15);--brand-pink: #dc7698;--brand-pink-soft: rgba(220, 118, 152, .1);--brand-cyan: #5daebb;--brand-cyan-soft: rgba(93, 174, 187, .12);--brand-alert: #ec5965;--shadow-deep: 0 18px 38px rgba(23, 32, 44, .1);--shadow-card: 0 10px 24px rgba(23, 32, 44, .08);--radius-panel: 28px;--radius-card: 22px;--radius-control: 16px;--radius-pill: 999px;--space-2xs: 6px;--space-xs: 8px;--space-sm: 10px;--space-md: 12px;--space-lg: 14px;--space-xl: 16px;--space-2xl: 20px;--space-3xl: 24px;--mobile-header-top-inset: calc(env(safe-area-inset-top, 0px) + 8px) ;--mobile-screen-bottom-inset: calc(env(safe-area-inset-bottom, 0px) + 20px) ;color:var(--text-primary);background:radial-gradient(circle at top left,rgba(232,170,67,.12),transparent 24%),radial-gradient(circle at 92% 6%,rgba(220,118,152,.05),transparent 18%),radial-gradient(circle at 85% 14%,rgba(93,174,187,.07),transparent 18%),linear-gradient(180deg,#f5f8fa,#e6edf2);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;min-height:100%;background:linear-gradient(180deg,#f5f8fa,#e6edf2);overscroll-behavior-y:none}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#f5f8fa,#e6edf2);overscroll-behavior-y:none}#root{min-height:100vh;background:linear-gradient(180deg,#f5f8fa,#e6edf2)}button{font:inherit}input,select,textarea{font:inherit;font-size:16px}.app-shell{max-width:1220px;margin:0 auto;padding:var(--space-2xl) var(--space-xl) 56px}.app-shell-sections{min-height:100dvh;padding:0}.auth-shell{min-height:100vh;display:grid;place-items:center}.auth-panel{width:min(460px,100%);border:1px solid var(--border-soft);border-radius:var(--radius-panel);background:var(--panel-bg);box-shadow:var(--shadow-deep);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:var(--space-3xl)}.auth-form{margin-top:18px}.auth-submit-button{width:100%;min-height:48px}.hero{display:grid;grid-template-columns:1fr auto auto;gap:var(--space-xl);margin-bottom:var(--space-2xl)}.hero,.panel{border:1px solid var(--border-soft);border-radius:var(--radius-panel);background:var(--panel-bg);box-shadow:var(--shadow-deep);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero,.panel{padding:var(--space-2xl)}.eyebrow{margin:0 0 8px;color:var(--brand-gold);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}h1,h2,h3,p{margin:0}h1{font-size:clamp(28px,5vw,48px);line-height:.96;margin-bottom:14px}h2{font-size:24px}h3{font-size:18px;margin-bottom:6px}.hero-copy,.muted{color:var(--text-muted)}.error-text{margin-top:12px;color:#ff9d98}.brand-header{align-items:center;background:linear-gradient(180deg,#fffffffa,#f8fafcf5)}.brand-lockup{display:flex;gap:12px;align-items:center;min-width:0}.brand-copy-block{min-width:0}.brand-title{margin-bottom:6px;line-height:1;letter-spacing:-.03em;font-size:clamp(28px,5vw,40px)}.brand-title-neutral{margin-bottom:0;color:var(--text-primary);text-shadow:none;font-weight:700}.brand-subtitle{margin-top:8px;color:var(--text-muted);font-size:14px}.teacher-header-name{margin-top:6px;color:var(--text-primary);font-size:16px;font-weight:600}.hero-status{display:flex;gap:var(--space-sm);flex-wrap:wrap;justify-content:flex-end}.hero-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;align-items:center;flex-wrap:wrap}.status-chip{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:var(--space-xs) var(--space-lg);border-radius:var(--radius-pill);border:1px solid rgba(51,191,208,.2);background:#33bfd014;color:var(--text-primary)}.status-chip.is-error{border-color:#ff5b6757;background:#ff5b6724}.layout{display:grid;gap:18px}.layout-sections{min-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 56px)}.section-screen-shell{min-height:inherit;max-height:inherit;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius-panel);background:var(--panel-bg);box-shadow:var(--shadow-deep);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.section-screen-header-bar{position:sticky;top:0;z-index:6;padding:var(--mobile-header-top-inset) var(--space-xl) var(--space-md);background:linear-gradient(180deg,#fffffffa,#f8fafcf0);border-bottom:1px solid rgba(20,28,38,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.section-screen-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.section-screen-title{margin:0;font-size:clamp(30px,6vw,40px);line-height:.98;letter-spacing:-.04em}.section-screen-toolbar-group{display:inline-flex;align-items:center;gap:var(--space-sm)}.section-screen-search{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-md)}.section-search-shell{flex:1;min-width:0;display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;border-radius:18px;border:1px solid rgba(20,28,38,.08);background:#fffffff5;box-shadow:0 2px 10px #17202c0a}.section-search-shell svg{width:18px;height:18px;color:#18233685;flex:0 0 auto}.section-search-input{flex:1;min-width:0;border:0;padding:0;background:transparent;color:var(--text-primary);outline:none}.section-screen-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--space-xl);background:linear-gradient(180deg,#f8fafcfa,#eff4f7fa);-webkit-overflow-scrolling:touch}.panel-screen{border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0}.view-switcher,.action-row,.student-modal-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.calendar-action-row{align-items:center}.tab-button,.ghost-button,.close-button,.icon-button{border:1px solid rgba(20,28,38,.08);background:#fffffff0;color:var(--text-primary);border-radius:var(--radius-pill);cursor:pointer;box-shadow:0 2px 8px #17202c08}.tab-button,.ghost-button{min-height:42px;padding:10px 14px;line-height:1.2}.tab-button.is-active{background:linear-gradient(135deg,#f2b6481f,#fffffffa);border-color:#e8aa4347;box-shadow:0 8px 18px #17202c0a}.compact-button{min-height:38px;padding:8px 12px}.icon-button{width:40px;height:40px;font-size:18px}.compact-settings-button{width:36px;min-width:36px;height:36px;font-size:16px}.app-shell-calendar{max-width:none;min-height:100dvh;height:100dvh;padding:0;overflow:hidden}.layout-calendar{gap:0;min-height:100dvh}.calendar-screen{position:fixed;inset:0;min-height:100dvh;height:100dvh;width:100%;background:linear-gradient(180deg,#f5f8fa,#e7edf2);color:var(--text-primary);overflow:hidden}.calendar-screen-shell{position:fixed;inset:0;height:100dvh;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at top left,rgba(232,170,67,.1),transparent 24%),radial-gradient(circle at 92% 4%,rgba(93,174,187,.08),transparent 18%),linear-gradient(180deg,#fffffffa,#eef4f7fa);overscroll-behavior:none;isolation:isolate}.calendar-screen-header-bar{position:sticky;top:0;flex:none;z-index:8;display:grid;gap:14px;padding:var(--mobile-header-top-inset) 12px 12px;background:linear-gradient(180deg,#fffffffa,#f6f9fbf0);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(20,28,38,.08)}.calendar-screen-toolbar,.calendar-toolbar-group,.calendar-week-strip{display:flex;align-items:center}.calendar-screen-toolbar{justify-content:space-between;gap:12px}.calendar-toolbar-group{gap:8px}.calendar-toolbar-group-right{margin-left:auto}.calendar-top-pill,.calendar-top-icon,.calendar-burger-button,.calendar-menu-item,.calendar-menu-logout{border:1px solid rgba(20,28,38,.1);border-radius:999px;background:#fffffff5;color:var(--text-primary);box-shadow:none}.calendar-top-pill{min-height:40px;padding:0 16px}.calendar-top-icon,.calendar-burger-button{width:40px;height:40px;display:inline-flex;justify-content:center;align-items:center}.calendar-top-icon{font-size:22px;line-height:1}.calendar-top-icon svg{width:20px;height:20px}.calendar-top-icon.is-active{border-color:#e8aa4342;background:linear-gradient(135deg,#f2b6481f,#fffffffa)}.calendar-burger-button{position:relative;flex-direction:column;gap:4px}.calendar-burger-button span{width:18px;height:2px;border-radius:999px;background:currentColor}.calendar-week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekday-chip{border:0;border-radius:18px;background:transparent;color:#18233699;display:grid;justify-items:center;gap:2px;padding:6px 2px 8px}.calendar-weekday-chip-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.calendar-weekday-chip strong{width:34px;height:34px;display:grid;place-items:center;border-radius:999px;font-size:18px;font-weight:600}.calendar-weekday-chip.is-selected{color:var(--text-primary)}.calendar-weekday-chip.is-selected strong{background:#e8aa4329;color:var(--text-primary)}.calendar-weekday-chip.is-today strong{background:#5daebb29;color:var(--brand-cyan)}.calendar-weekday-chip.is-today.is-selected strong{background:linear-gradient(180deg,#e8aa43f0,#e8aa43d6);color:#fff;box-shadow:0 0 0 3px #e8aa432e}.calendar-day-title-row{padding:0 4px}.calendar-day-title-row h2{color:var(--text-primary);font-size:18px;font-weight:700;letter-spacing:-.02em}.calendar-screen-body{flex:1;min-height:0;overflow:hidden;position:relative}.calendar-day-stage{position:relative;height:100%;overflow:hidden;touch-action:pan-y;overscroll-behavior:none}.calendar-day-stage.is-drag-active,.calendar-day-stage.is-drag-active .calendar-day-scroll{overflow:hidden;touch-action:none}.calendar-day-stage.is-paging .calendar-day-pager-track{transition:transform .19s cubic-bezier(.22,1,.36,1)}.calendar-day-pager-track{display:flex;width:300%;height:100%;will-change:transform}.calendar-day-page{flex:0 0 33.333333%;min-width:33.333333%;height:100%;overflow:hidden}.calendar-day-scroll,.calendar-month-scroll{height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:linear-gradient(180deg,#f8fafcfa,#edf2f6fa)}.calendar-day-scroll{padding:0 12px calc(var(--mobile-screen-bottom-inset) + 4px);touch-action:pan-y}.calendar-day-timeline{display:grid;grid-template-columns:50px minmax(0,1fr);gap:10px;min-height:max-content}.calendar-day-time-rail{display:grid;grid-template-rows:repeat(12,64px)}.calendar-day-time-label{color:#18233675;font-size:12px;line-height:1;text-align:right;padding-top:2px}.calendar-day-grid-body{position:relative;min-height:768px}.calendar-day-grid-shell{position:relative;overflow:visible}.calendar-day-empty-state{display:grid;gap:8px;margin-bottom:12px;padding:16px 18px;border-radius:18px;border:1px solid rgba(20,28,38,.08);background:linear-gradient(180deg,#fffffffa,#f7f9fcfa);box-shadow:0 14px 26px #17202c0f}.calendar-day-empty-state h3,.calendar-day-empty-state p{margin:0}.calendar-day-empty-state-hero{margin:0 0 14px;gap:10px;border-color:#e8aa4329;background:radial-gradient(circle at top right,rgba(232,170,67,.12),transparent 26%),linear-gradient(180deg,#fffffffc,#f7f9fcfa)}.calendar-day-empty-state-actions{display:flex;justify-content:flex-start}.calendar-day-empty-state-actions .tab-button{min-height:44px}.calendar-day-grid-single{position:relative;width:100%}.calendar-day-slot{position:relative;display:block;width:100%;height:64px;padding:0;border:0;background:transparent;text-align:left}.calendar-day-slot-line{position:absolute;left:0;right:0;top:0;height:1px;background:#141c2617}.calendar-screen .calendar-event{position:absolute;left:6px;right:6px;border:1px solid rgba(93,174,187,.18);border-radius:16px;padding:8px 10px;display:grid;align-content:start;gap:4px;text-align:left;color:var(--text-primary);background:linear-gradient(180deg,#fffffffa,#f7f9fbfa);box-shadow:inset 3px 0 #e8aa43c2,0 10px 22px #17202c14;cursor:pointer;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-x pan-y;transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease}.calendar-screen .calendar-event.is-dragging{z-index:9;transform:scale(1.02);box-shadow:inset 3px 0 #e8aa43db,0 18px 36px #17202c29;opacity:.97}.calendar-screen .calendar-event-head{display:flex;align-items:center;gap:8px;min-width:0}.calendar-screen .calendar-event-time,.calendar-screen .calendar-event-foot,.calendar-screen .calendar-event span{color:#182336b3;min-width:0}.calendar-screen .calendar-event strong{color:var(--text-primary);font-size:14px;flex:1;min-width:0;line-height:1.16;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.calendar-screen .calendar-event-time,.calendar-screen .calendar-event-foot{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}.calendar-screen .calendar-event-time{flex:none;margin-left:auto;font-size:11px;font-weight:600}.calendar-screen .calendar-event span:not(.calendar-event-time):not(.calendar-event-foot){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.15}.calendar-screen .calendar-event-alert{display:inline-flex;align-items:center;align-self:flex-start;min-height:22px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.02em;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-screen .calendar-event-alert.is-warning{background:#e8aa4329;color:#b36e11}.calendar-screen .calendar-event-alert.is-danger{background:#ec596521;color:#b24554}.calendar-screen .floating-warning-banner{margin:0 12px;border-color:#d75a6638;background:#fff5f6fa;color:#b24d5d;box-shadow:0 8px 18px #17202c0f}.calendar-screen .now-dot{margin-left:0;background:var(--brand-gold);box-shadow:0 0 0 4px #e8aa4333}.calendar-screen .now-marker{z-index:12}.calendar-screen .now-line{margin-left:6px;background:linear-gradient(90deg,#e8aa43fa,#5daebb94)}.calendar-month-scroll{padding:0 12px calc(env(safe-area-inset-bottom,0px) + 28px);overscroll-behavior:none}.calendar-month-section{padding:18px 0 10px}.calendar-month-section-head{display:grid;gap:2px;padding:0 4px 14px}.calendar-month-section-head h2{color:var(--text-primary);font-size:28px;font-weight:700;letter-spacing:-.04em}.calendar-month-section-year{color:#18233675;font-size:14px;text-transform:uppercase;letter-spacing:.08em}.calendar-month-weekdays,.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-month-weekdays{padding:0 0 8px}.calendar-month-weekday{color:#18233685;font-size:13px;text-align:center}.calendar-month-day{min-height:82px;border:0;border-top:1px solid rgba(20,28,38,.09);background:transparent;color:var(--text-primary);display:grid;justify-items:center;align-content:start;gap:8px;padding:10px 0 12px}.calendar-month-day.is-outside{color:#18233647}.calendar-month-day-number{width:40px;height:40px;display:grid;place-items:center;border-radius:999px;font-size:18px;font-weight:600}.calendar-month-day.is-selected .calendar-month-day-number{background:#e8aa4329}.calendar-month-day.is-today .calendar-month-day-number{background:linear-gradient(180deg,#e8aa43f0,#e8aa43d6);color:#fff;box-shadow:0 0 0 3px #e8aa432e}.calendar-month-day-dot{width:6px;height:6px;border-radius:50%;background:transparent}.calendar-month-day-dot.is-visible{background:var(--brand-alert)}.calendar-month-day-dot.is-warning.is-visible{background:#d98a2f}.calendar-month-day-dot.is-danger.is-visible{background:var(--brand-alert)}.lesson-screen-shell{z-index:55}.lesson-comments-shell,.lesson-editor-shell{z-index:62}.lesson-screen-panel{width:min(640px,100%);height:100%;background:linear-gradient(180deg,#fff,#f7f9fc)}.lesson-screen-header{position:sticky;top:0;z-index:2;display:grid;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 8px) 18px 14px;background:linear-gradient(180deg,#fffffffe,#f8fafcfa);border-bottom:1px solid rgba(20,28,38,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.lesson-screen-title-row{display:flex;align-items:center;gap:12px}.lesson-screen-header-actions{margin-left:auto;display:inline-flex;align-items:center;gap:10px}.lesson-screen-title-row h2{margin:0}.lesson-screen-title-row-static{justify-content:flex-start}.lesson-screen-subtitle-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.lesson-link-button{padding:0;border:0;background:transparent;color:var(--text-primary);text-align:left}.lesson-link-button-student{font-size:28px;font-weight:700;letter-spacing:-.04em}.lesson-link-button-teacher{font-size:15px;color:var(--brand-cyan)}.lesson-phone-button{width:42px;height:42px;border:1px solid rgba(20,28,38,.08);border-radius:999px;background:#fffffff5;color:var(--text-primary);display:inline-flex;justify-content:center;align-items:center}.lesson-phone-button svg{width:20px;height:20px}.lesson-screen-body{display:grid;gap:18px;padding:16px 18px calc(env(safe-area-inset-bottom,0px) + 28px)}.payment-alert-banner{width:100%;border:1px solid transparent;border-radius:18px;padding:12px 14px;text-align:left;font-weight:600;background:#fffffff5}.payment-alert-banner.is-warning{border-color:#e8aa432e;background:#fff8effa;color:#b36e11}.payment-alert-banner.is-danger{border-color:#ec59652e;background:#fff3f4fa;color:#b24554}.screen-warning-list{margin:0;padding-left:18px;display:grid;gap:8px;color:#1b2230c2}.screen-warning-list li::marker{color:#c96242}.subscription-finance-card{display:grid;gap:12px}.payment-toggle-row{justify-content:flex-start}.payment-toggle-button.is-confirmed{border-color:#5daebb2e;background:#eff8fafa;color:#2a7d89}.payment-toggle-button.is-unpaid{border-color:#ec59652e;background:#fff3f4fa;color:#b24554}.lesson-editor-body{gap:14px}.lesson-editor-panel .modal-input{width:100%;min-height:52px;font-size:16px}.lesson-editor-panel .field-label{gap:10px}.lesson-editor-actions{margin-top:4px}.summary-action-multiline{display:grid;justify-items:start;gap:2px}.summary-action-multiline span{color:#1b2230a3;font-size:14px}.lesson-notes-block{display:grid;gap:14px}.lesson-note-input{width:100%;min-height:136px;resize:vertical;border:1px solid rgba(20,28,38,.1);border-radius:18px;padding:14px 16px;background:#fffffff5;color:var(--text-primary);font:inherit;line-height:1.45}.lesson-note-actions{display:grid;gap:10px}.lesson-comments-body{gap:12px}.lesson-comment-entry{width:100%;border:1px solid rgba(20,28,38,.08);border-radius:20px;padding:14px 16px;background:#fffffff5;display:grid;gap:6px;text-align:left}.lesson-comment-entry-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.lesson-comment-entry p,.lesson-comment-entry strong,.lesson-comment-entry span{margin:0}.calendar-menu-group{display:grid;gap:6px}.calendar-menu-stack{max-width:460px}.calendar-menu-list{display:grid;gap:6px}.calendar-menu-tile,.calendar-menu-item,.calendar-menu-logout{border:1px solid rgba(20,28,38,.08);background:#fffffff5;color:var(--text-primary)}.calendar-menu-tile{min-height:50px;padding:10px 12px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;box-shadow:0 8px 18px #17202c0a}.calendar-menu-tile.is-active{border-color:#e8aa433d;background:#f2b6481f}.calendar-menu-tile-copy{min-width:0;display:inline-flex;align-items:center;gap:10px}.calendar-menu-tile-icon,.calendar-menu-item-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.calendar-menu-tile-icon svg,.calendar-menu-item-icon svg{width:18px;height:18px;display:block}.calendar-menu-tile-label{font-size:14px;line-height:1.25;font-weight:600}.calendar-menu-item,.calendar-menu-logout{min-height:46px;padding:0 12px;border-radius:16px;display:flex;align-items:center;gap:12px;text-align:left}.calendar-menu-item-label{flex:1;text-align:left}.calendar-menu-item-icon{color:#182336c7}.calendar-menu-logout{border-color:#ff5a5438;background:#ff5a541f;color:#b24d5d}.calendar-menu-logout .calendar-menu-item-icon{color:inherit}.balance-card{border-width:1px}.balance-card.is-positive{border-color:#17915c2e;background:linear-gradient(180deg,#17915c14,#fffffffa)}.balance-card.is-negative{border-color:#cc4e522e;background:linear-gradient(180deg,#cc4e5214,#fffffffa)}.subtle-icon-button{width:34px;height:34px;font-size:20px;line-height:1}.calendar-mobile-topbar{display:grid;grid-template-columns:1fr auto;gap:var(--space-md);align-items:center;margin-bottom:var(--space-xl)}.day-navigator{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-sm);align-items:center}.day-title-block{text-align:center}.day-title-block h2{font-size:20px;text-transform:capitalize}.calendar-scroll{overflow-x:auto;padding-bottom:10px}.calendar-layout{display:block;min-width:100%}.calendar-grid{display:grid;gap:var(--space-md);width:100%}.calendar-day{border-radius:var(--radius-card);background:var(--surface-card);border:1px solid var(--surface-border);overflow:hidden;box-shadow:var(--shadow-card)}.calendar-day-header{display:flex;justify-content:space-between;gap:var(--space-sm);padding:var(--space-lg) var(--space-xl);border-bottom:1px solid rgba(20,28,38,.06);background:linear-gradient(180deg,#f2b6480f,#f8fafce6)}.calendar-day-body{position:relative;height:768px;overflow:hidden}.calendar-slot-line{height:64px;border:0;border-bottom:1px solid rgba(20,28,38,.07);background:transparent;width:100%;position:relative}.calendar-slot-button{cursor:pointer;text-align:left}.calendar-slot-button:active{background:#18c8dd14}.mobile-time-label{position:absolute;left:10px;top:6px;color:#1b223057;font-size:11px}.calendar-event{position:absolute;left:8px;right:8px;border:0;border-radius:18px;padding:var(--space-sm) var(--space-md);display:grid;align-content:start;gap:2px;text-align:left;color:var(--text-primary);cursor:pointer;background:linear-gradient(180deg,#fefffffa,#f7f9fbfa);border:1px solid rgba(93,174,187,.18);box-shadow:inset 3px 0 #5daebb80,0 10px 20px #17202c0f;touch-action:none;transition:box-shadow .12s ease,transform .12s ease,opacity .12s ease;overflow:hidden}.calendar-event.is-dragging{z-index:5;box-shadow:0 18px 36px #00000047;transform:scale(1.01);opacity:.96}.summary-action{display:inline-flex;width:100%;justify-content:center;align-items:center;border:1px solid rgba(20,28,38,.08);border-radius:14px;background:#fffffff5;color:var(--text-primary);padding:12px;cursor:pointer;text-align:center}.summary-action.summary-action-value{justify-content:flex-start;min-height:52px}.remaining-lessons-editor{display:grid;gap:10px}.remaining-lessons-editor-field{display:grid;gap:6px}.remaining-lessons-editor-field span{margin:0;color:#1b2230a3;font-size:13px}.remaining-lessons-editor-actions{display:flex;flex-wrap:wrap;gap:8px}.upcoming-mini-list{display:grid;gap:8px}.upcoming-mini-item{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;background:#141c2608}.inline-warning{margin:0;color:#d86b38;font-size:14px}.calendar-event-time,.calendar-event-foot{display:block;font-size:11px;line-height:1.15;color:#1b2230b8;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event strong{display:block;margin:0;font-size:15px;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event span{display:block;font-size:12px;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-compact{padding:10px}.calendar-event-compact strong{font-size:13px;margin:4px 0 2px}.calendar-event-compact .calendar-event-foot{font-size:11px}.calendar-footer-note{margin-top:16px;display:grid;gap:8px}.floating-warning-banner{position:sticky;top:8px;z-index:6;margin-bottom:10px;padding:12px 14px;border-radius:14px;border:1px solid rgba(215,90,102,.22);background:#fff5f6f5;color:#b24d5d;box-shadow:0 8px 18px #17202c0f}.week-mobile-grid{display:grid;gap:8px;width:100%}.week-mobile-header{display:grid;grid-template-columns:40px repeat(7,minmax(0,1fr));gap:4px;width:100%}.week-time-spacer{width:40px}.week-mobile-day-button{border:0;border-radius:12px;background:#fffffffa;color:var(--text-primary);padding:8px 2px 10px;display:grid;gap:2px;justify-items:center;cursor:pointer;border:1px solid rgba(20,28,38,.06)}.week-mobile-day-button.is-today{background:linear-gradient(180deg,#f2b64824,#fffffffa);border-color:#e8aa433d}.week-mobile-day-name{color:#1b223085;text-transform:uppercase;letter-spacing:.06em;font-size:10px}.week-mobile-body{display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px;width:100%}.week-time-rail{display:grid;grid-template-rows:repeat(12,44px)}.week-time-label{font-size:11px;color:#1b223080;padding-top:2px;text-align:right}.week-columns{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%}.week-column{position:relative;height:528px;border-radius:8px;overflow:hidden;border:1px solid var(--surface-border);background:var(--surface-card);box-shadow:var(--shadow-card)}.week-column.is-today{border-color:#e8aa433d;box-shadow:inset 0 0 0 1px #e8aa431f,var(--shadow-card)}.week-slot-line{display:block;width:100%;height:44px;border:0;border-bottom:1px solid rgba(20,28,38,.05);background:transparent;cursor:pointer}.week-grid-event{position:absolute;left:2px;right:2px;border:0;border-radius:8px;padding:3px 2px 4px;color:var(--text-primary);display:grid;align-content:start;justify-items:start;gap:3px;background:linear-gradient(180deg,#f2b64838,#f2b6481f);border:1px solid rgba(232,170,67,.22);box-shadow:inset 2px 0 #e8aa438f;cursor:pointer;overflow:hidden}.week-grid-event.is-compact{padding:3px 2px 4px}.week-grid-event.is-regular{padding:5px 4px 6px}.week-grid-event.is-dragging{z-index:4;box-shadow:0 10px 24px #00000038;transform:scale(1.02)}.week-grid-event-time{font-size:10px;font-weight:700;line-height:1;color:#1b2230c7;padding-left:1px}.week-grid-event-dot{width:5px;height:5px;border-radius:50%;background:#1b22306b}.month-calendar{display:grid;gap:10px}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.month-weekday{padding:8px 10px;color:#1b22308f;text-align:center}.month-cell{min-height:96px;border-radius:10px;padding:12px 10px;border:1px solid var(--surface-border);background:var(--surface-card);color:var(--text-primary);text-align:left;cursor:pointer;box-shadow:var(--shadow-card)}.month-cell.is-today{border-color:#e8aa438a;background:linear-gradient(180deg,#f2b64824,#fffffffa);box-shadow:inset 0 0 0 1px #e8aa4338,var(--shadow-card)}.month-cell.is-today .month-date{color:#ba7b17}.month-cell.is-muted{opacity:.4}.month-date{display:block;margin-bottom:10px;font-size:15px;font-weight:700}.month-cell-body{display:grid;gap:6px;align-content:start}.month-badge{display:inline-flex;padding:8px 10px;border-radius:999px;background:#f1b2652e;font-size:12px;justify-self:start}.month-badge-empty{background:#141c260f;color:#1b22307a}.month-dot-row{display:flex;gap:5px;align-items:center;min-height:10px}.month-dot{width:6px;height:6px;border-radius:50%;background:var(--brand-gold);box-shadow:0 0 0 2px #ffba3a1a}.integration-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.9fr);gap:var(--space-2xl)}.panel-heading{display:flex;justify-content:space-between;gap:var(--space-lg);align-items:center;margin-bottom:var(--space-xl)}.student-board,.event-list{display:grid;gap:var(--space-lg)}.teacher-admin-list{display:grid;gap:var(--space-md)}.teacher-admin-card{padding:14px}.subject-teacher-preview{margin-top:-2px}.subject-settings-card{gap:12px}.subject-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.subject-card-title{display:grid;gap:4px}.subject-card-body,.subject-card-actions{display:grid;gap:10px}.subject-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.subject-primary-action{width:100%}.subject-secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.teacher-admin-button{width:100%;text-align:left;color:inherit;cursor:pointer}.teacher-student-list{display:grid;gap:12px;max-height:54vh;overflow:auto;padding-right:2px}.teacher-student-row{display:grid;gap:12px;padding:14px;border-radius:18px;border:1px solid rgba(20,28,38,.08);background:#ffffffeb}.teacher-student-row.is-selected{border-color:#33bfd02e;background:linear-gradient(180deg,#33bfd00f,#fffffff5)}.teacher-student-head{align-items:center}.teacher-transfer-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.subject-picker-summary{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.name-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-launch-card{display:grid;gap:6px;padding:14px 16px;background:linear-gradient(180deg,#fffffffa,#f4f7faf5);border:1px solid rgba(20,28,38,.12)}.settings-launch-button,.finance-action-card{width:100%;text-align:left;color:inherit;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.settings-launch-button:hover,.settings-launch-button:focus-visible,.finance-action-card:hover,.finance-action-card:focus-visible{transform:translateY(-1px);border-color:#e8aa4347;box-shadow:0 18px 30px #17202c14;outline:none}.settings-launch-meta{display:inline-flex;align-items:center;gap:6px}.settings-panel-layout{display:grid;gap:14px}.settings-panel-group{display:grid;gap:8px}.settings-panel-group-head{display:grid;gap:4px}.settings-panel-group-head h3,.settings-panel-group-head p{margin:0}.settings-stack{display:grid;gap:var(--space-lg)}.settings-logout-footer{margin-top:var(--space-xl);display:flex;justify-content:center}.settings-logout-button{width:100%;justify-content:center;border-color:#ec596538;background:#fff3f4fa;color:#b24554}.settings-card{display:grid;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid rgba(20,28,38,.12);background:linear-gradient(180deg,#fffffffa,#f3f7faf0);box-shadow:0 8px 18px #17202c0d}.settings-card.is-collapsed{gap:10px}.settings-card.is-expanded{border-color:#e8aa4347;box-shadow:0 16px 28px #17202c14}.settings-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-md);align-items:flex-start}.settings-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.settings-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs);justify-content:flex-end}.settings-card-body{padding-top:var(--space-lg);border-top:1px solid rgba(20,28,38,.1)}.settings-screen-section-head{display:flex;justify-content:space-between;gap:var(--space-md);align-items:center}.settings-header-actions{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app-screen-icon-button{min-width:34px;min-height:34px;padding:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.app-screen-icon-button svg,.settings-inline-icon-button svg{width:18px;height:18px}.settings-flat-list{display:grid;gap:6px}.settings-flat-entry{width:100%;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 12px;border-radius:14px;border:1px solid rgba(20,28,38,.1);background:#fffffffa;box-shadow:0 6px 14px #17202c0a;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.settings-flat-entry:hover,.settings-flat-entry:focus-visible{transform:translateY(-1px);border-color:#e8aa4347;box-shadow:0 12px 20px #17202c0f;outline:none}.settings-flat-entry strong,.settings-flat-entry span{min-width:0}.settings-flat-entry strong{font-size:14px;line-height:1.25}.settings-flat-entry-copy{display:grid;gap:1px}.settings-flat-entry-copy span{color:#1b22309e;font-size:12px}.settings-flat-entry-actions{display:inline-flex;align-items:center;gap:6px}.settings-inline-icon-button{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:999px;border:1px solid rgba(20,28,38,.12);background:#fffffff0;color:#b04554eb;cursor:pointer}.settings-inline-icon-button:disabled{color:#1b22303d;border-color:#141c2614;cursor:not-allowed}.settings-rate-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-rate-stat{display:grid;gap:4px;padding:10px 12px;border-radius:14px;background:#1c26340d}.settings-rate-stat span{color:#1b22309e;font-size:13px}.settings-rate-stat strong{font-size:16px}.settings-rate-plan-line{display:flex;flex-wrap:wrap;gap:8px}.settings-subject-create-card{gap:8px}.settings-subject-create-card p{margin:0}.settings-academic-subject-card{gap:12px}.settings-academic-subject-preview{display:grid;gap:12px}.settings-rate-level-card{gap:16px}.settings-rate-level-meta{display:grid;gap:4px}.settings-rate-discount-block{display:grid;gap:12px;padding-top:14px;border-top:1px solid rgba(20,28,38,.08)}.settings-rate-discount-head{display:grid;gap:4px}.settings-rate-discount-head strong,.settings-rate-discount-head p{margin:0}.settings-rate-discount-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-rate-discount-field{padding:12px 14px;border-radius:16px;background:#1c26340a}.settings-rate-linked-plans{gap:16px}.settings-rate-plan-list{display:grid;gap:12px}.settings-rate-plan-card{gap:14px}.settings-rate-plan-prices{display:grid;gap:10px}.settings-rate-plan-price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center}.settings-rate-plan-price-row .muted{grid-column:1 / -1}.settings-subject-detail-section{gap:12px}.settings-detail-action-row{display:flex;flex-wrap:wrap;gap:10px}.settings-package-list,.settings-package-level-list{display:grid;gap:12px}.settings-package-card,.settings-level-editor-card{gap:14px}.settings-package-level-row{display:grid;gap:12px;padding:14px;border-radius:16px;background:#1c26340a}.settings-package-level-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:flex-start}.settings-package-level-head p,.settings-package-level-head strong{margin:0}.settings-package-discount-field{min-width:120px;padding:0}.settings-package-preview-grid,.settings-subscription-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settings-subscription-entry{align-items:stretch;min-height:76px}.settings-subscription-entry .settings-flat-entry-copy{align-content:start}.settings-danger-card{border-color:#ec59652e;background:radial-gradient(circle at top right,rgba(236,89,101,.09),transparent 24%),linear-gradient(180deg,#fffffffa,#faf5f6f2)}.settings-plan-intro-card{gap:12px}.inline-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-sm);align-items:center}.selectable-tag{border:1px solid rgba(20,28,38,.1);background:#ffffffbf;color:var(--text-primary);cursor:pointer}.selectable-tag.is-selected{border-color:#f0ad2b66;background:#ffba3a29;color:var(--text-primary)}.compact-checkbox{gap:8px}.student-board{grid-template-columns:repeat(auto-fit,minmax(248px,1fr))}.form-stack{display:grid;gap:var(--space-xl)}.field-label{display:grid;gap:var(--space-xs)}.field-label span{color:#1b2230c7;font-size:14px}.checkbox-label{display:flex;flex-direction:row;align-items:center;gap:10px}.modal-select,.modal-input{width:100%;min-width:0;box-sizing:border-box;border-radius:var(--radius-control);border:1px solid rgba(20,28,38,.1);background:#fffffff0;color:var(--text-primary);padding:var(--space-md) var(--space-lg);font-size:16px;line-height:1.3}.modal-input[type=date],.modal-input[type=time]{appearance:none;-webkit-appearance:none;max-width:100%;font-variant-numeric:tabular-nums}.modal-select option{color:var(--text-primary)}.modal-select-large,.modal-input{min-height:44px}.create-student-teacher-button{justify-content:flex-start;min-height:48px}.create-student-form-screen{min-height:calc(100dvh - 204px)}.create-student-form-stack{gap:18px}.create-student-assignment-card{display:grid;gap:14px}.create-student-assignment-head{display:grid;gap:4px}.create-student-assignment-head h3{margin:0}.create-student-teacher-field{gap:8px}.create-student-teacher-button{padding-inline:14px}.create-student-teacher-button strong{font-size:15px}.picker-list{display:grid;gap:var(--space-md);max-height:52vh;overflow:auto;padding-right:2px}.picker-item{width:100%;padding:14px 16px;display:flex;justify-content:space-between;gap:var(--space-lg);align-items:center;text-align:left;color:var(--text-primary);border-radius:16px;border:1px solid rgba(20,28,38,.08);background:#fffffff5;cursor:pointer}.picker-item-accent{border-color:#e8aa4357;background:linear-gradient(135deg,#f2b64829,#fffffffa)}.student-picker-item{align-items:flex-start;display:grid;gap:10px}.student-picker-teacher{margin:4px 0 2px;font-weight:600;color:#1b2230e0}.student-picker-main{display:grid;gap:4px;min-width:0}.student-picker-supporting-line{margin:0}.student-picker-foot{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-top:4px}.student-picker-status-tag{padding-inline:10px}.student-picker-remaining{font-size:14px}.inline-success{margin:0;color:#16734a;font-size:14px}.picker-meta{display:grid;gap:6px;justify-items:end}.weekday-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.weekday-chip{min-height:44px;border-radius:14px;border:1px solid rgba(20,28,38,.1);background:#ffffffe0;color:var(--text-primary);cursor:pointer}.weekday-chip.is-active{border-color:#33bfd03d;background:linear-gradient(135deg,#33bfd01a,#f2b64814)}.repeat-day-list{display:grid;gap:var(--space-sm);margin-top:var(--space-lg)}.repeat-day-card{border-radius:var(--radius-control);padding:var(--space-sm);background:#ffffffe0;border:1px solid rgba(20,28,38,.06)}.repeat-day-summary{width:100%;border:0;background:transparent;color:var(--text-primary);display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;text-align:left}.repeat-day-summary strong{font-size:15px}.repeat-day-summary span{color:#1b2230a8}.repeat-day-editor{margin-top:10px}.student-card,.event-card{border-radius:var(--radius-card);padding:16px;background:var(--surface-card);border:1px solid var(--surface-border);box-shadow:var(--shadow-card)}.student-button{width:100%;text-align:left;color:inherit;cursor:pointer}.student-card.is-attention{border-color:#d75a662e;background:linear-gradient(180deg,#fff6f7fa,#fffffffa)}.student-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.student-card-status-block{display:grid;gap:6px;margin:12px 0 8px}.student-card-primary-status{display:inline-flex;align-items:center;justify-content:flex-start;align-self:flex-start;min-height:30px;padding:0 10px;border-radius:999px;font-size:13px;font-weight:700}.student-card-primary-status.is-attention{border:1px solid rgba(215,90,102,.16);background:#fff0f3fa;color:#b24554}.student-card-primary-status.is-calm{border:1px solid rgba(20,28,38,.08);background:#1c26340d;color:#1b2230cc}.student-card-secondary-line{margin:0;color:#1b2230ad;font-size:14px;line-height:1.45}.student-card-signals{display:flex;gap:8px;align-items:flex-start}.tag-row,.event-topline{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin:var(--space-sm) 0}.tag{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);background:#1c26340f;color:var(--text-primary);font-size:13px}.accent-tag{border:1px solid rgba(232,170,67,.22);background:linear-gradient(135deg,#f2b6481a,#5daebb0f)}.attention-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:999px;background:var(--brand-alert);color:#fff7f4;font-size:16px;font-weight:700;box-shadow:0 0 0 4px #ff5b6729}.freeze-tag{min-width:32px;padding-inline:8px;border:1px solid rgba(51,191,208,.22);background:linear-gradient(135deg,#33bfd01f,#f2b64814)}.subpanel{border-radius:var(--radius-card);padding:var(--space-2xl);background:var(--surface-card);border:1px solid var(--surface-border);box-shadow:var(--shadow-card)}.feature-list{margin:18px 0 0;padding-left:18px;display:grid;gap:10px;color:#1b2230b8}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.summary-card,.detail-block{border-radius:18px;padding:var(--space-xl);background:var(--surface-card);border:1px solid var(--surface-border);box-shadow:var(--shadow-card)}.detail-block-danger{border-color:#d75a662e;background:#fff4f6f5}.detail-block-button{cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.detail-block-button:hover,.detail-block-button:focus-visible{transform:translateY(-1px);border-color:#e8aa4347;box-shadow:0 18px 30px #17202c14;outline:none}.summary-card-button{width:100%;display:grid;gap:8px;text-align:left;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.teacher-nav-card{position:relative;overflow:hidden}.summary-card-nav-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.summary-card-button:hover{transform:translateY(-1px);border-color:#e8aa4347;box-shadow:0 18px 30px #17202c14}.summary-card-button:focus-visible{transform:translateY(-1px);border-color:#e8aa4347;box-shadow:0 18px 30px #17202c14;outline:none}.teacher-nav-card:active{transform:scale(.992);box-shadow:0 10px 18px #17202c0f}.teacher-nav-card-indicator{width:28px;height:28px;border-radius:999px;background:#1c26340d;color:#1b223094}.teacher-nav-card-hint{color:#1b22309e}.summary-card-button small,.teacher-salary-card small{display:block;margin:0}.teacher-salary-card{display:grid;gap:10px}.teacher-salary-card.is-warning{border-color:#e8aa433d;background:#fff8ecfa}.teacher-salary-card.is-danger{border-color:#d75a6638;background:#fff3f5fa}.teacher-card-alert{margin:12px 0 8px;font-size:14px;font-weight:600}.teacher-card-alert.is-warning{color:#9b651b}.teacher-card-alert.is-danger{color:#b24554}.teacher-card-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 8px}.teacher-card-kpis-compact{margin-top:10px}.teacher-card-kpi{display:grid;gap:4px;padding:10px 12px;border-radius:14px;background:#1c26340a}.teacher-card-kpi span{color:#1b22309e;font-size:13px}.teacher-card-kpi strong{font-size:16px}.teacher-card-specializations{margin-top:12px}.teacher-list-card.is-salary-warning{border-color:#e8aa432e;background:linear-gradient(180deg,#fff9f0fa,#fffffffa)}.teacher-list-card.is-salary-danger{border-color:#d75a662e;background:linear-gradient(180deg,#fff5f7fa,#fffffffa)}.teacher-card-payroll-indicator{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;font-size:16px;font-weight:700;flex:0 0 auto}.teacher-card-payroll-indicator.is-warning{background:#fff4ddfa;color:#9b651b;box-shadow:0 0 0 4px #e8aa431a}.teacher-card-payroll-indicator.is-danger{background:#ffecf0fa;color:#b24554;box-shadow:0 0 0 4px #d75a661a}.teacher-card-supporting-line,.teacher-card-profile-line{margin:0;color:#1b2230ad;font-size:14px;line-height:1.45}.teacher-card-profile-line{margin-top:6px}.teacher-screen-grid .teacher-salary-card{align-content:start}.teacher-screen-footer-stack{margin-top:24px}.teacher-screen-footer-stack .detail-block-danger{border-width:1px;box-shadow:0 12px 24px #17202c0d}.teacher-salary-action.is-warning{border-color:#e8aa433d;background:#fffaf0fa;color:#9b651b}.teacher-salary-action.is-danger{border-color:#d75a6633;background:#fff1f2f5;color:#b24554}.teacher-history-list{display:grid;gap:12px}.teacher-history-entry{width:100%;display:grid;gap:8px;text-align:left;border:1px solid rgba(20,28,38,.08);border-radius:20px;padding:16px 18px;background:#fffffffa;box-shadow:0 12px 24px #17202c0f;cursor:pointer}.teacher-history-entry-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.teacher-history-entry-head>div{display:grid;gap:4px}.teacher-history-entry-head p,.teacher-history-entry-head strong,.teacher-history-entry-meta span,.teacher-history-entry-status{margin:0}.teacher-history-entry-meta{display:flex;flex-wrap:wrap;gap:8px 12px;color:#1b2230c2;font-size:14px}.teacher-history-entry-status{color:#1f7a51;font-size:14px;font-weight:600}.teacher-history-entry-status.is-unpaid{color:#b24554}.summary-card>span{display:block;color:#1b2230a3;margin-bottom:8px}.summary-card>strong{display:block;font-size:18px}.detail-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.freeze-button{width:42px;height:42px;border:1px solid rgba(20,28,38,.12);border-radius:14px;background:#ffffffe6;color:var(--text-primary);cursor:pointer}.freeze-button svg{width:18px;height:18px}.freeze-button.is-active{border-color:#33bfd047;background:linear-gradient(135deg,#33bfd01f,#f2b64814)}.compact-row{display:flex;justify-content:space-between;gap:var(--space-xl);align-items:flex-start;padding:var(--space-md) 0}.compact-row+.compact-row{border-top:1px solid rgba(20,28,38,.08)}.history-row{align-items:center}.lesson-link-row{width:100%;border:0;border-radius:14px;background:#1c263408;color:var(--text-primary);cursor:pointer;text-align:left}.empty-state-block{display:grid;gap:12px;padding:12px 0 4px}.detail-card-actions{display:inline-flex;align-items:center;gap:10px}.detail-entry-indicator{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:#1b22306b}.detail-entry-indicator svg{width:14px;height:14px}.subscription-finance-preview{margin-top:8px;padding-top:4px}.student-subscription-summary{margin-top:10px;display:grid;gap:10px}.student-subscription-choice-list{display:grid;gap:10px}.student-subscription-choice-card{width:100%;display:grid;gap:6px;padding:12px 14px;text-align:left;border-radius:16px;border:1px solid rgba(20,28,38,.08);background:#fffffffa;color:var(--text-primary);box-shadow:0 8px 18px #17202c0a;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.student-subscription-choice-card:hover,.student-subscription-choice-card:focus-visible{transform:translateY(-1px);border-color:#e8aa4347;box-shadow:0 12px 20px #17202c0f;outline:none}.student-subscription-choice-card.is-selected{border-color:#e8aa434d;background:linear-gradient(180deg,#fffbf2fa,#fffffffa)}.student-subscription-choice-card.is-custom{margin-top:2px}.student-subscription-choice-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.student-subscription-choice-head strong,.student-subscription-choice-price,.student-subscription-choice-meta{margin:0}.student-subscription-choice-meta{color:#1b2230ad;font-size:14px;line-height:1.45}.student-subscription-choice-price{font-size:18px;line-height:1.2}.subscription-review-compact{display:grid;gap:8px;margin-top:14px;padding:14px 16px;border-radius:18px;border:1px solid rgba(232,170,67,.16);background:#fff9f0eb}.subscription-review-compact .eyebrow,.subscription-review-compact .muted,.student-subscription-summary-text{margin:0}.student-subscription-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-subscription-meta-item{display:grid;gap:4px;min-width:0;padding:12px 14px;border-radius:16px;background:#1c26340a}.student-subscription-meta-item.is-wide{grid-column:1 / -1}.student-subscription-meta-item span,.student-quick-overview-item span{color:#1b22309e;font-size:13px}.student-subscription-meta-item strong,.student-quick-overview-item strong{font-size:16px;line-height:1.25}.student-screen-primary-stack{margin-top:14px}.student-quick-overview-card{margin-top:16px;display:grid;gap:12px}.student-quick-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-quick-overview-item{display:grid;gap:6px;min-width:0;padding:12px 14px;border-radius:16px;background:#1c26340a}.student-quick-overview-item.is-wide{grid-column:1 / -1}.student-quick-overview-action{min-height:44px;padding:10px 12px}.draft-lesson-top-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.draft-lesson-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.draft-lesson-settings-card{display:grid;gap:12px}.draft-lesson-section-head{display:grid;gap:4px}.draft-lesson-section-head h3{margin:0}.draft-lesson-field{gap:8px}.draft-lesson-repeat-button{justify-content:flex-start;min-height:52px;padding-inline:14px}.lesson-editor-student-card{width:100%;text-align:left;color:inherit;padding:18px}.lesson-editor-student-meta,.lesson-editor-student-hint{margin:10px 0 0}.lesson-editor-inline-warning{margin:0}.screen-form-layout{padding-bottom:0}.screen-sticky-action-bar{position:sticky;bottom:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px var(--space-2xl) calc(env(safe-area-inset-bottom,0px) + 12px);margin-top:auto;background:linear-gradient(180deg,#ffffffb8,#fffffffa 26%);border-top:1px solid rgba(20,28,38,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.screen-sticky-action-bar .tab-button,.screen-sticky-action-bar .ghost-button{min-height:44px}.lesson-editor-action-bar{padding-inline:14px;z-index:3}.lesson-editor-action-bar .tab-button,.lesson-editor-action-bar .ghost-button{min-height:48px}.create-student-helper{margin:-8px 0 0}.create-student-action-bar{z-index:3}.create-student-action-bar .tab-button,.create-student-action-bar .ghost-button{min-height:48px}.admin-settings-form-card,.admin-settings-roster{gap:18px}.admin-settings-form-layout{display:grid;gap:16px}.admin-settings-section{display:grid;gap:14px}.admin-settings-section-head{display:grid;gap:4px}.admin-settings-section-head strong,.admin-settings-section-head p{margin:0}.admin-settings-roster-list{gap:12px}.admin-account-card{width:100%;text-align:left;color:inherit;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.admin-account-card:hover,.admin-account-card:focus-visible{transform:translateY(-1px);border-color:#e8aa4347;box-shadow:0 18px 30px #17202c14;outline:none}.admin-account-card-head{display:grid;gap:4px}.finance-dashboard-grid{align-items:start}.finance-dashboard-stack-admin{gap:18px}.finance-dashboard-stack{gap:16px}.finance-group-card{display:grid;gap:10px}.finance-section-card{gap:14px}.finance-section-head{display:grid;gap:4px}.finance-section-head h3,.finance-section-head p{margin:0}.finance-summary-metrics{display:flex;flex-wrap:wrap;gap:8px}.finance-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.finance-overview-stat{display:grid;gap:4px;padding:12px 14px;border-radius:16px;background:#1c26340d}.finance-overview-stat span{color:#1b22309e;font-size:13px}.finance-overview-stat strong{font-size:17px}.finance-snapshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.finance-section-actions{display:grid;gap:12px}.finance-action-card{display:grid;gap:10px;padding:18px;border:1px solid rgba(20,28,38,.1);background:radial-gradient(circle at top right,rgba(93,174,187,.08),transparent 26%),linear-gradient(180deg,#fffffffc,#f6f9fcfa)}.finance-primary-action-card{border-color:#e8aa4333;background:radial-gradient(circle at top right,rgba(232,170,67,.14),transparent 26%),linear-gradient(180deg,#fffffffc,#f9f8f2fa)}.finance-action-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.finance-action-card-indicator{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#1c26340d;color:#1b22308f;flex:0 0 auto}.finance-action-card-indicator svg{width:18px;height:18px}.finance-action-card-value{font-size:24px;line-height:1.1}.finance-teacher-preview-line{margin:8px 0 0}.finance-action-card h3,.finance-group-card h3{margin:0}.app-screen-shell{position:fixed;inset:0;z-index:45;display:flex;justify-content:center;align-items:stretch;padding:var(--space-lg);background:transparent;overscroll-behavior:contain;--app-screen-swipe-progress: 0;overflow:hidden}.app-screen-underlay{position:absolute;inset:0;background:linear-gradient(180deg,#ffffffc7,#f7f9fca3),radial-gradient(circle at top,rgba(255,255,255,.16),transparent 50%);transition:opacity .18s ease-out,transform .18s cubic-bezier(.22,1,.36,1);pointer-events:none;will-change:transform,opacity}.app-screen-panel{position:relative;z-index:1;width:min(960px,100%);min-height:100%;max-height:100%;display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;border-radius:calc(var(--radius-panel) + 4px);background:radial-gradient(circle at top right,rgba(104,188,255,.05),transparent 22%),linear-gradient(180deg,rgba(242,182,72,.035),transparent 14%),linear-gradient(180deg,#fff,#f7f9fc 52%,#eef3f7);border:1px solid rgba(20,28,38,.08);box-shadow:0 30px 60px #17202c1f;animation:app-screen-slide-in .22s ease-out;transition:transform .18s cubic-bezier(.22,1,.36,1),opacity .18s ease-out,box-shadow .18s ease-out;will-change:transform,opacity}.app-screen-panel.lesson-screen-panel{background:linear-gradient(180deg,#fff,#f7f9fc)}.app-screen-panel-edge-fade{position:absolute;top:0;right:0;bottom:0;width:44px;pointer-events:none;background:linear-gradient(90deg,#fff0,#f8fafd5c 48%,#f8fafdfa);opacity:0;transition:opacity .16s ease-out,width .16s ease-out;will-change:width,opacity}.app-screen-panel.is-closing{transition:transform .18s ease-out,opacity .18s ease-out}.app-screen-header{position:sticky;top:0;z-index:2;display:grid;gap:8px;padding:var(--mobile-header-top-inset) var(--space-2xl) var(--space-lg);background:linear-gradient(180deg,#fffffffe,#fffffff5);border-bottom:1px solid rgba(20,28,38,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-screen-header-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}.app-screen-header-row.is-actions-only{justify-content:flex-end}.app-screen-title-block{display:grid;gap:var(--space-xs)}.app-screen-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.app-screen-title-block h2{margin:0}.app-screen-back{min-height:44px;min-width:44px;padding:0;border-radius:999px}.app-screen-header-spacer{width:44px;height:44px;flex:0 0 44px}.app-screen-back svg{width:18px;height:18px}.app-screen-header-actions{display:flex;justify-content:flex-end;gap:6px;align-items:center}.app-screen-title-row .app-screen-header-actions{margin-top:0}.app-screen-body{min-height:100%;padding:0 var(--space-2xl) calc(var(--mobile-screen-bottom-inset) + 4px);background:linear-gradient(180deg,#f7f9fbfa,#f1f5f8fa);display:grid;gap:0}.screen-loading-state{min-height:260px;display:grid;place-items:center}.screen-loading-card{max-width:320px;display:grid;gap:10px;text-align:center;padding:20px 22px;border-radius:24px;background:#fffc;border:1px solid rgba(20,28,38,.08);box-shadow:0 18px 34px #17202c14}.screen-loading-card strong,.screen-loading-card p{margin:0}@keyframes app-screen-slide-in{0%{transform:translate(28px);opacity:0}to{transform:translate(0);opacity:1}}.is-accent{border-color:#e8aa4352;background:#f2b64824}.balance-value.is-positive{color:#17915c}.balance-value.is-negative{color:#cc4e52}.finance-positive-tag{background:#17915c1f;border-color:#17915c38;color:#146d47}.finance-negative-tag{background:#cc4e521f;border-color:#cc4e5238;color:#9e3135}.compact-modal-list{gap:8px}.close-button{padding:12px 16px}.student-modal-actions{margin-top:18px}.screen-action-stack{display:grid;gap:12px}.compact-actions{margin-top:6px}.student-modal-actions .ghost-button,.student-modal-actions .close-button{min-height:44px;padding:11px 16px}.recurring-scope-actions{display:grid;grid-template-columns:1fr}.ghost-button:disabled,.close-button:disabled,.summary-action:disabled{opacity:.45;cursor:not-allowed}.ghost-button.is-danger{border-color:#d75a6633;background:#fff1f2eb;color:#b24554}.ghost-button.is-danger:hover{background:#ffeaedf5}.modal-stack{margin-top:12px;display:grid;gap:12px}.now-marker{position:absolute;left:0;right:0;display:flex;align-items:center;pointer-events:none;z-index:3}.now-dot{width:10px;height:10px;border-radius:50%;background:var(--brand-alert);box-shadow:0 0 0 4px #ff5b6729;margin-left:8px;flex:0 0 auto}.now-line{height:2px;flex:1;margin-left:6px;background:linear-gradient(90deg,#ff5b67eb,#ffba3a47)}@media(max-width:900px){.app-shell{padding:var(--space-lg) var(--space-md) 44px}.app-shell-calendar{padding:0}.auth-panel,.hero,.panel,.subpanel{padding:var(--space-xl)}.student-card,.event-card,.detail-block,.settings-card{padding:14px}.hero{grid-template-columns:1fr}.brand-lockup{align-items:center}.brand-title{font-size:30px}.hero-status,.hero-actions{justify-content:flex-start}.calendar-screen-header-bar{padding:var(--mobile-header-top-inset) 10px 10px}.calendar-week-strip{gap:2px}.calendar-weekday-chip strong,.calendar-month-day-number{width:36px;height:36px;font-size:17px}.calendar-day-title-row h2{font-size:17px}.calendar-day-scroll,.calendar-month-scroll{padding-left:10px;padding-right:10px}.calendar-day-timeline{grid-template-columns:46px minmax(0,1fr);gap:8px}.calendar-screen .floating-warning-banner{margin-inline:10px}.lesson-screen-panel{width:100%}.lesson-screen-header{padding:env(safe-area-inset-top,0px) 14px 12px}.lesson-link-button-student{font-size:24px}.lesson-screen-body{padding:14px 14px calc(env(safe-area-inset-bottom,0px) + 24px)}.app-screen-shell{padding:0;background:transparent}.app-screen-panel{width:100%;min-height:100%;border-radius:0;box-shadow:none}.app-screen-underlay{background:linear-gradient(180deg,#ffffffd6,#f7f9fcad),radial-gradient(circle at top,rgba(255,255,255,.16),transparent 50%)}.app-screen-header{padding:var(--mobile-header-top-inset) var(--space-lg) var(--space-md)}.settings-launch-card,.settings-flat-entry,.student-subscription-choice-card{padding:12px}.calendar-menu-tile{min-height:48px;padding:10px 12px}.calendar-menu-item,.calendar-menu-logout{min-height:44px;padding-inline:12px}.app-screen-body{padding:0 var(--space-lg) var(--mobile-screen-bottom-inset)}.screen-sticky-action-bar{padding-inline:var(--space-lg)}.app-shell-sections{padding:0}.layout-sections{min-height:100dvh}.section-screen-shell{min-height:100dvh;max-height:100dvh;border-radius:0;box-shadow:none;border-left:0;border-right:0;border-bottom:0}.section-screen-header-bar{padding:var(--mobile-header-top-inset) var(--space-lg) var(--space-md)}.section-screen-title{font-size:30px}.section-screen-body{padding:var(--space-lg) var(--space-lg) var(--mobile-screen-bottom-inset)}.day-navigator{grid-template-columns:auto 1fr auto}.action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.section-screen-search{align-items:stretch;flex-direction:column}.action-row .ghost-button{width:100%}.calendar-action-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:stretch}.calendar-action-row .compact-settings-button{align-self:stretch;height:auto}.subject-card-top,.subject-picker-summary{display:grid;grid-template-columns:1fr}.subject-secondary-actions,.teacher-transfer-controls{grid-template-columns:1fr}.settings-package-level-head,.settings-header-actions{grid-template-columns:1fr;display:grid}.settings-package-preview-grid,.settings-subscription-grid{grid-template-columns:1fr}.settings-detail-action-row{display:grid;grid-template-columns:1fr}.integration-grid{grid-template-columns:1fr}.week-mobile-header{grid-template-columns:38px repeat(7,minmax(0,1fr));gap:3px}.week-mobile-day-button{padding:8px 1px}.week-mobile-body{grid-template-columns:38px minmax(0,1fr);gap:3px}.week-columns{gap:3px}.summary-grid,.draft-lesson-top-grid,.draft-lesson-secondary-grid,.teacher-card-kpis,.finance-overview-grid,.finance-snapshot-grid,.settings-form-grid,.settings-rate-overview-grid,.settings-rate-discount-list,.subject-primary-actions,.name-grid,.settings-card-head,.inline-action-row{grid-template-columns:1fr}.settings-card-actions{justify-content:flex-start}.picker-item,.compact-row,.student-card-top,.subject-card-top,.subject-picker-summary{gap:var(--space-md)}.teacher-transfer-controls{grid-template-columns:1fr}.month-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.month-weekday{padding:6px 2px;font-size:11px}.month-cell{min-height:86px;padding:9px 7px;border-radius:8px}.month-date{font-size:14px;margin-bottom:8px}.month-badge{padding:6px;border-radius:10px}.picker-item{align-items:flex-start}.picker-meta{justify-items:start}.weekday-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}
