:root{color:#17343a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#292b31;font-family:Segoe UI,Trebuchet MS,Gill Sans,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#292b31}body{background:#292b31;min-width:320px;margin:0}#root{background:inherit;background-color:inherit;min-height:100vh}button,input,select{font:inherit}h1,h2,h3,h4,p{margin:0}.crm-shell{--bg-main:rgb(var(--palette-neutral-800-rgb,35, 37, 44));--bg-surface:rgba(var(--palette-neutral-800-rgb,41, 44, 52), .78);--bg-card:rgba(var(--palette-neutral-700-rgb,46, 49, 57), .9);--bg-soft:#ffffff0b;--text-main:rgb(var(--palette-neutral-50-rgb,245, 246, 248));--text-muted:rgb(var(--palette-neutral-400-rgb,158, 165, 180));--border:#ffffff12;--accent:#35d48d;--accent-soft:#7ea6ff;--danger:#ff8181;--warning:#ffb86b;--shadow:0 24px 60px #00000047;--button-hover-bg:rgba(var(--palette-accent-rgb,35, 199, 164), .16);--button-hover-border:rgba(var(--palette-accent-rgb,35, 199, 164), .32);--button-active-bg:rgba(var(--palette-accent-rgb,35, 199, 164), .22);--button-active-border:rgba(var(--palette-accent-rgb,35, 199, 164), .42);--button-active-text:#dcfff5;--regular-button-accent:rgb(var(--palette-accent-rgb,35, 199, 164));--button-hover-danger-bg:#ff818124;--button-hover-danger-border:#ff81814d;--primary-button-bg:linear-gradient(135deg, #3478ff 0%, #8b5cf6 100%);--primary-button-hover-bg:linear-gradient(135deg, #4f8cff 0%, #9b72ff 100%);--primary-button-shadow:#5372ff38;--primary-button-hover-shadow:#5372ff52;height:100vh;min-height:100vh;padding-top:env(safe-area-inset-top,0px);padding-inline:env(safe-area-inset-left,0px) env(safe-area-inset-right,0px);background:var(--crm-shell-background,radial-gradient(circle at 15% 18%, #ffffff0d, transparent 24%), radial-gradient(circle at 84% 8%, rgba(var(--palette-neutral-300-rgb,181, 187, 198), .06), transparent 20%), linear-gradient(180deg, rgb(var(--palette-neutral-800-rgb,41, 43, 49)) 0%, rgb(var(--palette-neutral-900-rgb,31, 33, 39)) 100%));background-size:var(--crm-shell-background-size,auto);background-position:var(--crm-shell-background-position,initial);color:var(--text-main);background-attachment:fixed;grid-template-columns:292px 1fr;display:grid;position:relative;overflow:hidden}.crm-shell.auth-screen{grid-template-columns:1fr}.crm-shell.student-portal-screen{height:auto;min-height:100vh;overflow:clip visible}.crm-shell.student-portal-screen :is(button,a,[role=button]){-webkit-tap-highlight-color:transparent}.teacher-portal-shell .teacher-portal-hero{min-height:0}.teacher-portal-shell,.teacher-portal-shell *{box-sizing:border-box}.teacher-portal-shell .portal-dashboard-layout,.teacher-portal-shell .portal-detail-area,.teacher-portal-shell .portal-info-grid,.teacher-portal-shell .student-portal-section,.teacher-portal-shell #teacher-portal-lessons,.teacher-portal-shell #teacher-portal-salary{min-width:0;max-width:100%}.teacher-portal-shell .teacher-schedule-lesson-title,.teacher-portal-shell .teacher-schedule-lesson-copy,.teacher-portal-shell .teacher-schedule-lesson-copy>*,.teacher-portal-shell .teacher-salary-lesson-copy,.teacher-portal-shell .teacher-salary-lesson-copy>*{overflow-wrap:anywhere;min-width:0;max-width:100%}.teacher-portal-hero:after{display:none}.teacher-portal-eyebrow{align-items:center;gap:8px;display:inline-flex}.teacher-portal-title-icon{width:18px;height:18px;color:var(--accent);place-items:center;display:inline-grid}.teacher-portal-title-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.teacher-portal-identity{align-items:center;gap:10px;margin-top:7px;display:flex}.teacher-portal-language-flag{flex-basis:29px;width:29px;translate:0 1px}.crm-shell button.teacher-portal-stat-card,.crm-shell .student-portal-info-card.teacher-portal-stat-card,.crm-shell button.teacher-portal-stat-card:hover,.crm-shell .student-portal-info-card.teacher-portal-stat-card:hover,.crm-shell button.teacher-portal-stat-card:focus-visible,.crm-shell .student-portal-info-card.teacher-portal-stat-card:focus-visible,.crm-shell button.teacher-portal-stat-card:active,.crm-shell .student-portal-info-card.teacher-portal-stat-card:active{--teacher-stat-accent:var(--accent);--teacher-stat-surface:var(--bg-card);text-align:left;cursor:pointer;appearance:none;border-radius:16px;width:100%;min-height:112px;padding:18px;position:relative;overflow:hidden;color:var(--text-main)!important;background:linear-gradient(145deg, color-mix(in srgb, var(--teacher-stat-accent) 7%, var(--teacher-stat-surface)), var(--teacher-stat-surface) 68%)!important;border:0!important}.crm-shell .student-portal-info-card.teacher-portal-stat-card{cursor:default}.crm-shell button.teacher-portal-stat-card:hover,.crm-shell button.teacher-portal-stat-card:focus-visible{border:0!important;transform:none!important}.student-portal-calendar-layout.student-portal-schedule-calendar-fixed-size{overflow-anchor:none;grid-template-columns:minmax(0,342px) minmax(0,1fr)}.student-portal-calendar-layout.student-portal-schedule-calendar-fixed-size>.student-portal-schedule-picker{box-sizing:border-box;justify-self:center;width:min(342px,100%);max-width:100%}.student-portal-calendar-layout.student-portal-schedule-calendar-fixed-size>.student-portal-calendar-insights{grid-column:2;margin-top:0}@media (width<=900px){.student-portal-calendar-layout.student-portal-schedule-calendar-fixed-size{grid-template-columns:minmax(0,1fr)}.student-portal-calendar-layout.student-portal-schedule-calendar-fixed-size>.student-portal-calendar-insights{grid-column:1;margin-top:0}}.crm-shell button.teacher-portal-stat-card:focus-visible{outline:2px solid var(--text-muted);outline-offset:3px}.crm-shell button.teacher-portal-stat-card:active{transform:none!important}#teacher-portal-overview button.teacher-portal-stat-card,#teacher-portal-overview button.teacher-portal-stat-card:hover,#teacher-portal-overview button.teacher-portal-stat-card:focus-visible,#teacher-portal-overview button.teacher-portal-stat-card:active{background:linear-gradient(145deg, color-mix(in srgb, var(--teacher-stat-accent) 7%, var(--teacher-stat-surface)), var(--teacher-stat-surface) 68%)!important;border:0!important}#teacher-portal-overview button.teacher-portal-stat-card:hover,#teacher-portal-overview button.teacher-portal-stat-card:focus-visible{border:0!important;transform:none!important}#teacher-portal-overview button.teacher-portal-stat-card:active{transform:none!important}.teacher-portal-stat-card:after,.teacher-portal-stat-card:hover:after,.teacher-portal-stat-card:focus-visible:after{display:none}.teacher-portal-stat-card .stat-card-top{grid-template-rows:auto minmax(20px,1fr) auto;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:0 12px;min-height:76px;display:grid}.teacher-portal-stat-label{color:var(--text-muted);grid-area:1/2;align-self:center;font-size:.79rem;line-height:1.2}#teacher-portal-overview .teacher-portal-stat-card strong{color:var(--teacher-stat-accent);letter-spacing:-.025em;grid-area:3/1/auto/-1;align-self:end;font-size:clamp(1.08rem,1.55vw,1.4rem);line-height:1.05}.teacher-portal-stat-icon{background:color-mix(in srgb, var(--teacher-stat-accent) 16%, transparent);border:0;border-radius:12px;grid-area:1/1;align-self:center;place-items:center;width:36px;height:36px;display:grid;color:var(--teacher-stat-accent)!important;margin:0!important}.teacher-portal-stat-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.teacher-portal-stat-card-pending{--teacher-stat-accent:#ffb84d!important;--teacher-stat-surface:rgb(var(--palette-neutral-900-rgb,38, 34, 28))!important}.teacher-portal-stat-card-total{--teacher-stat-accent:#a78bfa!important;--teacher-stat-surface:rgb(var(--palette-neutral-900-rgb,33, 30, 43))!important}.teacher-portal-stat-card-paid{--teacher-stat-accent:#35d48d!important;--teacher-stat-surface:rgb(var(--palette-neutral-900-rgb,26, 38, 33))!important}.teacher-portal-stat-card-lessons{--teacher-stat-accent:#55a8ff!important;--teacher-stat-surface:rgb(var(--palette-neutral-900-rgb,27, 34, 44))!important}.student-portal-info-note{grid-column:1/-1}.crm-shell .student-portal-info-card.teacher-portal-stat-card{border-radius:16px;min-height:112px;padding:18px}.student-portal-info-card.teacher-portal-stat-card .stat-card-top{grid-template-rows:auto minmax(18px,1fr) auto;grid-template-columns:32px minmax(0,1fr);gap:0 11px;min-height:68px}.student-portal-info-card.teacher-portal-stat-card .teacher-portal-stat-icon{border-radius:11px;width:32px;height:32px}.student-portal-info-card.teacher-portal-stat-card strong{font-size:clamp(1rem,1.35vw,1.2rem);color:#fff!important}.student-portal-info-contact-panel{min-height:148px;box-shadow:var(--shadow);grid-column:1/-1;gap:18px;display:grid;position:relative;overflow:hidden;--teacher-stat-accent:#43c5c3!important;--teacher-stat-surface:rgb(var(--palette-neutral-900-rgb,26, 38, 39))!important;background:linear-gradient(145deg, color-mix(in srgb, var(--teacher-stat-accent) 7%, var(--teacher-stat-surface)), var(--teacher-stat-surface) 68%)!important;border:0!important;border-radius:16px!important;padding:18px!important}.student-portal-info-contact-panel-heading{align-items:center;gap:10px;min-width:0;display:flex}.student-portal-info-contact-panel-heading>div{gap:3px;min-width:0;display:grid}.student-portal-info-contact-panel-heading strong{color:#fff;font-size:.92rem;font-weight:600;line-height:1.2}.student-portal-info-contact-panel-heading>div>span{color:var(--text-muted);overflow-wrap:anywhere;letter-spacing:-.01em;font-size:.75rem;font-weight:500;line-height:1.25}.student-portal-info-contact-panel-icon{background:color-mix(in srgb, var(--teacher-stat-accent) 18%, transparent);border-radius:10px;flex:none;place-items:center;width:32px;height:32px;display:grid;color:color-mix(in srgb, var(--teacher-stat-accent) 70%, #fff)!important}.student-portal-info-contact-panel-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.student-portal-info-contact-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.student-portal-info-contact-group{align-content:start;gap:8px;min-width:0;padding:0;display:grid}.student-portal-info-contact-group:first-child{padding-left:0}.student-portal-info-contact-category{color:var(--text-muted);letter-spacing:.01em;font-size:.69rem;font-weight:700;line-height:1.2}.student-portal-info-contact-card{background:color-mix(in srgb, var(--text-main) 3%, transparent);border-radius:14px;align-content:start;gap:8px;min-width:0;padding:12px;display:grid}.student-portal-info-contact-person{min-width:0;display:grid}.student-portal-info-contact-person>strong{width:fit-content;color:var(--text-main);background:color-mix(in srgb, var(--text-main) 8%, transparent);border:0;border-radius:6px;align-items:center;padding:4px 9px;font-size:.8rem;font-weight:700;line-height:1.2;display:inline-flex}.student-portal-info-contact-label{color:var(--text-muted);letter-spacing:.01em;font-size:.69rem;font-weight:700;line-height:1.2}.student-portal-info-contact-values{gap:8px;min-width:0;display:grid}.student-portal-info-contact-phone{overflow-wrap:anywhere;align-items:center;gap:8px;width:fit-content;max-width:100%;font-size:clamp(.92rem,1.2vw,1.08rem);font-weight:800;line-height:1.1;text-decoration:none;display:flex;color:#fff!important}.student-portal-info-contact-phone svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:15px;height:15px}.student-portal-info-contact-write{justify-items:start;gap:5px;display:grid}.student-portal-info-contact-write-label{color:var(--text-muted);font-size:.68rem;font-weight:700;line-height:1.2}.student-portal-info-contact-actions{align-items:center;gap:8px;min-width:0;display:flex}.student-portal-info-social-button{--contact-social-color:#26a5e4;border:1px solid color-mix(in srgb, var(--contact-social-color) 52%, var(--border));background:color-mix(in srgb, var(--contact-social-color) 12%, transparent);border-radius:10px;flex:none;place-items:center;width:34px;height:34px;text-decoration:none;transition:background .16s,border-color .16s,transform .16s;display:grid;color:var(--contact-social-color)!important}.student-portal-info-social-button-telegram{--contact-social-color:#26a5e4}.student-portal-info-social-button-viber{--contact-social-color:#7360f2}.student-portal-info-social-button-whatsapp{--contact-social-color:#25d366}.student-portal-info-social-button svg{fill:currentColor;stroke:none;width:19px;height:19px;display:block}.student-portal-info-contact-phone:hover,.student-portal-info-contact-phone:focus-visible{text-underline-offset:3px;text-decoration:underline;color:var(--teacher-stat-accent)!important}.student-portal-info-social-button:hover,.student-portal-info-social-button:focus-visible{border-color:var(--contact-social-color);background:color-mix(in srgb, var(--contact-social-color) 22%, transparent);transform:translateY(-1px);color:var(--contact-social-color)!important}@media (width<=760px){.student-portal-info-contact-groups{grid-template-columns:minmax(0,1fr);gap:14px}.student-portal-info-contact-panel{min-height:0;border-radius:19px!important;padding:13px!important}}.theme-light .student-portal-info-contact-panel{--teacher-stat-accent:#087b79!important;--teacher-stat-surface:#effcfb!important}.student-portal-info-card.teacher-portal-stat-card .teacher-portal-stat-label{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.student-portal-info-discount{letter-spacing:.01em;white-space:nowrap;background:0 0;border:0;border-radius:0;justify-items:end;gap:2px;width:fit-content;margin-top:0;padding:0;font-size:.6rem;font-weight:600;line-height:1;display:grid;color:var(--text-muted)!important}.student-portal-info-discount>span{color:var(--text-muted)!important}.student-portal-info-discount-amount{font-size:.68rem;font-weight:800;color:var(--teacher-stat-accent)!important}.theme-light .teacher-portal-stat-card-pending{--teacher-stat-accent:#bd7600!important;--teacher-stat-surface:#fffaf0!important}.theme-light .teacher-portal-stat-card-total{--teacher-stat-accent:#7652d6!important;--teacher-stat-surface:#f8f5ff!important}.theme-light .teacher-portal-stat-card-paid{--teacher-stat-accent:#0a9460!important;--teacher-stat-surface:#f1fcf7!important}.theme-light .teacher-portal-stat-card-lessons{--teacher-stat-accent:#2677cb!important;--teacher-stat-surface:#f2f8ff!important}@media (width<=760px){.teacher-portal-title-icon{width:17px;height:17px}.teacher-portal-identity{gap:8px;margin-top:6px}.teacher-portal-language-flag{flex-basis:26px;width:26px}.crm-shell button.teacher-portal-stat-card,.crm-shell button.teacher-portal-stat-card:hover,.crm-shell button.teacher-portal-stat-card:focus-visible,.crm-shell button.teacher-portal-stat-card:active{border-radius:19px;min-height:104px;padding:13px}.teacher-portal-stat-card .stat-card-top{grid-template-rows:auto minmax(18px,1fr) auto;grid-template-columns:32px minmax(0,1fr);gap:0 10px;min-height:78px}.teacher-portal-stat-icon{border-radius:10px;width:32px;height:32px}.teacher-portal-stat-icon svg{width:18px;height:18px}#teacher-portal-overview .teacher-portal-stat-card strong{font-size:.98rem}}@media (prefers-reduced-motion:reduce){.teacher-portal-stat-card{transition:none!important}}html.telegram-webapp .crm-shell.student-portal-screen{min-height:var(--tg-viewport-stable-height,100dvh);height:var(--tg-viewport-stable-height,100dvh);overflow:hidden auto}.auth-screen-theme-switch{top:calc(24px + env(safe-area-inset-top,0px));right:calc(24px + env(safe-area-inset-right,0px));z-index:2;position:absolute}.theme-light{--bg-main:rgb(var(--palette-neutral-100-rgb,237, 243, 255));--bg-surface:#ffffffad;--bg-card:#ffffffeb;--bg-soft:rgba(var(--palette-neutral-900-rgb,11, 23, 46), .05);--text-main:rgb(var(--palette-neutral-900-rgb,22, 33, 55));--text-muted:rgb(var(--palette-neutral-500-rgb,102, 115, 141));--border:rgba(var(--palette-neutral-900-rgb,16, 31, 63), .09);--accent:#35d48d;--accent-soft:#507dff;--danger:#d85b5b;--warning:#d08f32;--shadow:0 24px 60px #3d55831f;--button-hover-bg:rgba(var(--palette-accent-rgb,26, 198, 164), .13);--button-hover-border:rgba(var(--palette-accent-rgb,26, 198, 164), .28);--button-active-bg:rgba(var(--palette-accent-rgb,26, 198, 164), .17);--button-active-border:rgba(var(--palette-accent-rgb,26, 198, 164), .34);--button-active-text:#047857;--regular-button-accent:rgb(var(--palette-accent-rgb,26, 198, 164));--button-hover-danger-bg:#d85b5b1c;--button-hover-danger-border:#d85b5b3d;background:var(--crm-shell-background,radial-gradient(circle at 15% 20%, #507dff2e, transparent 20%), radial-gradient(circle at 80% 10%, rgba(var(--palette-accent-rgb,26, 198, 164), .12), transparent 18%), linear-gradient(180deg, rgb(var(--palette-neutral-50-rgb,243, 247, 255)) 0%, rgb(var(--palette-neutral-100-rgb,233, 238, 252)) 100%));background-size:var(--crm-shell-background-size,auto);background-position:var(--crm-shell-background-position,initial)}.primary-button-tone-green{--primary-button-bg:linear-gradient(135deg, #12b981 0%, #22c55e 100%);--primary-button-hover-bg:linear-gradient(135deg, #20c997 0%, #3ed66d 100%);--primary-button-shadow:#22c55e38;--primary-button-hover-shadow:#22c55e52}.primary-button-tone-purple{--primary-button-bg:linear-gradient(90deg, #2d9fde 0%, #5a85e3 50%, #826adc 100%);--primary-button-hover-bg:linear-gradient(90deg, #41ade8 0%, #6d95ec 50%, #927ce5 100%);--primary-button-shadow:#5a85e33b;--primary-button-hover-shadow:#5a85e357}.primary-button-tone-rose{--primary-button-bg:linear-gradient(135deg, #f43f5e 0%, #ec4899 100%);--primary-button-hover-bg:linear-gradient(135deg, #fb7185 0%, #f472b6 100%);--primary-button-shadow:#f43f5e38;--primary-button-hover-shadow:#f43f5e54}.primary-button-tone-orange{--primary-button-bg:linear-gradient(135deg, #f97316 0%, #f59e0b 100%);--primary-button-hover-bg:linear-gradient(135deg, #fb923c 0%, #fbbf24 100%);--primary-button-shadow:#f9731638;--primary-button-hover-shadow:#f9731657}.primary-button-tone-cyan{--primary-button-bg:linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);--primary-button-hover-bg:linear-gradient(135deg, #22d3ee 0%, #60a5fa 100%);--primary-button-shadow:#06b6d438;--primary-button-hover-shadow:#06b6d457}.primary-button-tone-indigo{--primary-button-bg:linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);--primary-button-hover-bg:linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--primary-button-shadow:#4f46e53b;--primary-button-hover-shadow:#4f46e557}.primary-button-tone-red{--primary-button-bg:linear-gradient(135deg, #ef4444 0%, #f97316 100%);--primary-button-hover-bg:linear-gradient(135deg, #f87171 0%, #fb923c 100%);--primary-button-shadow:#ef444438;--primary-button-hover-shadow:#ef444454}.primary-button-tone-gold{--primary-button-bg:linear-gradient(135deg, #eab308 0%, #f59e0b 100%);--primary-button-hover-bg:linear-gradient(135deg, #facc15 0%, #fbbf24 100%);--primary-button-shadow:#eab30838;--primary-button-hover-shadow:#eab30857}.primary-button-tone-slate{--primary-button-bg:linear-gradient(135deg, #475569 0%, #64748b 100%);--primary-button-hover-bg:linear-gradient(135deg, #64748b 0%, #94a3b8 100%);--primary-button-shadow:#4755693d;--primary-button-hover-shadow:#47556957}.regular-button-tone-blue{--regular-button-accent:#4f8cff;--button-hover-bg:#4f8cff26;--button-hover-border:#4f8cff52;--button-active-bg:#4f8cff38;--button-active-border:#4f8cff75;--button-active-text:#e6efff}.regular-button-tone-green{--regular-button-accent:var(--accent);--button-hover-bg:color-mix(in srgb, var(--accent) 15%, transparent);--button-hover-border:color-mix(in srgb, var(--accent) 32%, transparent);--button-active-bg:color-mix(in srgb, var(--accent) 22%, transparent);--button-active-border:color-mix(in srgb, var(--accent) 46%, transparent);--button-active-text:var(--accent)}.regular-button-tone-purple{--regular-button-accent:#a855f7;--button-hover-bg:#a855f726;--button-hover-border:#a855f752;--button-active-bg:#a855f738;--button-active-border:#a855f770;--button-active-text:#f3e8ff}.regular-button-tone-rose{--regular-button-accent:#f43f5e;--button-hover-bg:#f43f5e24;--button-hover-border:#f43f5e4f;--button-active-bg:#f43f5e36;--button-active-border:#f43f5e6e;--button-active-text:#ffe4ea}.regular-button-tone-orange{--regular-button-accent:#f97316;--button-hover-bg:#f9731626;--button-hover-border:#f9731652;--button-active-bg:#f9731638;--button-active-border:#f9731673;--button-active-text:#fff1df}.regular-button-tone-cyan{--regular-button-accent:#06b6d4;--button-hover-bg:#06b6d426;--button-hover-border:#06b6d452;--button-active-bg:#06b6d438;--button-active-border:#06b6d470;--button-active-text:#ddfbff}.regular-button-tone-indigo{--regular-button-accent:#6366f1;--button-hover-bg:#6366f126;--button-hover-border:#6366f154;--button-active-bg:#6366f138;--button-active-border:#6366f173;--button-active-text:#e8eaff}.regular-button-tone-red{--regular-button-accent:#ef4444;--button-hover-bg:#ef444424;--button-hover-border:#ef44444f;--button-active-bg:#ef444436;--button-active-border:#ef44446e;--button-active-text:#ffe2e2}.regular-button-tone-gold{--regular-button-accent:#eab308;--button-hover-bg:#eab30826;--button-hover-border:#eab30857;--button-active-bg:#eab3083b;--button-active-border:#eab30875;--button-active-text:#fff6cc}.regular-button-tone-slate{--regular-button-accent:#94a3b8;--button-hover-bg:#94a3b824;--button-hover-border:#94a3b84d;--button-active-bg:#94a3b833;--button-active-border:#94a3b866;--button-active-text:#f1f5f9}.theme-light.regular-button-tone-blue{--button-active-text:#1e40af}.theme-light.regular-button-tone-purple{--button-active-text:#6b21a8}.theme-light.regular-button-tone-rose{--button-active-text:#9f1239}.theme-light.regular-button-tone-orange{--button-active-text:#9a3412}.theme-light.regular-button-tone-cyan{--button-active-text:#155e75}.theme-light.regular-button-tone-indigo{--button-active-text:#3730a3}.theme-light.regular-button-tone-red{--button-active-text:#991b1b}.theme-light.regular-button-tone-gold{--button-active-text:#854d0e}.theme-light.regular-button-tone-slate{--button-active-text:#334155}.crm-shell{--button-hover-border:transparent!important}.ambient{filter:blur(80px);opacity:.35;pointer-events:none;border-radius:999px;width:380px;height:380px;position:absolute}.ambient-left{background:#ffffff14;bottom:-120px;left:-120px}.ambient-right{background:rgba(var(--palette-neutral-500-rgb,120, 127, 140), .12);top:-100px;right:-80px}.glass-card,.panel,.student-card,.student-list-card,.teacher-card,.salary-teacher-card,.schedule-card,.journal-card{background:color-mix(in srgb, var(--bg-card) var(--glass-card-background-alpha,100%), transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:none!important}.sidebar{z-index:1;top:calc(18px + env(safe-area-inset-top,0px));height:calc(100vh - 36px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));border-radius:28px;flex-direction:column;gap:28px;margin:18px;padding:22px;display:flex;position:sticky;overflow-y:auto}.sidebar-overlay{display:none}.auth-shell{z-index:1;place-items:center;width:100%;min-height:100vh;padding:24px;display:grid;position:relative}.auth-card{border-radius:28px;gap:22px;width:min(440px,100vw - 32px);padding:26px;display:grid;position:relative}.auth-copy{text-align:center;justify-items:center;gap:12px;display:grid}.auth-logo{margin:0 auto}.auth-copy h2,.auth-copy p,.auth-note,.auth-error{margin:0}.auth-form{gap:14px;display:grid}.auth-form label{color:var(--text-muted);gap:8px;display:grid}.auth-copy .auth-login-title{margin-block:8px;font-size:1.25rem;line-height:1.3}.auth-login-form label{color:var(--text-main)}.theme-dark .auth-login-form label{color:#fff}.auth-password-control{position:relative}.auth-form input{border:1px solid var(--border);background:linear-gradient(180deg, #ffffff0a, #ffffff05), var(--bg-surface);width:100%;color:var(--text-main);font:inherit;border-radius:16px;padding:13px 14px;transition:border-color .16s,box-shadow .16s,background-color .16s;box-shadow:inset 0 1px #ffffff0a,0 10px 24px #00000024}.auth-password-control input{padding-right:54px}.theme-light .auth-form input{background:linear-gradient(180deg, #ffffffd1, #ffffffb3), var(--bg-surface);box-shadow:inset 0 1px #ffffffe6,0 10px 24px #3d55831a}.auth-form input::placeholder{color:color-mix(in srgb, var(--text-muted) 82%, transparent)}.auth-form input:hover{border-color:#68a8ff3d}.auth-password-toggle{color:#fff;width:38px;height:38px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;transition:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-password-toggle,.auth-password-toggle:hover,.auth-password-toggle:active,.auth-password-toggle:focus{transform:translateY(-50%)!important}.auth-password-toggle:hover{color:#fff;background:0 0;border-color:#0000}.theme-light .auth-password-toggle,.theme-light .auth-password-toggle:hover{color:rgb(var(--palette-neutral-900-rgb,17, 24, 39))}.password-strength{color:var(--text-muted);gap:7px;margin-top:-6px;font-size:.84rem;line-height:1.35;display:grid}.password-strength-heading{justify-content:space-between;align-items:center;gap:9px;display:flex}.password-strength-heading strong{color:var(--text-main);font-size:.86rem}.password-strength-track{background:color-mix(in srgb, var(--border) 55%, transparent);border-radius:999px;height:7px;overflow:hidden}.password-strength-fill{border-radius:inherit;background:rgb(var(--palette-neutral-400-rgb,148, 163, 184));height:100%;transition:width .18s,background-color .18s;display:block}.password-strength-weak .password-strength-heading strong{color:#fb7185}.password-strength-weak .password-strength-fill{background:#fb7185}.password-strength-medium .password-strength-heading strong{color:#f59e0b}.password-strength-medium .password-strength-fill{background:#f59e0b}.password-strength-strong .password-strength-heading strong{color:#34d399}.password-strength-strong .password-strength-fill{background:#34d399}.auth-form .primary-button{width:100%;margin-top:6px}.auth-note{color:var(--text-muted)}.auth-error{color:var(--danger)}.auth-choice-list{gap:12px;display:grid}.auth-choice-button{border:1px solid var(--border);background:var(--bg-soft);width:100%;color:inherit;text-align:left;cursor:pointer;border-radius:18px;gap:6px;padding:16px 18px;display:grid}.auth-choice-button strong{font-size:1rem}.auth-choice-button span,.auth-choice-back{color:var(--text-muted)}.auth-choice-button:hover,.auth-choice-button:focus-visible{background:#68a8ff1a;border-color:#68a8ff57}.auth-choice-back{justify-self:start}.auth-choice-logout{min-width:132px;color:var(--danger);text-align:center;justify-self:center}.auth-choice-logout:hover,.auth-choice-logout:focus-visible{color:var(--danger)}.student-portal-shell{z-index:1;grid-auto-rows:max-content;align-content:start;gap:18px;width:min(1180px,100% - 36px);max-width:100%;margin:24px auto;display:grid;position:relative}.student-portal-topbar,.student-portal-hero{border-radius:28px;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;display:flex}.portal-topbar{z-index:1300;align-self:start;min-height:64px;padding:12px 18px 12px 16px;position:relative}.portal-topbar-logo{width:170px;height:auto;margin:0}.portal-topbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.portal-topbar-menu{z-index:1310;position:relative}.portal-menu-trigger{border-radius:14px}.crm-shell .ghost-button.portal-menu-trigger,.crm-shell .ghost-button.portal-menu-trigger:hover,.crm-shell .ghost-button.portal-menu-trigger:focus-visible,.crm-shell .ghost-button.portal-menu-trigger:active{box-shadow:none;border-color:#0000;background:0 0!important}.portal-menu-icon{flex-shrink:0;width:20px;height:20px;display:block;position:relative}.portal-menu-icon>span{background:currentColor;border-radius:999px;width:100%;height:2px;transition:transform .28s,opacity .18s;position:absolute;top:9px;left:0}.portal-menu-icon>span:first-child{transform:translateY(-6px)}.portal-menu-icon>span:nth-child(3){transform:translateY(6px)}.portal-menu-trigger[aria-expanded=true] .portal-menu-icon>span:first-child{transform:rotate(45deg)}.portal-menu-trigger[aria-expanded=true] .portal-menu-icon>span:nth-child(2){opacity:0;transform:scaleX(0)}.portal-menu-trigger[aria-expanded=true] .portal-menu-icon>span:nth-child(3){transform:rotate(-45deg)}@media (prefers-reduced-motion:reduce){.portal-menu-icon>span{transition:none}}.portal-menu-popover{z-index:1320;border:1px solid var(--border);background:linear-gradient(180deg, #ffffff0e, #ffffff06), color-mix(in srgb, var(--bg-card) 96%, rgb(var(--palette-neutral-900-rgb,17, 24, 39)));width:280px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;gap:8px;padding:10px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.portal-menu-title{color:#fff;padding:4px 6px 2px;font-size:.86rem;font-weight:800}.theme-light .portal-menu-title{color:rgb(var(--palette-neutral-900-rgb,17, 24, 39))}.portal-menu-row,.portal-menu-action{width:100%;min-height:36px;color:var(--text-main);background:0 0;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;display:flex}.portal-menu-action{font:inherit;cursor:pointer;justify-content:flex-start;font-weight:600}.portal-menu-action:hover,.portal-menu-action:focus-visible{border-color:color-mix(in srgb, var(--accent) 34%, var(--border));background:color-mix(in srgb, var(--accent) 10%, var(--bg-soft));outline:none}.portal-menu-action svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.portal-menu-action.danger{color:var(--danger)}.portal-menu-theme-switch{flex:none}.modal-backdrop.portal-password-backdrop{z-index:3000;width:100vw;min-height:100dvh;padding:24px;position:fixed;inset:0}.portal-password-modal{gap:18px;display:grid}.portal-password-modal .section-heading{align-items:flex-start}.portal-password-modal .section-heading h3,.portal-password-modal .section-heading p{margin:0}.portal-password-form{gap:16px;width:100%}.portal-password-actions{grid-template-columns:minmax(0,1fr) minmax(110px,.34fr);gap:12px;display:grid}.portal-password-actions button{width:100%}.portal-back-button{justify-self:start;align-items:center;gap:8px;display:inline-flex}.portal-back-button span{font-size:1.1rem;line-height:1}.portal-reset-password-button{color:var(--danger);border-color:#ff818138;justify-self:start}.portal-reset-password-button:hover:not(:disabled){background:#ff81811f;border-color:#ff818152}.portal-settings-page{align-self:start;width:100%}.portal-settings-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;max-width:680px;display:grid}.portal-settings-card{gap:14px;display:grid}.portal-settings-card>div{gap:4px;display:grid}.portal-settings-card p{color:var(--text-muted);margin:0}.portal-settings-password-card{align-content:start}.portal-settings-password-card-compact{justify-self:stretch;gap:12px;width:100%;padding:16px}.portal-password-card-heading{align-items:flex-start;gap:4px}.portal-password-card-heading h3{color:var(--text-main);margin:0;font-size:1.05rem;line-height:1.2}.portal-password-card-heading p{color:rgb(var(--palette-neutral-200-rgb,215, 228, 247));margin:4px 0 0;font-size:.85rem}.portal-settings-password-card-compact .portal-password-management-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.portal-settings-password-card-compact .portal-password-management-actions button{white-space:nowrap;width:100%;min-width:0;min-height:38px;padding-inline:10px}.portal-password-management-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.portal-password-management-actions button{width:100%}.portal-settings-card>.theme-switch{justify-self:start}.student-portal-hero{align-items:flex-end}.student-portal-hero h2,.student-portal-hero p{margin:0}.student-portal-student-switcher{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:6px;display:flex}.student-portal-student-name{align-items:baseline;gap:12px;display:inline-flex}.student-portal-student-switcher button{color:var(--text-muted);font:inherit;letter-spacing:0;cursor:pointer;background:0 0;border:0;padding:0;font-size:1.25rem;font-weight:700;line-height:1.12}.student-portal-student-switcher button.active,.student-portal-student-switcher button:hover,.student-portal-student-switcher button:focus-visible,.student-portal-student-switcher button.active:hover,.student-portal-student-switcher button.active:focus-visible{color:var(--text-main)}.student-portal-student-switcher button:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:4px}.student-portal-student-separator{color:var(--text-muted);font-size:1.25rem;font-weight:700;line-height:1}.student-portal-hero-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(460px,100%);min-width:0;display:grid}.student-portal-hero-meta{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.student-portal-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;display:grid}.student-portal-metrics .stat-card strong{font-size:1rem}.teacher-portal-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.student-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.teacher-portal-salary-section{grid-column:1/-1}.teacher-salary-periods{width:100%}.student-portal-section{align-content:start;gap:18px;display:grid}.student-portal-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.student-portal-details>div,.student-portal-note,.student-portal-list-card,.student-portal-transaction-card{border:1px solid var(--border);background:var(--bg-soft);border-radius:18px;padding:14px 16px}.student-portal-details span,.student-portal-days>span,.student-portal-note span,.student-portal-list-card span,.student-portal-transaction-card span{color:var(--text-muted)}.student-portal-details strong,.student-portal-list-card strong,.student-portal-transaction-card strong{display:block}.student-portal-details strong,.student-portal-details span,.student-portal-note p{margin:0}.student-portal-days,.student-portal-note,.student-portal-subsection{gap:10px;display:grid}.student-portal-calendar-wrap{justify-items:center;display:grid}.student-portal-calendar-wrap:has(.student-portal-calendar-layout){display:contents}.student-portal-calendar-layout{grid-column:1/-1;grid-template-columns:minmax(320px,320px) minmax(0,1fr);align-items:start;gap:18px;min-width:0;display:grid}.student-portal-calendar-layout>.student-portal-schedule-picker{grid-column:1;width:100%;min-width:0}.student-portal-calendar-layout>.student-portal-calendar-insights{grid-column:2;align-self:start;margin-top:0}.student-portal-calendar-wrap .student-portal-days{justify-self:start;width:100%;margin-top:10px}.student-portal-calendar-wrap .student-portal-days .chip-grid{justify-content:flex-start}.student-portal-calendar-wrap .student-portal-days .chip{color:#fff;background:#ffffff1f;border-color:#ffffffc7}.student-portal-schedule-layout{grid-template-columns:minmax(320px,320px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.student-portal-schedule-side{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:18px;min-width:0;display:grid}.student-portal-schedule-lessons-column{grid-area:1/1;align-content:start;gap:18px;min-width:0;display:grid}.student-portal-schedule-side>.student-portal-calendar-metrics{grid-area:1/2;align-self:start}@media (width<=900px){.student-portal-schedule-side{grid-template-columns:minmax(0,1fr)}.student-portal-schedule-side>.student-portal-calendar-metrics,.student-portal-schedule-lessons-column{grid-area:auto/1}}.student-portal-schedule-lesson-row{cursor:pointer}.student-portal-schedule-lesson-row.static{cursor:default}.student-portal-schedule-picker{justify-self:center}.student-portal-week-picker{width:100%}.student-portal-schedule-month-picker{grid-template-columns:44px minmax(150px,max-content) 44px minmax(0,1fr);justify-self:stretch;align-items:center;gap:10px;width:100%;max-width:100%;display:grid;position:relative}.student-portal-attendance-sort-button{justify-self:end}.student-portal-schedule-month-date-button{justify-content:center;padding:0 12px}.student-portal-schedule-month-popover{width:max-content;max-width:min(330px,100vw - 48px);left:54px}.student-portal-stack{align-content:start;align-items:start;gap:10px;display:grid}.student-portal-schedule-details{color:var(--text-muted);gap:6px;padding:2px 0 0 42px;font-size:.82rem;display:grid}.ghost-button.student-portal-absence-toggle{color:#ff9b9b;white-space:nowrap;background:#f871711a;border-color:#f871715c;border-radius:6px;place-self:center end;width:auto;min-width:74px;min-height:24px;padding:2px 9px;font-size:.68rem;font-weight:600;line-height:1.15}.ghost-button.student-portal-absence-toggle:not([aria-pressed=true]):hover,.ghost-button.student-portal-absence-toggle:not([aria-pressed=true]):focus-visible{color:#ffc0c0;background:#f871712e;border-color:#f871717a;transform:none}.ghost-button.student-portal-absence-toggle[aria-pressed=true]{color:#faa;background:#f8717124;border-color:#f871716b}.ghost-button.student-portal-absence-toggle[aria-pressed=true]:hover,.ghost-button.student-portal-absence-toggle[aria-pressed=true]:focus-visible{color:#ffc0c0;background:#f8717129;border-color:#f871716b;transform:none}.theme-light .ghost-button.student-portal-absence-toggle{color:#dc2626;background:#ef44440f;border-color:#ef44443d}.theme-light .ghost-button.student-portal-absence-toggle:not([aria-pressed=true]):hover,.theme-light .ghost-button.student-portal-absence-toggle:not([aria-pressed=true]):focus-visible{color:#b91c1c;background:#ef44441f;border-color:#ef444461}.theme-light .ghost-button.student-portal-absence-toggle[aria-pressed=true]{color:#b91c1c;background:#ef444414;border-color:#ef44444d}.theme-light .ghost-button.student-portal-absence-toggle[aria-pressed=true]:hover,.theme-light .ghost-button.student-portal-absence-toggle[aria-pressed=true]:focus-visible{color:#b91c1c;background:#ef44441f;border-color:#ef444457}.student-portal-schedule-details strong{color:#fff}.student-portal-schedule-detail-label{color:var(--text-muted);font-weight:400}.student-portal-schedule-status{font-weight:700}.student-portal-schedule-status.cancelled{color:#fca5a5}.student-portal-schedule-status.replaced{color:rgb(var(--palette-neutral-300-rgb,216, 200, 255))}.student-portal-schedule-status.substitution{color:#fbbf24}.student-portal-schedule-status.refunded{color:#68a8ff}.theme-light .student-portal-schedule-details strong{color:rgb(var(--palette-neutral-900-rgb,17, 24, 39))}.student-portal-list-card p,.student-portal-transaction-card p{margin:4px 0}.student-portal-transaction-date{color:var(--text-muted)}.student-portal-list-card-accent{background:#8b5cf61f;border-color:#8b5cf638}.theme-light .student-portal-list-card-accent{background:#7c3aed14;border-color:#7c3aed29}.teacher-schedule-groups{width:100%}.teacher-week-picker{grid-template-columns:44px minmax(150px,1fr) max-content 44px;align-items:center;gap:10px;display:grid;position:relative}.teacher-week-nav-button,.teacher-week-date-button,.teacher-week-today-button{border:1px solid color-mix(in srgb, var(--border) 78%, transparent);color:#fff;background:color-mix(in srgb, var(--bg-soft) 84%, transparent);min-height:44px;font:inherit;cursor:pointer;border-radius:16px;font-weight:700}.teacher-week-nav-button{place-items:center;width:44px;font-size:1.2rem;display:inline-grid}.teacher-week-date-button{justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:0 16px;display:flex}.teacher-week-date-button svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:17px;height:17px}.student-portal-schedule-month-picker .student-portal-schedule-month-date-button{text-align:center;justify-content:center}.teacher-week-today-button{white-space:nowrap;padding:0 18px}.teacher-week-mode-switch{grid-template-columns:repeat(2,max-content);gap:8px;display:grid}.teacher-week-mode-switch .teacher-week-today-button{grid-area:auto}.teacher-week-nav-button:hover,.teacher-week-date-button:hover,.teacher-week-today-button:hover{border-color:color-mix(in srgb, var(--accent) 38%, var(--border));background:color-mix(in srgb, var(--accent) 12%, var(--bg-soft))}.teacher-week-popover{z-index:30;width:min(330px,100vw - 48px);position:absolute;top:calc(100% + 10px);left:54px}.teacher-week-calendar{width:100%;box-shadow:var(--shadow)}.teacher-schedule-day{gap:12px;width:100%;display:grid}.teacher-schedule-toggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;padding:0;display:flex}.teacher-schedule-toggle>span:first-child{gap:3px;min-width:0;display:grid}.teacher-schedule-day>.teacher-schedule-toggle strong{color:#fff}.theme-light .teacher-schedule-day>.teacher-schedule-toggle strong{color:rgb(var(--palette-neutral-900-rgb,17, 24, 39))}.teacher-schedule-lesson-title{color:#fff;flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.teacher-schedule-lesson-title>span:first-child{color:#fff}.theme-light .teacher-schedule-lesson-title,.theme-light .teacher-schedule-lesson-title>span:first-child{color:rgb(var(--palette-neutral-900-rgb,17, 24, 39))}.teacher-schedule-lesson-title>.teacher-schedule-substitution-label{color:#fbbf24}.teacher-schedule-lesson-title>.teacher-schedule-cancelled-label{color:#fca5a5}.teacher-schedule-toggle small,.teacher-schedule-student span{color:var(--text-muted);font-size:.82rem}.teacher-schedule-lesson-toggle small{color:rgb(var(--palette-neutral-200-rgb,207, 224, 255))}.teacher-schedule-lesson-toggle{grid-template-columns:32px minmax(0,1fr);display:grid}.teacher-schedule-lesson-toggle>.teacher-schedule-lesson-copy{gap:3px;min-width:0;display:grid}.teacher-schedule-lesson-toggle>.teacher-schedule-lesson-number{color:#fff;background:rgb(var(--palette-neutral-600-rgb,71, 85, 105));border-radius:8px;align-self:center;place-items:center;width:27px;height:27px;font-size:.9rem;font-weight:600;line-height:1;display:inline-grid;box-shadow:inset 0 1px #ffffff14}.teacher-salary-lesson>.teacher-schedule-lesson-number{color:#fff;background:rgb(var(--palette-neutral-600-rgb,71, 85, 105));border-radius:8px;place-items:center;width:27px;height:27px;font-size:.9rem;font-weight:600;line-height:1;display:inline-grid;box-shadow:inset 0 1px #ffffff14}.teacher-salary-lesson-toggle>.teacher-salary-lesson-number{background:rgb(var(--palette-neutral-600-rgb,71, 85, 105));color:#fff;border-radius:8px;align-self:center;place-items:center;width:27px;height:27px;font-size:.9rem;font-weight:600;line-height:1;display:inline-grid}.theme-light .teacher-schedule-lesson-toggle>.teacher-schedule-lesson-number,.theme-light .teacher-salary-lesson>.teacher-schedule-lesson-number{background:rgb(var(--palette-neutral-500-rgb,107, 114, 128))}.teacher-schedule-caret{width:28px;height:28px;color:var(--text-muted);background:color-mix(in srgb, var(--text-muted) 10%, transparent);border-radius:999px;flex:0 0 28px;place-items:center;transition:transform .16s,color .16s,background .16s;display:none}.teacher-schedule-day.expanded>.teacher-schedule-toggle .teacher-schedule-caret,.teacher-schedule-lesson.expanded>.teacher-schedule-toggle .teacher-schedule-caret{color:var(--text);background:color-mix(in srgb, var(--accent) 20%, transparent);transform:rotate(90deg)}.teacher-schedule-lessons,.teacher-schedule-students{gap:8px;display:grid}.teacher-schedule-lessons{padding-top:2px}.teacher-schedule-lesson{border:1px solid color-mix(in srgb, var(--border) 76%, transparent);background:color-mix(in srgb, var(--bg-card) 50%, transparent);border-radius:14px;gap:10px;padding:12px;display:grid}.teacher-schedule-lesson-head{grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:10px;display:grid}.teacher-schedule-actions{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;display:flex}.teacher-schedule-action{color:#fff;flex:0 0 32px;width:32px;min-width:32px;height:32px}.teacher-schedule-actions .lesson-substitution-trigger,.teacher-schedule-actions .lesson-cancel-trigger,.teacher-schedule-actions .lesson-restore-trigger{grid-area:auto;justify-self:auto}.teacher-schedule-actions .teacher-schedule-action:hover,.teacher-schedule-actions .teacher-schedule-action:focus-visible,.teacher-schedule-actions .teacher-schedule-action.active,.teacher-schedule-actions .teacher-schedule-action.active:hover,.teacher-schedule-actions .teacher-schedule-action.active:focus-visible{box-shadow:none;color:#fff;background:0 0;border-color:#0000;transform:none}.theme-light .teacher-schedule-actions .teacher-schedule-action:hover,.theme-light .teacher-schedule-actions .teacher-schedule-action:focus-visible,.theme-light .teacher-schedule-actions .teacher-schedule-action.active,.theme-light .teacher-schedule-actions .teacher-schedule-action.active:hover,.theme-light .teacher-schedule-actions .teacher-schedule-action.active:focus-visible{color:rgb(var(--palette-neutral-900-rgb,17, 24, 39))}.teacher-schedule-lesson.substitution{background:linear-gradient(135deg, #fbbf2438, transparent 62%), color-mix(in srgb, var(--bg-card) 50%, transparent);border-color:#fbbf24c7}.teacher-schedule-lesson.substitution .teacher-schedule-lesson-number{color:#fff;background:#fbbf24}.teacher-schedule-lesson.substitution .teacher-schedule-lesson-toggle small{color:#fff4cf}.theme-light .teacher-schedule-lesson.substitution{background:linear-gradient(135deg, #fbbf242e, transparent 62%), color-mix(in srgb, var(--bg-card) 72%, transparent)}.theme-light .teacher-schedule-lesson.substitution .teacher-schedule-lesson-toggle small{color:#92400e}.teacher-schedule-lesson.refunded{background:linear-gradient(135deg, #68a8ff2e, transparent 62%), color-mix(in srgb, var(--bg-card) 50%, transparent);border-color:#68a8ffd1}.teacher-schedule-lesson.refunded .teacher-schedule-lesson-number{color:#fff;background:#68a8ff}.teacher-schedule-lesson.refunded .teacher-schedule-lesson-toggle small{color:rgb(var(--palette-neutral-100-rgb,219, 234, 254))}.theme-light .teacher-schedule-lesson.refunded{background:linear-gradient(135deg, #68a8ff26, transparent 62%), color-mix(in srgb, var(--bg-card) 72%, transparent)}.theme-light .teacher-schedule-lesson.refunded .teacher-schedule-lesson-toggle small{color:#1d4ed8}.teacher-schedule-lesson.replaced{background:linear-gradient(135deg, #8b5cf638, transparent 62%), color-mix(in srgb, var(--bg-card) 50%, transparent);border-color:#b99cffd1}.teacher-schedule-lesson.replaced .teacher-schedule-lesson-number{background:#6d5bd0}.teacher-schedule-lesson.replaced .teacher-schedule-lesson-toggle small{color:rgb(var(--palette-neutral-300-rgb,216, 200, 255))}.theme-light .teacher-schedule-lesson.replaced{background:linear-gradient(135deg, #7c3aed29, transparent 62%), color-mix(in srgb, var(--bg-card) 72%, transparent)}.theme-light .teacher-schedule-lesson.replaced .teacher-schedule-lesson-toggle small{color:#6d28d9}.teacher-schedule-lesson.cancelled{background:linear-gradient(135deg, #f8717138, transparent 62%), color-mix(in srgb, var(--bg-card) 50%, transparent);border-color:#f87171d1}.teacher-schedule-lesson.cancelled .teacher-schedule-lesson-number{background:#b91c1c}.teacher-schedule-lesson.cancelled .teacher-schedule-lesson-toggle small{color:#fecaca}.theme-light .teacher-schedule-lesson.cancelled{background:linear-gradient(135deg, #f8717129, transparent 62%), color-mix(in srgb, var(--bg-card) 72%, transparent)}.theme-light .teacher-schedule-lesson.cancelled .teacher-schedule-lesson-toggle small{color:#991b1b}.teacher-portal-shell .teacher-schedule-lesson{--teacher-lesson-accent-start:hsl(var(--lesson-accent) / .98);--teacher-lesson-accent-end:hsl(var(--lesson-accent-gradient-end,var(--lesson-accent)) / .96);background:linear-gradient(135deg, hsl(var(--lesson-accent) / .16) 0%, hsl(var(--lesson-accent-gradient-end,var(--lesson-accent)) / .08) 48%, transparent 100%), linear-gradient(180deg, rgba(var(--palette-neutral-950-rgb,9, 12, 20), .96), rgba(var(--palette-neutral-950-rgb,13, 17, 30), .92));border:0;position:relative;box-shadow:0 14px 32px #0003}.teacher-portal-shell .teacher-schedule-lesson-head{padding-left:12px;position:relative}.teacher-portal-shell .teacher-schedule-lesson-head:before{content:"";background:linear-gradient(180deg, var(--teacher-lesson-accent-start) 0%, var(--teacher-lesson-accent-end) 100%);pointer-events:none;border-radius:999px;width:4px;position:absolute;top:1px;bottom:1px;left:0}.teacher-portal-shell .teacher-schedule-lesson-toggle{z-index:1;grid-template-columns:minmax(0,1fr);position:relative}.teacher-portal-shell .teacher-schedule-actions{z-index:3;pointer-events:auto;position:relative}.teacher-portal-shell .teacher-schedule-action{z-index:4;pointer-events:auto;position:relative}.teacher-portal-shell .teacher-schedule-lesson-copy{gap:2px}.teacher-portal-shell .teacher-schedule-lesson-copy .lesson-time-row{margin-bottom:4px}.teacher-portal-shell .teacher-schedule-lesson-copy .lesson-time{color:var(--text-muted)}.teacher-portal-shell .teacher-portal-lesson-teacher{margin-top:1px}.teacher-portal-shell .teacher-schedule-student:before,.theme-light .teacher-portal-shell .teacher-schedule-student:before{background:linear-gradient(180deg, var(--teacher-lesson-accent-start) 0%, var(--teacher-lesson-accent-end) 100%)}.teacher-portal-shell .teacher-schedule-lesson.substitution{--teacher-lesson-accent-start:#ffcf6b;--teacher-lesson-accent-end:#f59e0b;background:linear-gradient(135deg, color-mix(in srgb, var(--teacher-lesson-accent-start) 26%, transparent) 0%, color-mix(in srgb, var(--teacher-lesson-accent-end) 11%, transparent) 52%, transparent 100%), rgb(var(--palette-neutral-950-rgb,22, 20, 14));padding-top:34px}.teacher-portal-substitution-ribbon{z-index:2;background:linear-gradient(90deg, var(--teacher-lesson-accent-start) 0%, var(--teacher-lesson-accent-end) 100%);letter-spacing:.04em;text-align:center;text-transform:uppercase;pointer-events:none;border-radius:0 0 11px 11px;min-width:84px;padding:5px 12px 6px;font-size:.72rem;font-weight:800;line-height:1;position:absolute;top:0;left:14px;color:#000!important}.teacher-portal-shell .teacher-schedule-lesson.refunded{--teacher-lesson-accent-start:#68a8ff;--teacher-lesson-accent-end:#3478ff}.teacher-portal-shell .teacher-schedule-lesson.replaced{--teacher-lesson-accent-start:#a78bfa;--teacher-lesson-accent-end:#4f7cff;background:linear-gradient(135deg, color-mix(in srgb, var(--teacher-lesson-accent-start) 27%, transparent) 0%, color-mix(in srgb, var(--teacher-lesson-accent-end) 12%, transparent) 52%, transparent 100%), rgb(var(--palette-neutral-950-rgb,19, 17, 31))}.teacher-portal-shell .teacher-schedule-lesson.cancelled{--teacher-lesson-accent-start:#ff5f5f;--teacher-lesson-accent-end:#f43f5e;background:linear-gradient(135deg, color-mix(in srgb, var(--teacher-lesson-accent-start) 24%, transparent) 0%, color-mix(in srgb, var(--teacher-lesson-accent-end) 10%, transparent) 52%, transparent 100%), rgb(var(--palette-neutral-950-rgb,24, 16, 20))}.theme-light .teacher-portal-shell .teacher-schedule-lesson{background:linear-gradient(135deg, hsl(var(--lesson-accent) / .13) 0%, hsl(var(--lesson-accent-gradient-end,var(--lesson-accent)) / .05) 52%, transparent 100%), rgb(var(--palette-neutral-50-rgb,248, 251, 255));box-shadow:0 12px 26px rgba(var(--palette-neutral-600-rgb,65, 82, 118), .12)}.theme-light .teacher-portal-shell .teacher-schedule-lesson.substitution,.theme-light .teacher-portal-shell .teacher-schedule-lesson.replaced,.theme-light .teacher-portal-shell .teacher-schedule-lesson.cancelled{background:linear-gradient(135deg, color-mix(in srgb, var(--teacher-lesson-accent-start) 16%, transparent) 0%, color-mix(in srgb, var(--teacher-lesson-accent-end) 6%, transparent) 52%, transparent 100%), rgb(var(--palette-neutral-50-rgb,248, 251, 255))}.teacher-schedule-students{background:0 0;border-radius:12px;padding:10px 0 4px}.teacher-schedule-student{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:8px minmax(0,1fr) max-content;align-items:center;gap:12px;padding:6px 8px;transition:background .18s,color .18s;display:grid}.teacher-schedule-student:hover{background:color-mix(in srgb, var(--bg-soft) 72%, transparent)}.teacher-schedule-student:disabled{cursor:default}.teacher-schedule-student:disabled:hover{background:color-mix(in srgb, var(--danger) 20%, transparent)}.teacher-schedule-student:before{content:"";background:#fff;border-radius:999px;width:6px;height:6px}.teacher-schedule-student.absent{background:color-mix(in srgb, var(--danger) 20%, transparent)}.teacher-schedule-student.absent:before{background:var(--danger)}.teacher-schedule-students-title{color:rgb(var(--palette-neutral-300-rgb,174, 184, 202));margin-bottom:8px;font-size:.9rem;display:block}.teacher-schedule-substitution-badge{color:#fff;flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.teacher-schedule-substitution-badge>span{color:#fff}.teacher-schedule-substitution-badge>.teacher-schedule-substitution-original{color:#fbbf24}.teacher-schedule-student strong{min-width:0;color:rgb(var(--palette-neutral-50-rgb,245, 247, 251));overflow-wrap:anywhere;font-size:.92rem;font-weight:600}.teacher-schedule-student.absent strong{color:var(--danger)}.teacher-schedule-student-status{white-space:nowrap;font-size:.76rem;font-weight:500;color:var(--danger)!important}.teacher-salary-period{gap:12px;width:100%;display:grid}.teacher-salary-period-heading{gap:3px;display:grid}.teacher-salary-shared-report-shell{z-index:2147483647;background:#23252c;width:100%;height:100%;display:block;position:fixed;inset:0;overflow:hidden}.teacher-salary-shared-report-frame{background:0 0;border:0;width:100%;height:100%;min-height:0;display:block}.teacher-salary-shared-report-error{border:1px solid var(--border);min-height:160px;color:var(--text-muted);background:var(--bg-card);border-radius:16px;align-content:center;justify-items:center;gap:8px;padding:24px;display:grid}.teacher-salary-shared-report-error strong{color:var(--danger)}.teacher-salary-shared-report-loading{color:#f8fbff}.teacher-salary-period-title-row{align-items:center;gap:7px;min-height:22px;display:flex}.teacher-salary-period-title-trigger{color:inherit;font:inherit;text-align:left;cursor:pointer;border:0;padding:0;box-shadow:none!important;background:0 0!important}.teacher-salary-period-title-trigger:hover,.teacher-salary-period-title-trigger:focus-visible{color:inherit!important;box-shadow:none!important;background:0 0!important;border-color:#0000!important;transform:none!important}.salary-period-report-button,.salary-card-report-button{width:22px;min-width:22px;height:22px;color:var(--text-muted,#a6adbc);cursor:pointer;border-radius:0;place-items:center;padding:0;transition:color .14s;display:inline-grid;box-shadow:none!important;background:0 0!important;border:0!important}.salary-period-report-button svg,.salary-card-report-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65px;width:20px;height:20px;display:block}.salary-period-report-button:hover:not(:disabled),.salary-period-report-button:focus-visible:not(:disabled),.salary-card-report-button:hover:not(:disabled),.salary-card-report-button:focus-visible:not(:disabled){color:#fff!important;box-shadow:none!important;background:0 0!important;border-color:#0000!important;transform:none!important}.salary-period-report-button:focus-visible,.salary-card-report-button:focus-visible,.salary-teacher-title-toggle:focus-visible,.teacher-salary-period-title-trigger:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 72%, transparent);outline-offset:3px}.teacher-salary-toggle,.teacher-salary-day-toggle{grid-template-columns:minmax(0,1fr) max-content max-content;align-items:center;display:grid}.teacher-salary-period-header-row{grid-template-columns:minmax(0,1fr) max-content max-content;align-items:center;gap:8px;min-width:0;display:grid}.teacher-salary-period-header-row .teacher-salary-toggle{grid-template-columns:minmax(0,1fr) max-content}.teacher-salary-toggle strong,.teacher-salary-day-toggle strong{color:#fff}.teacher-salary-period-title.paid{color:#34d399}.teacher-salary-period-title.pending{color:#fbbf24}.theme-light .teacher-salary-toggle strong,.theme-light .teacher-salary-day-toggle strong{color:rgb(var(--palette-neutral-900-rgb,17, 24, 39))}.theme-light .teacher-salary-period-title.paid{color:#059669}.teacher-salary-total{color:#fff;white-space:nowrap;font-weight:700}.teacher-salary-total.paid,.teacher-salary-lesson-amount.paid{color:#34d399}.teacher-salary-total.pending,.teacher-salary-lesson-amount.pending{color:#fbbf24}.teacher-salary-total.inner{color:#fff;font-size:.9rem;font-weight:600}.teacher-salary-month-summary{grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:12px;padding:0;display:grid}.teacher-salary-month-picker{grid-template-columns:44px minmax(140px,1fr) max-content 44px;justify-self:start;align-items:center;gap:10px;width:100%;min-width:0;display:grid;position:relative}.teacher-salary-month-date-button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.teacher-salary-month-range-button{min-width:max-content}.teacher-salary-month-summary .teacher-week-nav-button:hover,.teacher-salary-month-summary .teacher-week-date-button:hover,.teacher-salary-month-summary .teacher-week-today-button:hover{border-color:color-mix(in srgb, var(--text-muted) 30%, var(--border));background:color-mix(in srgb, var(--text-muted) 10%, var(--bg-soft))}.teacher-salary-month-popover{width:max-content;max-width:calc(100vw - 48px);left:54px}.teacher-salary-month-popover.open-up{top:auto;bottom:calc(100% + 10px)}.teacher-salary-month-calendar{width:max-content;max-width:100%;box-shadow:var(--shadow)}.teacher-salary-month-grid{grid-template-columns:repeat(3,max-content);gap:8px;min-width:0;display:grid}.teacher-salary-month-grid button{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);background:color-mix(in srgb, var(--bg-soft) 70%, transparent);min-width:92px;min-height:42px;color:var(--text-main);font:inherit;cursor:pointer;border-radius:12px;padding:8px 10px;font-size:.82rem;font-weight:700}.teacher-salary-month-grid button:hover,.teacher-salary-month-grid button.active{border-color:color-mix(in srgb, var(--text-muted) 32%, var(--border));background:color-mix(in srgb, var(--text-muted) 10%, var(--bg-soft));color:#fff}.teacher-salary-month-grid button.current{border-color:color-mix(in srgb, var(--text-muted) 32%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--text-muted) 18%, transparent)}.teacher-salary-month-total{color:#34d399;white-space:nowrap;justify-self:end;margin-left:18px;font-weight:800}.theme-light .teacher-salary-month-grid button.active{color:rgb(var(--palette-neutral-900-rgb,17, 24, 39))}.theme-light .teacher-salary-month-total{color:var(--accent)}.theme-light .teacher-salary-period-title.pending{color:#fbbf24}.theme-light .teacher-portal-shell .teacher-salary-lesson-copy small,.theme-light .teacher-portal-shell .teacher-salary-lesson-copy>span,.theme-light .teacher-portal-shell .teacher-salary-lesson-copy small span{color:rgb(var(--palette-neutral-600-rgb,83, 97, 119))}.theme-light .teacher-portal-shell .teacher-salary-substitution-badge{color:#fbbf24}.theme-light .teacher-portal-shell .teacher-salary-lesson-amount:not(.paid):not(.pending),.theme-light .teacher-portal-shell .teacher-salary-total:not(.paid):not(.pending){color:rgb(var(--palette-neutral-900-rgb,17, 24, 39))}.teacher-portal-shell .teacher-salary-month-date-button,.teacher-portal-shell .teacher-salary-month-range-button{font-size:.88rem}.teacher-salary-lesson-amount.bonus,.teacher-salary-adjustment.bonus .teacher-salary-adjustment-title,.teacher-salary-adjustment.bonus .teacher-salary-adjustment-amount{color:#34d399}.teacher-salary-lesson-amount.penalty,.teacher-salary-adjustment.penalty .teacher-salary-adjustment-title,.teacher-salary-adjustment.penalty .teacher-salary-adjustment-amount{color:#fb7185}.theme-light .teacher-salary-lesson-amount.bonus,.theme-light .teacher-salary-adjustment.bonus .teacher-salary-adjustment-title,.theme-light .teacher-salary-adjustment.bonus .teacher-salary-adjustment-amount{color:#059669}.theme-light .teacher-salary-lesson-amount.penalty,.theme-light .teacher-salary-adjustment.penalty .teacher-salary-adjustment-title,.theme-light .teacher-salary-adjustment.penalty .teacher-salary-adjustment-amount{color:#dc2626}.teacher-salary-period.expanded>.teacher-salary-period-header-row .teacher-schedule-caret,.teacher-salary-period.expanded>.teacher-salary-period-heading .teacher-schedule-caret,.teacher-salary-day.expanded>.teacher-salary-day-toggle .teacher-schedule-caret{color:var(--text);background:color-mix(in srgb, var(--text-muted) 16%, transparent);transform:rotate(90deg)}.teacher-salary-days,.teacher-salary-lessons{gap:8px;display:grid}.teacher-salary-period-summary{border:1px solid color-mix(in srgb, var(--border) 72%, transparent);background:color-mix(in srgb, var(--bg-soft) 72%, transparent);border-radius:14px;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(150px,.8fr));gap:8px;margin-top:2px;padding:10px 12px;display:grid}.teacher-salary-period-summary-block{border-left:1px solid color-mix(in srgb, var(--border) 65%, transparent);align-content:center;gap:3px;min-width:0;padding:2px 8px;display:grid}.teacher-salary-period-summary-block:first-child{border-left:0;padding-left:0}.teacher-salary-period-summary-label{color:var(--text-muted);font-size:.7rem;line-height:1.2}.teacher-salary-period-summary-block strong{color:var(--text);font-size:.98rem;line-height:1.2}.teacher-salary-period-summary-block.forecast strong{color:#fbbf24}.teacher-salary-period-summary-block.total strong{color:#34d399}.teacher-salary-period-type-counts,.teacher-salary-period-summary-block small{color:var(--text-muted);flex-wrap:wrap;gap:3px 8px;font-size:.68rem;line-height:1.25;display:flex}@media (width<=900px){.teacher-salary-period-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-salary-period-summary-block:nth-child(odd){border-left:0;padding-left:0}}@media (width<=560px){.teacher-salary-month-summary{grid-template-columns:minmax(0,1fr);gap:8px}.teacher-salary-month-picker{width:100%}.teacher-salary-month-total{justify-self:end;margin-left:0}.teacher-salary-period-summary{grid-template-columns:1fr;gap:7px}.teacher-salary-period-summary-block,.teacher-salary-period-summary-block:nth-child(odd){border-left:0;padding:0}.student-portal-schedule-month-picker{grid-template-columns:42px minmax(0,1fr) 42px 42px;gap:8px;width:100%}.student-portal-schedule-month-popover{width:100%;max-width:100%;left:0}}.teacher-salary-day{border:1px solid color-mix(in srgb, var(--border) 76%, transparent);background:color-mix(in srgb, var(--bg-card) 50%, transparent);border-radius:14px;gap:10px;padding:12px;display:grid}.teacher-salary-adjustment{border:1px solid color-mix(in srgb, var(--border) 76%, transparent);background:color-mix(in srgb, var(--bg-card) 50%, transparent);border-radius:14px;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:12px;padding:12px;display:grid}.teacher-salary-adjustment-copy{gap:4px;min-width:0;display:grid}.teacher-salary-adjustment-copy small{color:rgb(var(--palette-neutral-200-rgb,207, 224, 255));font-size:.82rem}.teacher-salary-adjustment-title,.teacher-salary-adjustment-amount{font-weight:700}.teacher-salary-adjustment-amount{white-space:nowrap}.teacher-salary-lesson{border:1px solid color-mix(in srgb, var(--border) 58%, transparent);background:color-mix(in srgb, var(--bg-soft) 70%, transparent);border-radius:14px;gap:10px;padding:12px;display:grid}.teacher-salary-lesson-toggle{grid-template-columns:32px minmax(0,1fr) max-content;align-items:center;display:grid}.teacher-salary-lesson.expanded>.teacher-salary-lesson-toggle .teacher-schedule-caret{color:var(--text);background:color-mix(in srgb, var(--text-muted) 16%, transparent);transform:rotate(90deg)}.teacher-salary-lesson-copy{gap:4px;min-width:0;display:grid}.teacher-salary-lesson-copy small,.teacher-salary-lesson-copy>span{color:rgb(var(--palette-neutral-200-rgb,207, 224, 255));font-size:.82rem}.teacher-salary-lesson-copy small span{color:rgb(var(--palette-neutral-200-rgb,207, 224, 255))}.teacher-salary-lesson-copy small .teacher-salary-status.paid{color:#34d399}.teacher-salary-lesson-copy small .teacher-salary-status.pending{color:#fbbf24}.teacher-salary-lesson-amount{color:#fff;white-space:nowrap;font-size:.86rem;font-weight:600}.teacher-salary-students{gap:8px;padding:10px 0 4px;display:grid}.student-portal-transaction-card{grid-template-columns:minmax(0,1fr) minmax(84px,max-content);align-self:start;align-items:flex-start;gap:10px;height:fit-content;display:grid}.student-portal-transaction-card>div{min-width:0}.student-portal-transaction-card>strong{text-align:right;white-space:nowrap;place-self:center end}.student-portal-transaction-note{grid-column:1/-1}.student-portal-calendar-day{cursor:default}.student-portal-calendar-day.selected{border-color:#ffffffeb;outline:0}.student-portal-debt-preview{border:1px solid color-mix(in srgb, var(--border) 62%, transparent);background:color-mix(in srgb, var(--bg-soft) 70%, transparent);border-radius:10px;grid-template-columns:1fr auto;align-items:center;width:100%;margin-top:10px;padding:9px 10px;display:grid}.student-portal-debt-preview small{color:var(--text-muted)}.student-portal-debt-preview span{color:#fff}.student-portal-debt-preview strong{color:rgb(var(--palette-mint-rgb,55, 240, 194));font-size:.96rem}.student-portal-debt-preview small{grid-column:1/-1;margin-top:2px;font-size:.78rem}.student-portal-debt-preview.has-debt{background:#ff6b811f;border-color:#ff6b817a}.student-portal-debt-preview.has-debt strong{color:#ff6b81}.theme-light .student-portal-debt-preview strong{color:#047857}.theme-light .student-portal-debt-preview.has-debt{background:#ff6b8126}.theme-light .student-portal-debt-preview.has-debt strong{color:#9f1239}.student-portal-calendar-insights{gap:12px;margin-top:12px;display:grid}.student-portal-calendar-insights .student-portal-calendar-lessons{margin-top:0}.student-portal-calendar-metrics{width:100%}.student-portal-attendance-summary{--student-portal-attendance-color:#39d7a7;border:1px solid color-mix(in srgb, var(--border) 90%, transparent);background:color-mix(in srgb, var(--bg-card) 90%, var(--bg-soft));border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(14px,2vw,24px);width:100%;min-height:220px;padding:clamp(16px,2vw,24px);display:grid}.student-portal-attendance-summary-low{--student-portal-attendance-color:#ff5d78}.student-portal-attendance-summary-medium{--student-portal-attendance-color:#f2b856}.student-portal-attendance-summary-high{--student-portal-attendance-color:#39d7a7}.student-portal-attendance-score{place-items:center;min-width:0;display:grid}.student-portal-attendance-ring{aspect-ratio:1;place-items:center;width:min(100%,184px);display:grid;position:relative}.student-portal-attendance-ring svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.student-portal-attendance-ring-spectrum{--student-portal-attendance-track:color-mix(in srgb, var(--text-muted) 18%, transparent);background:var(--student-portal-attendance-track);border-radius:50%;transition:background .24s;position:absolute;inset:4.1667%;-webkit-mask-image:radial-gradient(closest-side,#0000 85.45%,#000 87.27%);mask-image:radial-gradient(closest-side,#0000 85.45%,#000 87.27%)}.student-portal-attendance-ring strong{color:#fff;letter-spacing:-.04em;font-size:clamp(1.45rem,2.6vw,2.2rem);font-weight:750;line-height:1}.student-portal-attendance-details{gap:8px;min-width:0;display:grid}.student-portal-attendance-heading{min-height:34px;color:var(--text-muted);grid-template-columns:21px minmax(0,1fr) max-content;align-items:center;gap:10px;font-size:clamp(.9rem,1.25vw,1.05rem);display:grid}.student-portal-attendance-heading-dot{background:var(--student-portal-attendance-color);border-radius:50%;width:20px;height:20px}.student-portal-attendance-heading strong{color:#fff;white-space:nowrap;font-size:1.15em;font-weight:750}.student-portal-attendance-metrics-list{min-width:0;display:grid}.student-portal-attendance-metric{border-top:1px solid color-mix(in srgb, var(--border) 75%, transparent);grid-template-columns:24px minmax(0,1fr) max-content;align-items:center;gap:10px;min-width:0;padding:7px 0;display:grid}.student-portal-attendance-metric>svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px}.student-portal-attendance-metric>span{min-width:0;color:var(--text-muted);font-size:clamp(.82rem,1.1vw,.98rem)}.student-portal-attendance-metric>strong{color:#fff;text-align:right;white-space:nowrap;font-size:clamp(.9rem,1.2vw,1.04rem);font-weight:720}.student-portal-attendance-metric-completed>svg{color:#39d7a7}.student-portal-attendance-metric-cancelled>svg{color:#ff5d78}.student-portal-attendance-metric-absent>svg{color:#7da8ff}.student-portal-attendance-metric-excluded>svg{color:#f2b856}.theme-light .student-portal-attendance-ring strong,.theme-light .student-portal-attendance-heading strong,.theme-light .student-portal-attendance-metric>strong{color:var(--text-main)}@media (width<=480px){.student-portal-attendance-summary{grid-template-columns:minmax(0,1fr);gap:12px;min-height:0;padding:14px}.student-portal-attendance-details{order:1}.student-portal-attendance-score{order:2}.student-portal-attendance-heading,.student-portal-attendance-metric{gap:7px}.student-portal-attendance-metric{grid-template-columns:22px minmax(0,1fr) max-content}.student-portal-attendance-metric>svg{width:21px;height:21px}}.student-portal-calendar-lessons{border-top:1px solid color-mix(in srgb, var(--border) 70%, transparent);gap:10px;width:100%;margin-top:12px;padding-top:12px;display:grid;position:relative}.student-portal-calendar-lessons.has-range-controls{border-top:0;margin-top:0;padding-top:0}.student-portal-calendar-lessons.has-range-controls>.student-portal-calendar-range-switch{margin-top:0;margin-bottom:4px}.student-portal-calendar-lessons.student-portal-weekly-lesson-cards{border-top:0;gap:8px;margin-top:0;padding-top:0}.student-portal-calendar-lessons-close{box-shadow:none;background:0 0;border:0;position:absolute;top:6px;right:0}.student-portal-calendar-lessons>strong{color:#fff;padding-right:34px;font-size:.9rem}.student-portal-calendar-range-switch{background:0 0;border:0;border-radius:0;gap:10px;width:100%;padding:0;display:flex}.student-portal-calendar-lessons>div{gap:8px;display:grid}.student-portal-calendar-lessons>.student-portal-calendar-range-switch{justify-self:start;gap:10px;display:inline-flex}.student-portal-calendar-lessons.has-range-controls>.student-portal-calendar-range-switch{align-self:start;margin-top:0}.student-portal-calendar-range-switch .settings-category-button{text-align:center;flex:1 1 0;min-width:0;min-height:0;margin-top:0;padding-top:0}@media (width<=900px){.student-portal-calendar-lessons>.student-portal-calendar-range-switch{gap:0;width:100%;margin:0 0 4px;padding:0;overflow:visible}.student-portal-calendar-range-switch .settings-category-button{text-align:center;flex:1 1 0;min-width:0;min-height:0;padding:0 12px 9px;border-radius:0!important}}.student-portal-calendar-lessons article{border:1px solid color-mix(in srgb, var(--border) 58%, transparent);background:color-mix(in srgb, var(--bg-soft) 68%, transparent);border-radius:12px;grid-template-columns:52px minmax(0,1fr) max-content;align-items:start;gap:10px;padding:9px 10px;display:grid}.student-portal-calendar-lessons article.substitution{border-color:#fbbf24c7}.student-portal-calendar-lessons article.occurred{border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .76);background:rgba(var(--palette-mint-rgb,55, 240, 194), .18)}.student-portal-calendar-lessons article.replaced{background:#b99cff29;border-color:#b99cffc7}.student-portal-calendar-lessons article.cancelled{background:#f8717129;border-color:#f87171c7}.student-portal-calendar-lessons article.refunded{background:#68a8ff29;border-color:#68a8ffd1}.student-portal-calendar-lessons article.absent{background:#ff6b8129;border-color:#ff6b81d1}.student-portal-calendar-lessons article.paid-upcoming{border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .78);background:rgba(var(--palette-mint-rgb,55, 240, 194), .14)}.student-portal-calendar-lessons article.debt{border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .76);background:rgba(var(--palette-mint-rgb,55, 240, 194), .18)}.student-portal-calendar-lessons article.upcoming{border-color:#ffffffd1}.student-portal-calendar-lessons article.substitution.upcoming{background:#ffb86b2e;border-color:#fbbf24c7}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson),.student-portal-calendar-lessons article:not(.teacher-schedule-lesson).substitution,.student-portal-calendar-lessons article:not(.teacher-schedule-lesson).occurred,.student-portal-calendar-lessons article:not(.teacher-schedule-lesson).replaced,.student-portal-calendar-lessons article:not(.teacher-schedule-lesson).cancelled,.student-portal-calendar-lessons article:not(.teacher-schedule-lesson).refunded,.student-portal-calendar-lessons article:not(.teacher-schedule-lesson).absent,.student-portal-calendar-lessons article:not(.teacher-schedule-lesson).paid-upcoming,.student-portal-calendar-lessons article:not(.teacher-schedule-lesson).debt,.student-portal-calendar-lessons article:not(.teacher-schedule-lesson).upcoming{background:#2d2f2f;border:0;border-radius:18px;position:relative;overflow:hidden}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson)>div:first-child{position:relative}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson)>div:first-child:before{content:"";background:linear-gradient(180deg, var(--teacher-lesson-accent-start) 0%, var(--teacher-lesson-accent-end) 100%);pointer-events:none;border-radius:999px;width:4px;position:absolute;top:0;bottom:0;left:-1px}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson){--teacher-lesson-accent-start:#fff;--teacher-lesson-accent-end:#cbd5e1}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson).occurred,.student-portal-calendar-lessons article:not(.teacher-schedule-lesson).debt{--teacher-lesson-accent-start:#4ade80;--teacher-lesson-accent-end:#16a34a}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson).cancelled,.student-portal-calendar-lessons article:not(.teacher-schedule-lesson).absent{--teacher-lesson-accent-start:#fb7185;--teacher-lesson-accent-end:#e11d48}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson).replaced{--teacher-lesson-accent-start:#c4b5fd;--teacher-lesson-accent-end:#7c3aed}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson).substitution{--teacher-lesson-accent-start:#ffcf6b;--teacher-lesson-accent-end:#f59e0b}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson)>div{padding-left:12px}.theme-light .student-portal-calendar-lessons article:not(.teacher-schedule-lesson),.theme-light .student-portal-calendar-lessons article:not(.teacher-schedule-lesson).substitution,.theme-light .student-portal-calendar-lessons article:not(.teacher-schedule-lesson).occurred,.theme-light .student-portal-calendar-lessons article:not(.teacher-schedule-lesson).replaced,.theme-light .student-portal-calendar-lessons article:not(.teacher-schedule-lesson).cancelled,.theme-light .student-portal-calendar-lessons article:not(.teacher-schedule-lesson).refunded,.theme-light .student-portal-calendar-lessons article:not(.teacher-schedule-lesson).absent,.theme-light .student-portal-calendar-lessons article:not(.teacher-schedule-lesson).paid-upcoming,.theme-light .student-portal-calendar-lessons article:not(.teacher-schedule-lesson).debt,.theme-light .student-portal-calendar-lessons article:not(.teacher-schedule-lesson).upcoming{border-radius:18px;border:1px solid var(--border)!important;background:color-mix(in srgb, var(--bg-card) var(--glass-card-background-alpha,100%), transparent)!important}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .lesson-time-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0 0 3px;display:flex}.student-portal-calendar-status-group{align-items:center;gap:8px;min-width:0;display:inline-flex!important}.student-portal-calendar-month-date{color:var(--text-muted);text-align:right;white-space:nowrap;justify-self:end;margin-top:4px;margin-bottom:-4px;font-size:.74rem;font-weight:600}.student-portal-calendar-status-right{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:6px;min-width:0;margin-left:auto;display:inline-flex}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .student-portal-calendar-payment{white-space:nowrap;flex:none;align-items:center;gap:5px;font-size:.7rem;font-weight:600;line-height:1.2;display:inline-flex}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .student-portal-calendar-payment.paid{color:#4ade80!important}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .student-portal-calendar-payment.unpaid{color:#cbd5e1!important}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .student-portal-calendar-payment.debt{color:#fb7185!important}.student-portal-payment-check{background:#16a34a;border-radius:50%;flex:0 0 15px;place-items:center;width:15px;height:15px;padding:0;line-height:0;display:grid}.student-portal-payment-check svg{fill:none;stroke:#fff;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;place-self:center;width:10px;height:10px;margin:0;display:block;transform:none}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson){grid-template-columns:minmax(0,1fr)}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .lesson-time{color:var(--text-muted);margin:0;font-size:.82rem;font-weight:500}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .lesson-status-chip{width:fit-content}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .lesson-status-chip-planned,.student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .lesson-status-chip-planned span{--lesson-status-border:#fff;--lesson-status-text:#fff;background:#ffffff14;border-color:#fff;color:#fff!important}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .student-portal-calendar-teacher{color:#9aa4b2!important}.theme-light .student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .student-portal-calendar-teacher{color:#737f8c!important}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .student-portal-calendar-lesson-note{border-radius:999px;width:fit-content;padding:2px 7px;font-size:.67rem;font-weight:600;line-height:1.35}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .student-portal-calendar-lesson-note.cancelled,.student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .student-portal-calendar-lesson-note.absent{color:#fda4af;background:#f43f5e24}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .student-portal-calendar-lesson-note.refunded{color:#93c5fd;background:#68a8ff24}.student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .student-portal-calendar-lesson-note.excluded{color:#fcd34d;background:#fbbf2424}.theme-light .student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .student-portal-calendar-lesson-note.cancelled,.theme-light .student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .student-portal-calendar-lesson-note.absent{color:#be123c;background:#fff1f2}.theme-light .student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .student-portal-calendar-lesson-note.refunded{color:#1d4ed8;background:#eff6ff}.theme-light .student-portal-calendar-lessons article:not(.teacher-schedule-lesson) .student-portal-calendar-lesson-note.excluded{color:#a16207;background:#fffbeb}.theme-light .student-portal-calendar-lessons article:not(.teacher-schedule-lesson) strong{color:#203242}.theme-light .student-portal-calendar-lessons article:not(.teacher-schedule-lesson)>span,.theme-light .student-portal-calendar-lessons article:not(.teacher-schedule-lesson) small{color:#526778}.student-portal-calendar-lessons article>span{color:rgb(var(--palette-neutral-200-rgb,207, 224, 255));font-weight:700}.student-portal-calendar-lessons article div{gap:3px;min-width:0;display:grid}.student-portal-calendar-lessons article strong{color:#fff;overflow-wrap:anywhere;font-size:.9rem}.student-portal-calendar-lessons article .teacher-schedule-substitution-label{color:#fbbf24}.student-portal-calendar-lessons article small,.student-portal-calendar-lessons p{color:var(--text-muted);margin:0;font-size:.82rem}.student-portal-calendar-lessons article .student-portal-calendar-lesson-status{color:#fff}.student-portal-calendar-return{color:#fff;place-self:center end;width:32px;min-width:32px;height:32px}.student-portal-calendar-lessons article.refunded .student-portal-calendar-lesson-status{color:#68a8ff}.student-portal-calendar-lessons article.absent .student-portal-calendar-lesson-status{color:#ff6b81}.student-portal-calendar-lessons article.cancelled .student-portal-calendar-lesson-status{color:#fca5a5}.student-portal-calendar-lessons article.paid-upcoming .student-portal-calendar-lesson-status{color:rgb(var(--palette-mint-rgb,55, 240, 194))}.student-portal-calendar-lessons article.debt .student-portal-calendar-lesson-status{color:#fff}.student-portal-calendar-lessons article .student-portal-calendar-lesson-debt-status{color:#ff6b81}.student-portal-substitution-card{cursor:default}.student-portal-substitution-card .lesson-card-head{grid-template-columns:1fr}.student-portal-substitution-date,.student-portal-substitution-text{margin:0}.student-portal-substitution-date{color:var(--text-muted);margin-bottom:6px;display:block}.student-portal-transaction-content{flex:auto;grid-column:1/-1;gap:4px;width:100%;min-width:0;display:grid}.student-portal-transaction-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.student-portal-transaction-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:flex}.student-portal-transaction-meta .badge{padding:5px 12px;font-size:.78rem;line-height:1.2}.student-portal-transaction-meta .badge.danger{border-color:#0000}.student-portal-transaction-title-row .positive{white-space:nowrap}.student-portal-transaction-title-row{justify-content:flex-start}.student-portal-transaction-content{align-items:flex-start}.student-portal-payment-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.student-portal-payment-layout-no-qr{grid-template-columns:minmax(0,1fr)}.student-portal-payment-details{gap:10px;display:grid}.student-portal-payment-row{border:1px solid var(--border);background:var(--bg-soft);border-radius:16px;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:12px;padding:14px 16px;display:grid}.student-portal-payment-row>div{gap:4px;min-width:0;display:grid}.student-portal-payment-row span{color:var(--text-muted);font-size:.82rem}.student-portal-payment-row strong{color:var(--text-main);overflow-wrap:anywhere}.student-portal-pay-button{text-decoration:none}.student-portal-payment-qr{border:1px solid var(--border);background:var(--bg-soft);border-radius:16px;align-content:start;justify-items:center;gap:10px;padding:16px;display:grid}.student-portal-payment-qr span{color:var(--text-muted);justify-self:start;font-size:.82rem;font-weight:800}.student-portal-payment-qr img{object-fit:contain;width:min(100%,280px);max-width:100%;height:auto;display:block}#student-portal-overview.student-portal-metrics,#teacher-portal-overview.student-portal-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.brand-block{justify-content:center;align-items:center;gap:14px;display:flex}.brand-link{cursor:pointer;background:0 0;border:0;justify-content:center;width:100%;padding:0;display:flex}.brand-link:hover,.brand-link:focus-visible{background:0 0;border-color:#0000}.brand-logo{flex-shrink:0;width:170px;max-width:100%;height:auto;display:block}.brand-logo-icon{object-fit:contain;flex:none;width:28px;height:28px;display:none}.brand-kicker,.eyebrow,.sidebar-card p,.section-heading p,.student-card p,.journal-card span,.teacher-card span:not(.telegram-bot-status-chip),.schedule-card span{color:var(--text-muted)}.sidebar-nav,.sidebar-bottom-nav,.page-grid,.page-stack,.stack-list,.student-cards,.teacher-grid,.journal-list,.day-stack{gap:16px;display:grid}.nav-item,.ghost-button,.primary-button,.chip,.action-row{transition:transform .16s,background-color .16s,border-color .16s}.nav-item{color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:18px;align-items:center;gap:8px;padding:10px 12px;display:flex;position:relative}.nav-label{text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.nav-badge{color:#fff;text-align:center;min-width:24px;height:24px;box-shadow:none;background:#ef4444;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;margin-left:auto;padding:0 7px;font-size:.78rem;font-weight:800;line-height:1;display:inline-flex}.nav-icon{background:var(--bg-soft);border-radius:9px;place-items:center;width:26px;height:26px;transition:background-color .16s,color .16s,transform .16s;display:grid}.nav-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.nav-item.active,.nav-item:hover,.chip.active,.chip:hover{background:rgba(var(--palette-mint-rgb,55, 240, 194), .12);border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .18);transform:translateY(-1px)}.nav-item:hover:not(.active){background:color-mix(in srgb, var(--regular-button-accent) 24%, var(--bg-card));border-color:color-mix(in srgb, var(--regular-button-accent) 54%, var(--border));transform:translate(3px);box-shadow:inset 0 1px #ffffff0a}.nav-item.active{background:color-mix(in srgb, var(--regular-button-accent) 28%, var(--bg-card));border-color:color-mix(in srgb, var(--regular-button-accent) 58%, var(--border));box-shadow:inset 0 1px #ffffff0a}.nav-item:hover:not(.active) .nav-icon{background:color-mix(in srgb, var(--warning) 28%, var(--bg-soft));color:#ffcf6b;transform:translate(2px)}.nav-item.active .nav-icon{background:color-mix(in srgb, var(--warning) 28%, var(--bg-soft));color:#ffcf6b}.theme-light .nav-item:hover:not(.active){background:color-mix(in srgb, var(--regular-button-accent) 18%, #fff);border-color:color-mix(in srgb, var(--regular-button-accent) 44%, var(--border))}.theme-light .nav-item.active{background:color-mix(in srgb, var(--regular-button-accent) 22%, #fff);border-color:color-mix(in srgb, var(--regular-button-accent) 48%, var(--border))}.theme-light .nav-item:hover:not(.active) .nav-icon,.theme-light .nav-item.active .nav-icon{background:color-mix(in srgb, var(--warning) 22%, #fff);color:#b87722}@media (hover:none),(pointer:coarse){.nav-item{-webkit-tap-highlight-color:transparent}.nav-item.active,.nav-item:hover,.theme-light .nav-item.active,.theme-light .nav-item:hover{box-shadow:none;background:0 0;border-color:#0000;transform:none}.nav-item:hover:not(.active) .nav-icon,.theme-light .nav-item:hover:not(.active) .nav-icon{background:var(--bg-soft);color:inherit;transform:none}}.sidebar-card{background:var(--bg-soft);border:1px solid var(--border);border-radius:22px;margin-top:auto;padding:18px}.sidebar-bottom{gap:16px;margin-top:auto;display:grid}.sidebar-bottom-nav{margin-top:0}.sidebar-bottom-actions{gap:16px;display:grid}.sidebar-logout-button{color:var(--danger);border-color:#ff81812e}.sidebar-logout-button .nav-icon{color:inherit;background:#ff81811f}.sidebar-logout-button:hover:not(.active),.theme-light .sidebar-logout-button:hover:not(.active){background:var(--button-hover-danger-bg);border-color:var(--button-hover-danger-border)}.sidebar-card strong,.stat-card strong,.student-metrics strong,.journal-meta strong{font-size:1.5rem}.content-area{z-index:1;min-height:0;padding:24px 24px 24px 6px;overflow-y:auto}.topbar,.topbar-actions,.section-heading,.filters-bar,.form-columns,.card-actions,.student-card-head,.student-metrics,.date-range,.chart-area,.journal-card,.journal-meta{gap:16px;display:flex}.topbar,.section-heading,.student-card-head,.journal-card{justify-content:space-between}.journal-card-income{--journal-accent:#39e56f;--journal-accent-soft:#39e56f38;background:linear-gradient(90deg, rgba(var(--palette-mint-rgb,55, 240, 194), .14), transparent 34%), var(--bg-card)}.journal-card-expense{--journal-accent:#ff4b55;--journal-accent-soft:#ff4b5538;background:linear-gradient(90deg, #ff818124, transparent 34%), var(--bg-card)}.journal-card-salary-payout{--journal-accent:#ff9c37;--journal-accent-soft:#ff9c3738;background:linear-gradient(90deg, #7eb1ff29, transparent 34%), var(--bg-card)}.journal-card-salary-accrual{--journal-accent:#4ea1ff;--journal-accent-soft:#4ea1ff38;background:linear-gradient(90deg, #7eb1ff29, transparent 34%), var(--bg-card)}.journal-card-refund{--journal-accent:#8b5cf6;--journal-accent-soft:#8b5cf63d;background:linear-gradient(90deg, #8b5cf629, transparent 34%), var(--bg-card)}.journal-card-avatar-income{--journal-accent:#39e56f}.journal-card-avatar-expense{--journal-accent:#ff4b55}.journal-card-avatar-salary-payout{--journal-accent:#ff9c37}.journal-card-avatar-salary-accrual{--journal-accent:#4ea1ff}.journal-card-avatar-refund,.journal-card-avatar-student-refund{--journal-accent:#8b5cf6}.journal-card{cursor:pointer;align-items:center;gap:18px;padding:18px 20px}.journal-card-main{flex:auto;align-items:center;gap:16px;min-width:0;display:flex}.journal-card-avatar{background:linear-gradient(135deg, var(--journal-accent), var(--journal-accent));border-radius:19px;flex:none;place-items:center;width:60px;height:60px;display:grid;box-shadow:inset 0 1px #ffffff2e}.journal-card-avatar-core{background:rgb(var(--palette-neutral-50-rgb,246, 247, 251));width:38px;height:38px;color:var(--journal-accent);border-radius:13px;place-items:center;display:grid}.journal-card .journal-card-avatar-core{color:var(--journal-accent)}.journal-card-avatar-core svg{fill:none;stroke:currentColor;stroke-width:2.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.journal-card-copy{min-width:0}.journal-card-title{margin:0;font-size:1.45rem;font-weight:700;line-height:1.1}.journal-card-subtitle{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 0;font-size:1rem;line-height:1.25;display:-webkit-box;overflow:hidden}.journal-category{color:var(--text-muted)}.journal-card .journal-category-label{color:rgb(var(--palette-neutral-200-rgb,214, 222, 239));font-weight:600}.theme-light .journal-card .journal-category-label{color:rgb(var(--palette-neutral-600-rgb,63, 77, 104))}.journal-note-date{color:#ffcf6b;background:#ffcf6b38;border-radius:6px;padding:1px 3px;font-weight:900}.theme-light .journal-note-date{color:#7c4a03;background:#ffb86b57}.journal-delete-button{flex:none}.journal-amount{white-space:nowrap}.journal-meta{text-align:right;flex:none;place-items:center end;gap:12px;margin-left:auto;display:grid}.modal-card-journal-transaction{width:min(100%,640px);padding:26px}.journal-transaction-modal-close{justify-content:flex-end;margin-bottom:6px;display:flex}.journal-transaction-modal-top{text-align:center;justify-items:center;gap:18px;display:grid}.journal-transaction-modal-top .journal-card-avatar{background:linear-gradient(145deg, var(--journal-accent), color-mix(in srgb, var(--journal-accent) 82%, #fff));width:78px;height:78px;box-shadow:inset 0 1px 0 #ffffff38, 0 14px 28px color-mix(in srgb, var(--journal-accent) 26%, #00000029);border:0;border-radius:22px}.journal-transaction-modal-top .journal-card-avatar-core{background:rgb(var(--palette-neutral-50-rgb,248, 249, 253));width:48px;height:48px;color:var(--journal-accent);box-shadow:inset 0 1px 0 #ffffffe6, 0 8px 18px rgba(var(--palette-neutral-900-rgb,18, 29, 52), .14);border-radius:15px}.journal-transaction-modal-top .journal-card-avatar-core svg{stroke-width:2.4px;width:22px;height:22px}.journal-transaction-modal-copy h3{margin:0;font-size:2rem}.journal-transaction-modal-copy p{color:var(--text-muted);margin:10px 0 0;font-size:1.1rem;line-height:1.35}.journal-transaction-modal-top strong{font-size:clamp(1.75rem,4vw,2.45rem);line-height:1}.journal-transaction-modal-details{border:1px solid var(--border);background:var(--bg-soft);border-radius:28px;margin-top:28px;overflow:hidden}.journal-transaction-modal-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;padding:22px 24px;display:grid}.journal-transaction-modal-row+.journal-transaction-modal-row{border-top:1px solid var(--border)}.journal-transaction-modal-row span{color:var(--text-muted)}.journal-transaction-modal-row strong{text-align:right;font-size:1rem;line-height:1.35}.journal-transaction-delete-button{width:fit-content;color:var(--danger);font:inherit;cursor:pointer;background:#ffffff0f;border:0;border-radius:18px;margin-top:18px;margin-left:auto;margin-right:auto;padding:16px 20px;font-weight:800;transition:background-color .16s,border-color .16s,transform .16s;display:block}.journal-transaction-delete-button:hover{background:#ff81811a;transform:translateY(-1px)}.theme-light .journal-transaction-delete-button{background:rgba(var(--palette-neutral-900-rgb,15, 23, 42), .06)}.theme-light .journal-transaction-delete-button:hover{background:#d92d2014}.journal-day-group,.journal-day-items{gap:14px;display:grid}.page-stack>.panel:has(+.journal-list){z-index:45;align-self:start;position:sticky;top:0}.journal-day-heading{z-index:40;border:1px solid color-mix(in srgb, var(--border) 62%, transparent);background:var(--bg-card);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:14px;justify-content:space-between;align-self:start;align-items:center;gap:12px;margin:0;padding:8px 12px;display:flex;position:sticky;top:122px}.journal-day-heading span:first-child{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;font-weight:700}.topbar{margin-bottom:22px}.content-area>.topbar.settings-hero{border-radius:24px;align-items:center;gap:24px;padding:22px 24px}.settings-hero-titles{min-width:0}.settings-hero-icon svg,.panel-heading-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.settings-hero .topbar-actions .status-pill{background:0 0;border:0;padding:0;font-size:.82rem}@media (width<=760px){.content-area>.topbar.settings-hero{align-items:stretch;gap:18px;padding:20px}.settings-hero .topbar-actions{border-top:1px solid var(--border);flex-wrap:nowrap;padding-top:14px}}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center}.theme-switch{color:var(--text-main);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;padding:6px;display:inline-flex}.theme-switch:hover,.theme-switch:focus,.theme-switch:focus-visible{box-shadow:none;background:0 0;border-color:#0000;outline:none;transform:none}.portal-settings-card:hover{background:var(--bg-soft);border-color:var(--border);box-shadow:none;transform:none}.theme-switch-track{background:#303747;border:1px solid #ffffff14;border-radius:999px;width:58px;height:32px;padding:3px;display:block;position:relative}.theme-light .theme-switch-track{border-color:rgba(var(--palette-neutral-900-rgb,15, 23, 42), .12);background:#e5e7eb}.theme-switch-thumb{z-index:1;background:#fff;border-radius:999px;width:24px;height:24px;transition:transform .18s;display:block;position:relative;box-shadow:0 1px 4px #0f172a33}.theme-light .theme-switch-thumb{background:#fff;transform:translate(26px)}.theme-switch-icon{color:#fbbf24;pointer-events:none;place-items:center;width:16px;height:16px;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.theme-light .theme-switch-icon{color:#3478ff;left:7px;right:auto;transform:translateY(calc(1px - 50%))}.theme-switch-icon svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.ghost-button,.primary-button{font:inherit;cursor:pointer;border-radius:16px;padding:12px 16px}.ghost-button{background:var(--bg-surface);color:var(--text-main);border:1px solid #0000}.ghost-button.active{background:var(--button-active-bg);border-color:var(--button-active-border);color:var(--button-active-text)}.ghost-button:hover{background:var(--button-hover-bg);border-color:var(--button-hover-border);transform:translateY(-1px)}.theme-light .ghost-button:hover{background:var(--button-hover-bg);border-color:var(--button-hover-border)}.ghost-button.icon-button.auth-password-toggle,.ghost-button.icon-button.auth-password-toggle:hover,.ghost-button.icon-button.auth-password-toggle:active,.ghost-button.icon-button.auth-password-toggle:focus,.ghost-button.icon-button.auth-password-toggle:focus-visible{box-shadow:none;background:0 0;border-color:#0000}.danger-button{color:var(--danger);border-color:#ff81812e}.danger-button:hover:not(:disabled),.danger-button:focus-visible:not(:disabled){background:var(--button-hover-danger-bg);border-color:var(--button-hover-danger-border)}.success-button{color:var(--accent);border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .22)}.primary-button{color:rgb(var(--palette-neutral-50-rgb,248, 251, 255));background:var(--primary-button-bg);box-shadow:0 14px 30px var(--primary-button-shadow);border:0;font-weight:700}.primary-button:hover:not(:disabled){background:var(--primary-button-hover-bg);box-shadow:0 16px 34px var(--primary-button-hover-shadow);transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.settings-backup-button{align-items:center;gap:8px;display:inline-flex}.settings-staff-column{align-content:start;gap:14px;min-width:0;display:grid}.settings-staff-column .portal-settings-password-card-compact{box-sizing:border-box;justify-self:stretch;width:auto;max-width:none}.settings-backup-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.settings-backup-card{justify-content:space-between;align-items:center;gap:16px;display:flex}.settings-backup-card p{color:var(--text-muted);margin-top:4px}.settings-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.settings-overview-grid:not(:has(.settings-backup-panel)){grid-template-columns:repeat(3,minmax(0,1fr))}.settings-overview-grid>.panel{align-content:start;align-items:stretch;min-width:0;height:100%}.settings-overview-grid .section-heading{align-items:flex-start;gap:12px}.settings-overview-grid .section-heading h3{overflow-wrap:anywhere}.settings-overview-grid .panel-nested{border-radius:18px;align-self:start;padding:14px}.settings-overview-grid .crm-form{align-content:start}.settings-layout{grid-template-columns:210px minmax(0,760px);justify-content:start;align-items:start;gap:16px;display:grid}.settings-detail-area{width:min(760px,100%);min-width:0}.settings-detail-area>.panel,.settings-detail-area>.settings-tariffs-panel{width:100%}.settings-category-panel{padding:14px;position:sticky;top:18px}.settings-category-list{gap:10px;display:grid}.settings-category-button{min-width:0;min-height:52px;color:var(--text-muted);font:inherit;text-align:left;cursor:pointer;border-radius:0;padding:12px 14px;font-size:.92rem;font-weight:700;transition:color .16s,border-color .22s;background:0 0!important;border:0!important;border-bottom:2px solid #0000!important}.settings-category-button:hover,.settings-category-button:focus-visible{color:var(--regular-button-accent);text-indent:0;outline:none;border:0!important;border-bottom:2px solid var(--regular-button-accent)!important;background:0 0!important}.settings-category-button.active,.settings-category-button.active:hover,.settings-category-button.active:focus-visible{text-indent:0;border:0!important;border-bottom:2px solid var(--regular-button-accent)!important;color:var(--regular-button-accent)!important;background:0 0!important}.theme-light .teacher-portal-shell .portal-category-panel .settings-category-button.active,.theme-light .teacher-portal-shell .portal-category-panel .settings-category-button.active:hover,.theme-light .teacher-portal-shell .portal-category-panel .settings-category-button.active:focus-visible{color:var(--regular-button-accent)}.settings-detail-panel{min-width:0}.payment-details-settings-form input:disabled{opacity:.78;cursor:default}.payment-qr-settings-layout{gap:14px;display:grid}.payment-qr-file-field{color:var(--text-muted);gap:8px;font-size:.86rem;font-weight:700;display:grid}.payment-qr-file-field input[type=file]{width:100%;min-height:42px;color:var(--text-main)}.payment-qr-file-field input[type=file]::file-selector-button{border:1px solid var(--border);background:var(--button-bg);min-height:36px;color:var(--text-main);font:inherit;cursor:pointer;border-radius:12px;margin-right:12px;padding:0 14px;font-weight:800}.payment-qr-file-field input[type=file]:disabled::file-selector-button{cursor:default;opacity:.72}.payment-qr-preview-block{justify-items:center;gap:12px;min-height:0;display:grid}.payment-qr-preview-image{object-fit:contain;width:100%;max-width:100%;height:auto;display:block}.payment-qr-delete-button{justify-self:center;width:fit-content}.portal-dashboard-layout{grid-template-columns:240px minmax(0,1fr);width:100%}.portal-category-panel{top:86px}.portal-detail-area{gap:18px;width:100%;display:grid}.portal-info-grid{grid-template-columns:1fr;width:100%}@media (width>=761px){#teacher-portal-lessons,#teacher-portal-salary{grid-column:1/-1;justify-self:start;width:min(560px,100%)}}.portal-detail-area [hidden]{display:none!important}.portal-detail-area>.student-portal-metrics,.portal-info-grid>.student-portal-section{scroll-margin-top:24px}.admin-mobile-bottom-nav,.student-portal-bottom-nav{display:none}.settings-student-panel .student-settings-form{max-width:100%}.settings-student-panel .panel-nested{background:0 0;border:0;padding:0}.student-settings-card,.student-settings-toggle-row{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-surface) 72%, transparent);border-radius:16px;width:100%;display:grid}.student-settings-card{gap:8px;padding:16px 14px}.primary-button-tone-card>span:first-child{color:var(--text-main);font-size:.84rem;font-weight:500;line-height:1.3}.primary-button-tone-picker{grid-template-columns:repeat(5,minmax(0,max-content));gap:8px;display:grid}.primary-button-tone-option{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-card) 74%, transparent);min-height:36px;color:var(--text-main);cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:7px 10px;font-size:.82rem;font-weight:650;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.primary-button-tone-option:hover,.primary-button-tone-option:focus-visible,.primary-button-tone-option.active{border-color:color-mix(in srgb, var(--primary-button-option-start) 58%, var(--border));background:color-mix(in srgb, var(--primary-button-option-start) 14%, var(--bg-card))}.primary-button-tone-option.active{box-shadow:none}.crm-shell .primary-button-tone-option{outline:none;border-color:#0000!important}.primary-button-tone-swatch{background:linear-gradient(var(--primary-button-option-angle,135deg), var(--primary-button-option-start) 0%, var(--primary-button-option-middle,color-mix(in srgb, var(--primary-button-option-start), var(--primary-button-option-end))) 50%, var(--primary-button-option-end) 100%);width:20px;height:20px;box-shadow:inset 0 1px 0 #ffffff59, 0 5px 12px color-mix(in srgb, var(--primary-button-option-start) 28%, transparent);border-radius:999px}.crm-background-settings-card{gap:14px}.glass-card-transparency-card{gap:8px}.glass-card-transparency-card input[type=range]{width:calc(100% + 16px);margin-inline:-8px}.glass-card-transparency-note{color:var(--text-muted);line-height:1.45}.crm-background-settings-heading,.crm-background-overlay-heading,.crm-background-overlay-scale{justify-content:space-between;align-items:center;gap:12px;display:flex}.crm-background-settings-heading>div{gap:4px;display:grid}.crm-background-settings-heading>div>span,.crm-background-overlay-heading>span{color:var(--text-main);font-size:.84rem;font-weight:650}.crm-background-settings-heading small,.crm-background-overlay-scale{color:var(--text-muted)}.crm-background-remove-button{flex:none}.crm-background-dropzone{border:1.5px dashed color-mix(in srgb, var(--regular-button-accent) 54%, var(--border));background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--regular-button-accent) 12%, transparent), transparent 34%), color-mix(in srgb, var(--bg-surface) 78%, transparent);min-height:190px;color:var(--text-main);text-align:center;cursor:pointer;border-radius:18px;place-items:center;gap:12px;padding:24px;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;display:grid}.crm-background-dropzone:hover,.crm-background-dropzone:focus-within,.crm-background-dropzone.drag-active{border-color:var(--regular-button-accent);background:radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--regular-button-accent) 20%, transparent), transparent 38%), color-mix(in srgb, var(--regular-button-accent) 9%, var(--bg-surface));box-shadow:0 0 0 4px color-mix(in srgb, var(--regular-button-accent) 11%, transparent);transform:translateY(-1px)}.crm-background-dropzone.uploading{pointer-events:none;opacity:.72}.crm-background-dropzone input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.crm-background-dropzone-icon{border:1px solid color-mix(in srgb, var(--regular-button-accent) 28%, var(--border));background:linear-gradient(145deg, color-mix(in srgb, var(--regular-button-accent) 25%, var(--bg-card)), color-mix(in srgb, var(--accent-soft) 18%, var(--bg-card)));width:58px;height:58px;color:var(--regular-button-accent);box-shadow:0 12px 28px color-mix(in srgb, var(--regular-button-accent) 13%, transparent);border-radius:18px;place-items:center;display:grid}.crm-background-dropzone-icon svg{fill:none;stroke:currentColor;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;width:34px;height:34px}.crm-background-dropzone-icon svg rect{fill:color-mix(in srgb, var(--regular-button-accent) 9%, transparent)}.crm-background-dropzone-copy{gap:6px;display:grid}.crm-background-dropzone-copy strong{font-size:.88rem;line-height:1.4}.crm-background-dropzone-copy em{color:var(--regular-button-accent);font-style:normal}.crm-background-dropzone-copy small{color:var(--text-muted);font-size:.75rem}.crm-background-file-row{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-card) 82%, transparent);border-radius:16px;grid-template-columns:48px minmax(0,1fr) 30px;align-items:center;gap:12px;min-width:0;padding:12px;display:grid}.crm-background-file-row.status-error{border-color:color-mix(in srgb, var(--danger) 42%, var(--border))}.crm-background-file-thumbnail{border:1px solid var(--border);background:linear-gradient(135deg, color-mix(in srgb, var(--regular-button-accent) 22%, transparent), transparent), var(--bg-soft);background-position:50%;background-size:cover;border-radius:12px;width:48px;height:48px}.crm-background-file-content,.crm-background-file-heading>span{gap:5px;min-width:0;display:grid}.crm-background-file-heading{justify-content:space-between;align-items:start;gap:12px;min-width:0;display:flex}.crm-background-file-heading>span>strong{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.crm-background-file-heading small{color:var(--text-muted);font-size:.73rem}.crm-background-file-heading>strong{color:var(--regular-button-accent);flex:none;font-size:.78rem}.crm-background-file-row.status-error .crm-background-file-heading>strong,.crm-background-file-row.status-error .crm-background-file-heading small{color:var(--danger)}.crm-background-progress-track{background:color-mix(in srgb, var(--text-muted) 16%, transparent);border-radius:999px;height:7px;overflow:hidden}.crm-background-progress-track>span{border-radius:inherit;background:linear-gradient(90deg, var(--regular-button-accent), var(--accent-soft));height:100%;box-shadow:0 0 14px color-mix(in srgb, var(--regular-button-accent) 36%, transparent);transition:width .18s;display:block}.status-error .crm-background-progress-track>span{background:var(--danger)}.crm-background-upload-complete{border:1px solid color-mix(in srgb, var(--regular-button-accent) 42%, transparent);background:color-mix(in srgb, var(--regular-button-accent) 14%, transparent);width:26px;height:26px;color:var(--regular-button-accent);border-radius:999px;place-items:center;font-size:.82rem;font-weight:900;display:grid}.crm-background-overlay-control{gap:9px;padding-top:2px;display:grid}.crm-background-overlay-control.disabled{opacity:.48}.crm-background-overlay-heading strong{min-width:48px;color:var(--accent-soft);text-align:right}.crm-background-overlay-control input[type=range]{width:100%;accent-color:var(--accent-soft);cursor:pointer}.crm-background-overlay-control input[type=range]:disabled{cursor:default}.primary-button-tone-option-blue{--primary-button-option-start:#3478ff;--primary-button-option-end:#8b5cf6}.primary-button-tone-option-green{--primary-button-option-start:#12b981;--primary-button-option-end:#22c55e}.primary-button-tone-option-purple{--primary-button-option-start:#2d9fde;--primary-button-option-middle:#5a85e3;--primary-button-option-end:#826adc;--primary-button-option-angle:90deg}.primary-button-tone-option-rose{--primary-button-option-start:#f43f5e;--primary-button-option-end:#ec4899}.primary-button-tone-option-orange{--primary-button-option-start:#f97316;--primary-button-option-end:#f59e0b}.primary-button-tone-option-cyan{--primary-button-option-start:#06b6d4;--primary-button-option-end:#3b82f6}.primary-button-tone-option-indigo{--primary-button-option-start:#4f46e5;--primary-button-option-end:#7c3aed}.primary-button-tone-option-red{--primary-button-option-start:#ef4444;--primary-button-option-end:#f97316}.primary-button-tone-option-gold{--primary-button-option-start:#eab308;--primary-button-option-end:#f59e0b}.primary-button-tone-option-slate{--primary-button-option-start:#475569;--primary-button-option-end:#64748b}.student-settings-toggle-row{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 14px}.student-settings-toggle-row>span:first-child{min-width:0;color:var(--text-main);font-size:.84rem;font-weight:500;line-height:1.3}.student-settings-toggle-row input{pointer-events:none;opacity:0;width:1px;height:1px;min-height:1px;margin:0;padding:0;position:absolute}.student-settings-switch{background:linear-gradient(135deg,#2ee35d,#22c95b);border:1px solid #41e15f6b;border-radius:999px;justify-content:flex-end;align-items:center;width:46px;height:26px;min-height:26px;padding:3px;display:flex;box-shadow:inset 0 0 0 1px #ffffff14}.student-settings-toggle-row.disabled .student-settings-switch{background:rgb(var(--palette-neutral-700-rgb,54, 55, 65));border-color:#ffffff14;justify-content:flex-start}.theme-light .student-settings-toggle-row.disabled .student-settings-switch{border-color:rgba(var(--palette-neutral-800-rgb,34, 40, 54), .12);background:rgb(var(--palette-neutral-200-rgb,217, 220, 228))}.student-settings-switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 7px #00000047}.bank-transaction-settings-panel .panel-nested{background:0 0;border:0;padding:0}.bank-transaction-settings-stack{gap:12px;display:grid}.bank-transaction-student-filter{gap:12px}.bank-transaction-filter-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.bank-transaction-filter-heading>div{gap:5px;display:grid}.bank-transaction-filter-heading>div>span{color:var(--text-muted);font-size:.82rem;line-height:1.45}.bank-transaction-student-option{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-card) 65%, transparent);cursor:pointer;border-radius:12px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:10px 11px;display:grid}.bank-transaction-student-option:hover{border-color:color-mix(in srgb, var(--regular-button-accent) 40%, var(--border))}.bank-transaction-student-option input{width:17px;height:17px;accent-color:var(--regular-button-accent);margin:0}.bank-transaction-student-option>span{gap:3px;min-width:0;display:grid}.bank-transaction-student-option strong{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-weight:650;overflow:hidden}.bank-transaction-student-option small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.bank-transaction-select-all{border-color:color-mix(in srgb, var(--regular-button-accent) 32%, var(--border))}.bank-transaction-student-search{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-card) 72%, transparent);width:100%;min-height:42px;color:var(--text-main);font:inherit;border-radius:12px;padding:9px 12px;font-size:.84rem}.bank-transaction-student-list{gap:7px;max-height:min(55vh,460px);padding:2px 4px 2px 2px;display:grid;overflow-y:auto}.bank-transaction-student-list .empty-state-text{margin:8px 4px}.settings-tariffs-panel .panel-nested{background:0 0;border:0;padding:0}.settings-tariffs-panel .section-heading{align-items:center}.tariff-add-button{border-radius:12px;min-height:38px;padding:9px 12px;font-size:.84rem}.settings-tariffs-stack{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.settings-tariffs-stack>.tariff-settings-card:first-child{grid-column:1/-1}.tariff-settings-card{gap:14px}.tariff-settings-card p{color:var(--text-muted);margin:4px 0 0;font-size:.84rem;line-height:1.35}.tariff-settings-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.tariff-settings-head>div{min-width:0}.tariff-settings-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.tariff-settings-actions>.primary-button,.tariff-settings-actions>.ghost-button{border-radius:12px;min-height:38px;padding:9px 12px;font-size:.84rem}.speaking-club-card .tariff-settings-head{align-items:center}.tariff-settings-head .status-pill{padding:7px 10px;font-size:.78rem}.tariff-single-field{color:var(--text-muted);gap:6px;font-size:.82rem;display:grid}.tariff-single-field input{border:1px solid var(--border);background:var(--bg-surface);width:100%;min-width:0;height:40px;min-height:40px;color:var(--text-main);border-radius:12px;padding:8px 10px;font-size:.88rem}.tariff-single-field input::placeholder{color:var(--text-muted)}.tariff-single-field input:disabled{background:color-mix(in srgb, var(--bg-soft) 72%, transparent);color:var(--text-muted);opacity:1}.tariff-date-range-field .date-range-picker,.tariff-date-range-field .date-range-trigger{width:100%}.tariff-date-range-field .date-range-popover{left:0;right:auto}.date-range-trigger:disabled{opacity:.58;cursor:not-allowed}@media (width<=640px){.speaking-club-card .tariff-settings-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.speaking-club-card .tariff-settings-actions{justify-content:stretch;display:contents}.speaking-club-card .tariff-settings-actions>.primary-button,.speaking-club-card .tariff-settings-actions>.ghost-button{grid-area:2/1/auto/-1;width:100%}.speaking-club-card .student-settings-toggle-row.compact{grid-area:1/2;justify-content:space-between;min-width:0}.tariff-date-range-field .date-range-calendar{width:min(320px,100vw - 56px)}}.tariff-settings-list{gap:8px;display:grid}.tariff-settings-row{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-soft) 72%, transparent);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.tariff-settings-row>div:first-child{gap:3px;min-width:0;display:grid}.tariff-settings-row strong,.tariff-settings-card strong{color:var(--text-main)}.tariff-settings-row span{color:var(--text-muted);font-size:.84rem}.tariff-settings-row-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.tariff-settings-row-actions .icon-button{place-items:center;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;line-height:0;display:grid}.tariff-settings-row-actions .icon-button svg{margin:0;display:block}.tariff-edit-button{color:var(--text-main)}.student-settings-toggle-row.compact{border-radius:14px;width:auto;min-width:118px;padding:8px 9px}.student-settings-toggle-row.compact>span:first-child{font-size:.78rem}.student-settings-toggle-row.compact .student-settings-switch{width:40px;height:24px;min-height:24px;padding:3px}.student-settings-toggle-row.compact .student-settings-switch:after{width:18px;height:18px}.tariff-plan-modal{gap:18px}.tariff-modal-form{gap:14px}.tariff-modal-form input{background:var(--bg-surface);border-color:var(--border);color:var(--text-main)}.tariff-modal-form input::placeholder{color:var(--text-muted)}.account-password-settings{gap:12px;margin-top:16px;display:grid}.account-password-heading{padding-top:4px}.account-password-control{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.account-password-selected{color:var(--text-muted);overflow-wrap:anywhere;margin:0;padding:0 2px;font-size:.86rem;line-height:1.35}.account-password-control>.ghost-button{justify-content:center;min-width:138px}.settings-passwords-grid{grid-template-columns:1fr;align-items:start;gap:12px;display:grid}.settings-passwords-grid>*{box-sizing:border-box;width:100%}@media (width<=640px){.tariff-settings-row,.tariff-settings-head{grid-template-columns:1fr}.tariff-settings-row-actions{justify-content:stretch}.student-settings-toggle-row.compact{width:100%}.account-password-control{grid-template-columns:1fr;align-items:stretch}.account-password-control>.ghost-button{width:100%}}.settings-backup-panel .section-heading,.settings-backup-card{flex-direction:column;justify-content:flex-start;align-items:flex-start}.settings-backup-panel .settings-backup-button{justify-content:center;width:100%}.settings-backup-panel .status-pill{width:fit-content}.settings-staff-add-button{border-radius:12px;min-height:38px;padding:9px 14px;font-size:.88rem}.settings-staff-list{gap:16px;display:grid}.staff-add-modal{gap:18px}.staff-add-form{gap:14px}.telegram-settings-form .form-columns{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-surface) 72%, transparent);border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:12px;display:grid}.telegram-settings-form .telegram-quiet-row{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto}.telegram-settings-form .telegram-vip-payment-row{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:0;display:grid}.settings-telegram-panel .telegram-vip-payment-card{margin-top:16px}.telegram-settings-form .telegram-balance-row{align-items:end}.telegram-settings-form .telegram-balance-negative-row{grid-template-columns:minmax(0,.75fr) minmax(76px,.85fr);column-gap:7px}.telegram-settings-form .telegram-balance-zero-row{grid-template-columns:minmax(0,1fr) auto}.settings-telegram-panel .telegram-setting-field{display:contents}.settings-telegram-panel .telegram-setting-control{gap:5px;width:100%;min-width:0;display:grid}.telegram-setting-field>span,.telegram-setting-heading{color:var(--text-main);grid-column:1/-2;align-self:center;font-size:.84rem;font-weight:700;line-height:1.3}.telegram-setting-control>span{color:var(--text-muted);grid-column:1/-1;font-size:.84rem;line-height:1.3}.settings-telegram-panel .telegram-setting-field>input,.settings-telegram-panel .telegram-setting-field>select,.settings-telegram-panel .telegram-balance-zero-row .telegram-setting-control{grid-area:2/1/auto/-1}.settings-telegram-panel .telegram-balance-negative-row .telegram-setting-control{grid-row:2}.settings-telegram-panel .telegram-quiet-controls{grid-area:2/1/auto/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;display:grid}.settings-telegram-panel .telegram-balance-negative-row .telegram-setting-control:first-of-type,.settings-telegram-panel .telegram-balance-negative-row .telegram-setting-control:nth-of-type(2){grid-row:2}.settings-telegram-panel .telegram-balance-negative-row .telegram-setting-control:first-of-type{grid-column:1/2}.settings-telegram-panel .telegram-balance-negative-row .telegram-setting-control:nth-of-type(2){grid-column:2/-1}.settings-telegram-panel .telegram-settings-form .telegram-settings-checkbox{grid-area:1/-2/auto/-1;align-self:center}.settings-telegram-panel .telegram-settings-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.settings-telegram-panel .crm-form label{gap:5px;font-size:.8rem;line-height:1.22}.settings-telegram-panel .crm-form input,.settings-telegram-panel .crm-form select{border-radius:12px;min-width:0;height:40px;min-height:40px;padding:8px 10px;font-size:.86rem}.theme-dark .settings-telegram-panel .crm-form input[type=time]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.settings-telegram-panel .crm-form input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1}.theme-dark .settings-telegram-panel .crm-form input[type=time]::-webkit-calendar-picker-indicator{filter:invert()brightness(1.7);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2323272f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:14px 14px}.theme-light .settings-telegram-panel .crm-form input[type=time]::-webkit-calendar-picker-indicator{filter:none}.settings-telegram-panel .crm-form .telegram-settings-checkbox{cursor:pointer;background:linear-gradient(135deg,#2ee35d,#22c95b);border:1px solid #41e15f6b;border-radius:999px;justify-content:flex-end;justify-self:end;align-items:center;width:46px;height:26px;min-height:26px;padding:3px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff14}.settings-telegram-panel .crm-form .telegram-settings-checkbox.disabled{background:rgb(var(--palette-neutral-700-rgb,54, 55, 65));border-color:#ffffff14;justify-content:flex-start}.theme-light .settings-telegram-panel .crm-form .telegram-settings-checkbox.disabled{border-color:rgba(var(--palette-neutral-800-rgb,34, 40, 54), .12);background:rgb(var(--palette-neutral-200-rgb,217, 220, 228))}.settings-telegram-panel .crm-form .telegram-settings-checkbox input{pointer-events:none;opacity:0;width:1px;height:1px;min-height:1px;margin:0;padding:0;position:absolute}.settings-telegram-panel .crm-form .telegram-settings-checkbox span{color:#0000;white-space:nowrap;background:#fff;border-radius:50%;width:20px;height:20px;font-size:0;line-height:0;box-shadow:0 2px 7px #00000047}.status-pill,.badge,.student-tags span{border:1px solid var(--border);background:var(--bg-soft);border-radius:999px;padding:9px 14px}.balance-indicator{border:1px solid var(--border);background:var(--bg-soft);border-radius:18px;min-width:220px;padding:12px 16px}.balance-indicator span{color:var(--text-muted);margin-bottom:8px;display:block}.balance-positive{box-shadow:inset 0 0 0 1px rgba(var(--palette-mint-rgb,55, 240, 194), .22);background:rgba(var(--palette-mint-rgb,55, 240, 194), .1)}.balance-positive strong{color:var(--accent)}.balance-negative{background:#ff81811a;box-shadow:inset 0 0 0 1px #ff818138}.balance-negative strong{color:var(--danger)}.student-balance-summary-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:320px;display:grid}.student-balance-summary-item{min-width:0}.student-balance-summary-item+.student-balance-summary-item{border-left:1px solid var(--border);padding-left:14px}.dashboard-layout{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:18px;display:grid}.hero-card,.chart-card{border-radius:28px;padding:24px}.hero-card{z-index:5;grid-column:span 12;justify-content:flex-start;align-items:flex-start;gap:20px;display:flex;position:relative;overflow:visible}:is(.hero-card:has(.date-range-popover),.panel:has(.date-range-popover),.journal-filter-panel:has(.date-range-popover)){z-index:120}.hero-copy{max-width:640px}.hero-copy h3{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.12}.hero-copy p{max-width:520px;font-size:.96rem}.dashboard-layout .hero-card.finance-hero-card{border-radius:24px;align-items:center;gap:24px;padding:22px 24px}.finance-hero-card .finance-hero-heading,.settings-hero-heading{align-items:center;gap:12px;display:flex}.finance-hero-card .finance-hero-icon,.settings-hero-icon,.panel-heading-icon{height:46px;color:var(--accent);background:color-mix(in srgb, var(--accent) 13%, var(--bg-soft));border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);border-radius:15px;flex:0 0 46px;place-items:center;display:grid}.finance-hero-icon svg,.settings-hero-icon svg,.panel-heading-icon svg{width:25px;height:25px}.crm-shell .section-heading.panel-icon-heading{border-bottom:1px solid var(--border);grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;padding-bottom:18px;display:grid}.panel-icon-heading>div{min-width:0}.crm-shell .panel.utility-page-header{border-radius:24px;padding:22px 24px}.crm-shell .utility-page-header>.section-heading{flex-direction:row;justify-content:space-between;align-items:center;gap:24px;margin:0;display:flex}.utility-page-heading{align-items:center;gap:12px;min-width:0;display:flex}.utility-page-heading>div{min-width:0}.utility-page-heading h2{color:var(--text-main);letter-spacing:-.02em;margin:0;font-size:1.3rem;font-weight:700;line-height:1.2}.utility-page-heading p{color:var(--text-muted);margin:4px 0 0;font-size:.82rem;font-weight:400;line-height:1.35}@media (width<=760px){.crm-shell .panel.utility-page-header{padding:20px}.crm-shell .utility-page-header>.section-heading{flex-wrap:wrap;gap:18px}.utility-page-heading{flex:200px}.utility-page-header .card-actions{border-top:1px solid var(--border);padding-top:14px}}.finance-hero-titles{min-width:0}.finance-hero-card .eyebrow,.content-area>.topbar.settings-hero h2{color:var(--text-main);letter-spacing:-.02em;font-size:1.3rem;font-weight:700;line-height:1.2;display:block}.finance-hero-card .hero-copy h3,.settings-hero-heading .eyebrow{color:var(--text-muted);white-space:nowrap;margin:4px 0 0;font-size:.82rem;font-weight:400;line-height:1.35;display:block}.finance-hero-card .hero-copy p{display:none}.dashboard-layout .finance-hero-card .date-range{margin-left:auto}.finance-hero-card .date-range-picker{gap:7px}.finance-hero-card .date-range-picker>span{font-size:.75rem;font-weight:500}.finance-hero-card .date-range-trigger{text-align:center;min-height:46px;box-shadow:none;border-radius:13px;padding:12px;font-size:.86rem}.finance-hero-card .date-range-popover{width:320px;max-width:calc(100vw - 28px)}.finance-hero-card .attendance-picker.date-range-calendar{width:100%}@media (width<=760px){.dashboard-layout .hero-card.finance-hero-card{gap:18px;padding:20px}.finance-hero-card .hero-copy{width:100%}.dashboard-layout .finance-hero-card .date-range{border-top:1px solid var(--border);width:100%;margin:0;padding-top:14px}.finance-hero-card .date-range-picker{width:100%}.finance-hero-card .date-range-trigger{width:100%;max-width:none}.finance-hero-card .date-range-popover{width:300px;left:50%;right:auto;transform:translate(-50%)}}.stats-grid{grid-column:span 12;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;display:grid}.dashboard-stats-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.dashboard-layout .school-analytics-panel{isolation:isolate;border:1px solid color-mix(in srgb, #3da9ff 28%, var(--border));background:radial-gradient(circle at 100% 0%, #3da9ff1f, transparent 38%), linear-gradient(145deg, color-mix(in srgb, #3da9ff 7%, var(--bg-card)), var(--bg-card) 54%, color-mix(in srgb, #35d48d 3%, var(--bg-card)));border-radius:28px;grid-column:span 12;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px 24px 24px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0f,0 18px 42px #00000029}.dashboard-layout .school-analytics-panel>*{z-index:1;position:relative}.school-analytics-heading{grid-column:1/-1;align-items:center;gap:16px;padding:0 4px}.school-analytics-current{grid-column:1;align-content:start;gap:12px;min-width:0;display:grid}.school-analytics-current .school-analytics-primary,.school-analytics-current .school-analytics-secondary{grid-template-columns:repeat(4,minmax(0,1fr))}.school-analytics-current .school-analytics-secondary{grid-template-columns:repeat(6,minmax(0,1fr))}.school-analytics-heading .eyebrow{color:#7cc6ff;margin-bottom:5px;display:block}.school-analytics-heading p{margin-top:5px}.school-analytics-margin{border:1px solid color-mix(in srgb, #35d48d 25%, var(--border));background:linear-gradient(145deg, color-mix(in srgb, #35d48d 12%, var(--bg-card)), var(--bg-card) 68%), var(--bg-card);white-space:nowrap;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:132px;min-height:70px;padding:12px 16px;font-size:.76rem;display:flex;box-shadow:inset 0 1px #ffffff0a,0 14px 28px #00000029}.school-analytics-margin strong{color:#35d48d;font-size:1.45rem;line-height:1}.school-analytics-margin.negative{border-color:color-mix(in srgb, #ff5f6d 32%, var(--border));background:#ff5f6d17}.school-analytics-margin.negative strong{color:#ff5f6d}.school-analytics-primary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0;display:grid}.school-analytics-metric{border:1px solid #ffffff09;border-radius:24px;grid-template-rows:auto 1fr;align-items:stretch;gap:12px;min-width:0;min-height:118px;padding:14px 16px;display:grid}.school-analytics-metric:first-child{padding-left:16px}.school-analytics-metric:last-child{border-right:0;padding-right:16px}.school-analytics-metric>span{color:var(--muted);font-size:.82rem;line-height:1.3}.school-analytics-metric strong{white-space:nowrap;font-size:clamp(1.25rem,1.7vw,1.75rem);line-height:1.15}.school-analytics-metric small{color:var(--muted);font-size:.72rem;line-height:1.3}.school-analytics-card-note{color:#ffffff7a;margin-top:5px;font-size:.68rem;line-height:1.15;display:block}.theme-light .school-analytics-card-note{color:rgb(var(--palette-neutral-600-rgb,83, 97, 119))}.school-analytics-profit strong{color:#35d48d}.school-analytics-profit.negative strong{color:#ff5f6d}.theme-light .school-analytics-heading .eyebrow{color:#1268a5}.theme-light .school-analytics-margin strong,.theme-light .school-analytics-profit strong{color:#178553}.theme-light .school-analytics-margin.negative strong,.theme-light .school-analytics-profit.negative strong{color:#bd3541}.school-analytics-secondary{background:0 0;border:0;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding:0;display:grid}.school-analytics-secondary>div{text-align:left;min-width:0;min-height:104px;font-size:initial;border:1px solid #ffffff09;border-radius:24px;grid-template-rows:auto 1fr;align-items:stretch;gap:5px;padding:14px 16px;display:grid}.school-analytics-secondary>div:last-child{border-right:0}.school-analytics-secondary>.school-analytics-mini-card{min-height:104px}.school-analytics-secondary span{color:var(--muted)}.school-analytics-secondary strong{font-size:1.3rem;line-height:1.1}.school-analytics-secondary small{color:var(--muted);font-size:.69rem;line-height:1.2}.school-forecast{background:linear-gradient(135deg, color-mix(in srgb, #a17aff 7%, var(--bg-card)), color-mix(in srgb, #3da9ff 4%, var(--bg-card)));border:0;border-radius:24px;grid-column:2;align-content:start;gap:14px;min-width:0;padding:18px;display:grid}.school-analytics-current>.student-portal-attendance-summary{border:0}.school-forecast-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.school-forecast-heading .eyebrow{color:#b8a0ff;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:.7rem;font-weight:700;display:block}.school-forecast-heading h4{margin:0;font-size:1.08rem}.school-forecast-schedule-count{color:var(--muted);text-align:right;font-size:.78rem}.school-forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;display:grid}.school-forecast-content{grid-template-columns:minmax(0,7fr) minmax(220px,3fr);align-items:center;gap:14px;min-width:0;display:grid}.school-forecast-card{--school-forecast-card-accent:#3da9ff;background:var(--bg-card);min-width:0;min-height:118px;box-shadow:none;border:0;border-radius:18px;grid-template-rows:auto 1fr auto;align-content:start;gap:10px;padding:14px 16px;display:grid}.school-forecast-card-payments{--school-forecast-card-accent:#35d48d}.school-forecast-card-salary{--school-forecast-card-accent:#ff5f6d}.school-forecast-card-profit{--school-forecast-card-accent:#35d48d}.school-forecast-card-heading{align-items:center;gap:10px;min-width:0;display:flex}.school-forecast-card-heading>span{color:var(--text-muted);font-size:.77rem}.school-forecast-card .stat-icon{border:1px solid color-mix(in srgb, var(--school-forecast-card-accent) 15%, transparent);background:color-mix(in srgb, var(--school-forecast-card-accent) 20%, transparent);width:34px;height:34px;color:var(--school-forecast-card-accent);border-radius:12px;flex:0 0 34px;box-shadow:inset 0 1px #ffffff0d}.school-forecast-card .stat-icon svg{stroke-width:2.15px;width:16px;height:16px}.school-forecast-card strong{text-overflow:ellipsis;white-space:nowrap;align-self:end;font-size:clamp(1.15rem,1.55vw,1.55rem);line-height:1.15;overflow:hidden}.school-forecast-card small{color:color-mix(in srgb, var(--text-muted) 72%, white);font-size:.7rem;line-height:1.4}.school-forecast-card small b{font-weight:700}.school-forecast-efficiency{--school-forecast-tone:#35d48d;align-content:center;justify-items:center;gap:7px;width:100%;min-width:0;display:grid}.school-forecast-efficiency.negative{--school-forecast-tone:#ff5f6d}.school-forecast-efficiency.low,.school-forecast-efficiency.medium{--school-forecast-tone:#ffb547}.school-forecast-efficiency.neutral{--school-forecast-tone:var(--muted)}.school-forecast-efficiency-title{color:var(--text-muted);text-align:center;font-size:.77rem}.school-forecast-radial{aspect-ratio:1;width:100%;max-width:190px;position:relative}.school-forecast-radial>svg{width:100%;height:100%;display:block}.school-forecast-radial-track,.school-forecast-radial-spectrum>path{fill:none;stroke-linecap:round}.school-forecast-radial-track{stroke:#9ba3ae94;stroke-width:8px}.school-forecast-radial-spectrum{stroke-width:8px}.school-forecast-radial-spectrum>path{transition:stroke .24s}.school-forecast-radial-center{text-align:center;pointer-events:none;justify-items:center;gap:2px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.school-forecast-radial-center strong{color:#fff;font-size:1.55rem;line-height:1}.school-forecast-radial-center span{color:var(--muted);font-size:.7rem}.theme-light .school-forecast-heading .eyebrow{color:#6746bb}.school-analytics-details{color:var(--muted);grid-column:1/-1;padding-top:1px;font-size:.78rem;line-height:1.5}.school-analytics-details summary{cursor:pointer;width:fit-content;font-size:.8rem}.school-analytics-details summary:focus-visible{outline-offset:4px;outline:2px solid #3da9ff}.school-analytics-details p{max-width:900px;margin:9px 0 0}@media (width<=1250px){.school-forecast-content{grid-template-columns:minmax(0,1fr)}.school-forecast-efficiency{justify-self:center}}@media (width<=1100px){.dashboard-layout .school-analytics-panel{grid-template-columns:minmax(0,1fr)}.school-analytics-current,.school-forecast{grid-column:1}.school-analytics-primary{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:12px}.school-analytics-current .school-analytics-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.school-analytics-secondary,.school-analytics-current .school-analytics-secondary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1101px) and (width<=1600px){.school-analytics-current .school-analytics-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.school-analytics-current .school-analytics-secondary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1601px) and (width<=2160px){.dashboard-layout .school-analytics-panel,.school-analytics-current .school-analytics-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.school-analytics-current .school-analytics-secondary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=2161px){.school-analytics-current .school-analytics-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.school-analytics-current .school-analytics-secondary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.dashboard-layout .school-analytics-panel{border-radius:22px;gap:14px;padding:16px}.school-analytics-heading{flex-direction:column;align-items:flex-start;gap:12px}.school-analytics-margin{flex-direction:row;align-self:flex-start;align-items:baseline;gap:8px;min-width:0;padding:8px 10px}.school-analytics-margin strong{font-size:1.2rem}.school-analytics-primary{row-gap:14px}.school-analytics-current .school-analytics-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.school-analytics-primary .school-analytics-metric,.school-analytics-secondary>div{padding:14px}.school-forecast{border-radius:20px;padding:14px}.school-forecast-heading{flex-direction:column;align-items:flex-start;gap:6px}.school-forecast-schedule-count{text-align:left}.school-forecast-grid{grid-template-columns:1fr}.school-forecast-card{padding:12px 14px}.school-forecast-card strong{font-size:1.25rem}.school-analytics-metric strong{font-size:clamp(1.07rem,4.7vw,1.35rem)}.school-analytics-secondary,.school-analytics-current .school-analytics-secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}.stat-card,.panel,.student-card,.teacher-card,.day-column,.journal-card{border-radius:24px;padding:20px}.stat-card{border-color:var(--stat-border,var(--border));align-items:center;display:flex}.dashboard-stat-card{--dashboard-card-accent:#3da9ff;--dashboard-card-surface:rgb(var(--palette-neutral-900-rgb,27, 32, 40));background:linear-gradient(145deg, color-mix(in srgb, var(--dashboard-card-accent) 7%, var(--dashboard-card-surface)), var(--dashboard-card-surface) 58%), var(--dashboard-card-surface);border-color:#ffffff09;grid-template-rows:auto 1fr;align-items:stretch;gap:12px;min-height:118px;padding:14px 16px;display:grid;box-shadow:inset 0 1px #ffffff0a,0 14px 28px #0003}.dashboard-stat-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dashboard-stat-card-title{align-items:center;gap:10px;min-width:0;display:flex}.dashboard-stat-card-title span{color:#ffffff9e;margin:0;font-size:.84rem;line-height:1.2}.dashboard-stat-card .stat-icon{width:34px;height:34px;color:var(--dashboard-card-accent);background:color-mix(in srgb, var(--dashboard-card-accent) 20%, transparent);border:1px solid color-mix(in srgb, var(--dashboard-card-accent) 15%, transparent);border-radius:12px;box-shadow:inset 0 1px #ffffff0d}.dashboard-stat-card .stat-icon svg{stroke-width:2.15px;width:16px;height:16px}.dashboard-stat-card-footer{justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.dashboard-stat-card-footer-single{justify-content:flex-start}.stat-card.dashboard-stat-card strong{letter-spacing:-.03em;color:#fff;margin:0;font-size:clamp(1.25rem,1.5vw,1.7rem);line-height:.98}.dashboard-stat-card-comparison{text-align:right;align-self:end;justify-items:end;gap:4px;display:grid}.dashboard-stat-card-delta,.dashboard-stat-card-caption{margin:0}.dashboard-stat-card-delta{font-size:.78rem;font-weight:700;line-height:1}.stat-card.dashboard-stat-card .dashboard-stat-card-delta.positive{color:#35d48d}.stat-card.dashboard-stat-card .dashboard-stat-card-delta.negative{color:#ff5f6d}.stat-card.dashboard-stat-card .dashboard-stat-card-delta.neutral{color:#ffffff80}.dashboard-stat-card-caption{color:#ffffff7a;font-size:.68rem;line-height:1.1}.dashboard-stat-card.income{--dashboard-card-accent:#35d48d;--dashboard-card-surface:rgb(var(--palette-neutral-900-rgb,27, 35, 31))}.dashboard-stat-card.expense{--dashboard-card-accent:#ff5f6d;--dashboard-card-surface:rgb(var(--palette-neutral-900-rgb,37, 29, 32))}.dashboard-stat-card.net{--dashboard-card-accent:#3da9ff;--dashboard-card-surface:rgb(var(--palette-neutral-900-rgb,27, 32, 40))}.dashboard-stat-card.debt{--dashboard-card-accent:#eb4eb3;--dashboard-card-surface:rgb(var(--palette-neutral-900-rgb,35, 29, 41))}.dashboard-stat-card.students-total{--dashboard-card-accent:#ffbf1f;--dashboard-card-surface:rgb(var(--palette-neutral-900-rgb,36, 33, 28))}.dashboard-stat-card.teachers-total{--dashboard-card-accent:#8b7cff;--dashboard-card-surface:rgb(var(--palette-neutral-900-rgb,32, 32, 43))}.student-metrics span{color:var(--text-muted);margin-bottom:8px;display:block}.stat-card span:not(.stat-icon){color:var(--text-muted);margin-bottom:0}.stat-card-top{align-items:center;gap:12px;width:100%;display:flex}.stat-card-top>div{min-width:0}.stat-card-top span{margin-bottom:0}.stat-card strong{color:var(--stat-color,var(--text-main));display:block}.stat-card-subvalue{color:var(--text-muted);margin-top:4px;font-size:.98rem;font-weight:700;display:block}.student-next-payment-metric.only-amount .stat-card-subvalue{color:#fff}.theme-light .student-next-payment-metric.only-amount .stat-card-subvalue{color:var(--text-main)}.stat-card strong.positive{color:var(--accent)}.stat-card strong.negative{color:var(--danger)}.stat-card strong.warning{color:var(--warning)}.stat-icon{width:46px;height:46px;color:var(--stat-icon-color,var(--stat-color,var(--accent)));flex:none;place-items:center;line-height:0;display:grid}.stat-icon svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;place-self:center;width:32px;height:32px;display:block}.income{--stat-color:rgb(var(--palette-mint-rgb,55, 240, 194));--stat-icon-color:rgba(var(--palette-mint-rgb,55, 240, 194), .62);--stat-bg:rgba(var(--palette-mint-rgb,55, 240, 194), .13);--stat-border:rgba(var(--palette-mint-rgb,55, 240, 194), .24)}.expense{--stat-color:#ff8181;--stat-icon-color:#ff81819e;--stat-bg:#ff818121;--stat-border:#ff81813d}.net{--stat-color:#68a8ff;--stat-icon-color:#68a8ff9e;--stat-bg:#68a8ff21;--stat-border:#68a8ff3d}.debt{--stat-color:#ff7fb7;--stat-icon-color:#ff7fb79e;--stat-bg:#ff7fb721;--stat-border:#ff7fb73d}.students-total{--stat-color:#ffb86b;--stat-icon-color:#ffb86b9e;--stat-bg:#ffb86b24;--stat-border:#ffb86b42}.teachers-total{--stat-color:#b99cff;--stat-icon-color:#b99cff9e;--stat-bg:#b99cff21;--stat-border:#b99cff3d}.chart-card{grid-column:span 6}.trend-chart{width:100%;height:var(--chart-plot-height,280px);box-sizing:border-box;background:radial-gradient(circle at 18% 16%, rgba(var(--palette-mint-rgb,55, 240, 194), .18), transparent 24%), linear-gradient(180deg, #68a8ff1a, transparent), var(--bg-soft);border:1px solid var(--border);padding:var(--chart-plot-pad-top,14px) 14px var(--chart-plot-pad-bottom,14px);border-radius:28px;display:block;overflow:visible}.chart-shell{--chart-plot-height:520px;--chart-plot-pad-top:14px;--chart-plot-pad-bottom:14px;grid-template-columns:96px minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width>=2000px){.chart-shell{--chart-plot-height:680px}}.chart-y-axis{color:var(--text-muted);min-height:calc(var(--chart-plot-height) - var(--chart-plot-pad-top) - var(--chart-plot-pad-bottom));margin-block:var(--chart-plot-pad-top) var(--chart-plot-pad-bottom);font-size:.84rem;position:relative}.chart-y-axis span{white-space:nowrap;position:absolute;right:0;transform:translateY(-50%)}.chart-main{align-content:start;gap:12px;min-width:0;display:grid}.chart-grid-line{stroke:#ffffff1a;stroke-width:.5px;stroke-dasharray:1.5 2.5}.theme-light .chart-grid-line{stroke:rgba(var(--palette-neutral-900-rgb,16, 31, 63), .12)}.chart-area-fill{fill:url(#areaGradient)}.chart-line{fill:none;stroke:url(#lineGradient);stroke-width:.7px;stroke-linecap:round;stroke-linejoin:round;filter:url(#chartGlow)}.chart-point-hit{fill:#0000;cursor:pointer;pointer-events:all}.chart-x-axis{color:var(--text-muted);justify-content:space-between;gap:8px;padding-inline:4px;font-size:.8rem;display:flex}.chart-x-axis span{white-space:nowrap;min-width:0}.list-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.dashboard-wide-panel .list-row p{color:var(--text-muted)}.list-meta{justify-items:end;gap:6px;display:grid}.recent-transaction-card{box-sizing:border-box;background:var(--bg-soft);border:0;border-radius:18px;height:74px;padding:16px}.recent-transaction-top strong{margin-bottom:4px;display:block}.recent-transaction-top p{color:var(--text-muted)}.panel{gap:14px;display:grid}.dashboard-side-panel{order:2;grid-column:span 4;grid-template-rows:auto minmax(0,1fr);align-content:start;align-self:start;align-items:stretch;min-height:0}.dashboard-wide-panel{grid-column:span 12}.dashboard-teacher-panel,.dashboard-recent-panel{grid-column:span 4;align-content:start;align-self:start}.dashboard-recent-panel{order:3}.dashboard-teacher-panel{border:1px solid color-mix(in srgb, var(--accent) 14%, var(--border));background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 5%, var(--bg-card)), var(--bg-card) 58%), var(--bg-card);order:1;gap:16px;box-shadow:inset 0 1px #ffffff0a,0 14px 28px #00000024}.dashboard-teacher-panel:has(.searchable-select-popover){z-index:130}.dashboard-teacher-filter{max-width:360px}.dashboard-teacher-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.dashboard-teacher-summary>div{--dashboard-card-surface:rgb(var(--palette-neutral-900-rgb,27, 32, 40));background:linear-gradient(145deg, color-mix(in srgb, var(--dashboard-summary-accent,var(--accent)) 7%, var(--dashboard-card-surface)), var(--dashboard-card-surface) 58%), var(--dashboard-card-surface);min-width:0;min-height:0;box-shadow:none;border:0;border-radius:16px;grid-template-rows:auto 1fr;align-items:stretch;gap:12px;padding:14px 16px;display:grid}.dashboard-teacher-summary-payment{--dashboard-summary-accent:#35d48d}.dashboard-teacher-summary-salary{--dashboard-summary-accent:#ff5f6d}.dashboard-teacher-summary-income.positive{--dashboard-summary-accent:var(--accent)}.dashboard-teacher-summary-income.zero{--dashboard-summary-accent:#ff9f43}.dashboard-teacher-summary-income.negative{--dashboard-summary-accent:#ff5f6d}.dashboard-teacher-summary-income.positive strong,.dashboard-teacher-summary-payment strong{color:#35d48d}.dashboard-teacher-summary-income.zero strong{color:#ffbf1f}.dashboard-teacher-summary-income.negative strong,.dashboard-teacher-summary-salary strong{color:#ff5f6d}.theme-light .dashboard-teacher-summary>div{--dashboard-card-surface:#fff;background:linear-gradient(145deg, color-mix(in srgb, var(--dashboard-summary-accent,#4d7fc0) 13%, #fff), #fff 64%), #fff;box-shadow:none;border:0}.dashboard-teacher-summary span,.dashboard-teacher-lesson-metrics span{color:var(--text-muted);gap:5px;font-size:.78rem;line-height:1.2;display:grid}.dashboard-teacher-summary strong,.dashboard-teacher-lesson-metrics strong{color:var(--text-main);font-size:.98rem;line-height:1.1}.dashboard-teacher-summary>div:first-child strong,.dashboard-teacher-lesson-metrics span:first-child strong{color:var(--accent)}.dashboard-teacher-summary>div:nth-child(2) strong,.dashboard-teacher-lesson-metrics span:nth-child(2) strong{color:var(--danger)}.dashboard-teacher-summary strong.positive,.dashboard-teacher-lesson-metrics strong.positive{color:var(--accent)}.dashboard-teacher-summary strong.negative,.dashboard-teacher-lesson-metrics strong.negative{color:var(--danger)}.dashboard-teacher-summary>div:nth-child(3) strong,.dashboard-teacher-lesson-metrics span:nth-child(3) strong{color:var(--text-main)}.dashboard-teacher-adjustments{gap:9px;display:grid}.dashboard-teacher-adjustments h4{color:var(--text-muted);margin:0;font-size:.88rem;font-weight:700}.dashboard-teacher-adjustments-list{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.dashboard-teacher-adjustment{border:1px solid color-mix(in srgb, var(--border) 76%, transparent);background:color-mix(in srgb, var(--bg-card) 62%, transparent);border-radius:13px;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:12px;min-width:0;padding:10px 12px;display:grid}.dashboard-teacher-adjustment-copy{gap:3px;min-width:0;display:grid}.dashboard-teacher-adjustment-copy>strong{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.dashboard-teacher-adjustment-copy>small,.dashboard-teacher-adjustment-copy>span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;line-height:1.35;overflow:hidden}.dashboard-teacher-adjustment-amount{white-space:nowrap;font-size:.88rem}.dashboard-teacher-adjustment.positive .dashboard-teacher-adjustment-amount{color:#35d48d}.dashboard-teacher-adjustment.negative .dashboard-teacher-adjustment-amount{color:#ff7180}.theme-light .dashboard-teacher-adjustment.positive .dashboard-teacher-adjustment-amount{color:#059669}.theme-light .dashboard-teacher-adjustment.negative .dashboard-teacher-adjustment-amount{color:#dc2626}.dashboard-teacher-lessons{overflow-anchor:none;grid-template-columns:minmax(0,1fr);gap:16px;max-height:none;display:grid;overflow:visible}.dashboard-teacher-lesson-card{overflow-anchor:none;border:1px solid var(--border);background:var(--bg-soft);border-radius:18px;align-self:start;width:100%;min-width:0;display:block;overflow:hidden}.dashboard-teacher-lesson-card.expanded{background:linear-gradient(180deg, #68a8ff14, transparent), var(--bg-soft);border-color:#68a8ff47}.dashboard-teacher-lesson-button{width:100%;min-height:86px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) minmax(300px,1.25fr);align-items:stretch;gap:14px;padding:14px;display:grid}.dashboard-teacher-lesson-title{align-content:center;gap:5px;min-width:0;display:grid}.dashboard-teacher-lesson-title strong,.dashboard-teacher-lesson-title span{overflow-wrap:anywhere}.dashboard-teacher-lesson-title span{color:var(--text-muted);font-size:.84rem;line-height:1.3}.dashboard-teacher-lesson-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.dashboard-teacher-lesson-metrics span{border:1px solid var(--border);background:#ffffff09;border-radius:14px;align-content:center;min-height:58px;padding:9px 10px}.dashboard-teacher-group-card .dashboard-teacher-lesson-button{grid-template-columns:1fr;gap:15px;min-height:0;padding:0}.dashboard-teacher-group-card .dashboard-teacher-lesson-title{gap:7px;padding-left:40px;position:relative}.dashboard-teacher-group-card .dashboard-teacher-lesson-title:before{width:30px;height:30px;color:var(--dashboard-teacher-accent);background:color-mix(in srgb, var(--dashboard-teacher-accent) 20%, transparent);content:"⌂";border-radius:11px;place-items:center;font-size:1.05rem;font-weight:800;display:grid;position:absolute;top:0;left:0}.dashboard-teacher-group-card .dashboard-teacher-lesson-title strong{font-size:1.05rem;line-height:1.25}.dashboard-teacher-group-card .dashboard-teacher-lesson-title span{font-size:.72rem}.dashboard-teacher-group-card .dashboard-teacher-lesson-metrics span{border-color:color-mix(in srgb, var(--dashboard-teacher-accent) 20%, var(--border));background:color-mix(in srgb, var(--dashboard-teacher-accent) 10%, transparent)}.dashboard-teacher-group-card .dashboard-teacher-lesson-metrics span:last-child{border-top-color:color-mix(in srgb, var(--dashboard-teacher-accent) 45%, var(--border))}.dashboard-teacher-group-card .dashboard-teacher-lesson-metrics span:last-child strong{color:var(--dashboard-teacher-accent)}.dashboard-teacher-profit-negative .dashboard-teacher-lesson-metrics span:last-child strong{color:var(--danger,#ef6d78)}.theme-light .dashboard-teacher-lesson-metrics span{background:#ffffff94}.dashboard-teacher-student-list{overflow-anchor:none;padding:0 14px 14px;display:grid;position:static}.dashboard-teacher-student-list p{color:var(--text-muted)}.dashboard-teacher-student-row{border-top:0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:4px 0;display:grid}.dashboard-teacher-student-row:first-child{padding-top:4px}.dashboard-teacher-student-row span{overflow-wrap:anywhere;min-width:0}.dashboard-teacher-student-row strong{white-space:nowrap}.dashboard-teacher-card-total{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;padding-top:2px;font-size:.76rem;display:flex}.dashboard-teacher-card-total strong{color:var(--groups-card-accent);font-size:.86rem}.dashboard-teacher-group-card{--dashboard-teacher-accent:var(--accent);background:linear-gradient(145deg, color-mix(in srgb, var(--dashboard-teacher-accent) 10%, var(--bg-soft)), var(--bg-soft) 62%), var(--bg-soft);border:0;border-radius:18px;gap:15px;min-height:218px;padding:18px;transition:transform .16s,box-shadow .16s;display:grid;box-shadow:inset 0 1px #ffffff0a,0 14px 28px #00000029}.dashboard-teacher-group-card:hover,.dashboard-teacher-group-card:focus-within{transform:translateY(-2px);box-shadow:inset 0 1px #ffffff0d,0 18px 34px #00000038}.dashboard-teacher-group-card.expanded{border-color:color-mix(in srgb, var(--dashboard-teacher-accent) 36%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--dashboard-teacher-accent) 12%, transparent), transparent), var(--bg-soft)}.dashboard-teacher-profit-negative{--dashboard-teacher-accent:var(--danger,#ef6d78)}.dashboard-teacher-profit-zero{--dashboard-teacher-accent:#ff9f43}.dashboard-teacher-profit-positive{--dashboard-teacher-accent:var(--accent)}.dashboard-teacher-card-toggle{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:15px;padding:0;display:grid}.dashboard-teacher-income-badge{color:var(--dashboard-teacher-accent);background:color-mix(in srgb, var(--dashboard-teacher-accent) 13%, transparent)}.dashboard-teacher-card .dashboard-teacher-student-list{gap:5px;padding:0}.dashboard-teacher-card.expanded{grid-column:1/-1}.dashboard-teacher-card-back{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0 0 2px;display:flex}.dashboard-teacher-card-back>span{font-size:1.05rem;font-weight:800}.dashboard-teacher-card-back>strong{color:var(--dashboard-teacher-accent);white-space:nowrap}.dashboard-teacher-card-income{color:#fff;white-space:nowrap;padding:0;display:block;background:0 0!important}.dashboard-teacher-card-income span{color:#fff;text-transform:none;font-size:.68rem;line-height:1.2}.dashboard-teacher-card-income span strong{color:var(--groups-card-accent);font-size:.95rem}.dashboard-teacher-card-back .groups-card-v2-header{text-align:left;width:100%}.dashboard-teacher-card-finance{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.dashboard-teacher-card-finance>div{background:color-mix(in srgb, var(--groups-card-accent) 10%, transparent);border-radius:11px;gap:3px;padding:10px;display:grid}.dashboard-teacher-card-finance small{color:var(--text-muted);font-size:.68rem}.dashboard-teacher-card-finance strong{font-size:.88rem}.dashboard-teacher-card:hover,.dashboard-teacher-card:focus,.dashboard-teacher-card:focus-visible,.dashboard-teacher-card:focus-within{outline:none;transform:none;box-shadow:inset 0 1px #ffffff0a,0 14px 28px #00000029}.dashboard-teacher-card .dashboard-teacher-card-toggle:hover,.dashboard-teacher-card .dashboard-teacher-card-toggle:focus,.dashboard-teacher-card .dashboard-teacher-card-toggle:focus-visible,.dashboard-teacher-card .dashboard-teacher-card-back:hover,.dashboard-teacher-card .dashboard-teacher-card-back:focus,.dashboard-teacher-card .dashboard-teacher-card-back:focus-visible{color:inherit;box-shadow:none;background:0 0;border-color:#0000;outline:none}.dashboard-teacher-student-row-heading{color:var(--text-muted);padding-bottom:6px;font-size:.78rem}.dashboard-teacher-student-row>:nth-child(2),.dashboard-teacher-student-row>:nth-child(3){text-align:center;min-width:88px}.dashboard-teacher-student-row>:nth-child(3){text-align:right;justify-self:end}.dashboard-teacher-student-name{align-items:center;gap:8px;display:flex}.dashboard-teacher-student-dot{color:var(--groups-card-accent);flex:none;font-size:1.1rem;line-height:1}@media (width<=760px){.dashboard-teacher-student-list{padding:0 10px 10px}.dashboard-teacher-student-row{gap:6px;padding:7px 0;font-size:.78rem}.dashboard-teacher-student-row-heading{font-size:.66rem}.dashboard-teacher-student-row>:nth-child(2){min-width:64px}.dashboard-teacher-student-row>:nth-child(3){min-width:74px}.dashboard-teacher-student-name{gap:5px}.dashboard-teacher-student-dot{font-size:.92rem}}.dashboard-teacher-empty{color:var(--text-muted);text-align:center;justify-content:center}.crm-shell.theme-light .dashboard-teacher-summary-card>span,.crm-shell.theme-light .dashboard-teacher-card .groups-card-v2-meta small,.crm-shell.theme-light .dashboard-teacher-card .groups-card-v2-finance-teacher,.crm-shell.theme-light .dashboard-teacher-card .dashboard-teacher-card-finance small,.crm-shell.theme-light .dashboard-teacher-card .dashboard-teacher-student-row-heading,.crm-shell.theme-light .dashboard-teacher-card .dashboard-teacher-card-total span{color:#ffffffa3}.crm-shell.theme-light .dashboard-teacher-summary-card>strong,.crm-shell.theme-light .dashboard-teacher-card .groups-card-v2-heading h3,.crm-shell.theme-light .dashboard-teacher-card .groups-card-v2-meta strong,.crm-shell.theme-light .dashboard-teacher-card .dashboard-teacher-card-finance strong,.crm-shell.theme-light .dashboard-teacher-card .dashboard-teacher-student-row,.crm-shell.theme-light .dashboard-teacher-card .dashboard-teacher-student-row strong,.crm-shell.theme-light .dashboard-teacher-card .dashboard-teacher-card-total strong{color:#fff}.crm-shell.theme-light .dashboard-teacher-card .dashboard-teacher-student-list p{color:#ffffffb8}.crm-shell.theme-light .dashboard-teacher-summary-payment>strong,.crm-shell.theme-light .dashboard-teacher-summary-income.positive>strong{color:#35d48d}.crm-shell.theme-light .dashboard-teacher-summary-salary>strong,.crm-shell.theme-light .dashboard-teacher-summary-income.negative>strong{color:#ff5f6d}.crm-shell.theme-light .dashboard-teacher-summary-income.zero>strong{color:#ffbf1f}html[data-crm-palette=aurora] .crm-shell .dashboard-teacher-profit-positive{--dashboard-teacher-accent:#35d48d;--groups-card-accent:#35d48d!important;--groups-card-fill-end:#22b573!important}.crm-shell.theme-light .panel.monitoring-section-header .utility-page-heading h2{color:#fff}.crm-shell.theme-light .panel.monitoring-section-header .utility-page-heading p{color:#ffffffb8}.crm-shell.theme-light .panel.monitoring-section-header .panel-heading-icon,.crm-shell.theme-light .panel.monitoring-section-header .badge{color:#fff;border-color:#ffffff38}.crm-shell.theme-light .monitoring-groups-panel .groups-card-v2-heading h3,.crm-shell.theme-light .monitoring-groups-panel .groups-card-v2-meta strong,.crm-shell.theme-light .monitoring-groups-panel .groups-card-v2-capacity-label strong,.crm-shell.theme-light .monitoring-groups-panel .groups-card-v2-finance-teacher strong,.crm-shell.theme-light .monitoring-groups-panel .groups-card-v2-student-list>div span,.crm-shell.theme-light .monitoring-groups-panel .groups-card-v2-student-list>div strong{color:#fff}.crm-shell.theme-light .monitoring-groups-panel .groups-card-v2-heading h3 small,.crm-shell.theme-light .monitoring-groups-panel .groups-card-v2-meta small,.crm-shell.theme-light .monitoring-groups-panel .groups-card-v2-capacity-label,.crm-shell.theme-light .monitoring-groups-panel .groups-card-v2-finance-teacher,.crm-shell.theme-light .monitoring-groups-panel .groups-card-v2-empty,.crm-shell.theme-light .monitoring-groups-panel .groups-card-v2-profit span,.crm-shell.theme-light .monitoring-groups-panel .groups-card-v2-profit small{color:#ffffffa3}.crm-shell.theme-light .monitoring-groups-panel .groups-card-v2-deficit span{color:#ffffffb8}.modal-card-lesson .card-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.modal-card-lesson .card-actions button{width:100%}.problem-list{--problem-card-height:74px;grid-template-columns:1fr;align-content:start;align-items:start;gap:14px;min-height:0;max-height:none;display:grid;overflow:visible}.monitoring-page>.telegram-page{margin-top:0}.monitoring-payment-content,.monitoring-groups-content{gap:16px;display:grid}.monitoring-groups-heading-icon{place-items:center;font-size:1.35rem;font-weight:700;display:grid}.monitoring-groups-panel{gap:18px;display:grid}.monitoring-groups-toolbar{justify-content:space-between;align-items:center;gap:16px;padding-bottom:2px;display:flex}.monitoring-groups-toolbar>div{gap:3px;display:grid}.monitoring-groups-toolbar-title{font-size:.96rem;font-weight:700}.monitoring-groups-toolbar-caption{color:var(--text-muted);font-size:.76rem}.monitoring-groups-filter{color:var(--text-muted);align-items:center;gap:8px;font-size:.78rem;display:flex}.monitoring-groups-filter select{border:1px solid var(--border);min-width:180px;color:var(--text);background:var(--bg-soft);font:inherit;border-radius:10px;padding:8px 30px 8px 10px}.monitoring-groups-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.monitoring-groups-summary-item{--monitoring-summary-accent:#3da9ff;--monitoring-summary-surface:rgb(var(--palette-neutral-900-rgb,27, 32, 40));background:linear-gradient(145deg, color-mix(in srgb, var(--monitoring-summary-accent) 8%, var(--monitoring-summary-surface)), var(--monitoring-summary-surface) 60%), var(--monitoring-summary-surface);border:0;border-radius:18px;align-content:space-between;gap:8px;min-height:94px;padding:14px 16px;display:grid;box-shadow:inset 0 1px #ffffff0a,0 14px 28px #0000002e}.monitoring-groups-summary-item.groups{--monitoring-summary-accent:#3da9ff}.monitoring-groups-summary-item.students{--monitoring-summary-accent:#35d48d}.monitoring-groups-summary-item.missing{--monitoring-summary-accent:#ff5f6d}.monitoring-groups-summary-item strong{color:var(--monitoring-summary-accent);font-size:1.5rem;line-height:1}.monitoring-groups-summary-item span{color:#ffffff9e;font-size:.76rem}.theme-light .monitoring-groups-summary-item{--monitoring-summary-surface:rgb(var(--palette-neutral-900-rgb,27, 32, 40));background:linear-gradient(145deg, color-mix(in srgb, var(--monitoring-summary-accent) 8%, var(--monitoring-summary-surface)), var(--monitoring-summary-surface) 60%), var(--monitoring-summary-surface);box-shadow:inset 0 1px #ffffff0a,0 14px 28px #0000002e}.theme-light .monitoring-groups-summary-item span{color:#ffffff9e}.monitoring-groups-summary-item.deficit{--monitoring-summary-accent:#ff5f6d}.monitoring-groups-summary-item.deficit strong,.monitoring-group-deficit{color:var(--monitoring-summary-accent,var(--danger,#ef6d78))}.monitoring-groups-summary-item>strong,.monitoring-groups-summary-item>span{display:block}.monitoring-groups-summary-item.legacy-summary{border:1px solid var(--border);background:var(--bg-soft);border-radius:16px;flex-direction:column;gap:3px;padding:14px 16px;display:flex}.monitoring-groups-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px;display:grid}.monitoring-group-card{border:1px solid var(--border);background:linear-gradient(135deg, var(--bg-soft) 0%, #7eb1ff14 100%);border-radius:20px;flex-direction:column;gap:14px;min-height:218px;padding:18px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #00000014}.monitoring-group-card:before{content:"";background:var(--danger,#ef6d78);width:4px;position:absolute;inset:0 auto 0 0}.monitoring-group-card-head{grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;display:grid}.monitoring-group-card-icon{border:1px solid var(--accent-soft,#7eb1ff42);width:48px;height:48px;color:var(--accent);background:var(--accent-soft,#7eb1ff24);border-radius:15px;place-items:center;display:grid}.monitoring-group-card-icon .lesson-meta-icon,.monitoring-group-card-icon .lesson-meta-icon svg{width:25px;height:25px}.monitoring-group-card-title{min-width:0}.monitoring-group-card-title .monitoring-group-type{color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase;background:0 0;border:0;padding:0;font-size:.66rem;font-weight:600}.monitoring-group-card-title h3{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;overflow:hidden}.monitoring-group-deficit{background:#ef6d781a;border:1px solid #ef6d7847;border-radius:13px;flex-direction:column;justify-content:center;align-items:flex-end;min-width:52px;min-height:48px;padding:5px 9px;display:flex}.monitoring-group-deficit small{color:var(--text-muted);font-size:.58rem;line-height:1}.monitoring-group-deficit strong{color:var(--danger,#ef6d78);font-size:1.12rem;line-height:1.2}.monitoring-group-card-topline,.monitoring-group-students{justify-content:space-between;align-items:center;gap:12px;display:flex}.monitoring-group-type{border:1px solid var(--accent-soft,#7eb1ff38);width:fit-content;color:var(--accent);background:var(--accent-soft,#7eb1ff1f);border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.monitoring-group-deficit{background:#ef6d781f;border-radius:11px;place-items:center;min-width:34px;min-height:34px;font-size:1rem;display:grid}.monitoring-group-card h3{margin:0;font-size:1.12rem;line-height:1.25}.monitoring-group-card h3 span{color:var(--text-muted);font-weight:500}.monitoring-group-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;display:grid}.monitoring-group-details div{border-bottom:1px solid var(--border);background:#0000000f;border-radius:10px;min-width:0;padding:9px}.monitoring-group-info{align-items:flex-start;gap:7px;display:flex}.monitoring-group-info-icon{width:22px;height:22px;color:var(--accent);background:var(--accent-soft,#7eb1ff1f);border-radius:7px;flex:0 0 22px;place-items:center;display:grid}.monitoring-group-info-icon .lesson-meta-icon,.monitoring-group-info-icon .lesson-meta-icon svg{width:14px;height:14px}.monitoring-group-info div{background:0 0;border:0;gap:3px;min-width:0;padding:0;display:grid}.monitoring-group-info small,.monitoring-group-students span{color:var(--text-muted);align-items:center;font-size:.64rem;display:inline-flex}.monitoring-group-students .lesson-meta-icon{color:currentColor;flex:0 0 14px;width:14px;height:14px}.monitoring-group-type .lesson-meta-icon svg,.monitoring-group-details dt .lesson-meta-icon svg,.monitoring-group-students .lesson-meta-icon svg{width:14px;height:14px}.monitoring-group-details dd{margin:0;font-size:.86rem;line-height:1.35}.monitoring-group-info strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:600;line-height:1.3;overflow:hidden}.monitoring-group-students{border:1px solid var(--border);background:#00000014;border-radius:12px;margin-top:auto;padding:10px 12px}.monitoring-group-students span{gap:5px}.monitoring-group-students strong{color:var(--accent);font-size:1rem}.groups-card-v2-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px;display:grid}.groups-card-v2{--groups-card-surface:rgb(var(--palette-neutral-900-rgb,27, 32, 40));background:linear-gradient(145deg, color-mix(in srgb, var(--groups-card-accent) 10%, var(--groups-card-surface)), var(--groups-card-surface) 62%), var(--groups-card-surface);cursor:pointer;border:0;border-radius:18px;gap:15px;min-height:218px;padding:18px;transition:transform .16s,box-shadow .16s;display:grid;box-shadow:inset 0 1px #ffffff0a,0 14px 28px #0003}.groups-card-v2.expanded{min-height:0}.groups-card-v2:hover,.groups-card-v2:focus-visible{outline:none;transform:translateY(-2px);box-shadow:inset 0 1px #ffffff0d,0 18px 34px #00000042}.groups-card-v2.dashboard-teacher-card:hover,.groups-card-v2.dashboard-teacher-card:focus-visible,.groups-card-v2.dashboard-teacher-card:focus,.groups-card-v2.dashboard-teacher-card:focus-within,.groups-card-v2.dashboard-teacher-card:active{outline:none;transition:none;transform:none;box-shadow:inset 0 1px #ffffff0a,0 14px 28px #00000029}.groups-card-v2.dashboard-teacher-card,.groups-card-v2.dashboard-teacher-card:hover,.groups-card-v2.dashboard-teacher-card:focus,.groups-card-v2.dashboard-teacher-card:focus-visible,.groups-card-v2.dashboard-teacher-card:active{-webkit-tap-highlight-color:transparent;transition:none}.crm-shell .dashboard-teacher-card-toggle:hover,.crm-shell .dashboard-teacher-card-toggle:focus,.crm-shell .dashboard-teacher-card-toggle:focus-visible,.crm-shell .dashboard-teacher-card-toggle:active,.crm-shell .dashboard-teacher-card-back:hover,.crm-shell .dashboard-teacher-card-back:focus,.crm-shell .dashboard-teacher-card-back:focus-visible,.crm-shell .dashboard-teacher-card-back:active{-webkit-tap-highlight-color:transparent;outline:none;box-shadow:none!important;background:0 0!important;border-color:#0000!important}.groups-card-v2-header{grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.groups-card-v2-icon{width:54px;height:54px;color:var(--groups-card-accent);background:color-mix(in srgb, var(--groups-card-accent) 20%, transparent);border:0;border-radius:18px;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff0d}.groups-card-v2-icon .lesson-meta-icon,.groups-card-v2-icon .lesson-meta-icon svg{width:28px;height:28px}.groups-card-v2-heading{min-width:0}.groups-card-v2-tags{color:color-mix(in srgb, var(--groups-card-accent) 82%, white);letter-spacing:.06em;text-transform:uppercase;gap:6px;font-size:.62rem;font-weight:800;display:flex;overflow:hidden}.groups-card-v2-tags span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.groups-card-v2-flag{object-fit:cover;width:19px;height:14px;box-shadow:0 0 0 1px var(--border);border-radius:3px;display:block}.groups-card-v2-tags span+span:before{color:var(--text-muted);content:"•";margin-right:6px}.groups-card-v2-heading h3{text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:1.05rem;line-height:1.25;overflow:hidden}.groups-card-v2-heading h3 small{color:var(--text-muted);margin-left:6px;font-size:.76rem;font-weight:500}.groups-card-v2-deficit{color:var(--danger,#ef6d78);background:#ef6d7821;border-radius:14px;grid-template-columns:auto auto;align-items:center;gap:6px;padding:7px 9px;display:grid}.groups-card-v2-deficit strong{font-size:1.35rem;line-height:1}.groups-card-v2-deficit span{color:var(--text-muted);text-transform:uppercase;font-size:.58rem;line-height:1.1}.groups-card-v2-divider{background:linear-gradient(90deg, var(--groups-card-accent), #ffffff1f 60%, transparent);opacity:.7;height:1px}.groups-card-v2-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.groups-card-v2-meta>div{grid-template-rows:auto auto;grid-template-columns:26px minmax(0,1fr);column-gap:7px;min-width:0;display:grid}.groups-card-v2-meta>div>span{width:26px;height:26px;color:var(--groups-card-accent);background:color-mix(in srgb, var(--groups-card-accent) 16%, transparent);border-radius:9px;grid-row:1/span 2;place-items:center;display:grid}.groups-card-v2-meta .lesson-meta-icon,.groups-card-v2-meta .lesson-meta-icon svg{width:15px;height:15px}.groups-card-v2-meta small{color:var(--text-muted);font-size:.63rem}.groups-card-v2-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:600;line-height:1.3;overflow:hidden}.groups-card-v2-capacity{gap:7px;display:grid}.groups-card-v2-capacity-label{color:var(--text-muted);justify-content:space-between;align-items:center;gap:10px;font-size:.7rem;display:flex}.groups-card-v2-capacity-label strong{color:var(--text);font-size:.8rem}.groups-card-v2-capacity-track{background:color-mix(in srgb, var(--groups-card-accent) 14%, transparent);border-radius:999px;height:8px;overflow:hidden}.groups-card-v2-capacity-track span{width:var(--capacity);border-radius:inherit;background:linear-gradient(90deg, var(--groups-card-accent), var(--groups-card-fill-end));height:100%;display:block}.groups-card-v2-students{gap:12px;min-height:96px;display:grid}.groups-card-v2-students-heading{color:var(--text-muted);justify-content:space-between;align-items:center;gap:12px;font-size:.72rem;display:flex}.groups-card-v2-students-heading span{align-items:center;gap:7px;display:inline-flex}.groups-card-v2-students-heading .lesson-meta-icon,.groups-card-v2-students-heading .lesson-meta-icon svg{width:17px;height:17px;color:var(--groups-card-accent)}.groups-card-v2-students-heading strong{width:26px;height:26px;color:var(--groups-card-accent);background:color-mix(in srgb, var(--groups-card-accent) 16%, transparent);border-radius:9px;place-items:center;font-size:.78rem;display:grid}.groups-card-v2-finance-teacher{color:var(--text-muted);background:color-mix(in srgb, var(--groups-card-accent) 10%, transparent);border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;font-size:.7rem;display:grid}.groups-card-v2-finance-teacher span{align-items:center;gap:5px;display:inline-flex}.groups-card-v2-finance-teacher .lesson-meta-icon,.groups-card-v2-finance-teacher .lesson-meta-icon svg{width:16px;height:16px;color:var(--groups-card-accent)}.groups-card-v2-finance-teacher strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.groups-card-v2-finance-teacher b{color:var(--groups-card-accent);white-space:nowrap;font-size:.75rem}.groups-card-v2-student-list{gap:7px;display:grid}.groups-card-v2-student-list span{color:var(--text);background:color-mix(in srgb, var(--groups-card-accent) 12%, transparent);border-radius:10px;padding:7px 9px;font-size:.76rem}.groups-card-v2-student-list>div{background:0 0;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.groups-card-v2-student-list>div i{color:var(--groups-card-accent);flex:none;align-self:center;place-items:center;font-size:1.1rem;font-style:normal;line-height:1;display:grid}.groups-card-v2-student-list>div span{min-width:0;color:var(--text);overflow-wrap:anywhere;background:0 0;padding:0 2px;font-size:.76rem;line-height:1.35;overflow:visible}.groups-card-v2-student-list>div strong{color:var(--text);white-space:nowrap;justify-self:end;margin-left:auto;font-size:.76rem}.groups-card-v2-empty{color:var(--text-muted);font-size:.76rem}.groups-card-v2-profit{border-top:1px solid color-mix(in srgb, var(--groups-card-accent) 18%, transparent);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding-top:10px;display:grid}.groups-card-v2-profit span{color:var(--text-muted);font-size:.72rem}.groups-card-v2-profit strong{color:var(--groups-card-accent);justify-self:end;font-size:1rem}.groups-card-v2-profit small{color:var(--text-muted);grid-column:1/-1;font-size:.64rem}.groups-card-v2-profit.negative strong{color:var(--danger,#ef6d78)}.monitoring-tabs,.monitoring-payment-tabs{flex-wrap:wrap;gap:8px;display:flex}.monitoring-tabs{border:1px solid var(--border);background:var(--bg-soft);border-radius:16px;padding:6px}.monitoring-tab,.monitoring-payment-tab{color:var(--text-muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:12px;padding:10px 16px}.monitoring-tab.active,.monitoring-payment-tab.active{color:var(--text);background:var(--accent-soft,#7eb1ff29)}.monitoring-payment-tabs{margin:18px 0}.monitoring-payment-summary{border:1px solid var(--border);background:linear-gradient(105deg, var(--bg-soft), #7eb1ff14);border-radius:18px;flex-wrap:wrap;align-items:center;gap:20px;padding:14px 18px;display:flex}.monitoring-payment-summary-item{align-items:center;gap:11px;min-width:190px;display:flex}.monitoring-payment-summary-item>span:last-child{flex-direction:column;gap:2px;display:flex}.monitoring-payment-summary-item small{color:var(--text-muted);font-size:.78rem}.monitoring-payment-summary-item strong{font-size:1.15rem}.monitoring-payment-summary-icon{width:38px;height:38px;color:var(--accent,#7eb1ff);background:#7eb1ff24;border-radius:12px;place-items:center;font-size:.75rem;font-weight:800;display:grid}.monitoring-payment-summary-divider{background:var(--border);align-self:stretch;width:1px}.monitoring-payment-search{flex:240px;min-width:200px;max-width:380px;position:relative}.monitoring-payment-search input{border:1px solid var(--border);background:var(--bg-surface);width:100%;height:42px;color:var(--text-main);font:inherit;border-radius:12px;padding:9px 38px 9px 40px;font-size:.86rem}.monitoring-payment-search .search-field-icon{left:12px}.monitoring-payment-search .search-clear-button{right:9px}.monitoring-payment-table-wrap{overflow-x:auto}.monitoring-payment-table{border-collapse:collapse;width:100%;min-width:860px;font-size:.86rem}.monitoring-payment-table th,.monitoring-payment-table td{border-top:1px solid var(--border);text-align:left;white-space:nowrap;padding:12px 10px}.monitoring-payment-table th{color:var(--text-muted);font-size:.76rem;font-weight:600}.monitoring-payment-table :is(th,td):nth-child(2),.monitoring-payment-table :is(th,td):nth-child(3),.monitoring-payment-table :is(th,td):nth-child(4),.monitoring-payment-table :is(th,td):nth-child(5),.monitoring-payment-table :is(th,td):nth-child(6){text-align:center}.monitoring-payment-table :is(th,td):nth-child(7){text-align:right}.telegram-directory-connected-phone,.telegram-directory-table td:nth-child(3) a.telegram-directory-connected-phone{color:var(--accent)}.monitoring-payment-table td.positive{color:var(--accent);font-weight:700}.monitoring-payment-table td.monitoring-payment-amount{font-weight:700}.monitoring-payment-table .negative{color:var(--danger,#ef6d78);font-weight:700}.monitoring-payment-table .warning{color:var(--warning,#e6b84f);font-weight:700}@media (width<=760px){.monitoring-page{gap:10px}.monitoring-tabs{gap:2px;padding:3px}.monitoring-tab{flex:1 1 0;padding:7px 10px;font-size:.82rem}.monitoring-payment-content,.monitoring-groups-content{gap:10px}.monitoring-groups-content .utility-page-header{border-radius:18px;padding:13px 14px}.monitoring-groups-panel{gap:12px;padding:10px}.monitoring-groups-toolbar{flex-direction:column;align-items:stretch;gap:9px}.monitoring-groups-filter{justify-content:space-between}.monitoring-groups-filter select{flex:1;min-width:0;font-size:.72rem}.monitoring-groups-summary{gap:6px}.monitoring-groups-summary-item{border-radius:12px;padding:9px 8px}.monitoring-groups-summary-item strong{font-size:1rem}.monitoring-groups-summary-item span{font-size:.62rem;line-height:1.15}.monitoring-groups-grid{grid-template-columns:1fr;gap:8px}.groups-card-v2-grid{grid-template-columns:1fr;gap:10px}.groups-card-v2{border-radius:18px;gap:12px;padding:14px}.groups-card-v2-header{grid-template-columns:44px minmax(0,1fr) auto;gap:9px}.groups-card-v2-icon{border-radius:14px;width:44px;height:44px}.groups-card-v2-icon .lesson-meta-icon,.groups-card-v2-icon .lesson-meta-icon svg{width:23px;height:23px}.groups-card-v2-heading h3{font-size:.92rem}.groups-card-v2-deficit{padding:6px 7px}.groups-card-v2-deficit strong{font-size:1.1rem}.groups-card-v2-deficit span{font-size:.5rem}.groups-card-v2-meta{gap:8px}.groups-card-v2-meta strong{font-size:.7rem}.monitoring-group-card{border-radius:14px;gap:7px;min-height:0;padding:11px}.monitoring-group-card-head{grid-template-columns:38px minmax(0,1fr) auto;gap:8px}.monitoring-group-card-icon{border-radius:12px;width:38px;height:38px}.monitoring-group-card-icon .lesson-meta-icon,.monitoring-group-card-icon .lesson-meta-icon svg{width:20px;height:20px}.monitoring-group-details{grid-template-columns:1fr}.monitoring-group-card h3{font-size:.94rem}.monitoring-group-details div{grid-template-columns:62px minmax(0,1fr)}.monitoring-group-type,.monitoring-group-details dt,.monitoring-group-students span{font-size:.66rem}.monitoring-group-details dd{font-size:.74rem}.monitoring-payment-content .utility-page-header{border-radius:18px;padding:13px 14px}.monitoring-payment-content .utility-page-header>.section-heading{gap:10px}.monitoring-payment-content .utility-page-heading{gap:8px}.monitoring-payment-content .utility-page-heading h2{font-size:1.05rem}.monitoring-payment-content .utility-page-heading p{margin-top:2px;font-size:.7rem}.monitoring-payment-content .utility-page-header .badge{padding:6px 10px;font-size:.72rem}.telegram-page .utility-page-header{border-radius:18px;padding:13px 14px}.telegram-page .utility-page-header>.section-heading{gap:10px}.telegram-page .utility-page-heading{gap:8px}.telegram-page .utility-page-heading h2{font-size:1.05rem}.telegram-page .utility-page-heading p{margin-top:2px;font-size:.7rem}.telegram-page .utility-page-header .badge{padding:6px 10px;font-size:.72rem}.monitoring-payment-panel{padding:12px}.monitoring-payment-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:9px 10px;display:grid}.monitoring-payment-summary-divider{display:none}.monitoring-payment-search{grid-column:1/-1;width:100%;min-width:0;max-width:none;margin-left:0}.monitoring-payment-summary-item{gap:7px;min-width:0}.monitoring-payment-summary-icon{border-radius:9px;width:30px;height:30px;font-size:.64rem}.monitoring-payment-summary-item small{font-size:.68rem}.monitoring-payment-summary-item strong{font-size:.88rem}.monitoring-payment-tabs{gap:4px;margin:10px 0}.monitoring-payment-tab{padding:7px 10px;font-size:.78rem}.monitoring-payment-table{font-size:.62rem}.monitoring-payment-table th,.monitoring-payment-table td{padding:6px 5px}.monitoring-payment-table th{font-size:.56rem}}@media (width>=761px) and (width<=1100px){.monitoring-payment-table{font-size:.76rem}.monitoring-payment-table th,.monitoring-payment-table td{padding:9px 8px}.monitoring-payment-table th{font-size:.7rem}}.problem-balances-heading-actions{flex:none;align-items:center;display:flex}.problem-balances-export-button{white-space:nowrap;border-radius:13px;justify-content:center;align-items:center;gap:8px;width:fit-content;min-height:34px;padding:8px 12px;font-size:.84rem;line-height:1.2;display:inline-flex}.problem-balances-export-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.problem-balances-export-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.problem-card{height:var(--problem-card-height);box-sizing:border-box;background:var(--bg-soft);color:inherit;text-align:left;cursor:pointer;border:0;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.problem-card-top strong{margin-bottom:4px;display:block}.problem-card-top p{color:var(--text-muted)}.problem-card-meta{flex-direction:column;align-items:flex-end;gap:4px;font-size:.95rem;display:flex}.dashboard-list-actions{flex-wrap:wrap;justify-content:center;gap:8px;width:100%;margin-top:2px;display:flex}.problem-list-toggle,.recent-transactions-toggle{justify-content:center;width:fit-content;min-width:0;padding-inline:16px;display:inline-flex}.split{grid-template-columns:minmax(310px,380px) 1fr}.split-wide{grid-template-columns:390px minmax(0,1fr)}.page-stack{align-content:start}.form-panel{align-self:start}.filters-bar,.inline-form{flex-wrap:wrap;align-items:end}.filters-bar .primary-button{align-self:end}.search-field{flex:1}.searchable-select{min-width:0;position:relative}.searchable-select-shell{isolation:isolate;position:relative;overflow:visible}.searchable-select:has(.searchable-select-popover){z-index:210}.searchable-select-trigger{border:1px solid var(--border);background:var(--bg-surface);width:100%;color:var(--text-main);text-align:left;font:inherit;cursor:pointer;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;transition:border-color .16s,box-shadow .16s,background-color .16s;display:flex}.searchable-select-trigger:hover{border-color:#68a8ff3d}.searchable-select-trigger:disabled{cursor:not-allowed;opacity:.55}.searchable-select-trigger:focus-visible,.searchable-select-trigger.open{border-color:#68a8ff9e;outline:none;box-shadow:inset 0 1px #ffffff0f,0 0 0 4px #68a8ff24,0 12px 28px #0000002e}.searchable-select-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.searchable-select-value.placeholder,.searchable-select-caret{color:var(--text-muted)}.searchable-select-caret{flex:none;font-size:.8rem;transition:transform .16s}.searchable-select-caret.open{transform:rotate(180deg)}.searchable-select-popover{z-index:220;border:1px solid var(--border);background:var(--bg-card);width:max(100%,320px);max-width:min(420px,100vw - 28px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;gap:10px;padding:10px;display:grid;position:absolute;top:calc(100% + 10px);left:0;right:auto}:is(.panel:has(.searchable-select-popover),.modal-card:has(.searchable-select-popover),.modal-card-student:has(.searchable-select-popover),.modal-card-substitution:has(.searchable-select-popover),.modal-card-lesson:has(.searchable-select-popover),.modal-card-attendance:has(.searchable-select-popover),.modal-card-payment:has(.searchable-select-popover)){z-index:210;overflow:visible}.searchable-select-options{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;gap:6px;max-height:220px;display:grid;overflow-y:auto}.journal-category-filter .searchable-select-options,.settings-next-payment-period-select .searchable-select-options,.telegram-notification-select .searchable-select-options{-webkit-overflow-scrolling:auto;touch-action:auto;max-height:none;overflow-y:visible}.settings-next-payment-period-select .searchable-select-popover,.telegram-notification-select .searchable-select-popover,.student-wizard-select .searchable-select-popover,.student-editor-select .searchable-select-popover{width:100%;max-width:100%}.student-editor-tariff-select .searchable-select-popover{width:calc(100% + 32px);max-width:min(480px,100vw - 48px)}.teacher-language-filter-select .searchable-select-popover{width:100%;max-width:100%}.searchable-select-option{width:100%;color:var(--text-main);text-align:left;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.searchable-select-option:hover,.searchable-select-option:focus-visible,.searchable-select-option.selected{background:#68a8ff1a;border-color:#68a8ff4d;outline:none}.searchable-select-check{color:var(--accent);font-weight:700}.crm-shell :is(.searchable-select-trigger,.speaking-club-session-trigger):is(.open,:focus,:active),.crm-shell :is(.searchable-select-option,.speaking-club-session-option),.crm-shell select:focus{box-shadow:none;outline:none;border-color:#0000!important}.crm-shell :is(.searchable-select-trigger,.speaking-club-session-trigger,select):focus-visible{background:var(--button-hover-bg)}.searchable-select-empty{color:var(--text-muted);padding:10px 12px;font-size:.9rem}.search-input-wrap,.lesson-group-input-wrap{position:relative}.lesson-group-input-wrap input{width:100%;padding-right:42px}.lesson-group-suggestions{z-index:30;border:1px solid var(--border);background:var(--bg-surface);border-radius:14px;max-height:220px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 34px #00000038}.crm-form .lesson-group-suggestion{min-height:auto;color:var(--text-main);text-align:left;box-shadow:none;background:0 0;border:0;border-radius:10px;padding:9px 10px;display:grid}.crm-form .lesson-group-suggestion strong,.crm-form .lesson-group-suggestion small{display:block}.crm-form .lesson-group-suggestion small{color:var(--text-muted);margin-top:3px;font-size:.78rem}.crm-form .lesson-group-suggestion:hover,.crm-form .lesson-group-suggestion:focus-visible{background:var(--button-hover-bg)}.search-field-icon{color:color-mix(in srgb, var(--text-muted) 82%, transparent);pointer-events:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-field-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:17px;height:17px}.search-input-wrap input::placeholder{color:color-mix(in srgb, var(--text-muted) 82%, transparent);opacity:1}.searchable-select-search{border:1px solid var(--border);background:linear-gradient(180deg, #ffffff0a, #ffffff05), var(--bg-surface);width:100%;color:var(--text-main);font:inherit;border-radius:14px;padding:12px 14px;transition:border-color .16s,box-shadow .16s,background-color .16s;box-shadow:inset 0 1px #ffffff0a,0 10px 24px #0000001f}.searchable-select-search::placeholder{color:color-mix(in srgb, var(--text-muted) 82%, transparent)}.searchable-select-search:hover{border-color:#68a8ff3d}.theme-light .searchable-select-search{background:linear-gradient(180deg, #ffffffd1, #ffffffb3), var(--bg-surface);box-shadow:inset 0 1px #ffffffe6,0 10px 24px #3d55831a}.crm-shell :is(input,textarea):not(:where([type=checkbox],[type=radio],[type=range],[type=file],[type=color],[type=button],[type=submit],[type=reset],[type=image])):focus{border-color:var(--border);box-shadow:none;outline:none}.search-input-wrap input,.filters-bar .search-field .search-input-wrap input{padding-left:42px;padding-right:54px}.search-clear-button{width:20px;height:20px;color:var(--text-muted);box-shadow:none;cursor:pointer;background:0 0;border:0;padding:0;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.search-clear-button,.search-clear-button:hover,.search-clear-button:active,.search-clear-button:focus,.search-clear-button:focus-visible{box-shadow:none;background:0 0;transform:translateY(-50%)!important}.search-clear-button:hover{color:var(--text-main)}.crm-form,.day-picker,.salary-adjustment-fields{gap:14px;display:grid}.salary-adjustment-fields.has-type{grid-template-columns:repeat(2,minmax(0,1fr))}.salary-adjustment-fields>label,.salary-adjustment-fields>.searchable-select{min-width:0}.crm-form label,.crm-form .searchable-select,.date-range label,.filters-bar label,.filters-bar .searchable-select{color:var(--text-muted);gap:8px;display:grid}.crm-form input,.crm-form select,.crm-form textarea,.crm-form .searchable-select-trigger,.crm-form .searchable-select-search,.date-range input,.filters-bar input,.filters-bar select,.filters-bar .searchable-select-trigger,.filters-bar .searchable-select-search{border:1px solid var(--border);background:var(--bg-surface);width:100%;color:var(--text-main);border-radius:16px;padding:13px 14px}.filters-bar .searchable-select .searchable-select-option,.filters-bar .searchable-select .searchable-select-trigger,.filters-bar .searchable-select .search-clear-button,.crm-form .searchable-select .searchable-select-option,.crm-form .searchable-select .searchable-select-trigger,.crm-form .searchable-select .search-clear-button{justify-content:space-between}.filters-bar .searchable-select .searchable-select-trigger,.crm-form .searchable-select .searchable-select-trigger{min-height:47px;font-size:inherit;border-radius:16px;padding:13px 14px}.filters-bar .searchable-select .searchable-select-option,.crm-form .searchable-select .searchable-select-option{min-height:auto;font-size:inherit;white-space:normal;border-radius:12px;padding:10px 12px}.filters-bar .searchable-select .search-clear-button,.crm-form .searchable-select .search-clear-button{border-radius:0;width:20px;height:20px;min-height:20px;padding:0}.date-range-picker{--date-range-accent:var(--accent);--date-range-accent-soft:color-mix(in srgb, var(--accent) 56%, var(--accent-soft));--date-range-accent-contrast:#fff;width:max-content;min-width:0;color:var(--text-muted);z-index:1;gap:8px;display:inline-grid;position:relative}.date-range-picker>span{font-size:.92rem;font-weight:700}.date-range-picker:has(.date-range-popover){z-index:130}.filters-bar .date-range-picker{flex:none}.date-range-trigger{border:1px solid var(--border);background:linear-gradient(180deg, #ffffff0b, #ffffff05), var(--bg-surface);width:max-content;max-width:min(100%,280px);min-height:47px;color:var(--text-main);text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:16px;padding:13px 14px;transition:border-color .16s,background-color .16s,box-shadow .16s;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,0 10px 24px #0000001f}.date-range-trigger:hover,.date-range-trigger[aria-expanded=true]{border-color:color-mix(in srgb, var(--date-range-accent) 46%, var(--border));background:color-mix(in srgb, var(--date-range-accent) 13%, var(--bg-surface));box-shadow:inset 0 1px #ffffff12,0 12px 28px #0000002e}.date-range-trigger:focus-visible{border-color:#7eb1ffb3;outline:none;box-shadow:inset 0 1px #ffffff12,0 0 0 4px #7eb1ff29,0 12px 28px #0000002e}.date-range-popover{z-index:140;position:absolute;top:calc(100% + 10px);right:0}.date-range-popover.open-up{top:auto;bottom:calc(100% + 10px)}.date-range-calendar{background:linear-gradient(180deg, #ffffff0b, transparent 34%), var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:20px;width:320px;max-width:calc(100vw - 28px);box-shadow:0 24px 60px #00000061,inset 0 1px #ffffff0d}.theme-light .date-range-calendar{background:linear-gradient(180deg, #ffffffe0, #ffffffbd), var(--bg-card)}.attendance-picker.date-range-calendar{background:linear-gradient(180deg, #ffffff0b, transparent 34%), var(--bg-card);border:0;gap:9px;padding:10px}.theme-light .attendance-picker.date-range-calendar{background:linear-gradient(180deg, #ffffffe6, #ffffffbd), var(--bg-card)}.date-range-calendar .attendance-picker-head{grid-template-columns:38px minmax(0,1fr) 38px;gap:10px}.date-range-calendar .attendance-picker-head strong{color:var(--text-muted);text-align:center;font-size:.98rem}.date-range-calendar .attendance-picker-head .icon-button{background:linear-gradient(180deg, #ffffff0f, #ffffff06), var(--bg-soft);border-color:var(--border);width:38px;min-width:38px;height:38px;color:var(--text-main);border-radius:16px}.theme-light .date-range-calendar .attendance-picker-head .icon-button{background:var(--bg-soft);border-color:var(--border)}.date-range-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.date-range-presets button{border:1px solid color-mix(in srgb, var(--date-range-accent) 22%, var(--border));background:color-mix(in srgb, var(--date-range-accent) 8%, var(--bg-soft));min-width:0;min-height:26px;color:color-mix(in srgb, var(--text-main) 76%, var(--text-muted));font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;padding:4px 5px;font-size:.61rem;font-weight:650;line-height:1}.date-range-presets button:hover,.date-range-presets button.active{border-color:color-mix(in srgb, var(--date-range-accent) 58%, var(--border));background:color-mix(in srgb, var(--date-range-accent) 20%, var(--bg-soft));color:var(--date-range-accent-contrast)}.theme-light .date-range-presets button{border-color:color-mix(in srgb, var(--date-range-accent) 28%, var(--border));background:color-mix(in srgb, var(--date-range-accent) 8%, #fff);color:rgb(var(--palette-neutral-600-rgb,68, 81, 109))}.theme-light .date-range-presets button:hover,.theme-light .date-range-presets button.active{background:color-mix(in srgb, var(--date-range-accent) 18%, #fff);color:var(--button-active-text)}.date-range-calendar .attendance-weekdays,.date-range-calendar .attendance-calendar{gap:5px}.date-range-calendar .attendance-weekdays span{color:var(--text-muted);font-size:.72rem}.date-range-calendar .attendance-day{background:var(--bg-surface);border-color:var(--border);border-radius:8px;font-size:.82rem;transition:border-color .15s,background-color .15s,transform .15s}.date-range-calendar .attendance-day:not(:disabled):not(.selected):not([aria-pressed=true]):not(.today):not(.in-range):not(.range-start):not(.range-end):hover{background:var(--bg-surface);color:#fff;border-color:#ffffffe6;transform:translateY(-1px)}.date-range-calendar .attendance-day:not(:disabled):not(.selected):not([aria-pressed=true]):not(.today):not(.in-range):not(.range-start):not(.range-end):hover span{color:#fff}.theme-light .date-range-calendar .attendance-day{background:var(--bg-surface);border-color:var(--border)}.theme-light .date-range-calendar .attendance-day.muted{opacity:1;color:rgb(var(--palette-neutral-500-rgb,122, 135, 157));background:rgba(var(--palette-neutral-50-rgb,248, 251, 255), .92);border-color:rgba(var(--palette-neutral-600-rgb,65, 82, 118), .11)}.theme-light .date-range-calendar .attendance-day.muted span{color:rgb(var(--palette-neutral-500-rgb,122, 135, 157))}.date-range-day.in-range{border-color:color-mix(in srgb, var(--date-range-accent) 42%, var(--border));background:color-mix(in srgb, var(--date-range-accent) 16%, var(--bg-surface));color:color-mix(in srgb, var(--date-range-accent) 72%, #fff)}.date-range-day.range-start,.date-range-day.range-end{border-color:color-mix(in srgb, var(--date-range-accent) 76%, #fff);background:linear-gradient(135deg, var(--date-range-accent-soft), var(--date-range-accent));color:var(--date-range-accent-contrast);box-shadow:0 8px 18px color-mix(in srgb, var(--date-range-accent) 26%, transparent);font-weight:900}.date-range-day.range-start.today,.date-range-day.range-end.today{border-color:#ffffffe0}.theme-light .date-range-day.in-range{background:color-mix(in srgb, var(--date-range-accent) 14%, #fff);color:#5b21b6}.theme-light .date-range-day.range-start,.theme-light .date-range-day.range-end{color:#fff}.crm-shell.theme-dark .date-range-calendar button.date-range-day.range-start,.crm-shell.theme-dark .date-range-calendar button.date-range-day.range-end{border-color:#ffffffd1;box-shadow:inset 0 0 0 1px #ffffff24,0 8px 18px #0000003d;background:#ffffff29!important}.crm-shell.theme-dark .date-range-calendar:not(.teacher-week-calendar):not(.schedule-week-calendar) .date-range-presets button{color:#fff;background:0 0;border-color:#ffffff94}.crm-shell.theme-dark .attendance-picker.date-range-calendar:not(.teacher-week-calendar):not(.schedule-week-calendar){background:linear-gradient(180deg, #ffffff09, transparent 34%), rgb(var(--palette-neutral-800-rgb,36, 39, 46))}.crm-shell.theme-dark .date-range-calendar:not(.teacher-week-calendar):not(.schedule-week-calendar) .date-range-presets button:hover,.crm-shell.theme-dark .date-range-calendar:not(.teacher-week-calendar):not(.schedule-week-calendar) .date-range-presets button.active{color:#fff;background:0 0;border-color:#ffffffdb}.crm-shell.theme-dark .date-range-calendar:not(.teacher-week-calendar):not(.schedule-week-calendar) .attendance-day{color:#fff;background:#ffffff09;border-color:#ffffff0f}.crm-shell.theme-dark .date-range-calendar:not(.teacher-week-calendar):not(.schedule-week-calendar) .attendance-day span{color:#fff}.crm-shell.theme-dark .date-range-calendar:not(.teacher-week-calendar):not(.schedule-week-calendar) .attendance-day:not(:disabled):not(.selected):not([aria-pressed=true]):not(.today):not(.in-range):not(.range-start):not(.range-end):hover,.crm-shell.theme-dark .date-range-calendar:not(.teacher-week-calendar):not(.schedule-week-calendar) .date-range-day.in-range{color:#fff;box-shadow:none;border-color:#ffffffe0;background:#ffffff09!important}.crm-shell.theme-dark .date-range-calendar:not(.teacher-week-calendar):not(.schedule-week-calendar) .date-range-day.range-start,.crm-shell.theme-dark .date-range-calendar:not(.teacher-week-calendar):not(.schedule-week-calendar) .date-range-day.range-end{color:#fff;box-shadow:none;border-color:#ffffffe0;background:#ffffff29!important}.crm-shell.theme-dark .date-range-calendar:not(.teacher-week-calendar):not(.schedule-week-calendar) .attendance-day.muted{opacity:.42}.date-range-hint{color:var(--text-muted);text-align:center;margin:2px 0 0;font-size:.78rem}.panel-nested{background:var(--bg-soft);border:1px solid var(--border);border-radius:20px;padding:16px}.settings-staff-grid{align-items:start}.staff-directory{align-content:start}.staff-directory-list{gap:12px;display:grid}.staff-directory-card{border:1px solid var(--border);background:var(--bg-surface);border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.staff-directory-card p{color:var(--text-muted);margin-top:4px}.staff-directory-meta{justify-items:end;gap:10px;display:grid}.staff-directory-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.staff-directory-category-row{justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.staff-edit-button{border-radius:12px;place-items:center;width:34px;min-width:34px;height:34px;padding:0;display:inline-grid}.staff-edit-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.staff-directory-password{color:var(--text-muted);text-align:right;font-size:.88rem}.student-portal-contact-directory>.section-heading{align-items:center}.student-portal-contact-heading-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-portal-contact-details{justify-items:start;gap:6px;min-width:0;display:grid}.student-portal-contact-details .status-pill{white-space:normal;overflow-wrap:anywhere;max-width:100%}.student-portal-contact-details strong,.student-portal-contact-details p{overflow-wrap:anywhere}.student-portal-contact-details p{color:var(--text-muted);margin:0}.student-portal-contact-empty{color:var(--text-muted);margin:0;padding:8px 2px}.student-form-layout{grid-template-columns:minmax(280px,320px) minmax(320px,360px);justify-self:start;align-items:start;gap:20px;width:fit-content;max-width:100%;display:grid}.student-form-column{gap:14px;min-width:0;display:grid}.student-form-heading{justify-content:space-between;align-items:flex-start;width:100%}.student-editor-heading{margin:0}.portal-topbar .portal-home-link{width:auto;height:auto;margin:0;overflow:visible}.student-editor-current-card{border:1px solid var(--border);background:var(--bg-card);width:100%;box-shadow:var(--shadow);border-radius:22px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.student-editor-back-button{appearance:none;color:#ffffff94;width:38px;min-width:38px;height:38px;min-height:38px;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;transition:color .16s,transform .16s;display:inline-flex}.student-editor-back-button span{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;font-size:1.65rem;line-height:1}.student-editor-back-button:hover,.student-editor-back-button:focus-visible,.student-editor-back-button:active{outline:none;transform:translate(-2px);color:#fff!important;box-shadow:none!important;background:0 0!important;border-color:#0000!important}.theme-light .student-editor-back-button{color:rgba(var(--palette-neutral-800-rgb,31, 41, 55), .54)}.theme-light .student-editor-back-button:hover,.theme-light .student-editor-back-button:focus-visible,.theme-light .student-editor-back-button:active{color:#fff!important}.student-editor-current-name{min-width:0}.student-editor-current-name span,.student-editor-telegram-status strong{color:var(--text-muted);letter-spacing:0;font-size:.76rem;font-weight:800;display:block}.student-editor-current-name h3{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:1.15rem;line-height:1.2;overflow:hidden}.student-editor-telegram-status{justify-items:end;gap:6px;min-width:132px;display:grid}.telegram-bot-status-chip{border:1px solid rgba(var(--palette-neutral-400-rgb,154, 163, 179), .26);background:rgba(var(--palette-neutral-400-rgb,154, 163, 179), .12);min-height:26px;color:var(--text-muted);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:5px 10px;font-size:.78rem;font-weight:800;line-height:1.2;display:inline-flex}.telegram-bot-status-chip:before{content:"";color:currentColor;transform-origin:50%;background:currentColor;border-radius:999px;flex:0 0 7px;width:7px;height:7px;animation:1.15s ease-in-out infinite telegram-status-dot-pulse;display:block}.telegram-bot-status-active{color:#86efac;background:#22c55e24;border-color:#22c55e57}.telegram-bot-status-blocked{color:#ff9f9f;background:#ff6b6b24;border-color:#ff6b6b57}.telegram-directory-panel{gap:18px;display:grid}.telegram-directory-summary{color:var(--text-muted);flex-wrap:wrap;gap:10px 24px;font-size:.88rem;display:flex}.telegram-directory-summary strong{color:var(--text-main)}.telegram-directory-filters{grid-template-columns:minmax(210px,2fr) repeat(3,minmax(130px,1fr)) auto;align-items:end;gap:12px;display:grid}.telegram-directory-filters label{min-width:0;color:var(--text-muted);gap:7px;font-size:.82rem;font-weight:700;display:grid}.telegram-directory-filters input,.telegram-directory-filters .searchable-select-trigger{border:1px solid var(--border);background:var(--bg-soft);width:100%;min-height:42px;color:var(--text-main);font:inherit;border-radius:12px;padding:9px 12px}.telegram-directory-filters .telegram-directory-search-filter{min-width:0;max-width:none;margin:0;display:block;position:relative}.telegram-directory-filters .telegram-directory-search-filter input{background:var(--bg-surface);border-radius:12px;height:42px;padding:9px 38px 9px 40px;font-size:.86rem}.telegram-directory-search-filter .search-field-icon{left:12px}.telegram-directory-search-filter .search-clear-button{right:9px}.telegram-directory-refresh{white-space:nowrap;min-height:42px}.telegram-directory-count{color:var(--text-muted);margin:0;font-size:.85rem}.telegram-directory-scroll{width:100%;overflow-x:auto}.telegram-directory-table{border-collapse:collapse;text-align:left;width:100%}.telegram-directory-table th,.telegram-directory-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:14px 12px}.telegram-directory-table th{color:var(--text-muted);font-size:.78rem;font-weight:800}.telegram-directory-sort-button{color:inherit;font:inherit;font-weight:inherit;text-align:left;cursor:pointer;border:0;align-items:center;gap:6px;padding:0;display:inline-flex;background:0 0!important}.telegram-directory-sort-button:hover,.telegram-directory-sort-button:focus-visible,.telegram-directory-table th[aria-sort]:not([aria-sort=none]) .telegram-directory-sort-button{color:var(--text-main)}.telegram-directory-sort-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.telegram-directory-sort-icon{width:14px;height:14px;color:var(--text-muted);flex:0 0 14px}.telegram-directory-sort-icon path{opacity:.5}.telegram-directory-sort-icon path.active{stroke:var(--accent);opacity:1}.telegram-directory-table td{color:var(--text-main);font-size:.9rem}.telegram-directory-table td:nth-child(3) a{width:fit-content;color:inherit;text-decoration:none;display:block}.telegram-directory-table td:nth-child(3) a+a{margin-top:5px}.telegram-directory-table td:nth-child(3) a:hover{text-decoration:underline}.telegram-directory-status{white-space:nowrap;align-items:center;gap:10px;width:100%;display:flex}.telegram-directory-copy{width:34px;height:34px;color:var(--text-muted);cursor:pointer;box-shadow:none;-webkit-tap-highlight-color:transparent;outline:none;flex:0 0 34px;place-items:center;margin-left:auto;padding:7px;display:grid;background:0 0!important;border:0!important}.telegram-directory-copy:disabled{opacity:.45;cursor:not-allowed}.crm-shell .telegram-directory-copy:not(:disabled):is(:hover,:focus-visible){color:#4ade80!important;background:0 0!important}.crm-shell.theme-light .telegram-directory-copy:not(:disabled):is(:hover,:focus-visible){color:#15803d!important}.telegram-directory-copy svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.telegram-directory-muted{color:var(--text-muted)}@media (width<=900px){.telegram-directory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.telegram-directory-search-filter{grid-column:1/-1}.telegram-directory-refresh{width:100%;min-width:0}}@media (width<=767px){.telegram-directory-filters{gap:8px}.telegram-directory-summary,.telegram-directory-count,.telegram-directory-filters label{font-size:.66rem}.telegram-directory-filters input,.telegram-directory-filters .searchable-select-trigger,.telegram-directory-filters .searchable-select-option,.telegram-directory-refresh{font-size:.7rem}.telegram-directory-table{min-width:350px}.telegram-directory-table .telegram-directory-kind-column{display:none}.telegram-directory-table th,.telegram-directory-table td{padding:8px 4px}.telegram-directory-table th{font-size:.56rem}.telegram-directory-table td{font-size:.6rem}.telegram-directory-table .telegram-bot-status-chip{gap:4px;padding:3px 5px;font-size:.56rem}.telegram-directory-sort-icon{flex-basis:12px;width:12px;height:12px}.telegram-directory-status{gap:4px}.telegram-directory-copy{flex-basis:28px;width:28px;height:28px;padding:5px}}@media (width>=1200px){.student-portal-details{grid-template-columns:repeat(3,minmax(0,1fr))}}.theme-light .telegram-bot-status-active{color:#15803d;background:#dcfce7eb;border-color:#16a34a3d}.theme-light .telegram-bot-status-blocked{color:#b91c1c;background:#fee2e2eb;border-color:#dc26263d}@keyframes telegram-status-dot-pulse{0%,to{opacity:.42;transform:scale(.82)}50%{opacity:1;transform:scale(1.28)}}.student-form{width:100%}.student-editor-page{width:100%;max-width:none;margin-inline:0}.student-form-panel-page{background:0 0;border:0;border-radius:0;gap:18px;padding:0;display:grid}.student-form-categories{gap:16px;display:grid}.student-editor-layout{grid-template-columns:210px minmax(0,760px);justify-content:start;align-items:start;gap:16px;width:100%;display:grid}.student-editor-detail-area{border-radius:24px;align-content:start;gap:16px;width:min(760px,100%);margin:0;padding:20px;display:grid}.student-editor-category-panel{width:100%;margin:0}.student-form-category{gap:14px;min-width:0;display:grid}.student-form-panel-page .student-form-categories{grid-template-columns:minmax(0,1fr);align-items:start}.student-form-category-wide,.student-form-category-schedule,.student-form-category-notes{grid-column:1/-1}.student-form-category-heading,.student-form-subcategory-heading{gap:3px;display:grid}.student-form-category-heading h4,.student-form-subcategory-heading h5{color:var(--text-main);margin:0;font-size:1rem;line-height:1.2}.student-form-subcategory-heading h5{font-size:.92rem}.student-form-panel-page .student-form-category{background:0 0;border:0;border-radius:0;padding:0}.student-form-category-payment{gap:16px;width:100%;min-width:0;container-type:inline-size}.student-editor-payment-summary{border:1px solid var(--border);background:var(--bg-soft);border-radius:18px;grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:center;gap:14px;padding:16px;display:grid}.student-editor-payment-summary span{min-width:0;color:var(--text-muted);font-size:.86rem;font-weight:700}.student-editor-payment-summary strong{text-align:right;overflow-wrap:anywhere;min-width:0;font-size:1.22rem}.student-editor-payment-actions{grid-template-columns:repeat(2,minmax(min(150px,100%),1fr));align-items:end;gap:12px;display:grid}.student-editor-payment-actions button{white-space:normal;justify-content:center;width:100%;min-width:0;min-height:47px}.student-editor-payment-actions .ghost-button.danger-button,.student-editor-payment-actions .ghost-button.danger-button:hover,.student-editor-payment-actions .ghost-button.danger-button:focus-visible,.student-editor-payment-actions .ghost-button.danger-button:active{color:#fff;background:var(--bg-surface);border-color:#0000;align-items:center;gap:8px;display:inline-flex}.student-editor-payment-actions .ghost-button.danger-button:hover:not(:disabled),.student-editor-payment-actions .ghost-button.danger-button:focus-visible:not(:disabled){background:var(--button-hover-bg);border-color:#0000}.student-editor-payment-actions .ghost-button.danger-button svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.student-editor-transactions{gap:12px;display:grid}.student-editor-transaction-filter{grid-template-columns:minmax(0,1fr);min-width:0;padding:0;display:grid}.student-editor-transaction-filter .teacher-salary-month-picker{grid-template-columns:40px minmax(140px,max-content) 40px minmax(0,1fr);justify-self:stretch;width:100%}.student-editor-transaction-filter .calendar-month-picker__current{justify-self:end}.student-editor-transaction-filter .teacher-salary-month-date-button{min-width:0}.student-editor-transaction-filter .teacher-salary-month-popover{left:0}.student-editor-transaction-list{overscroll-behavior:contain;gap:10px;max-height:min(420px,58vh);padding-right:4px;display:grid;overflow-y:auto}.student-editor-transaction-card{background:var(--bg-soft);min-width:0;box-shadow:none;border-radius:17px;padding:14px 16px}.student-editor-transaction-card .journal-card-main,.student-editor-transaction-card .journal-card-copy{min-width:0}.student-editor-transaction-card .journal-card-main{gap:12px}.student-editor-transaction-card .journal-card-avatar{border-radius:14px;width:42px;height:42px}.student-editor-transaction-card .journal-card-avatar-core{border-radius:10px;width:29px;height:29px}.student-editor-transaction-card .journal-card-avatar-core svg{stroke-width:2.35px;width:14px;height:14px}.student-editor-transaction-card .journal-card-title{font-size:1rem;line-height:1.12}.student-editor-transaction-card .journal-card-subtitle{margin-top:4px;font-size:.82rem;line-height:1.2}.student-editor-transaction-card .journal-meta{flex:none;justify-content:flex-end;min-width:84px}.student-editor-transaction-card .journal-amount{font-size:.95rem;line-height:1.15}.student-editor-transaction-card:focus-visible{outline:2px solid color-mix(in srgb, var(--journal-accent) 62%, #fff);outline-offset:3px}@container (width<=560px){.student-editor-payment-actions{gap:10px}.student-editor-transaction-filter{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px}.student-editor-transaction-filter .teacher-salary-month-picker{grid-template-columns:36px minmax(140px,max-content) 36px minmax(0,1fr);justify-self:stretch;gap:6px}.student-editor-transaction-filter .teacher-salary-month-date-button,.student-editor-transaction-filter .teacher-salary-month-range-button,.student-editor-transaction-filter .teacher-salary-month-nav-button{border-radius:11px;min-height:34px;padding:6px 8px;font-size:.76rem}.student-editor-transaction-filter .teacher-salary-month-popover{max-width:min(100%,100vw - 28px)}.student-editor-transaction-filter .teacher-salary-month-calendar{width:100%}.student-editor-transaction-filter .teacher-salary-month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.student-editor-transaction-filter .teacher-salary-month-grid button{border-radius:10px;min-width:0;min-height:36px;padding:7px 8px;font-size:.76rem}.student-editor-transaction-card{gap:12px;padding:12px}.student-editor-transaction-card .journal-card-main{gap:10px}.student-editor-transaction-card .journal-card-avatar{border-radius:13px;width:38px;height:38px}.student-editor-transaction-card .journal-card-avatar-core{border-radius:9px;width:27px;height:27px}.student-editor-transaction-card .journal-card-avatar-core svg{stroke-width:2.4px;width:13px;height:13px}}@container (width<=430px){.student-editor-payment-summary{grid-template-columns:minmax(0,1fr);gap:6px;padding:14px}.student-editor-payment-summary strong{text-align:left;font-size:1.08rem}.student-editor-payment-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.student-editor-transaction-filter .teacher-salary-month-picker{grid-template-columns:34px minmax(0,1fr) 34px;gap:6px}.student-editor-transaction-filter .teacher-salary-month-nav-button:first-child{grid-area:1/1}.student-editor-transaction-filter .teacher-salary-month-date-button{grid-area:1/2}.student-editor-transaction-filter .calendar-month-picker__nav--next{grid-area:1/3}.student-editor-transaction-filter .teacher-salary-month-range-button{grid-area:2/1/auto/-1;justify-content:center;justify-self:stretch;width:100%}.student-editor-transaction-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.student-editor-transaction-card .journal-card-main{width:100%}.student-editor-transaction-card .journal-meta{text-align:right;justify-content:flex-end;justify-items:end;width:auto;min-width:0}.student-editor-transaction-card .journal-amount{white-space:nowrap}}@container (width<=320px){.student-editor-transaction-filter .teacher-salary-month-picker{grid-template-columns:32px minmax(0,1fr) 32px}.student-editor-transaction-filter .teacher-salary-month-date-button,.student-editor-transaction-filter .teacher-salary-month-range-button,.student-editor-transaction-filter .teacher-salary-month-nav-button{min-height:32px;padding:5px 7px;font-size:.72rem}.student-editor-transaction-filter .teacher-salary-month-grid button{min-height:32px;padding:6px;font-size:.7rem}.student-editor-transaction-card{padding:12px}.student-editor-transaction-card .journal-card-main{gap:10px}.student-editor-transaction-card .journal-card-avatar{border-radius:11px;width:34px;height:34px}.student-editor-transaction-card .journal-card-avatar-core{border-radius:8px;width:24px;height:24px}.student-editor-transaction-card .journal-card-avatar-core svg{width:12px;height:12px}}.student-form-panel-page .student-form-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);width:100%}.student-wizard-schedule-layout.student-editor-schedule-layout{grid-template-columns:minmax(0,320px) minmax(0,1fr);width:100%}@media (width<=900px){.student-form-panel-page .student-form-categories,.student-form-panel-page .student-form-layout{grid-template-columns:minmax(0,1fr)}.student-form-panel-page{border-radius:0;padding:0}}@media (width>=521px) and (width<=1199px){.student-editor-detail-area .student-assignment-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.student-wizard-schedule-layout.student-editor-schedule-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.student-editor-page{gap:12px}.student-editor-detail-area{border-radius:22px;width:100%;padding:20px}.student-editor-category-panel{position:static}}@media (width<=520px){.student-editor-detail-area{border-radius:20px;padding:18px}.student-editor-detail-area .student-assignment-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-editor-detail-area .student-assignment-teacher,.student-editor-detail-area .student-assignment-row>label,.student-editor-detail-area .student-assignment-row>.searchable-select{width:100%;min-width:0}.student-editor-detail-area .student-assignment-teacher,.student-editor-detail-area .student-assignment-row>label:not(.student-assignment-format):not(.student-assignment-level){grid-column:1/-1}.student-editor-detail-area .student-assignment-format,.student-editor-detail-area .student-assignment-level{width:auto}.student-editor-detail-area .student-assignment-format{grid-column:1/2}.student-editor-detail-area .student-assignment-level{grid-column:2/3}.student-editor-detail-area .student-form-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.student-editor-detail-area .student-form-inline-fields,.student-editor-detail-area .student-tariff-picker-row{grid-template-columns:minmax(0,1fr)}.student-editor-detail-area .student-form-category-tariffs .student-tariff-picker-row,.student-editor-detail-area .student-form-category-tariffs .student-form-inline-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.student-editor-detail-area .student-phone-group{grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:10px;display:grid}.student-editor-detail-area .student-phone-item{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:10px;display:grid}.student-editor-detail-area .student-phone-input{width:100%!important}.student-editor-detail-area .student-phone-add{grid-area:1/2/auto/3;justify-self:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}}.student-form select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.theme-light .student-form select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.student-form select option,.student-form select optgroup{background-color:var(--bg-main);color:var(--text-main)}.student-form .form-columns{width:100%}.student-form .form-columns>label,.student-form .form-columns>fieldset{flex:1 1 0;min-width:0}.student-status-switch{border:1px solid var(--border);background:var(--bg-surface);width:100%;color:var(--text-main);cursor:pointer;border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:inline-flex}.student-status-switch:focus,.student-status-switch:focus-visible{background:var(--bg-surface);border-color:var(--border);box-shadow:none;outline:none;transform:none}.student-status-switch-label{color:var(--text-muted);font-size:.92rem;font-weight:500}.student-status-switch-label.active{color:var(--text-main)}.student-status-switch-track{background:linear-gradient(135deg,#2ee35d,#22c95b);border:1px solid #41e15f6b;border-radius:999px;flex:none;width:46px;height:26px;padding:3px;box-shadow:inset 0 0 0 1px #ffffff14}.theme-light .student-status-switch-track{background:linear-gradient(135deg,#2ee35d,#22c95b);border-color:#41e15f6b}.student-status-switch-thumb{background:#fff;border-radius:999px;width:18px;height:18px;transition:transform .18s;display:block;transform:translate(20px);box-shadow:0 2px 7px #00000047}.student-status-switch.paused .student-status-switch-track{background:rgb(var(--palette-neutral-700-rgb,54, 55, 65));border-color:#ffffff14}.student-status-switch.paused .student-status-switch-thumb{transform:translate(0)}.theme-light .student-status-switch.paused .student-status-switch-track{border-color:rgba(var(--palette-neutral-800-rgb,34, 40, 54), .12);background:rgb(var(--palette-neutral-200-rgb,217, 220, 228))}.student-assignment-row{grid-template-columns:minmax(210px,1.45fr) minmax(150px,1fr) minmax(120px,.9fr) minmax(72px,.45fr);align-items:start;gap:16px;display:grid}.student-assignment-row>label{min-width:0}.student-phone-field{flex:none}.student-phone-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.student-phone-item{align-items:center;gap:6px;max-width:100%;display:inline-flex}.student-phone-input{max-width:100%;width:210px!important}.student-phone-remove{color:#ff6b6b;width:30px;min-width:68px;height:30px;min-height:30px;box-shadow:none;background:0 0;border:0;flex:none;padding:0;transition:color .16s,transform .16s}.student-phone-remove svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.student-phone-remove:hover,.student-phone-remove:focus-visible{color:#ff4d4d;transform:translateY(-1px);box-shadow:none!important;background:0 0!important;border-color:#0000!important}.student-phone-add{box-shadow:none;background:0 0;border:0;flex:none;transition:color .16s,transform .16s}.student-phone-add span{font-size:1.35rem;line-height:1}.student-phone-add:hover,.student-phone-add:focus-visible{transform:translateY(-1px);box-shadow:none!important;background:0 0!important;border-color:#0000!important}.student-form-inline-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.student-tariff-picker-row{grid-template-columns:minmax(0,1fr) auto;align-items:end}.student-teacher-tariffs{gap:10px;display:grid}.student-teacher-tariffs .student-form-subcategory-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.student-teacher-tariffs .tariff-add-button{justify-self:end;align-items:center;gap:6px;width:auto;display:inline-flex}.student-teacher-tariffs .tariff-add-button-icon{font-size:1.18em;font-weight:800;line-height:1}.student-teacher-tariff-note{color:var(--text-muted);grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;font-size:.82rem;font-weight:550;line-height:1.4;display:grid}.student-teacher-tariff-note svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.student-teacher-tariff-list{gap:8px;display:grid}.student-teacher-tariff-row{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-soft) 72%, transparent);border-radius:12px;grid-template-columns:minmax(0,1fr) 86px auto;align-items:end;gap:8px;padding:10px;display:grid}.student-teacher-tariff-row label{min-width:0;color:var(--text-muted);gap:6px;font-size:.82rem;display:grid}.student-teacher-tariff-row input{width:100%}.student-teacher-tariff-remove{width:40px;min-width:40px;height:40px;min-height:40px;box-shadow:none;color:var(--danger);background:0 0;border-color:#0000;padding:0}.student-teacher-tariff-remove:hover,.student-teacher-tariff-remove:focus-visible{box-shadow:none;color:var(--danger);border-color:#0000;background:0 0!important}@media (width<=640px){.student-teacher-tariff-row{grid-template-columns:minmax(0,1fr) minmax(64px,76px) 36px;gap:6px;padding:8px}.student-teacher-tariff-remove{width:36px;min-width:36px}.student-teacher-tariff-row .searchable-select-option>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}.student-discount-switch{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-surface) 72%, transparent);min-width:142px;min-height:42px;color:var(--text-main);cursor:pointer;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.student-discount-switch>span:first-child{color:inherit;font-size:.82rem;font-weight:700;line-height:1.2}.student-discount-switch input{pointer-events:none;opacity:0;width:1px;height:1px;min-height:1px;margin:0;padding:0;position:absolute}.student-discount-switch.off .student-settings-switch,.student-discount-switch.disabled .student-settings-switch{background:rgb(var(--palette-neutral-700-rgb,54, 55, 65));border-color:#ffffff14;justify-content:flex-start}.student-discount-switch.disabled{color:var(--text-muted);cursor:not-allowed}.student-referral-friends-row{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-surface) 72%, transparent);min-height:42px;color:var(--text-main);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.student-referral-friends-label{color:var(--text-muted);font-size:.82rem;font-weight:700;line-height:1.2}.student-referral-friends-control{flex:none;align-items:center;gap:8px;display:inline-flex}.student-referral-friends-button{border:1px solid var(--border);background:var(--bg-surface);width:28px;height:28px;min-height:28px;color:var(--text-main);cursor:pointer;border-radius:999px;place-items:center;padding:0;font-size:1rem;line-height:1;display:grid}.student-referral-friends-button:not(:disabled):hover,.student-referral-friends-button:not(:disabled):focus-visible{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--bg-surface));color:var(--accent)}.student-referral-friends-button:disabled{cursor:not-allowed;opacity:.45}.student-referral-friends-count{min-width:20px;color:var(--text-main);text-align:center;font-size:.92rem;font-weight:800;line-height:1}.theme-light .student-discount-switch.off .student-settings-switch,.theme-light .student-discount-switch.disabled .student-settings-switch{border-color:rgba(var(--palette-neutral-800-rgb,34, 40, 54), .12);background:rgb(var(--palette-neutral-200-rgb,217, 220, 228))}@media (width<=640px){.modal-card-student .student-discount-switch{border-radius:8px;gap:5px;min-width:86px;min-height:24px;padding:4px 6px}.modal-card-student .student-discount-switch>span:first-child{font-size:.58rem}.modal-card-student .student-discount-switch .student-settings-switch{width:32px;height:18px;min-height:18px;padding:3px}.modal-card-student .student-discount-switch .student-settings-switch:after{width:12px;height:12px}.modal-card-student .student-referral-friends-row{border-radius:8px;gap:5px;min-height:24px;padding:4px 6px}.modal-card-student .student-referral-friends-label{font-size:.58rem}.modal-card-student .student-referral-friends-control{gap:4px}.modal-card-student .student-referral-friends-button{width:18px;height:18px;min-height:18px;font-size:.72rem}.modal-card-student .student-referral-friends-count{min-width:14px;font-size:.62rem}}.student-form-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.student-form-actions button{width:100%}.chip-grid{flex-wrap:wrap;gap:10px;display:flex}.chip{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-main);cursor:pointer;border-radius:999px;padding:10px 14px}.readonly-chip{cursor:default}.student-day-chip.active,.student-day-chip:hover,.theme-light .student-day-chip.active,.theme-light .student-day-chip:hover{background:var(--button-active-bg);border-color:var(--button-active-border);color:var(--button-active-text)}.student-cards{grid-template-columns:1fr}.student-list-card{z-index:1;background:color-mix(in srgb, var(--bg-card) var(--glass-card-background-alpha,100%), transparent);gap:12px;padding:16px 18px;transition:transform .16s,background-color .16s,border-color .16s,box-shadow .16s;position:relative;overflow:visible}.student-list-card:hover{background:color-mix(in srgb, var(--bg-card) var(--glass-card-background-alpha,100%), transparent);border-color:#68a8ff3d;transform:translateY(-2px)}.theme-light .student-list-card:hover{background:color-mix(in srgb, var(--bg-card) var(--glass-card-background-alpha,100%), transparent);border-color:#507dff2e}.student-card.menu-open{z-index:1200}.student-search-panel{z-index:46;align-self:start;position:sticky;top:0}.student-table-header{border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:var(--text-muted);text-align:center;z-index:34;background:var(--bg-card);border-radius:24px;grid-template-columns:minmax(210px,1.15fr) repeat(4,minmax(110px,.78fr)) minmax(220px,1.3fr) minmax(180px,1fr);align-items:center;gap:12px;padding:12px 18px;font-size:.82rem;font-weight:700;display:grid;position:sticky;top:118px}.student-table-header>:first-child{text-align:left}.student-table-header>span{min-width:0}.student-table-sort-button{appearance:none;min-width:0;color:inherit;font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;justify-content:center;justify-self:center;align-items:center;gap:6px;padding:0;font-weight:700;line-height:1.2;display:inline-flex}.student-table-sort-button:first-child{text-align:left;justify-content:flex-start;justify-self:start}.student-table-sort-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.student-table-sort-icons{--student-sort-triangle-mask:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 70' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M50 3C54 3 58 5 61 9L97 53C104 62 98 70 87 70H13C2 70 -4 62 3 53L39 9C42 5 46 3 50 3Z'/%3E%3C/svg%3E");flex-direction:column;flex:none;justify-content:center;align-items:center;gap:0;width:9px;min-height:18px;font-size:0;line-height:1;display:inline-flex}.student-table-sort-icon{width:9px;height:5px;color:rgba(var(--palette-neutral-400-rgb,154, 163, 179), .72);text-align:center;transition:color .16s;display:block;position:relative}.student-table-sort-icon.sort-up:before,.student-table-sort-icon.sort-down:before{content:"";clip-path:polygon(50% 0,100% 100%,0 100%);width:8px;height:5px;-webkit-mask:var(--student-sort-triangle-mask) center / contain no-repeat;mask:var(--student-sort-triangle-mask) center / contain no-repeat;-webkit-mask:var(--student-sort-triangle-mask) center / contain no-repeat;background:currentColor;position:absolute;left:50%;transform:translate(-50%)}.student-table-sort-icon.sort-up:before{top:0}.student-table-sort-icon.sort-down:before{top:0;transform:translate(-50%)rotate(180deg)}.student-table-sort-icon.sort-neutral{height:7px;font-size:.72rem;line-height:.55}.student-table-sort-icon.active{color:#fff}.student-table-sort-button:hover .student-table-sort-icon,.student-table-sort-button:focus-visible .student-table-sort-icon{color:rgba(var(--palette-neutral-200-rgb,214, 220, 232), .9)}.crm-shell .student-table-sort-button:hover,.crm-shell .student-table-sort-button:focus-visible{background:0 0;border-color:#0000}.student-table-sort-button:hover .student-table-sort-icon.active,.student-table-sort-button:focus-visible .student-table-sort-icon.active{color:#fff}.student-table-sort-button:focus-visible{outline-offset:3px;border-radius:8px;outline:2px solid #ffffff7a}.student-search-panel .student-table-header{z-index:auto;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:10px 0 0;position:static;top:auto}.student-list-row{grid-template-columns:minmax(210px,1.15fr) repeat(4,minmax(110px,.78fr)) minmax(220px,1.3fr) minmax(180px,1fr);align-items:center;gap:12px;display:grid}.student-metrics{flex-wrap:wrap;gap:10px}.student-metrics.compact{display:contents}.student-title{text-align:left;min-width:0}.student-title h3{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-name-edit-button{appearance:none;color:inherit;font:inherit;font-weight:inherit;line-height:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.crm-shell .student-name-edit-button:hover,.crm-shell .student-name-edit-button:focus{box-shadow:none;background:0 0;border-color:#0000;transform:none}.student-name-edit-button:focus-visible{color:var(--accent);outline-offset:3px;border-radius:4px;outline:2px solid}.student-speaking-club-badge{color:#f6c84f;filter:drop-shadow(0 0 5px #f6c84f61);flex:none;justify-content:center;align-self:center;align-items:center;width:20px;height:20px;line-height:0;animation:3.2s ease-in-out infinite student-speaking-club-color-flow;display:inline-flex}.student-speaking-club-badge svg{width:19px;height:19px;fill:color-mix(in srgb, currentColor 18%, transparent);stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;display:block;transform:translateY(1px)}.theme-light .student-speaking-club-badge{color:#b45309;filter:drop-shadow(0 0 4px #b4530938)}@keyframes student-speaking-club-color-flow{0%,to{color:#f6c84f;filter:drop-shadow(0 0 5px #f6c84f61)}25%{color:#38d8ff;filter:drop-shadow(0 0 6px #38d8ff6b)}50%{color:#7cffa7;filter:drop-shadow(0 0 6px #7cffa75c)}75%{color:#ff6bd6;filter:drop-shadow(0 0 6px #ff6bd657)}}.student-card .student-group-label{color:var(--student-group-bg,var(--text-muted))}.student-card{--student-pending-color:#ffcf6b}.student-card .student-study-pending-status{color:var(--student-pending-color);font-weight:400}.theme-light .student-card .student-study-pending-status{--student-pending-color:#b45309}.student-metrics>div{background:var(--bg-soft);border:1px solid var(--border);border-radius:16px;flex:140px;padding:10px 12px}.student-metrics.compact>div{background:0 0;border-color:#0000}.student-metrics.compact>.metrics-tail{background:var(--bg-soft);border-color:var(--border);place-content:center;align-self:center}.student-metrics strong{font-size:1.1rem}.student-metrics.compact>div{text-align:center;place-items:center;padding:8px 10px;display:grid}.student-metrics.compact>div:not(.metrics-tail)>span{margin-bottom:4px;font-size:.8rem}.student-metrics.compact>.metrics-tail>span{margin-bottom:0;font-size:.8rem}.student-metrics.compact strong{font-size:.98rem}.student-metric-subvalue{color:var(--text-muted);margin-top:4px;font-size:.98rem;font-weight:700;display:block}.student-metrics.compact>div:nth-child(-n+3) strong{font-size:1.22rem}.student-metrics.compact>div.student-next-payment-metric strong,.student-metrics.compact>div.student-next-payment-metric .student-metric-subvalue{font-size:.98rem}.student-metrics.compact>div.student-next-payment-metric.only-amount .student-metric-subvalue{color:#fff}.theme-light .student-metrics.compact>div.student-next-payment-metric.only-amount .student-metric-subvalue{color:var(--text-main)}.student-note{border-left:2px solid var(--student-note-accent,var(--student-group-bg,var(--accent)));background:color-mix(in srgb, var(--student-note-accent,var(--student-group-bg,var(--accent))) 14%, transparent);color:#f6c84f;letter-spacing:0;width:fit-content;max-width:100%;min-height:0;margin:12px 0 0;padding:4px 8px 4px 10px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;font-weight:800;line-height:1.45;display:inline-block}.metric-control{align-items:center;gap:10px;display:flex}.metric-stepper{border:1px solid var(--border);background:var(--bg-surface);width:28px;height:28px;color:var(--text-main);cursor:pointer;border-radius:999px}.metrics-tail{text-align:center;justify-items:center;gap:6px;display:grid}.metrics-tail>span{color:var(--text-muted);font-size:.92rem}.student-list-card .metrics-tail>span,.student-list-card .metrics-tail .student-metric-accent-value{margin-bottom:0}.student-list-card .metrics-tail>span{white-space:nowrap;display:block}.student-list-card .metrics-tail .student-metric-accent-value{color:#b8f5e7;font-size:inherit;line-height:inherit;vertical-align:baseline;display:inline}.theme-light .student-list-card .metrics-tail .student-metric-accent-value{color:#15806f}.archive-student-card{cursor:pointer}.archive-student-metrics-tail{text-align:left;justify-items:start}.student-head-actions{justify-content:flex-end;justify-self:end;align-items:center;gap:12px;min-width:max-content;display:flex}.student-menu-wrap{position:relative}.menu-trigger{justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;padding-inline:0;display:inline-flex}.menu-trigger svg{fill:currentColor;width:18px;height:18px}.student-menu-dropdown{background:var(--bg-card);border:1px solid var(--border);min-width:170px;box-shadow:var(--shadow);z-index:1250;border-radius:16px;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.student-card-menu-dropdown{background:rgb(var(--palette-neutral-700-rgb,46, 49, 57));top:50%;right:calc(100% + 10px);transform:translateY(calc(30px - 100%))}.theme-light .student-card-menu-dropdown{background:#fff}.menu-item{width:100%;color:var(--text-main);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:inline-flex}.menu-item-icon{flex:0 0 16px;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.menu-item-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.menu-item:hover{background:var(--button-hover-bg);border-color:var(--button-hover-border)}.menu-item.danger-button:hover,.menu-item.danger-button:focus-visible{background:var(--button-hover-danger-bg);border-color:var(--button-hover-danger-border)}.badge.ok{color:var(--accent)}.badge.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 52%, var(--border));background:color-mix(in srgb, var(--danger) 12%, var(--bg-soft))}.badge.warning{color:#f59e0b;border-color:color-mix(in srgb, #f59e0b 56%, var(--border));background:color-mix(in srgb, #f59e0b 14%, var(--bg-soft))}.badge.debt,.negative{color:var(--danger)}.positive{color:var(--accent)}.warning{color:var(--warning)}.student-tags{flex-wrap:wrap;gap:10px;display:flex}.teacher-grid{grid-template-columns:1fr;position:relative;overflow:visible}.teacher-card{z-index:1;background:color-mix(in srgb, var(--bg-card) var(--glass-card-background-alpha,100%), transparent);border:none;align-items:center;gap:18px;transition:transform .16s,background-color .16s,box-shadow .16s;display:flex;position:relative;overflow:visible}.teacher-card>*,.salary-teacher-card>*{z-index:1;position:relative}.teacher-card:hover{background:color-mix(in srgb, var(--bg-card) var(--glass-card-background-alpha,100%), transparent);transform:translateY(-2px)}.theme-light .teacher-card:hover{background:color-mix(in srgb, var(--bg-card) var(--glass-card-background-alpha,100%), transparent)}.salary-teacher-card{background:color-mix(in srgb, var(--bg-card) var(--glass-card-background-alpha,100%), transparent);border:none;transition:transform .16s,background-color .16s,box-shadow .16s}.salary-teacher-card:hover{background:color-mix(in srgb, var(--bg-card) var(--glass-card-background-alpha,100%), transparent);transform:translateY(-2px)}.salary-teacher-card.expanded{background:color-mix(in srgb, var(--bg-card) var(--glass-card-background-alpha,100%), transparent)}.theme-light .salary-teacher-card:hover{background:color-mix(in srgb, var(--bg-card) var(--glass-card-background-alpha,100%), transparent);transform:translateY(-2px)}.theme-light .salary-teacher-card.expanded{background:color-mix(in srgb, var(--bg-card) var(--glass-card-background-alpha,100%), transparent)}.teacher-card.menu-open{z-index:260}.teacher-menu-wrap{z-index:270;align-self:center;position:relative}.teacher-menu-dropdown{background:rgb(var(--palette-neutral-700-rgb,46, 49, 57));border:1px solid var(--border);min-width:170px;box-shadow:var(--shadow);z-index:320;border-radius:16px;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.theme-light .teacher-menu-dropdown{background:#fff}.teacher-card.menu-open .teacher-card-head{z-index:340}.teacher-card.menu-open .teacher-rates{z-index:1}.teacher-card-head{flex-direction:column;flex:360px;align-items:stretch;gap:16px;min-width:360px;display:flex}.teacher-card-summary{align-items:center;gap:16px;display:flex}.teacher-card-summary>div:first-child{flex:auto;min-width:0}.teacher-card-head h3,.teacher-card-head p{overflow-wrap:anywhere}.teacher-card-summary h3{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.teacher-name-edit-button{appearance:none;-webkit-tap-highlight-color:transparent;color:var(--text-main);font:inherit;font-weight:inherit;line-height:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.crm-shell button.teacher-name-edit-button:hover,.crm-shell button.teacher-name-edit-button:focus,.crm-shell button.teacher-name-edit-button:focus-visible,.crm-shell button.teacher-name-edit-button:active{outline:none;color:var(--text-main)!important;box-shadow:none!important;background:0 0!important;border-color:#0000!important;transform:none!important}.teacher-language-flag{aspect-ratio:4/3;object-fit:cover;border:1px solid #fff3;border-radius:5px;flex:0 0 26px;width:26px;box-shadow:0 2px 7px #0003}.theme-light .teacher-language-flag{border-color:#101f3f21;box-shadow:0 2px 7px #3d558329}.teacher-head-actions{flex-direction:column;flex:none;align-items:flex-start;gap:12px;margin-left:auto;display:flex}.teacher-telegram-status{align-items:center;gap:8px;display:flex}.teacher-telegram-status>span:first-child{color:var(--text-muted);white-space:nowrap;font-size:.78rem;font-weight:800}.teacher-head-actions .badge{white-space:normal;overflow-wrap:anywhere;text-align:left}.teacher-contact-meta-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.teacher-meta-badge{align-items:center;gap:7px;display:inline-flex}.teacher-meta-badge svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 17px;width:17px;height:17px}.teacher-accrual-badge strong{color:var(--accent);white-space:nowrap;font-weight:900}.teacher-phone-link{color:var(--text-main);cursor:pointer;text-decoration:none;transition:color .16s,border-color .16s,background-color .16s,transform .16s}.teacher-phone-link:hover,.teacher-phone-link:focus-visible{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 12%, var(--bg-soft));transform:translateY(-1px)}.teacher-rates{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:flex}.teacher-rates>div{background:var(--bg-soft);border:1px solid var(--border);border-radius:16px;flex:1 1 0;padding:12px}.teacher-rates span{color:var(--text-muted);margin-bottom:6px;font-size:.84rem;display:block}.schedule-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;display:grid}.schedule-week-picker{grid-template-columns:44px minmax(150px,1fr) 44px max-content;justify-self:end;align-items:center;gap:10px;width:min(520px,100%);display:grid;position:relative}.schedule-week-calendar{width:100%}.week-nav-button{min-height:44px;padding-inline:14px}.schedule-filter-panel,.schedule-week-panel{overflow:visible}.schedule-filter-panel{gap:14px;display:grid}.schedule-mode-tabs{gap:10px;padding-bottom:2px;display:flex;overflow-x:auto}.schedule-mode-tab{border:1px solid var(--border);background:var(--bg-soft);min-height:42px;color:var(--text-muted);font:inherit;cursor:pointer;border-radius:14px;flex:none;align-items:center;gap:8px;padding:9px 12px;font-weight:800;transition:transform .16s,border-color .16s,background-color .16s,color .16s;display:inline-flex}.schedule-mode-tab small{color:#ffcf6b;background:#ffcf6b1f;border-radius:999px;padding:3px 7px;font-size:.68rem;line-height:1}.schedule-mode-tab:hover,.schedule-mode-tab.active{border-color:rgba(var(--palette-accent-rgb,35, 199, 164), .34);background:color-mix(in srgb, var(--accent) 18%, var(--bg-card));color:var(--text-main);transform:translateY(-1px)}.speaking-club-readonly-note{color:#ffcf6b;font-weight:700}.schedule-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:10px;min-width:min(620px,100%);display:flex}.speaking-club-header-actions{min-width:min(860px,100%)}.schedule-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.schedule-title-row h3{margin:0}.speaking-club-session-select{min-width:0;position:relative}.speaking-club-session-select h3{margin:0}.speaking-club-session-trigger{max-width:min(460px,100vw - 44px);color:var(--text-main);text-align:left;font:inherit;font-weight:inherit;line-height:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;padding:2px 6px 2px 0;transition:color .16s,background-color .16s,box-shadow .16s;display:inline-flex}.speaking-club-session-trigger:hover,.speaking-club-session-trigger:focus-visible,.speaking-club-session-trigger.open{color:var(--text-main);background:#68a8ff1a;outline:none;box-shadow:0 0 0 3px #68a8ff1f}.speaking-club-session-trigger-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.speaking-club-session-trigger-caret{color:var(--text-muted);flex:none;font-size:.72em;transition:transform .16s}.speaking-club-session-trigger.open .speaking-club-session-trigger-caret{transform:rotate(180deg)}.speaking-club-session-menu{z-index:230;box-sizing:border-box;overscroll-behavior:contain;border:1px solid var(--border);background:var(--bg-card);width:max-content;min-width:100%;max-width:calc(100vw - 28px);max-height:320px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:16px;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto}.searchable-select-popover.opens-up{top:auto;bottom:calc(100% + 10px)}.lesson-level-select .searchable-select-popover{box-sizing:border-box;width:100%;max-width:100%}.schedule-week-panel:has(.speaking-club-session-menu){z-index:210;overflow:visible}.speaking-club-session-option{width:100%;color:var(--text-main);text-align:left;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.speaking-club-session-option:hover,.speaking-club-session-option:focus-visible,.speaking-club-session-option.selected{background:#68a8ff1a;border-color:#68a8ff4d;outline:none}.speaking-club-session-option-copy{gap:3px;min-width:0;display:grid}.speaking-club-session-option-copy strong,.speaking-club-session-option-copy small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.speaking-club-session-option-copy small{color:var(--text-muted);font-size:.82rem}.speaking-club-session-check{color:var(--accent);flex:none;font-weight:800}.speaking-club-empty-panel{text-align:center;place-items:center;min-height:180px;display:grid}.speaking-club-tabs-panel{padding-block:14px}.speaking-club-page-tabs{padding-bottom:0}.speaking-club-students-filter{gap:14px;display:grid}.speaking-club-students-filter .filters-bar{grid-template-columns:minmax(280px,1fr) minmax(320px,340px) minmax(220px,260px) max-content;align-items:end;gap:12px;display:grid}.speaking-club-students-filter .filters-bar>button{white-space:nowrap;align-self:end;min-width:max-content}.speaking-club-student-table-header{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(210px,1.15fr) repeat(4,minmax(110px,.78fr)) minmax(220px,1.3fr) minmax(180px,1fr);padding:10px 0 0}.speaking-club-students-summary{place-self:end stretch;width:100%}.speaking-club-student-cards{grid-template-columns:1fr}.speaking-club-student-card{border-left:1px solid var(--border)}.speaking-club-student-card .student-group-label{color:var(--student-group-bg,var(--accent));font-weight:400}.speaking-club-student-card .student-metric-accent-value{color:#b8f5e7;font-weight:400}.theme-light .speaking-club-student-card .student-metric-accent-value{color:#15806f}.speaking-club-student-card .metrics-tail{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;display:flex}.speaking-club-student-card .metrics-tail>span{white-space:nowrap;align-items:center;gap:3px;margin:0;display:inline-flex}.speaking-club-student-card .student-head-actions{justify-content:flex-end}.speaking-club-student-metrics.compact{grid-template-columns:minmax(130px,.7fr) minmax(90px,.45fr) minmax(160px,.8fr) minmax(140px,.7fr) minmax(240px,1.1fr)}.speaking-club-students-empty{place-items:center;min-height:180px;display:grid}.speaking-club-outside-period{border:1px dashed var(--border);color:var(--text-muted);text-align:center;border-radius:14px;margin:0;padding:12px;font-size:.84rem}.schedule-filter-panel .filters-bar{grid-template-columns:minmax(280px,1fr) minmax(220px,240px) max-content;align-items:end;gap:12px;display:grid}.schedule-filter-panel .filters-bar>*{min-width:0}.schedule-filter-panel .filters-bar .search-field,.schedule-filter-panel .filters-bar .searchable-select{width:100%}.schedule-filter-panel .filters-bar>button{white-space:nowrap;align-self:end;min-width:max-content}.schedule-filter-panel .filters-bar>.speaking-club-create-button{justify-self:start;width:auto;min-width:max-content}.schedule-filter-panel .schedule-speaking-club-filters{grid-template-columns:minmax(320px,1fr) minmax(190px,240px) max-content;align-items:end;gap:14px;display:grid}.schedule-filter-panel .schedule-speaking-club-filters .search-field{width:100%;max-width:none}.schedule-filter-panel .schedule-speaking-club-filters>.searchable-select{width:100%}.schedule-filter-panel .schedule-speaking-club-filters .searchable-select-trigger,.schedule-filter-panel .schedule-speaking-club-filters .speaking-club-create-button{box-sizing:border-box}.schedule-filter-panel .schedule-speaking-club-filters>button{z-index:1;justify-self:start;width:auto;min-width:max-content;position:relative}.speaking-club-lesson-card{background:linear-gradient(180deg, rgba(var(--palette-neutral-950-rgb,12, 18, 25), .96), rgba(var(--palette-neutral-900-rgb,15, 24, 32), .92));border:0;box-shadow:0 20px 48px #00000042}.speaking-club-lesson-card:hover,.speaking-club-lesson-card:focus-visible{background:linear-gradient(180deg, rgba(var(--palette-neutral-950-rgb,15, 23, 32), .98), rgba(var(--palette-neutral-900-rgb,16, 28, 36), .95))}.speaking-club-lesson-readonly{opacity:.78}.speaking-club-lesson-actions{grid-template-columns:34px}.theme-light .speaking-club-lesson-card{background:linear-gradient(180deg, #fffffff5, rgba(var(--palette-neutral-50-rgb,241, 248, 255), .92))}.day-column{background:var(--bg-soft);border:1px solid var(--border);position:relative;overflow:visible}.day-column.today-column{border-color:#ffffff61;box-shadow:inset 0 1px #ffffff2e}.theme-light .day-column.today-column{border-color:#ffffffd1}.day-column h4{gap:4px;margin-bottom:14px;display:grid}.day-column-header{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin-bottom:14px;padding:0;display:block}.crm-shell .schedule-grid .day-column-header:not(:disabled):hover,.crm-shell .schedule-grid .day-column-header:not(:disabled):focus-visible{box-shadow:none;background:0 0!important;border-color:#0000!important}.day-column-header h4{margin-bottom:0}.day-column-title-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.day-column-title-row>span:first-child{min-width:0}.day-column-badges{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;gap:6px;min-width:0;display:flex}.day-column-header-indicator{display:none}.day-column h4 small{color:var(--text-muted);font-size:.78rem;font-weight:500}.day-column h4 .day-column-count{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;width:fit-content;padding:3px 7px;font-size:.68rem;font-weight:800;line-height:1.15;display:inline-flex}.day-column h4 .day-column-lesson-count{color:#a8c7ff;background:#7eb1ff24}.day-column h4 .day-column-substitution-count{color:#ffcf6b;background:#ffcf6b24}.theme-light .day-column h4 .day-column-lesson-count{color:#3157c8;background:#507dff1f}.theme-light .day-column h4 .day-column-substitution-count{color:#9a5a05;background:#d9770624}.day-column.drag-target{border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .38);background:linear-gradient(180deg, rgba(var(--palette-mint-rgb,55, 240, 194), .1), transparent), var(--bg-soft)}.schedule-card{z-index:1;border-radius:20px;padding:16px;position:relative;overflow:visible}.lesson-card{--lesson-head-border-start:hsl(var(--lesson-accent) / .98);--lesson-head-border-end:hsl(var(--lesson-accent-gradient-end,var(--lesson-accent-light,var(--lesson-accent))) / .96);cursor:pointer;border-radius:10px;gap:12px;transition:transform .16s,border-color .16s,background-color .16s;display:grid}.lesson-card:hover,.lesson-card:focus-visible{transform:translateY(-2px)}.schedule-card.lesson-card{border-radius:12px}.regular-lesson-card{background:linear-gradient(135deg, hsl(var(--lesson-accent) / .16) 0%, hsl(var(--lesson-accent-gradient-end,var(--lesson-accent-light,var(--lesson-accent))) / .08) 46%, transparent 100%), linear-gradient(180deg, rgba(var(--palette-neutral-950-rgb,9, 12, 20), .96), rgba(var(--palette-neutral-950-rgb,13, 17, 30), .92));border:0;box-shadow:0 20px 48px #00000042}.lesson-card:active{cursor:grabbing}.regular-lesson-card:hover,.regular-lesson-card:focus-visible{background:linear-gradient(135deg, hsl(var(--lesson-accent) / .2) 0%, hsl(var(--lesson-accent-gradient-end,var(--lesson-accent-light,var(--lesson-accent))) / .1) 46%, transparent 100%), linear-gradient(180deg, rgba(var(--palette-neutral-950-rgb,12, 16, 27), .98), rgba(var(--palette-neutral-950-rgb,15, 20, 34), .95))}.lesson-card:focus-visible{outline:2px solid hsl(var(--lesson-accent) / .7);outline-offset:3px}.lesson-card.menu-open{z-index:220}.lesson-card.menu-open .lesson-card-head,.lesson-card.menu-open .lesson-settings-wrap{z-index:30}.lesson-status-chip{border:1px solid var(--lesson-status-border);background:var(--lesson-status-border);min-height:20px;color:var(--lesson-status-text);white-space:nowrap;box-shadow:none;pointer-events:none;border-radius:999px;flex:none;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}.schedule-card .lesson-status-chip,.schedule-card .lesson-status-chip span,.theme-light .schedule-grid .lesson-card-head .lesson-status-chip,.theme-light .schedule-grid .lesson-card-head .lesson-status-chip span{color:var(--lesson-status-text)}.lesson-status-chip-planned{background:rgba(var(--palette-neutral-400-rgb,148, 163, 184), .16);--lesson-status-border:rgb(var(--palette-neutral-400-rgb,148, 163, 184));--lesson-status-text:var(--lesson-status-border)}.lesson-status-chip-completed{--lesson-status-border:#22c55e;--lesson-status-text:#fff}.lesson-status-chip-cancelled{--lesson-status-border:#f43f5e;--lesson-status-text:#fff}.lesson-status-chip-replaced{--lesson-status-border:#a78bfa;--lesson-status-text:#fff}.teacher-portal-shell .lesson-status-chip,.teacher-portal-shell .lesson-status-chip span,.theme-light .teacher-portal-shell .lesson-status-chip,.theme-light .teacher-portal-shell .lesson-status-chip span{color:#fff}.substitution-lesson-card{--special-lesson-border-start:#ffcf6b;--special-lesson-border-end:#f59e0b;--special-lesson-border-start-hover:#ffd783;--special-lesson-border-end-hover:#f6ac2d;--lesson-head-border-start:var(--special-lesson-border-start);--lesson-head-border-end:var(--special-lesson-border-end);--special-lesson-top-border-width:9px;--special-lesson-side-border-width:1px;background-color:rgb(var(--palette-neutral-950-rgb,22, 20, 14));background:linear-gradient(135deg, color-mix(in srgb, var(--special-lesson-border-start) 26%, transparent) 0%, color-mix(in srgb, var(--special-lesson-border-end) 11%, transparent) 52%, transparent 100%), rgb(var(--palette-neutral-950-rgb,22, 20, 14));border:0;padding-top:30px;box-shadow:0 20px 48px #00000042}.substitution-lesson-card:hover,.substitution-lesson-card:focus-visible{background-color:rgb(var(--palette-neutral-950-rgb,25, 22, 14));background:linear-gradient(135deg, color-mix(in srgb, var(--special-lesson-border-start) 31%, transparent) 0%, color-mix(in srgb, var(--special-lesson-border-end) 15%, transparent) 52%, color-mix(in srgb, var(--special-lesson-border-end) 2%, transparent) 100%), rgb(var(--palette-neutral-950-rgb,25, 22, 14))}.substitution-lesson-card:after,.inactive-lesson-card:after{content:none;border-radius:inherit;padding:var(--special-lesson-top-border-width) var(--special-lesson-side-border-width) var(--special-lesson-side-border-width) var(--special-lesson-side-border-width);background:linear-gradient(135deg, var(--special-lesson-border-start) 0%, var(--special-lesson-border-end) 100%);pointer-events:none;z-index:0;-webkit-mask-composite:xor;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.substitution-lesson-card:hover:after,.substitution-lesson-card:focus-visible:after,.substitution-lesson-card.expanded:after,.inactive-lesson-card:hover:after,.inactive-lesson-card:focus-visible:after,.inactive-lesson-card.expanded:after{background:linear-gradient(135deg, var(--special-lesson-border-start-hover) 0%, var(--special-lesson-border-end-hover) 100%)}.substitution-lesson-card:before{content:"Заміна";background:linear-gradient(90deg, var(--lesson-head-border-start) 0%, var(--lesson-head-border-end) 100%);color:#3b2b00;text-align:center;text-transform:uppercase;letter-spacing:.04em;z-index:2;border-radius:0 0 10px 10px;min-width:74px;padding:3px 9px 4px;font-size:.68rem;font-weight:800;line-height:1;position:absolute;top:0;left:14px}.inactive-lesson-card{--special-lesson-border-start:#ff5f5f;--special-lesson-border-end:#f43f5e;--special-lesson-border-start-hover:#ff7979;--special-lesson-border-end-hover:#f65a75;--lesson-head-border-start:var(--special-lesson-border-start);--lesson-head-border-end:var(--special-lesson-border-end);--special-lesson-top-border-width:9px;--special-lesson-side-border-width:1px;background-color:rgb(var(--palette-neutral-950-rgb,24, 16, 20));background:linear-gradient(135deg, color-mix(in srgb, var(--special-lesson-border-start) 24%, transparent) 0%, color-mix(in srgb, var(--special-lesson-border-end) 10%, transparent) 52%, transparent 100%), rgb(var(--palette-neutral-950-rgb,24, 16, 20));border:0;padding-top:30px;box-shadow:0 20px 48px #00000042}.inactive-lesson-card:hover,.inactive-lesson-card:focus-visible{background-color:rgb(var(--palette-neutral-950-rgb,27, 17, 22));background:linear-gradient(135deg, color-mix(in srgb, var(--special-lesson-border-start) 29%, transparent) 0%, color-mix(in srgb, var(--special-lesson-border-end) 14%, transparent) 52%, color-mix(in srgb, var(--special-lesson-border-end) 2%, transparent) 100%), rgb(var(--palette-neutral-950-rgb,27, 17, 22))}.inactive-lesson-card:before{color:#fff;text-align:center;text-transform:uppercase;letter-spacing:.04em;z-index:2;background:#ff5f5f;border-radius:0 0 10px 10px;min-width:74px;padding:3px 9px 4px;font-size:.68rem;font-weight:800;line-height:1;position:absolute;top:6px;left:14px}.cancelled-lesson-card:before,.replaced-lesson-card:before{content:none}.inactive-lesson-card.cancelled-lesson-card,.inactive-lesson-card.replaced-lesson-card{padding-top:18px}.replaced-lesson-card{--special-lesson-border-start:#a78bfa;--special-lesson-border-end:#4f7cff;--special-lesson-border-start-hover:#b59efb;--special-lesson-border-end-hover:#688eff;--lesson-head-border-start:var(--special-lesson-border-start);--lesson-head-border-end:var(--special-lesson-border-end);background-color:rgb(var(--palette-neutral-950-rgb,19, 17, 31));background:linear-gradient(135deg, color-mix(in srgb, var(--special-lesson-border-start) 27%, transparent) 0%, color-mix(in srgb, var(--special-lesson-border-end) 12%, transparent) 52%, transparent 100%), rgb(var(--palette-neutral-950-rgb,19, 17, 31))}.substitution-lesson-card>*,.inactive-lesson-card>*{z-index:1;position:relative}.replaced-lesson-card:hover,.replaced-lesson-card:focus-visible{background-color:rgb(var(--palette-neutral-950-rgb,21, 18, 35));background:linear-gradient(135deg, color-mix(in srgb, var(--special-lesson-border-start) 32%, transparent) 0%, color-mix(in srgb, var(--special-lesson-border-end) 16%, transparent) 52%, color-mix(in srgb, var(--special-lesson-border-end) 2%, transparent) 100%), rgb(var(--palette-neutral-950-rgb,21, 18, 35));box-shadow:0 20px 48px #00000042}.replaced-lesson-card:before{color:rgb(var(--palette-neutral-900-rgb,31, 17, 71));background:#a78bfa}.replaced-lesson-note{color:rgb(var(--palette-neutral-200-rgb,233, 221, 255));border-top:1px solid #a88bfa47;margin:0;padding-top:10px;font-size:.78rem;font-weight:700}.substitution-origin-note{color:#fff4cf;border-top:1px solid #ffcf6b52;margin:0;padding-top:10px;font-size:.78rem;font-weight:700}.lesson-link-note-action{cursor:pointer}.lesson-link-note-action:focus-visible{outline-offset:4px;outline:2px solid}.lesson-link-note-button{color:inherit;font-weight:inherit;text-decoration:none}.replaced-lesson-note .lesson-link-note-button{color:rgb(var(--palette-neutral-200-rgb,233, 221, 255))}.substitution-origin-note .lesson-link-note-button{color:#fff4cf}.lesson-card.lesson-card-flash{animation:.36s ease-in-out 2 lesson-card-flash;box-shadow:0 0 0 3px #ffffffeb,0 0 26px #ffffff6b}@keyframes lesson-card-flash{0%,to{filter:brightness();transform:translateY(0)scale(1)}45%{filter:brightness(1.45);transform:translateY(-2px)scale(1.018)}}.substitution-lesson-card .substitution-label{color:#ffcf6b;font-weight:inherit}.substitution-teacher-swap{gap:3px;display:grid}.substitution-lesson-card:before{content:"Заміна";display:block}.substitution-lesson-card.same-teacher-transfer-card:before{content:"Перенесено";min-width:106px}.substitution-teacher-swap .substitution-teacher-current{color:#ffcf6b}.substitution-teacher-swap .substitution-teacher-next{color:#fff;font-weight:inherit}.lesson-card-head,.lesson-card-meta,.lesson-students{gap:6px;display:grid}.lesson-card-details{gap:12px;display:grid}.lesson-card-head{grid-template-columns:minmax(0,1fr) 22px;align-items:start;column-gap:8px;padding-left:12px;position:relative}.lesson-card-head>div:first-child{min-width:0}.lesson-card-head:before{content:"";background:linear-gradient(180deg, var(--lesson-head-border-start) 0%, var(--lesson-head-border-end) 100%);border-radius:999px;width:4px;position:absolute;top:1px;bottom:1px;left:0}.lesson-time-row{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;min-height:20px;margin-bottom:6px;display:flex}.lesson-time{color:var(--text-muted);font-weight:700;font:inherit;cursor:inherit;text-align:left;background:0 0;border:0;margin-bottom:6px;padding:0;display:block}.lesson-time-row .lesson-time{margin-bottom:0}.schedule-grid .lesson-card-head strong.lesson-group-label,.theme-light .schedule-grid .lesson-card-head strong.lesson-group-label{color:var(--student-group-bg,var(--text-main))}.form-derived-value{border:1px solid var(--border);background:var(--bg-soft);width:100%;min-height:47px;color:var(--text-main);border-radius:16px;align-items:center;padding:12px 14px;display:grid}.lesson-settings-wrap{flex-direction:column;justify-content:space-between;place-self:stretch end;align-items:center;gap:3px;width:22px;min-width:22px;display:flex}.lesson-menu-wrap{position:relative}.lesson-menu-dropdown{background:rgb(var(--palette-neutral-800-rgb,45, 48, 56));-webkit-backdrop-filter:none;backdrop-filter:none;z-index:2400;border-color:#ffffff1f;min-width:170px;top:calc(100% + 8px);right:0;box-shadow:0 18px 44px #00000075,0 0 0 1px #ffffff0a}.theme-light .lesson-menu-dropdown{border-color:rgba(var(--palette-neutral-800-rgb,31, 41, 55), .14);box-shadow:0 18px 44px rgba(var(--palette-neutral-900-rgb,15, 23, 42), .18), 0 0 0 1px rgba(var(--palette-neutral-900-rgb,15, 23, 42), .04);background:#fff}.lesson-menu-dropdown.drop-up{top:auto;bottom:calc(100% + 8px)}.substitution-settings-wrap{flex-direction:column;display:flex}.lesson-substitution-trigger{background:0 0;border-color:#0000;justify-content:center;align-items:center;width:20px;min-width:20px;height:20px;padding:0;display:inline-flex}.lesson-substitution-trigger:hover,.lesson-substitution-trigger:focus-visible{background:0 0;border-color:#0000}.lesson-settings-trigger{color:#fff;background:0 0;border-color:#0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.lesson-settings-trigger:hover,.lesson-settings-trigger:focus-visible{color:#fff;background:0 0;border-color:#0000}.lesson-cancel-trigger{color:#fff;background:0 0;border-color:#0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.lesson-cancel-trigger:hover,.lesson-cancel-trigger:focus-visible,.lesson-cancel-trigger.active{color:#fff;background:0 0;border-color:#0000}.lesson-restore-trigger{color:#fff;background:0 0;border-color:#0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.lesson-restore-trigger:hover,.lesson-restore-trigger:focus-visible{color:#fff;background:0 0;border-color:#0000}.lesson-restore-trigger svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px;display:block}.lesson-substitution-trigger svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px;display:block}.lesson-cancel-trigger svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.lesson-menu-trigger{border-radius:7px;width:20px;min-width:20px;height:20px}.lesson-menu-trigger:disabled{cursor:default;opacity:.45;transform:none}.lesson-menu-trigger:disabled:hover,.lesson-menu-trigger:disabled:focus-visible{background:0 0;border-color:#0000;transform:none}.lesson-menu-trigger svg{width:15px;height:15px}.lesson-card-meta{border:1px solid hsl(var(--lesson-accent) / .2);box-shadow:none;background:0 0;border-radius:12px;padding:8px 10px;position:relative;overflow:hidden}.lesson-card-meta span{color:#ffffffad;align-items:center;gap:7px;min-width:0;font-size:.8rem;font-weight:500;line-height:1.15;display:inline-flex}.lesson-card-meta span+span{border-top:0;padding-top:4px}.lesson-card-meta span:first-child,.lesson-card-meta span.lesson-language,.lesson-card-meta .lesson-type,.lesson-card-meta span:last-child{color:#ffffffad;font-size:.8rem;font-weight:500}.lesson-card-meta span.lesson-meta-icon{width:17px;height:17px;color:hsl(var(--lesson-accent-light,var(--lesson-accent)) / .86);flex:0 0 17px;justify-content:center;align-self:center;align-items:center;display:inline-flex}.lesson-meta-icon svg{fill:none;stroke:currentColor;stroke-width:1.85px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;display:block}.theme-light .lesson-card-meta span:first-child,.theme-light .lesson-card-meta span.lesson-language,.theme-light .lesson-card-meta .lesson-type,.theme-light .lesson-card-meta span:last-child{color:rgb(var(--palette-neutral-600-rgb,82, 96, 112))}.theme-light .lesson-card-meta span.lesson-meta-icon{color:hsl(var(--lesson-accent-light,var(--lesson-accent)) / .86)}.lesson-note,.lesson-students p,.lesson-students ul{color:var(--text-muted);margin:0}.lesson-students-title{width:100%;color:var(--text-muted);grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:7px;font-size:.86rem;font-weight:700;display:grid}.lesson-students-copy-button{color:#bfd2ff;cursor:pointer;width:16px;min-width:0;height:16px;font:inherit;border-radius:0;justify-self:end;place-items:center;padding:0;line-height:0;transition:color .16s,transform .16s;display:inline-grid;transform:translateY(0);box-shadow:none!important;background:0 0!important;border:0!important}.crm-shell .lesson-students-copy-button:not(:disabled):hover,.crm-shell .lesson-students-copy-button:not(:disabled):focus,.crm-shell .lesson-students-copy-button:not(:disabled):focus-visible,.crm-shell .lesson-students-copy-button:not(:disabled):active,.lesson-students-copy-button:hover,.lesson-students-copy-button:focus,.lesson-students-copy-button:focus-visible,.lesson-students-copy-button:active{box-shadow:none!important;color:#bfd2ff!important;background:0 0!important;border:0 #0000!important}.crm-shell .lesson-students-copy-button:not(:disabled):hover,.crm-shell .lesson-students-copy-button:not(:disabled):focus-visible,.lesson-students-copy-button:hover,.lesson-students-copy-button:focus-visible{transform:translateY(-1px)!important}.crm-shell .lesson-students-copy-button:not(:disabled):active,.lesson-students-copy-button:active{transform:none!important}.lesson-students-copy-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.lesson-students-copy-button:disabled{cursor:default;opacity:.42}.lesson-students ul{color:#fff;gap:6px;padding-left:0;list-style:none;display:grid}.lesson-students li{color:#fff;padding-left:16px;position:relative}.lesson-students li:before{content:"";background:linear-gradient(135deg, var(--lesson-head-border-start) 0%, var(--lesson-head-border-end) 100%);border-radius:999px;width:6px;height:6px;position:absolute;top:50%;left:1px;transform:translateY(-50%)}.crm-shell:not(.theme-light) .lesson-students ul,.crm-shell:not(.theme-light) .lesson-students li,.crm-shell:not(.theme-light) .lesson-student-name{color:#fff!important}.crm-shell:not(.theme-light) .lesson-students li::marker{color:#fff!important}.lesson-student-row{grid-template-columns:minmax(0,1fr) max-content;align-items:baseline;gap:8px;width:100%;display:grid}.lesson-student-name{color:#fff;overflow-wrap:anywhere;min-width:0}.lesson-student-tariff{color:hsl(var(--lesson-accent-light,var(--lesson-accent)) / 1);white-space:nowrap;font-size:.68rem;font-weight:800;line-height:1}.substitution-lesson-card .lesson-student-tariff,.inactive-lesson-card .lesson-student-tariff{color:var(--special-lesson-border-start)}.theme-light .lesson-students ul,.theme-light .lesson-students li,.theme-light .lesson-student-name{color:var(--text-main)}.theme-light .lesson-students-copy-button{color:hsl(var(--lesson-accent) / 1)}.lesson-card-actions{justify-content:flex-end;display:flex}.salary-summary-head,.salary-row,.salary-row-meta,.salary-total-row{align-items:center;gap:16px;display:flex}.salary-summary-head,.salary-row-meta,.salary-total-row{margin-left:auto}.salary-summary-head{flex-wrap:nowrap;justify-content:flex-end}.salary-summary-actions{align-items:center;gap:16px;display:flex}.salary-list{gap:12px;display:grid}.salary-teacher-head{cursor:default}.salary-teacher-heading-main{gap:0;min-width:0;display:grid}.salary-teacher-title-toggle{min-width:0;color:inherit;text-align:left;cursor:pointer;border-radius:0;justify-items:start;padding:0;display:grid;box-shadow:none!important;background:0 0!important;border:0!important}.salary-teacher-title-toggle:hover:not(:disabled),.salary-teacher-title-toggle:focus-visible:not(:disabled){color:inherit!important;box-shadow:none!important;background:0 0!important;border-color:#0000!important;transform:none!important}.salary-teacher-title-toggle h3{text-align:left;margin:0}.salary-teacher-period-row{align-items:center;gap:4px;min-width:0;margin-top:10px;display:flex}.salary-period-line{margin:0}.salary-row{background:var(--bg-soft);cursor:pointer;border:0;border-radius:18px;gap:12px;padding:14px 16px;display:grid}.salary-lesson-title{color:#fff}.salary-substitution-badge{vertical-align:middle;color:#fbbf24;background:#94a3b81f;border-radius:6px;align-items:center;padding:2px 7px;font-size:.76em;font-weight:500;line-height:1.2;display:inline-flex}.salary-lesson-time-row{grid-template-columns:max-content max-content max-content minmax(0,1fr);align-items:center;gap:6px;width:100%;min-height:28px;margin-bottom:12px;display:grid}.salary-lesson-time-row .salary-lesson-time{margin:0}.salary-lesson-time-row>.salary-lesson-card-index,.salary-lesson-time-row>.salary-lesson-time,.salary-lesson-time-row>.salary-substitution-badge,.salary-lesson-time-row>.salary-lesson-card-meta{align-self:center}.salary-lesson-time-row>.salary-substitution-badge{justify-self:start}.salary-lesson-time-row>.salary-lesson-card-meta{grid-column:-2/-1;justify-self:end;margin-left:0}.salary-lesson-time-row>.salary-lesson-time{line-height:1}.teacher-portal-shell .teacher-salary-lesson-toggle .teacher-salary-lesson-number{color:#fff}.teacher-salary-substitution-badge{color:#fbbf24;vertical-align:middle;background:#94a3b81f;border-radius:6px;align-items:center;margin-left:6px;padding:2px 7px;font-size:.72rem;font-weight:500;line-height:1.2;display:inline-flex}.salary-adjustment-title{color:var(--accent)}.salary-adjustment-title.bonus{color:#34d399}.salary-adjustment-title.penalty{color:var(--danger)}.theme-light .salary-adjustment-title.bonus{color:#059669}.salary-row-main{justify-content:space-between;align-items:center;gap:16px;display:flex}.salary-row-main p,.salary-row-students p{color:var(--text-muted);margin:4px 0 0}.salary-row-details{gap:12px;display:grid}.salary-lesson-list{gap:10px;display:grid}.salary-lesson-card{cursor:pointer;background:#ffffff08;border:0;border-radius:14px;gap:10px;padding:12px 14px;display:grid}.theme-light .salary-lesson-card{background:#507dff0a}.salary-lesson-card.expanded{background:rgba(var(--palette-neutral-400-rgb,148, 163, 184), .12)}.theme-light .salary-lesson-card.expanded{background:rgba(var(--palette-neutral-500-rgb,100, 116, 139), .1)}.salary-lesson-card-main,.salary-lesson-card-meta{align-items:center;gap:12px;display:flex}.salary-lesson-card-main{display:block}.salary-lesson-card-index{border:1px solid var(--accent);color:#fff;background:var(--accent);font-variant-numeric:tabular-nums;border-radius:9px;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:.74rem;font-weight:800;line-height:1;display:inline-grid}.salary-lesson-card-meta{white-space:nowrap;align-self:center;margin-left:auto}.salary-lesson-card-meta strong{align-items:center;min-height:0;line-height:1;display:inline-flex}.salary-lesson-card-actions{justify-content:flex-end;align-items:center;display:flex}.salary-lesson-group-info-row{align-items:center;gap:10px;width:100%;min-width:0;display:flex}.salary-lesson-group-info{flex:auto;gap:1px;min-width:0;display:grid}.salary-lesson-group-info .salary-lesson-meta{min-width:0;color:var(--text-muted);flex:auto;margin:0}.salary-lesson-group-info .salary-lesson-type{color:var(--text-muted)}.salary-lesson-group-info-row .salary-lesson-card-actions{flex:0 0 32px;margin-left:auto}.salary-lesson-delete-square-button svg{color:var(--danger)!important;stroke:var(--danger)!important}.salary-delete-button{align-self:center}.salary-row-students ul{color:var(--text-main);margin:8px 0 0;padding-left:18px}.salary-row-students li+li{margin-top:4px}.salary-row-students li.salary-student-absent{border-radius:7px;width:fit-content;max-width:100%;padding:3px 8px;color:var(--danger)!important;background:color-mix(in srgb, var(--danger) 18%, transparent)!important}.salary-row-students span{color:var(--text-muted);margin-top:8px;display:inline-block}.salary-lesson-card-total{border-top:1px solid #ffffff14;justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;padding-top:12px;line-height:1;display:flex}.salary-lesson-card-total span,.salary-lesson-card-total strong{align-items:center;min-height:20px;margin-top:0;line-height:1;display:inline-flex}.theme-light .salary-lesson-card-total{border-top-color:#507dff1f}.salary-row-calculations{border-top:1px solid #ffffff14;grid-template-columns:auto auto;justify-content:end;place-items:center end;gap:8px 16px;padding-top:12px;display:grid}.theme-light .salary-row-calculations{border-top-color:#507dff1f}.salary-delete-button{padding:9px}.restore-button{color:var(--accent);padding:9px}.icon-button{place-items:center;width:38px;height:38px;padding:9px;line-height:0;display:grid}.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.icon-button.search-clear-button{width:20px;height:20px;padding:0}.icon-button.search-clear-button svg{width:16px;height:16px}.student-portal-calendar-lessons .ghost-button.icon-button.student-portal-calendar-lessons-close,.student-portal-calendar-lessons .ghost-button.icon-button.student-portal-calendar-lessons-close:hover,.student-portal-calendar-lessons .ghost-button.icon-button.student-portal-calendar-lessons-close:focus,.student-portal-calendar-lessons .ghost-button.icon-button.student-portal-calendar-lessons-close:active{box-shadow:none;background:0 0;border:0;transform:none}.salary-row p,.empty-state-text{color:var(--text-muted);margin:4px 0 0}.salary-lesson-meta{color:rgb(var(--palette-neutral-200-rgb,207, 224, 255));font-weight:500}.salary-row .salary-lesson-time{color:#fff;margin:0 0 3px;font-weight:700}.salary-row .salary-lesson-time-row>.salary-lesson-time{margin:0}.salary-lesson-group-title{margin:0;font-size:1.05rem;line-height:1.25;display:block}.salary-lesson-type,.salary-lesson-day,.salary-lesson-count,.salary-lesson-rate{color:rgb(var(--palette-neutral-200-rgb,207, 224, 255))}.salary-lesson-count,.salary-lesson-rate{font-weight:700}.theme-light .salary-lesson-meta{color:rgba(var(--palette-neutral-600-rgb,71, 85, 105), .92)}.theme-light .salary-lesson-count,.theme-light .salary-lesson-rate{color:rgb(var(--palette-neutral-900-rgb,15, 23, 42))}.salary-total-row{justify-content:flex-end;padding-top:16px}.journal-list{grid-template-columns:1fr}.salary-page-layout{grid-template-columns:minmax(460px,620px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.salary-page-side,.salary-portal-accrual-panel{gap:12px;display:grid}.salary-page-layout>.salary-portal-accrual-panel{grid-column:auto;align-self:start}.salary-portal-teacher-select{width:100%}.salary-portal-teacher-select .searchable-select-option:hover,.salary-portal-teacher-select .searchable-select-option:focus-visible,.salary-portal-teacher-select .searchable-select-option:active,.salary-portal-teacher-select .searchable-select-option[aria-selected=true],.salary-portal-teacher-select .searchable-select-option.selected{border-color:color-mix(in srgb, var(--text-muted) 30%, var(--border))!important;background:color-mix(in srgb, var(--text-muted) 10%, var(--bg-soft))!important}.salary-portal-teacher-select .searchable-select-check{color:var(--text-muted)}.selection-hint{background:var(--bg-soft);border-radius:16px;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:12px;padding:14px;display:grid}.selection-hint-icon{width:36px;height:36px;color:var(--text-muted);background:color-mix(in srgb, var(--text-muted) 10%, transparent);border-radius:12px;place-items:center;display:grid}.selection-hint-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.selection-hint strong{color:var(--text-main);font-size:.84rem;font-weight:600;line-height:1.4;display:block}.selection-hint p{color:var(--text-muted);margin:4px 0 0;font-size:.8rem;line-height:1.5}.salary-teacher-card.selected-from-picker{animation:.22s ease-out salary-card-slide-in}@keyframes salary-card-slide-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.attendance-page-layout{grid-template-columns:minmax(320px,410px) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width>=1200px){.attendance-page-layout{grid-template-columns:minmax(320px,min(620px,45vw)) minmax(0,1fr)}.attendance-student-panel{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);align-items:start;column-gap:12px}.attendance-student-panel>.section-heading,.attendance-student-panel>.attendance-student-select,.attendance-student-panel>.attendance-student-summary{grid-column:1/-1}.attendance-student-panel>.attendance-student-calendar{grid-column:1;min-width:0}.attendance-student-panel>.attendance-student-legend{text-align:left;grid-column:2;grid-template-columns:minmax(0,1fr);align-content:start;place-self:start stretch;width:auto}}.attendance-page-side,.attendance-student-panel,.attendance-student-summary,.attendance-student-metrics,.attendance-student-legend{gap:12px;display:grid}.attendance-student-panel{align-self:start}.attendance-student-panel>.student-portal-attendance-summary{grid-column:1/-1}.attendance-student-summary,.attendance-student-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-student-info-card,.attendance-student-metric{border:1px solid var(--border);background:var(--bg-soft);border-radius:16px;gap:4px;padding:14px 16px;display:grid}.attendance-student-info-card span,.attendance-student-metric span{color:var(--text-muted);font-size:.82rem}.attendance-student-info-card strong,.attendance-student-metric strong{font-size:1.05rem}.attendance-student-info-card p{color:var(--text-muted);margin:0}.attendance-student-calendar{width:100%}.attendance-student-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-student-day{cursor:default;box-shadow:none;border-width:1px;border-radius:10px}.attendance-student-day span{border-radius:inherit;width:100%;height:100%;font-weight:800}.attendance-day.attendance-student-day-scheduled{background:var(--bg-surface);color:#fff;border-color:#ffffffdb;font-weight:700}.attendance-day.attendance-student-day-completed{border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .72);background:rgba(var(--palette-mint-rgb,55, 240, 194), .18);color:rgb(var(--palette-mint-rgb,55, 240, 194));font-weight:800}.attendance-day.attendance-student-day-transfer{color:#ffcf6b;background:#ffcf6b38;border-color:#ffcf6bc2;font-weight:800}.attendance-day.attendance-student-day-transfer-out{color:rgb(var(--palette-neutral-300-rgb,216, 200, 255));background:#b99cff3d;border-color:#b99cffd1;font-weight:800}.attendance-day.attendance-student-day-refund{background:var(--bg-surface);color:#68a8ff;border-color:#68a8ffd1;font-weight:800}.attendance-day.attendance-student-day-absent{background:var(--bg-surface);color:#ff6b81;border-color:#ff6b81d1;font-weight:800}.attendance-day.attendance-student-day-scheduled span{color:#fff;background:0 0}.attendance-day.attendance-student-day-completed span,.attendance-day.attendance-student-day-transfer span,.attendance-day.attendance-student-day-transfer-out span,.attendance-day.attendance-student-day-refund span,.attendance-day.attendance-student-day-absent span{background:0 0}.attendance-day.attendance-student-day.today:not(:where(.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day)){background:#ffffff1a;border-color:#ffffffe6;box-shadow:inset 0 0 0 1px #ffffff2e}.attendance-day.attendance-student-day.today span{color:inherit}.attendance-day.attendance-student-day.today:not(:where(.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day)){color:#fff;background:#ffffff1a;border-color:#ffffffe6}.attendance-legend-item{color:var(--text-muted);align-items:center;gap:10px;font-size:.88rem;display:flex}.attendance-legend-dot{border:1px solid #0000;border-radius:999px;flex-shrink:0;width:12px;height:12px}.attendance-legend-dot.scheduled{background:var(--bg-surface);border-color:#ffffffdb}.attendance-legend-dot.completed{border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .72);background:rgba(var(--palette-mint-rgb,55, 240, 194), .48)}.attendance-legend-dot.transfer{background:#ffcf6b85;border-color:#ffcf6bc2}.attendance-legend-dot.transfer-out{background:#b99cff85;border-color:#b99cffd1}.attendance-legend-dot.refund{background:var(--bg-surface);border-color:#68a8ffd1}.attendance-legend-dot.absent{background:var(--bg-surface);border-color:#ff6b81d1}.theme-light .attendance-day.attendance-student-day-scheduled{border-color:rgba(var(--palette-neutral-900-rgb,15, 23, 42), .5);background:var(--bg-surface);color:rgb(var(--palette-neutral-900-rgb,15, 23, 42))}.theme-light .attendance-day.attendance-student-day-scheduled span{color:rgb(var(--palette-neutral-900-rgb,15, 23, 42))}.theme-light .attendance-legend-dot.scheduled{border-color:rgba(var(--palette-neutral-900-rgb,15, 23, 42), .5);background:var(--bg-surface)}.theme-light .attendance-day.attendance-student-day-scheduled.muted{border-color:rgba(var(--palette-neutral-900-rgb,15, 23, 42), .22);background:var(--bg-surface);color:rgba(var(--palette-neutral-900-rgb,15, 23, 42), .58)}.theme-light .attendance-day.attendance-student-day-scheduled.muted span{color:rgba(var(--palette-neutral-900-rgb,15, 23, 42), .58)}.theme-light .attendance-day.attendance-student-day-completed{color:#047857;background:#14b8a63d}.theme-light .attendance-day.attendance-student-day-transfer{color:#7c4a03;background:#ffb86b57;border-color:#ffb86b57}.theme-light .attendance-day.attendance-student-day-transfer-out{color:#6d28d9;background:#7c3aed2e;border-color:#7c3aed57}.theme-light .attendance-day.attendance-student-day-completed.muted{color:#04785794;background:#14b8a60f;border-color:#14b8a638}.theme-light .attendance-day.attendance-student-day-refund{background:var(--bg-surface);color:#1d4ed8;border-color:#3b82f680}.theme-light .attendance-day.attendance-student-day-transfer.muted{color:#7c4a0399;background:#ffb86b14;border-color:#ffb86b3d}.theme-light .attendance-day.attendance-student-day-transfer-out.muted{color:#6d28d999;background:#7c3aed14;border-color:#7c3aed3d}.theme-light .attendance-day.attendance-student-day-refund.muted{background:var(--bg-surface);color:#1d4ed899;border-color:#3b82f63d}.theme-light .attendance-day.attendance-student-day-absent{background:var(--bg-surface);color:#9f1239;border-color:#ff6b8180}.theme-light .attendance-day.attendance-student-day-absent.muted{background:var(--bg-surface);color:#9f123999;border-color:#ff6b813d}.theme-light .attendance-day.attendance-student-day.today:not(:where(.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day)){background:#ffffff57;border-color:#ffffffeb;box-shadow:inset 0 0 0 1px #ffffff3d}.theme-light .attendance-day.attendance-student-day.today.muted:not(:where(.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day)){background:#ffffff2e;border-color:#ffffff7a;box-shadow:inset 0 0 0 1px #ffffff1f}.theme-light .attendance-day.attendance-student-day.today:not(:where(.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day)){color:rgb(var(--palette-neutral-900-rgb,15, 23, 42));background:#ffffff57;border-color:#ffffffeb}.attendance-list{gap:12px;display:grid}.attendance-card,.attendance-card-meta,.attendance-picker-head,.attendance-weekdays{align-items:center;gap:12px;display:flex}.attendance-card{border-radius:24px;justify-content:space-between;padding:18px 20px}.attendance-card>div:first-child{min-width:0}.attendance-card p{color:var(--text-muted);margin:4px 0 0}.attendance-card-alert{color:#fff;text-align:center;background:#ef4444;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 7px;font-size:.78rem;font-weight:800;line-height:1;display:inline-flex}.attendance-card-title-row .attendance-card-alert{margin-left:0}.attendance-card-title-row>.attendance-card-status{min-width:0;max-width:100%;min-height:0;color:var(--danger);text-align:left;white-space:normal;background:0 0;border:0;border-radius:0;align-items:center;gap:5px;padding:0;font-size:.76rem;font-weight:700;line-height:1.2;display:inline-flex}.attendance-card-title-row>.attendance-card-status-pending{color:var(--danger)}.attendance-card-title-row>.attendance-card-status-refund{color:#69a8ff}.attendance-card-title-row>.attendance-card-status-excluded{color:#f59e0b}.attendance-card-title-row>.attendance-card-status-absent{color:#ff6b81}.attendance-card-status .attendance-card-status-icon{flex:0 0 16px;place-items:center;width:16px;height:16px;display:inline-grid}.attendance-card-status .attendance-card-status-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.theme-light .attendance-card-title-row>.attendance-card-status-refund{color:#2563eb}.theme-light .attendance-card-title-row>.attendance-card-status-excluded{color:#d97706}.theme-light .attendance-card-title-row>.attendance-card-status-absent{color:#dc2626}@media (width<=767px){.attendance-card-alert{min-width:20px;height:20px;padding:0 6px;font-size:.68rem}}.attendance-card-title-row{align-items:center;gap:10px;min-width:0;display:flex}.attendance-card-title-row h3{min-width:0}.attendance-card-meta{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.attendance-card:not(.attendance-card-pending) .attendance-card-meta{align-self:flex-end}@media (width>=1200px){.attendance-card{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:4px 24px;display:grid}.attendance-card>div:first-child{display:contents}.attendance-card-title-row{grid-area:1/1/auto/-1;width:100%}.attendance-card-title-row h3{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.attendance-card-title-row>.badge{flex:none;margin-left:auto}.attendance-card>div:first-child>p:first-of-type{grid-area:2/1}.attendance-card>div:first-child>p:nth-of-type(2){grid-area:3/1}.attendance-card>div:first-child>p{line-height:1.15}.attendance-card>div:first-child>p+p{margin-top:0}.attendance-card-meta{grid-area:2/2/span 2;justify-content:flex-end;place-self:end;width:max-content;max-width:100%;margin-left:0}}.attendance-card-actions{flex-wrap:nowrap;justify-content:center;align-items:center;gap:10px;width:max-content;max-width:100%;display:flex}.attendance-card-meta>.ghost-button:not(.icon-button){white-space:nowrap;border-radius:14px;min-height:38px;padding:9px 13px}.attendance-card-action{min-height:32px;box-shadow:none;color:var(--text-muted);font:inherit;white-space:nowrap;cursor:pointer;background:#ffffff12;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:.78rem;font-weight:700;line-height:1.2;display:inline-flex}.theme-light .attendance-card-action{background:#0f172a0f}.attendance-card-action:hover,.attendance-card-action:focus-visible{color:#fff}.attendance-card-action-icon{flex:0 0 18px;place-items:center;width:18px;height:18px;display:grid}.attendance-card-action-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.attendance-card-action-refund .attendance-card-action-icon{color:#69a8ff}.attendance-card-action-absent .attendance-card-action-icon{color:#ff6b81}.attendance-card-action-excluded .attendance-card-action-icon{color:#f59e0b}.attendance-card-action-icon-only{aspect-ratio:1;box-sizing:border-box;flex:0 0 32px;place-items:center;gap:0;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;line-height:0;display:grid}.attendance-card-pending .attendance-card-actions>.attendance-card-action.attendance-card-action-icon-only{aspect-ratio:1;box-sizing:border-box;border-radius:10px;flex:0 0 32px;place-items:center;gap:0;width:32px;min-width:32px;max-width:32px;height:32px;min-height:32px;max-height:32px;padding:0;line-height:0;display:grid}.attendance-card .attendance-card-action-icon-only{justify-content:center;place-items:center;padding:0;line-height:0;display:grid}.attendance-card .attendance-card-action-icon-only>.attendance-card-action-icon{place-self:center;place-items:center;margin:0;display:grid}.attendance-card .attendance-card-action-icon-only>.attendance-card-action-icon svg{margin:0;display:block}.attendance-card-action-delete .attendance-card-action-icon{color:#ff6b81}.attendance-card-pending .attendance-card-action-delete .attendance-card-action-icon svg{width:17px;height:17px}.attendance-card-action-rollback .attendance-card-action-icon{color:#69a8ff}.theme-light .attendance-card-action-refund .attendance-card-action-icon{color:#2563eb}.theme-light .attendance-card-action-absent .attendance-card-action-icon{color:#dc2626}.theme-light .attendance-card-action-excluded .attendance-card-action-icon{color:#d97706}.theme-light .attendance-card-action-delete .attendance-card-action-icon{color:#dc2626}.theme-light .attendance-card-action-rollback .attendance-card-action-icon{color:#2563eb}.attendance-picker{background:var(--bg-soft);border:1px solid var(--border);border-radius:16px;gap:8px;width:320px;max-width:100%;padding:10px;display:grid}.substitution-picker{justify-self:center;width:320px;max-width:100%}.student-start-date-field{color:var(--text-muted);gap:8px;display:grid}.student-start-date-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.student-start-date-head .student-restart-button{border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:7px 10px;font-size:.82rem;display:inline-flex}.student-restart-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:15px;height:15px}.student-start-date-head .student-restart-button:disabled{color:rgb(var(--palette-neutral-200-rgb,214, 218, 225));background:rgb(var(--palette-neutral-500-rgb,98, 106, 120));opacity:1;box-shadow:none}.theme-light .student-start-date-head .student-restart-button:disabled{color:rgb(var(--palette-neutral-500-rgb,107, 114, 128));background:rgb(var(--palette-neutral-200-rgb,209, 213, 219))}.student-start-picker{justify-self:start}.attendance-day.student-start-lesson-day{color:rgb(var(--palette-neutral-300-rgb,216, 200, 255));background:#b99cff3d;border-color:#b99cffc7;font-weight:900}.attendance-day.student-start-debt-day{color:#ff6b81;background:#ff6b8147;border-color:#ff6b81d1;font-weight:900}.theme-light .attendance-day.student-start-lesson-day{color:#6d28d9;background:#7c3aed2e}.theme-light .attendance-day.student-start-debt-day{color:#9f1239;background:#ff6b8147}.attendance-day.student-start-debt-day small{color:#fff;background:#ff6b81}.student-start-date-summary{gap:4px;font-size:.9rem;line-height:1.35;display:grid}.student-start-date-summary strong{color:var(--text-main)}.student-start-date-summary-debt strong{color:#ff6b81}.student-start-date-summary-clear strong{color:rgb(var(--palette-mint-rgb,55, 240, 194))}.substitution-picker .attendance-day{font-size:.78rem}.substitution-compact-field{justify-self:center;width:320px;max-width:100%}.substitution-readonly-value{border-radius:16px;min-height:52px;padding:13px 14px;font-weight:500}.substitution-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-self:center;gap:10px;width:320px;max-width:100%;display:grid}.substitution-actions button{width:100%}.attendance-modal-name{color:#fff;margin:4px 0 0;font-size:1.35rem;font-weight:800}.theme-light .attendance-modal-name{color:var(--text-main)}.attendance-picker-head{justify-content:space-between}.attendance-picker-head .icon-button{justify-content:center;align-items:center;padding:0;display:flex}.attendance-picker-head .icon-button span{text-align:center;justify-content:center;align-items:center;width:100%;font-size:1.4rem;line-height:1;display:flex}.attendance-weekdays,.attendance-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.attendance-weekdays span{color:var(--text-muted);text-align:center;font-size:.74rem;font-weight:700}.attendance-day{aspect-ratio:1;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-main);cursor:pointer;border-radius:8px;place-items:center;min-width:0;padding:0;font-size:.82rem;display:grid;position:relative}.attendance-day:not(:disabled):not(:where(.selected,[aria-pressed=true],.today,.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)):hover{background:var(--bg-surface);color:#fff;border-color:#ffffffe6}.attendance-day span{text-align:center;z-index:1;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.attendance-day small{min-width:14px;height:14px;color:rgb(var(--palette-neutral-900-rgb,17, 24, 39));background:#ffffffe6;border-radius:999px;place-items:center;font-size:.62rem;font-weight:900;line-height:1;display:grid;position:absolute;bottom:3px;right:4px}.attendance-day.muted{opacity:.42}.attendance-day.attendance-student-day-scheduled.muted,.attendance-day.attendance-student-day-completed.muted,.attendance-day.attendance-student-day-transfer.muted,.attendance-day.attendance-student-day-transfer-out.muted,.attendance-day.attendance-student-day-refund.muted,.attendance-day.attendance-student-day-absent.muted{opacity:1}.attendance-day.attendance-student-day-scheduled.muted{background:var(--bg-surface);color:#ffffffa8;border-color:#ffffff61}.attendance-day.attendance-student-day-scheduled.muted span{color:#ffffffa8}.attendance-day.attendance-student-day-completed.muted{border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .28);background:rgba(var(--palette-mint-rgb,55, 240, 194), .07);color:rgba(var(--palette-mint-rgb,55, 240, 194), .62)}.attendance-day.attendance-student-day-transfer.muted{color:#ffcf6ba3;background:#ffcf6b14;border-color:#ffcf6b52}.attendance-day.attendance-student-day-transfer-out.muted{color:rgba(var(--palette-neutral-300-rgb,216, 200, 255), .64);background:#b99cff14;border-color:#b99cff57}.attendance-day.attendance-student-day-refund.muted{background:var(--bg-surface);color:#68a8ffa8;border-color:#68a8ff57}.attendance-day.attendance-student-day-absent.muted{background:var(--bg-surface);color:#ff6b81a3;border-color:#ff6b8157}.attendance-day.attendance-student-day.today.muted:not(:where(.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day)){background:#ffffff14;border-color:#ffffff7a;box-shadow:inset 0 0 0 1px #ffffff14}.attendance-day.study-day{color:rgb(var(--palette-neutral-300-rgb,216, 200, 255));background:#b99cff3d;border-color:#b99cffc7;font-weight:800}.theme-light .attendance-day.study-day{color:#6d28d9;background:#7c3aed2e}.attendance-day.transfer-day{color:#ffcf6b;background:#ffb86b3d;border-color:#ffb86b8f}.attendance-day.attendance-past-lesson-day{border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .72);background:rgba(var(--palette-mint-rgb,55, 240, 194), .22);color:rgb(var(--palette-mint-rgb,55, 240, 194));font-weight:900}.theme-light .attendance-day.attendance-past-lesson-day{color:#047857;background:#14b8a63d}.attendance-day.attendance-replaced-lesson-day{color:rgb(var(--palette-neutral-300-rgb,216, 200, 255));background:#b99cff47;border-color:#b99cffd1;font-weight:900}.theme-light .attendance-day.attendance-replaced-lesson-day{color:#6d28d9;background:#7c3aed38}.attendance-day.attendance-upcoming-lesson-day{color:#fff;background:0 0;border-color:#ffffffc7;font-weight:800}.attendance-day.attendance-upcoming-lesson-day span{color:#fff}.theme-light .attendance-day.attendance-upcoming-lesson-day{border-color:rgba(var(--palette-neutral-800-rgb,36, 48, 71), .42);background:rgba(var(--palette-neutral-50-rgb,248, 251, 255), .72);color:rgb(var(--palette-neutral-800-rgb,36, 48, 71));font-weight:800}.theme-light .attendance-day.attendance-upcoming-lesson-day span{color:rgb(var(--palette-neutral-800-rgb,36, 48, 71))}.attendance-day.attendance-substitution-lesson-day{color:#ffcf6b;background:#ffb86b4d;border-color:#ffcf6bd1;font-weight:900}.theme-light .attendance-day.attendance-substitution-lesson-day{color:#7c4a03;background:#ffb86b61}.attendance-day.attendance-past-substitution-day{border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .76);background:rgba(var(--palette-mint-rgb,55, 240, 194), .24);color:rgb(var(--palette-mint-rgb,55, 240, 194));font-weight:900}.theme-light .attendance-day.attendance-past-substitution-day{color:#047857;background:#14b8a642}.teacher-portal-graph-section .attendance-day.teacher-calendar-day-completed{color:#34d399;background:#34d39942;border-color:#34d399d1;font-weight:900}.theme-light .teacher-portal-graph-section .attendance-day.teacher-calendar-day-completed{color:#047857;background:#0596692e;border-color:#05966970}.teacher-portal-graph-section .attendance-day.teacher-calendar-day-upcoming{color:#fff;background:0 0;border-color:#ffffffdb;font-weight:900}.theme-light .teacher-portal-graph-section .attendance-day.teacher-calendar-day-upcoming{border-color:rgba(var(--palette-neutral-900-rgb,17, 24, 39), .72);color:rgb(var(--palette-neutral-900-rgb,17, 24, 39));background:0 0}.teacher-portal-graph-section .attendance-day.teacher-calendar-day-upcoming-substitution{color:#fbbf24;background:#fbbf2452;border-color:#ffffffe6;font-weight:900}.theme-light .teacher-portal-graph-section .attendance-day.teacher-calendar-day-upcoming-substitution{border-color:rgba(var(--palette-neutral-900-rgb,17, 24, 39), .72);color:#92400e;background:#fbbf244d}.teacher-portal-graph-section .attendance-day.teacher-calendar-day-replaced{color:rgb(var(--palette-neutral-300-rgb,216, 200, 255));background:#8b5cf647;border-color:#b99cffdb;font-weight:900}.theme-light .teacher-portal-graph-section .attendance-day.teacher-calendar-day-replaced{color:#6d28d9;background:#7c3aed33;border-color:#7c3aed70}.teacher-portal-graph-section .attendance-day.teacher-calendar-day-cancelled{background:var(--bg-surface);color:#fca5a5;border-color:#f87171d6;font-weight:900}.theme-light .teacher-portal-graph-section .attendance-day.teacher-calendar-day-cancelled{background:var(--bg-surface);color:#b91c1c;border-color:#dc26266b}.attendance-day.today:not(:where(.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)){background:#ffffff1a;border-color:#ffffffe6;box-shadow:inset 0 0 0 1px #ffffff2e}.attendance-day.selected:not(:where(.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)){color:#fff;font-weight:900}.attendance-day.selected:not(:where(.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)) span{color:#fff}.student-portal-schedule-picker .attendance-day.student-portal-calendar-day.selected:not(:where(.study-day,.transfer-day,.attendance-cancelled-lesson-day,.attendance-replaced-lesson-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)){border-color:#ffffffeb}.student-portal-schedule-picker .attendance-day.student-portal-calendar-day.selected:not(:where(.study-day,.transfer-day,.attendance-cancelled-lesson-day,.attendance-replaced-lesson-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)) span{color:#fff}.attendance-day.selection-1{background:#68a8ff3d;border-color:#68a8ffb3}.attendance-day.selection-2{border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .72);background:rgba(var(--palette-mint-rgb,55, 240, 194), .26)}.attendance-day.selection-3{background:#ffb86b47;border-color:#ffb86bbd}.attendance-day.selection-4{background:#ff7fb747;border-color:#ff7fb7c2}.attendance-day.selection-5{background:#b99cff4d;border-color:#b99cffc7}.attendance-day.attendance-cancelled-lesson-day,.attendance-day.attendance-cancelled-lesson-day.selected,.attendance-day.attendance-cancelled-lesson-day:disabled,.attendance-day.attendance-cancelled-lesson-day.muted{opacity:1;box-shadow:none;font-weight:900;background:var(--bg-surface)!important;color:#f87171!important;border-color:#f87171e6!important}.attendance-day.attendance-cancelled-lesson-day small{color:#f87171;background:0 0}.theme-light .attendance-day.attendance-cancelled-lesson-day,.theme-light .attendance-day.attendance-cancelled-lesson-day.selected,.theme-light .attendance-day.attendance-cancelled-lesson-day:disabled,.theme-light .attendance-day.attendance-cancelled-lesson-day.muted{background:var(--bg-surface)!important;color:#dc2626!important;border-color:#dc2626b8!important}.attendance-day.attendance-cancelled-lesson-day span,.attendance-day.attendance-cancelled-lesson-day.selected span,.attendance-day.attendance-cancelled-lesson-day small{color:inherit!important}.attendance-day.student-start-debt-day,.attendance-day.student-start-debt-day.selected,.attendance-day.student-start-debt-day.muted{color:#ff6b81;background:#ff6b8152;border-color:#ff6b81e6;font-weight:900}.attendance-day.student-start-debt-day span,.attendance-day.student-start-debt-day.selected span{color:#fff}.theme-light .attendance-day.student-start-debt-day,.theme-light .attendance-day.student-start-debt-day.selected,.theme-light .attendance-day.student-start-debt-day.muted{color:#9f1239;background:#ff6b814d}.theme-light .attendance-day.student-start-debt-day span,.theme-light .attendance-day.student-start-debt-day.selected span{color:#9f1239}.attendance-day.student-start-substitution-day,.attendance-day.student-start-substitution-day.selected,.attendance-day.student-start-substitution-day.muted{color:#ffcf6b;background:#ffb86b57;border-color:#ffb86be0;font-weight:900}.attendance-day.student-start-substitution-day span,.attendance-day.student-start-substitution-day.selected span{color:#fff}.attendance-day.student-start-substitution-day small{color:#281600;background:#ffcf6b}.theme-light .attendance-day.student-start-substitution-day,.theme-light .attendance-day.student-start-substitution-day.selected,.theme-light .attendance-day.student-start-substitution-day.muted{color:#92400e;background:#ffb86b57}.theme-light .attendance-day.student-start-substitution-day span,.theme-light .attendance-day.student-start-substitution-day.selected span{color:#92400e}.attendance-day:disabled{cursor:not-allowed}.attendance-status-field .chip-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.attendance-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.attendance-status-field .chip{--attendance-status-color:var(--text-main);--attendance-status-border:var(--border);--attendance-status-fill:transparent;border-color:var(--attendance-status-border);width:100%;min-width:0;min-height:36px;color:var(--attendance-status-color);text-align:center;white-space:nowrap;box-shadow:none;background:0 0;border-radius:12px;justify-content:center;padding:5px 3px;font-size:.7rem;font-weight:700;line-height:1.15;transition:transform .16s,border-color .16s,color .16s}.attendance-status-field .chip.attendance-status-chip-excluded{--attendance-status-color:#f59e0b;--attendance-status-border:#f59e0bdb;--attendance-status-fill:#f59e0b2e}.attendance-status-field .chip.attendance-status-chip-refund{--attendance-status-color:#68a8ff;--attendance-status-border:#68a8ffd1;--attendance-status-fill:#68a8ff2e}.attendance-status-field .chip.attendance-status-chip-absent{--attendance-status-color:#ff6b81;--attendance-status-border:#ff6b81d1;--attendance-status-fill:#ff6b812e}.attendance-status-field .chip:hover,.attendance-status-field .chip:focus-visible{border-color:var(--attendance-status-color);color:var(--attendance-status-color);background:0 0;transform:translateY(-1px)}.attendance-status-field .chip.active{border-color:var(--attendance-status-color);background:var(--attendance-status-fill);color:var(--attendance-status-color);box-shadow:none;font-weight:800}.theme-light .attendance-status-field .chip.attendance-status-chip-excluded{--attendance-status-color:#b45309;--attendance-status-border:#d977069e;--attendance-status-fill:#f59e0b24}.theme-light .attendance-status-field .chip.attendance-status-chip-refund{--attendance-status-color:#2563eb;--attendance-status-border:#2563eb85;--attendance-status-fill:#3b82f624}.theme-light .attendance-status-field .chip.attendance-status-chip-absent{--attendance-status-color:#e11d48;--attendance-status-border:#e11d4885;--attendance-status-fill:#f43f5e24}.attendance-actions button{text-align:center;justify-content:center;width:100%}.trash-list{gap:12px;display:grid}.trash-page,.trash-page>.panel,.trash-page>.page-stack,.trash-page .panel{min-width:0}.trash-people-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.trash-people-grid>.panel{min-width:0}.trash-person-list{gap:10px}.trash-card{background:linear-gradient(135deg, #ffffff0e, #ffffff05), var(--bg-card);border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;padding:13px;display:grid;position:relative;box-shadow:0 12px 30px #00000029,inset 0 1px #ffffff0d}.trash-card:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-soft));opacity:.9;border-radius:999px;width:3px;position:absolute;inset:10px auto 10px 0}.trash-card-main{align-items:center;gap:12px;min-width:0;display:flex}.trash-card-avatar{color:#dcfff5;background:linear-gradient(135deg, rgba(var(--palette-accent-rgb,35, 199, 164), .42), #7ea6ff47), #ffffff0f;border:1px solid rgba(var(--palette-accent-rgb,35, 199, 164), .24);text-transform:uppercase;border-radius:14px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:.82rem;font-weight:900;display:inline-grid}.trash-card-avatar.teacher-avatar{color:rgb(var(--palette-neutral-100-rgb,238, 242, 255));background:linear-gradient(135deg,#7ea6ff6b,#ff81812e),#ffffff0f;border-color:#7ea6ff42}.trash-card-copy{gap:4px;min-width:0;display:grid}.trash-card h3,.trash-card p,.trash-card span{margin:0}.trash-card h3{color:var(--text-main);overflow-wrap:anywhere;font-size:.98rem;line-height:1.18}.trash-card p{color:var(--text-muted);font-size:.87rem;line-height:1.25}.empty-panel{justify-content:space-between;align-items:center;gap:16px;display:flex}.trash-card-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.trash-page .trash-card-actions .icon-button,.trash-page .trash-lesson-row .salary-row-meta .icon-button{aspect-ratio:1;width:32px;min-width:32px;height:32px;min-height:32px;box-shadow:none;background:#ffffff12;border:0;border-radius:10px;flex:0 0 32px;padding:0}.trash-page .trash-card-actions .icon-button svg,.trash-page .trash-lesson-row .salary-row-meta .icon-button svg{width:17px;height:17px}.theme-light .trash-page .trash-card-actions .icon-button,.theme-light .trash-page .trash-lesson-row .salary-row-meta .icon-button{background:#0f172a0f}.theme-light .trash-card{background:linear-gradient(135deg, #fffffff5, rgba(var(--palette-neutral-50-rgb,245, 248, 255), .86)), var(--bg-card);box-shadow:0 12px 28px rgba(var(--palette-neutral-600-rgb,65, 82, 118), .1), inset 0 1px 0 #ffffffe6}.theme-light .trash-card-avatar{color:#047857;background:linear-gradient(135deg, rgba(var(--palette-accent-rgb,26, 198, 164), .16), #507dff1c), #fff;border-color:rgba(var(--palette-accent-rgb,26, 198, 164), .22)}.theme-light .trash-card-avatar.teacher-avatar{color:#4251a6;background:linear-gradient(135deg,#507dff26,#d85b5b14),#fff;border-color:#507dff33}.theme-light .trash-card h3{color:rgb(var(--palette-neutral-800-rgb,36, 48, 71))}.theme-light .trash-card p{color:rgb(var(--palette-neutral-600-rgb,83, 97, 119))}.journal-meta{text-align:right;justify-content:flex-end;align-items:center;margin-left:auto}.loading-screen{background:rgb(var(--palette-neutral-800-rgb,41, 43, 49));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;place-items:center;display:grid;position:fixed;inset:0}.loading-content{flex-direction:column;align-items:center;gap:14px;width:min(420px,86vw);display:flex}.loading-cat{width:min(210px,56vw);height:min(210px,56vw)}.loading-progress{background:#ffffff21;border-radius:999px;width:min(150px,42vw);height:6px;overflow:hidden;box-shadow:inset 0 1px 2px #04081240}.loading-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#22c55e,#a3e635,#10b981);width:48%;height:100%;animation:1.25s ease-in-out infinite loading-progress-slide;display:block;box-shadow:0 0 12px #22c55e85}.loading-error{color:#f8fbff;text-align:center;box-shadow:none;background:0 0;border:0;border-radius:18px;justify-items:center;gap:10px;padding:20px;display:grid}.loading-error strong{font-size:1.05rem}.loading-error p{color:#f8fbffb8;margin:0;line-height:1.5}@keyframes loading-progress-slide{0%{transform:translate(-115%)}50%{transform:translate(110%)}to{transform:translate(215%)}}@media (prefers-reduced-motion:reduce){.loading-progress-fill{width:100%;animation:none}}.modal-backdrop{background:rgba(var(--palette-neutral-950-rgb,4, 8, 18), .6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2500;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-backdrop.crm-modal-backdrop{grid-template-columns:minmax(0,1fr);width:auto;height:auto;min-height:100dvh;overflow:hidden auto}.modal-backdrop:has(.modal-card-journal-transaction){z-index:2510}.app-toast-stack{z-index:90;pointer-events:none;flex-direction:column;gap:12px;width:min(360px,100vw - 32px);display:flex;position:fixed;top:24px;right:24px}.app-toast{--app-toast-accent:#f6c928;--app-toast-accent-rgb:246, 201, 40;background:radial-gradient(circle at 0 50%, rgba(var(--app-toast-accent-rgb), .16), transparent 52%), rgb(var(--palette-neutral-800-rgb,34, 42, 48));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;pointer-events:none;border:1px solid #ffffff09;border-radius:24px 0 24px 24px;width:100%;min-height:76px;padding:16px 14px 16px 18px;transition:opacity .2s,transform .24s cubic-bezier(.2,.8,.2,1);overflow:hidden;transform:translate(110%)scale(.98);box-shadow:0 12px 28px #00000061,0 2px 8px #00000038,inset 0 1px #ffffff06}.app-toast-success{--app-toast-accent:#09d6a0;--app-toast-accent-rgb:9, 214, 160}.app-toast-saving{--app-toast-accent:#f6c928;--app-toast-accent-rgb:246, 201, 40}.app-toast-error{--app-toast-accent:#f04455;--app-toast-accent-rgb:240, 68, 85}.app-toast-visible{opacity:1;pointer-events:auto;transform:translate(0,0)scale(1)}.app-toast-content{align-items:center;gap:14px;min-height:42px;display:flex}.app-toast-icon{width:22px;height:22px;color:rgb(var(--palette-neutral-900-rgb,23, 32, 39));background:var(--app-toast-accent);box-shadow:0 0 0 5px rgba(var(--app-toast-accent-rgb), .08), 0 0 16px rgba(var(--app-toast-accent-rgb), .3);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.app-toast-icon svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.app-toast-icon-saving{animation:.9s ease-in-out infinite app-toast-saving-pulse}@keyframes app-toast-saving-pulse{0%,to{opacity:.58;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.app-toast-icon-saving{animation:none}}.app-toast-copy{flex:1;min-width:0}.app-toast-copy strong{color:rgb(var(--palette-neutral-50-rgb,247, 248, 250));margin-bottom:3px;font-size:.94rem;font-weight:650;line-height:1.25;display:block}.app-toast-copy p{color:rgb(var(--palette-neutral-300-rgb,174, 182, 189));margin:0;font-size:.82rem;line-height:1.35}.app-toast-close{width:24px;height:24px;color:rgb(var(--palette-neutral-500-rgb,127, 137, 145));cursor:pointer;opacity:0;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;transition:color .16s,background .16s,opacity .16s;display:inline-flex}.app-toast:hover .app-toast-close,.app-toast:focus-within .app-toast-close{opacity:1}.app-toast-close:hover,.app-toast-close:focus-visible{color:#fff;background:#ffffff12}.app-toast-close span{font-size:1rem;line-height:1}.theme-dark .app-toast-close,.student-portal-screen.theme-dark~.app-toast-stack .app-toast-close{color:rgb(var(--palette-neutral-500-rgb,127, 137, 145))!important}.theme-dark .app-toast-close:hover,.theme-dark .app-toast-close:focus-visible,.student-portal-screen.theme-dark~.app-toast-stack .app-toast-close:hover,.student-portal-screen.theme-dark~.app-toast-stack .app-toast-close:focus-visible{color:#fff!important}@media (width<=640px){.app-toast-stack{gap:8px;width:min(348px,100vw - 24px);bottom:12px;right:12px}.app-toast{border-radius:24px 0 24px 24px;min-height:70px;padding:14px 12px 14px 16px}.app-toast-content{gap:12px}.app-toast-icon{width:21px;height:21px}.app-toast-icon svg{width:16px;height:16px}.app-toast-copy strong{margin-bottom:2px;font-size:.88rem}.app-toast-copy p{font-size:.82rem;line-height:1.35}}.modal-card{border-radius:28px;width:min(100%,520px);padding:22px}.modal-card-wide{width:min(100%,760px)}.modal-card-student{width:min(710px,100vw - 40px)}.modal-card.modal-card-student-wizard{width:min(560px,100vw - 32px);max-height:calc(100dvh - 32px);overflow:hidden}.student-wizard-panel{width:100%;min-width:0}.student-wizard-heading{align-items:flex-start;margin-bottom:12px}.student-wizard-heading>div:first-child{gap:7px;width:100%;display:grid}.student-wizard-title-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.student-wizard-title-row>.modal-close-button{flex:none;margin-left:auto}.student-wizard-status-switch{background:0 0;border:0;border-radius:0;justify-content:flex-start;gap:8px;width:auto;min-height:28px;padding:0}.student-wizard-status-switch:hover,.student-wizard-status-switch:focus,.student-wizard-status-switch:focus-visible,.student-wizard-status-switch:active{box-shadow:none;background:0 0;border-color:#0000;transform:none}.student-wizard-status-label.active{color:#47e68a;font-weight:800}.student-wizard-status-label.paused{color:#f6c453;font-weight:800}.theme-light .student-wizard-status-label.active{color:#148044}.theme-light .student-wizard-status-label.paused{color:#9a6600}.student-wizard-heading p{color:var(--text-muted);margin:0}.student-wizard-counter{color:var(--accent);letter-spacing:.02em;text-align:right;white-space:nowrap;flex:none;min-width:30px;font-size:.76rem;font-weight:800}.student-wizard-progress-row{align-items:center;gap:10px;margin-bottom:18px;display:flex}.student-wizard-progress{background:color-mix(in srgb, var(--border) 72%, transparent);border-radius:999px;flex:auto;height:5px;overflow:hidden}.student-wizard-progress span{border-radius:inherit;background:linear-gradient(90deg,#13b981 0%,#22c55e 52%,#47e6a1 100%);height:100%;transition:width .18s;display:block;box-shadow:0 0 12px #22c55e57}.student-wizard-form{grid-template-rows:minmax(0,1fr) auto;min-height:min(490px,100dvh - 172px)}.student-wizard-content{scrollbar-gutter:stable;min-height:0;padding:2px 4px 4px 1px;overflow:hidden auto}.student-wizard-step{align-content:start;gap:16px;min-width:0;display:grid}.student-wizard-step .form-columns>label{flex:1 1 0;min-width:0}.student-wizard-step .student-phone-input{flex:none;min-width:0;width:100%!important}.student-wizard-step .student-phone-field{width:calc(50% + 36px);max-width:100%}.student-wizard-step .student-phone-group{grid-template-columns:minmax(0,1fr);gap:10px;width:100%;display:grid}.student-wizard-step .student-phone-item{grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:6px;width:100%;display:grid}.student-wizard-step .student-phone-remove,.student-wizard-step .student-phone-add{justify-self:center;width:38px;min-width:38px}.student-wizard-required-label{align-items:center;gap:3px;display:inline-flex}.student-wizard-required-label>span,.student-wizard-required-note>span{color:var(--accent);font-weight:900}.student-wizard-required-note{color:var(--text-muted);margin:1px 0 0;font-size:.78rem;line-height:1.4}.modal-card-student-wizard .student-wizard-step input::placeholder,.modal-card-student-wizard .student-wizard-step textarea::placeholder{color:color-mix(in srgb, var(--text-muted) 56%, var(--bg-surface));opacity:1}.student-wizard-derived-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.student-wizard-assignment-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.student-wizard-assignment-grid>*{min-width:0}@media (width>=768px){.student-wizard-assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.student-wizard-derived-grid label{min-width:0}.student-wizard-schedule-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;min-width:0;display:grid}.student-wizard-schedule-details{align-content:start;gap:18px;min-width:0;display:grid}.student-wizard-study-days{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.45}.student-wizard-study-days strong{color:var(--text-main);font-weight:700}.student-wizard-validation-message{color:color-mix(in srgb, var(--danger) 76%, white);background:0 0;border:0;border-radius:0;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;margin-top:-4px;padding:0;font-size:.82rem;font-weight:650;line-height:1.4;display:grid}.student-wizard-validation-message svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.student-wizard-authorization{gap:14px}.student-invitation-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.student-invitation-heading>div{gap:4px;min-width:0;display:grid}.student-invitation-heading strong{color:var(--text-main);font-size:.96rem}.student-invitation-heading span{color:var(--text-muted);font-size:.78rem;line-height:1.4}.student-invitation-heading button{flex:none;min-width:108px;padding:9px 14px}.student-invitation-message{resize:vertical;min-height:142px;line-height:1.55}.student-invitation-message[readonly]{cursor:default;background:color-mix(in srgb, var(--bg-surface) 82%, transparent);color:var(--text-main)}.student-invitation-copy-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.student-invitation-copy-actions-stacked{grid-template-columns:1fr}.student-invitation-copy-actions :is(button,a){justify-content:center;align-items:center;gap:8px;min-width:0;padding-inline:12px;display:inline-flex}.student-invitation-copy-actions .material-symbols-rounded{flex:none;font-size:19px}.student-portal-open-button{text-decoration:none}.student-invitation-link-block{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-surface) 76%, transparent);border-radius:15px;gap:7px;padding:13px 14px;display:grid}.student-invitation-link-block>span{color:var(--text-muted);font-size:.74rem;font-weight:700}.student-invitation-link-row{align-items:center;gap:12px;min-width:0;display:flex}.student-invitation-url{min-width:0;color:var(--accent);overflow-wrap:anywhere;flex:auto;font-size:.82rem;font-weight:700;line-height:1.45}.student-invitation-link-actions{flex:none;align-items:center;gap:4px;margin-left:auto;display:flex}.student-invitation-link-action{width:34px;height:34px;color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;place-items:center;padding:0;display:grid}.student-invitation-link-block-enhanced .student-invitation-link-action:not(.student-invitation-access-toggle){color:var(--text-muted)}.student-invitation-link-action:hover,.student-invitation-link-action:focus-visible{background:color-mix(in srgb, var(--accent) 14%, transparent);outline:none}.student-invitation-link-block-enhanced .student-invitation-link-action:not(.student-invitation-access-toggle):hover,.student-invitation-link-block-enhanced .student-invitation-link-action:not(.student-invitation-access-toggle):focus-visible{color:#fff}.student-invitation-link-action:disabled{cursor:not-allowed;opacity:.42}.student-invitation-link-action .material-symbols-rounded{flex:none;font-size:19px}.student-invitation-access-toggle.deactivate{color:var(--danger)}.student-invitation-access-toggle.deactivate:hover,.student-invitation-access-toggle.deactivate:focus-visible{background:color-mix(in srgb, var(--danger) 14%, transparent)}.student-invitation-link-block.inactive{border-color:color-mix(in srgb, var(--danger) 34%, var(--border))}.student-invitation-link-block.inactive>span,.student-invitation-link-block.inactive .student-invitation-url{color:var(--text-muted)}.theme-light .student-wizard-validation-message{color:color-mix(in srgb, var(--danger) 86%, #5f1010);background:0 0}@media (width>=641px){.student-wizard-schedule-layout{grid-template-columns:minmax(0,320px) minmax(0,1fr)}}.student-wizard-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:4px;display:grid}.student-wizard-actions button{justify-content:center;width:100%}.student-add-actions{align-items:stretch;gap:8px;display:flex}.student-add-actions .student-add-button{flex:auto}.teacher-add-actions{min-width:0}.teacher-wizard-rate-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.teacher-wizard-rate-grid label{min-width:0}.teacher-editor-rate-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.teacher-editor-rate-grid label{min-width:0}.teacher-editor-actions{margin-top:auto;padding-top:6px}@media (width<=520px){.teacher-wizard-rate-grid,.teacher-editor-rate-grid,.teacher-form-panel-page .teacher-name-fields,.teacher-form-panel-page .teacher-contact-fields{grid-template-columns:1fr}}@media (width>=768px) and (width<=1199px){.student-search-panel .student-add-actions{grid-column:5/7;width:100%}}@media (width<=767px){.student-search-panel .student-add-actions{grid-column:1/-1;width:100%}.teacher-filter-panel .teacher-add-actions{width:100%}.student-add-actions .student-add-button{width:auto}.modal-backdrop-student-wizard{padding:8px}.modal-card.modal-card-student-wizard{border-radius:20px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:14px}.student-wizard-heading{margin-bottom:9px}.student-wizard-heading h3{font-size:1.05rem}.student-wizard-heading p{font-size:.78rem}.student-wizard-counter{font-size:.7rem}.student-wizard-progress-row{margin-bottom:12px}.student-wizard-form{gap:10px;min-height:min(470px,100dvh - 132px)}.student-wizard-step{gap:12px}.student-wizard-name-row{flex-direction:column;gap:10px}.student-wizard-step .student-phone-input{width:100%!important}.student-wizard-step .student-phone-field{width:100%}.student-wizard-actions{gap:8px}.student-invitation-heading{align-items:flex-start}.student-invitation-copy-actions{grid-template-columns:1fr}.student-invitation-link-block-enhanced .student-invitation-link-row{grid-template-columns:minmax(0,1fr);gap:6px;display:grid}.student-invitation-link-block-enhanced .student-invitation-url{width:100%;font-size:.76rem}.student-invitation-link-block-enhanced .student-invitation-link-actions{justify-content:flex-end;margin-left:0}.student-wizard-schedule-details .student-start-date-summary{white-space:nowrap;scrollbar-width:none;flex-wrap:nowrap;gap:6px;font-size:clamp(.64rem,2.7vw,.76rem);display:flex;overflow-x:auto}.student-wizard-schedule-details .student-start-date-summary::-webkit-scrollbar{display:none}.student-wizard-schedule-details .student-start-date-summary>span+span:before{content:"|";color:var(--text-muted);margin-right:6px}}@media (width<=380px){.student-wizard-derived-grid,.student-wizard-step .student-form-inline-fields{grid-template-columns:1fr}.student-wizard-step .student-tariff-picker-row{grid-template-columns:minmax(0,1fr) auto}}@media (height<=560px){.modal-card.modal-card-student-wizard{padding-block:10px}.student-wizard-heading{margin-bottom:6px}.student-wizard-progress-row{margin-bottom:8px}.student-wizard-form{min-height:calc(100dvh - 110px)}}.modal-card-attendance{width:min(100%,380px)}.modal-card-teacher{width:min(100%,520px)}.teacher-rate-fields{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.teacher-contact-fields,.teacher-name-fields{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.teacher-form-content{gap:16px;display:grid}.teacher-form-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.teacher-form-actions button{justify-content:center;width:100%}.modal-card-payment{width:min(100%,368px)}.modal-card-payment .modal-close-button,.modal-card-payment .modal-close-button:hover,.modal-card-payment .modal-close-button:focus,.modal-card-payment .modal-close-button:focus-visible,.modal-card-payment .modal-close-button:active{box-shadow:none!important;background:0 0!important;border-color:#0000!important}.modal-card-payment .modal-close-button{width:20px;min-width:20px;height:20px;min-height:20px;color:var(--text-muted);flex:0 0 20px;justify-self:end;place-items:center;margin-left:auto;padding:0;transition:color .14s;display:grid}.modal-card-payment .modal-close-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;display:block}.modal-card-payment .modal-close-button:hover,.modal-card-payment .modal-close-button:focus-visible,.modal-card-payment .modal-close-button:active{color:#fff;transform:none!important}.modal-card-payment .payment-modal-heading{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) 20px;align-items:start;gap:4px 10px;display:grid}.modal-card-payment .payment-modal-heading>h3{grid-area:1/1;margin:0}.modal-card-payment .payment-modal-heading>.modal-close-button{grid-area:1/2}.modal-card-payment .payment-modal-student-row{flex-wrap:wrap;grid-area:2/1/auto/-1;justify-content:space-between;align-items:baseline;gap:4px 10px;min-width:0;display:flex}.modal-card-payment .payment-modal-student-row .payment-modal-name{min-width:0;color:var(--text-main);overflow-wrap:anywhere;margin:0;padding-left:12px;font-size:.88rem;font-weight:700;line-height:1.2;position:relative}.modal-card-payment .payment-modal-student-row .payment-modal-name:before{content:"";background:var(--primary-button-bg);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.modal-card-payment .payment-modal-tariff{color:var(--text-muted);white-space:nowrap;align-items:baseline;gap:4px;margin:0;font-size:.78rem;line-height:1.2;display:inline-flex}.modal-card-payment .payment-modal-tariff strong{color:var(--text-main);font-weight:700}.modal-card-telegram-message{width:min(100%,430px)}.telegram-message-heading{align-items:center}.telegram-message-heading .modal-close-button,.telegram-message-heading .modal-close-button:hover,.telegram-message-heading .modal-close-button:focus,.telegram-message-heading .modal-close-button:focus-visible,.telegram-message-heading .modal-close-button:active{box-shadow:none;background:0 0;border-color:#0000}.telegram-message-heading h3{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.telegram-message-form{width:100%}.telegram-message-form textarea{resize:vertical;min-height:132px;line-height:1.45}.telegram-message-warning{color:var(--danger);margin:-2px 0 0;font-size:.9rem;font-weight:700}.telegram-message-submit{justify-content:center}.telegram-message-success{z-index:2600;border:1px solid rgba(var(--palette-mint-rgb,55, 240, 194), .28);background:rgba(var(--palette-neutral-900-rgb,22, 31, 49), .97);width:min(300px,100vw - 40px);color:rgb(var(--palette-neutral-50-rgb,245, 247, 251));text-align:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:22px;justify-items:center;gap:12px;padding:22px;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 60px #00000057,inset 0 1px #ffffff0f}.telegram-message-success-icon{background:rgba(var(--palette-mint-rgb,55, 240, 194), .15);width:64px;height:64px;color:var(--accent);border-radius:20px;place-items:center;display:grid}.telegram-message-success-icon svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:42px;height:42px}.telegram-message-success strong{font-size:1.05rem}.theme-light .telegram-message-success{color:rgb(var(--palette-neutral-900-rgb,23, 32, 51));background:#fffffff7;border-color:#16a34a38;box-shadow:0 24px 60px #3d55833d,inset 0 1px #ffffffd9}.modal-card-staff-settings{--staff-settings-field-width:210px;--staff-settings-modal-padding-x:22px;width:min(calc((var(--staff-settings-field-width) * 2) + 16px + (var(--staff-settings-modal-padding-x) * 2) + 2px), calc(100vw - 40px))}.modal-card-staff-settings .form-columns{width:100%}.modal-card-staff-settings .form-columns>label{flex:0 0 var(--staff-settings-field-width);min-width:0}.modal-card-staff-settings .crm-form input,.modal-card-staff-settings .crm-form select{min-height:52px}.modal-card-staff-settings .card-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.modal-card-staff-settings .card-actions button{justify-content:center;width:100%}.modal-card-payment .section-heading,.payment-form{width:320px;max-width:100%;margin-inline:auto}.modal-card-payment .section-heading{margin-bottom:18px}.modal-card-attendance .section-heading,.modal-card-attendance .attendance-form{width:320px;max-width:100%;margin-inline:auto}.payment-modal-name{color:#fff;margin:4px 0 0;font-size:1.38rem;font-weight:900}.theme-light .payment-modal-name{color:var(--text-main)}.payment-form .card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.payment-form .card-actions button{width:100%}.payment-form .payment-amount-input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.payment-form .primary-button[aria-disabled=true]{cursor:not-allowed;opacity:.55;box-shadow:none}.payment-form .primary-button[aria-disabled=true]:hover{background:var(--primary-button-bg);box-shadow:none;transform:none}.payment-calendar-field{color:var(--text-muted);gap:8px;display:grid}.payment-note-field{color:var(--text-muted);gap:8px;padding-block:8px;display:grid}.payment-note-preview{color:var(--text-muted);font-size:.95rem;line-height:1.35}.payment-note-preview mark{border-radius:6px;padding:1px 3px;font-weight:900}.payment-note-date-yellow{color:#ffcf6b;background:#ffcf6b38}.payment-note-date-green{background:rgba(var(--palette-mint-rgb,55, 240, 194), .18);color:rgb(var(--palette-mint-rgb,55, 240, 194))}.payment-note-date-purple{color:rgb(var(--palette-neutral-300-rgb,216, 200, 255));background:#b99cff38}.payment-note-date-red{color:#ff6b81;background:#ff6b812e}.theme-light .payment-note-date-yellow{color:#7c4a03;background:#ffb86b57}.theme-light .payment-note-date-green{color:#047857;background:#14b8a63d}.theme-light .payment-note-date-purple{color:#6d28d9;background:#7c3aed2e}.theme-light .payment-note-date-red{color:#9f1239;background:#ff6b8142}.payment-picker{justify-self:center}.payment-month-preview-line{color:var(--text-muted);gap:2px;margin:0 0 8px;padding-inline:8px;font-size:.92rem;line-height:1.45;display:grid}.payment-month-preview-line span{display:block}.payment-month-preview-line mark{border-radius:6px;align-items:center;padding:1px 8px;display:inline-flex}.attendance-day.payment-paid-day{border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .72);background:rgba(var(--palette-mint-rgb,55, 240, 194), .22);color:rgb(var(--palette-mint-rgb,55, 240, 194));font-weight:900}.attendance-day.payment-paid-day.selected{color:#052e2b;box-shadow:inset 0 0 0 1px #ffffff57, 0 0 0 1px rgba(var(--palette-mint-rgb,55, 240, 194), .3)}.attendance-day.payment-paid-day small{background:rgb(var(--palette-mint-rgb,55, 240, 194));color:#052e2b}.theme-light .attendance-day.payment-paid-day{color:#047857;background:#14b8a63d}.attendance-day.payment-past-paid-day{border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .72);background:rgba(var(--palette-mint-rgb,55, 240, 194), .22);color:rgb(var(--palette-mint-rgb,55, 240, 194));font-weight:900}.attendance-day.payment-past-paid-day.selected{color:#052e2b;box-shadow:inset 0 0 0 1px #ffffff57, 0 0 0 1px rgba(var(--palette-mint-rgb,55, 240, 194), .3)}.attendance-day.payment-past-paid-day small{background:rgb(var(--palette-mint-rgb,55, 240, 194));color:#052e2b}.theme-light .attendance-day.payment-past-paid-day{color:#047857;background:#14b8a63d}.attendance-day.payment-balance-day{border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .72);background:rgba(var(--palette-mint-rgb,55, 240, 194), .2);color:rgb(var(--palette-mint-rgb,55, 240, 194));font-weight:900}.attendance-day.payment-balance-day.selected{color:#052e2b;box-shadow:inset 0 0 0 1px #ffffff57, 0 0 0 1px rgba(var(--palette-mint-rgb,55, 240, 194), .28)}.attendance-day.payment-balance-day small{background:rgb(var(--palette-mint-rgb,55, 240, 194));color:#052e2b}.theme-light .attendance-day.payment-balance-day{color:#047857;background:#14b8a63d}.attendance-day.payment-paid-upcoming-day{border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .78);background:var(--bg-surface);color:rgb(var(--palette-mint-rgb,55, 240, 194))}.attendance-day.payment-debt-day{color:#ff6b81;background:#ff6b813d;border-color:#ff6b81c7;font-weight:900}.attendance-day.payment-debt-day.selected{color:#fff;box-shadow:inset 0 0 0 1px #ffffff57,0 0 0 1px #ff6b8152}.attendance-day.payment-debt-day small{color:#fff;background:#ff6b81}.theme-light .attendance-day.payment-debt-day{color:#9f1239;background:#ff6b8147}.attendance-day.payment-upcoming-day{color:#fff;background:0 0;border-color:#ffffffc7;font-weight:800}.attendance-day.payment-upcoming-day span{color:#fff}.theme-light .attendance-day.payment-upcoming-day{border-color:rgba(var(--palette-neutral-800-rgb,36, 48, 71), .42);background:rgba(var(--palette-neutral-50-rgb,248, 251, 255), .72);color:rgb(var(--palette-neutral-800-rgb,36, 48, 71));font-weight:800}.theme-light .attendance-day.payment-upcoming-day span{color:rgb(var(--palette-neutral-800-rgb,36, 48, 71))}.attendance-day.payment-upcoming-day.selected{color:#fff;background:#68a8ff3d;border-color:#68a8ffb3}.attendance-day.payment-paid-day.payment-upcoming-day{border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .72);background:var(--bg-surface);color:rgb(var(--palette-mint-rgb,55, 240, 194))}.theme-light .attendance-day.payment-paid-day.payment-upcoming-day{background:var(--bg-surface);color:#047857}.attendance-day.payment-paid-upcoming-day,.attendance-day.payment-paid-day.payment-upcoming-day{border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .78);background:var(--bg-surface);color:rgb(var(--palette-mint-rgb,55, 240, 194))}.attendance-day.payment-paid-upcoming-day.selected,.attendance-day.payment-paid-day.payment-upcoming-day.selected{border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .84);background:var(--bg-surface);color:rgb(var(--palette-mint-rgb,55, 240, 194));box-shadow:inset 0 0 0 1px rgba(var(--palette-mint-rgb,55, 240, 194), .3), 0 0 0 1px rgba(var(--palette-mint-rgb,55, 240, 194), .22)}.attendance-day.payment-paid-upcoming-day span,.attendance-day.payment-paid-upcoming-day.selected span,.attendance-day.payment-paid-day.payment-upcoming-day span,.attendance-day.payment-paid-day.payment-upcoming-day.selected span{color:rgb(var(--palette-mint-rgb,55, 240, 194))}.theme-light .attendance-day.payment-paid-upcoming-day,.theme-light .attendance-day.payment-paid-day.payment-upcoming-day{background:var(--bg-surface);color:#047857;border-color:#0596698a}.theme-light .attendance-day.payment-paid-upcoming-day.selected,.theme-light .attendance-day.payment-paid-day.payment-upcoming-day.selected{background:var(--bg-surface);color:#047857;border-color:#05966999;box-shadow:inset 0 0 0 1px #0596693d,0 0 0 1px #05966929}.theme-light .attendance-day.payment-paid-upcoming-day span,.theme-light .attendance-day.payment-paid-upcoming-day.selected span,.theme-light .attendance-day.payment-paid-day.payment-upcoming-day span,.theme-light .attendance-day.payment-paid-day.payment-upcoming-day.selected span{color:#047857}.attendance-day.payment-substitution-day{color:#ffcf6b;background:#ffb86b4d;border-color:#ffcf6bd1;font-weight:900}.attendance-day.payment-substitution-day.selected{color:rgb(var(--palette-neutral-900-rgb,17, 24, 39));box-shadow:inset 0 0 0 1px #ffffff61,0 0 0 1px #ffcf6b57}.attendance-day.payment-substitution-day small{color:rgb(var(--palette-neutral-900-rgb,17, 24, 39));background:#ffcf6b}.theme-light .attendance-day.payment-substitution-day{color:#7c4a03;background:#ffb86b61}.attendance-day.payment-past-substitution-day{border-color:rgba(var(--palette-mint-rgb,55, 240, 194), .76);background:rgba(var(--palette-mint-rgb,55, 240, 194), .24);color:rgb(var(--palette-mint-rgb,55, 240, 194));font-weight:900}.attendance-day.payment-past-substitution-day.selected{color:#052e2b;box-shadow:inset 0 0 0 1px #ffffff57, 0 0 0 1px rgba(var(--palette-mint-rgb,55, 240, 194), .3)}.attendance-day.payment-past-substitution-day small{background:rgb(var(--palette-mint-rgb,55, 240, 194));color:#052e2b}.theme-light .attendance-day.payment-past-substitution-day{color:#047857;background:#14b8a642}.attendance-day.payment-unpaid-substitution-day,.attendance-day.payment-unpaid-substitution-day.payment-past-substitution-day{color:#ff6b81;background:#ff6b813d;border-color:#ff6b81c7}.attendance-day.payment-unpaid-substitution-day.selected{color:#fff;box-shadow:inset 0 0 0 1px #ffffff57,0 0 0 1px #ff6b8152}.attendance-day.payment-unpaid-substitution-day small{color:#fff;background:#ff6b81}.theme-light .attendance-day.payment-unpaid-substitution-day,.theme-light .attendance-day.payment-unpaid-substitution-day.payment-past-substitution-day{color:#9f1239;background:#ff6b8147}.attendance-day.payment-refund-day{background:var(--bg-surface);color:#68a8ff;border-color:#68a8ffeb;font-weight:900}.attendance-day.payment-refund-day.selected{background:var(--bg-surface);color:#68a8ff;border-color:#68a8fff5;box-shadow:inset 0 0 0 1px #68a8ff57,0 0 0 1px #68a8ff33}.attendance-day.payment-refund-day span,.attendance-day.payment-refund-day.selected span{color:#68a8ff}.attendance-day.payment-refund-day small{color:#68a8ff;background:0 0}.theme-light .attendance-day.payment-refund-day,.theme-light .attendance-day.payment-refund-day.selected{background:var(--bg-surface);color:#1d4ed8;border-color:#2563ebb8}.theme-light .attendance-day.payment-refund-day span,.theme-light .attendance-day.payment-refund-day.selected span,.theme-light .attendance-day.payment-refund-day small{color:#1d4ed8}.student-portal-schedule-picker .attendance-day.attendance-student-day-absent{background:var(--bg-surface);color:#ff6b81;border-color:#ff6b81eb;font-weight:900}.student-portal-schedule-picker .attendance-day.attendance-student-day-absent.selected{background:var(--bg-surface);color:#ff6b81;border-color:#ff6b81f5;box-shadow:inset 0 0 0 1px #ff6b8157,0 0 0 1px #ff6b8133}.student-portal-schedule-picker .attendance-day.attendance-student-day-absent span,.student-portal-schedule-picker .attendance-day.attendance-student-day-absent.selected span,.student-portal-schedule-picker .attendance-day.attendance-student-day-absent small{color:#ff6b81}.theme-light .student-portal-schedule-picker .attendance-day.attendance-student-day-absent,.theme-light .student-portal-schedule-picker .attendance-day.attendance-student-day-absent.selected{background:var(--bg-surface);color:#be123c;border-color:#e11d489e}.theme-light .student-portal-schedule-picker .attendance-day.attendance-student-day-absent span,.theme-light .student-portal-schedule-picker .attendance-day.attendance-student-day-absent.selected span,.theme-light .student-portal-schedule-picker .attendance-day.attendance-student-day-absent small{color:#be123c}.attendance-day.today:not(:where(.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)){box-shadow:inset 0 0 0 1px #ffffff2e;background:#ffffff1a!important;border-color:#ffffffe6!important}.attendance-day:not(:disabled):not(:where(.selected,[aria-pressed=true],.today,.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)):hover{box-shadow:none;background:var(--bg-surface)!important;color:#fff!important;border-color:#ffffffe6!important}.attendance-day:not(:disabled):not(:where(.selected,[aria-pressed=true],.today,.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)):hover span{color:#fff!important}.modal-card-substitution{width:min(100%,364px)}.modal-card-substitution .section-heading{width:320px;max-width:100%;margin-inline:auto}.substitution-form{gap:12px}.substitution-additional-option{width:320px;max-width:100%;color:var(--text-secondary);cursor:pointer;justify-self:center;align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.4;display:flex}.substitution-additional-option input{width:18px;height:18px;min-height:18px;accent-color:rgb(var(--palette-mint-rgb,55, 240, 194));flex:none;margin:2px 0 0;padding:0}.modal-card-attendance .crm-form{margin-top:14px}.modal-card-lesson{width:min(100%,520px)}.modal-card-speaking-club-lesson{width:min(100%,820px)}.speaking-club-lesson-modal{gap:16px;display:grid}.speaking-club-lesson-form{gap:14px}.speaking-club-student-picker{border:1px solid var(--border);background:var(--bg-soft);border-radius:18px;gap:12px;padding:14px;display:grid}.compact-heading{align-items:center;margin-bottom:0}.compact-heading .card-actions{justify-content:flex-end;margin-left:auto}.compact-heading h4,.compact-heading p{margin:0}.speaking-club-student-filters{grid-template-columns:minmax(180px,1.2fr) minmax(170px,1fr) minmax(150px,.8fr);align-items:end;gap:10px;display:grid}.speaking-club-student-list{gap:8px;max-height:310px;padding-right:4px;display:grid;overflow-y:auto}.speaking-club-student-option{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-card) 72%, transparent);color:var(--text-main);border-radius:14px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:6px 14px;padding:10px 12px;display:grid}.speaking-club-student-option input{width:18px;height:18px;accent-color:var(--accent);justify-self:start;margin:0}.speaking-club-student-option span{gap:3px;min-width:0;display:grid}.speaking-club-student-option .speaking-club-student-name-row{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.speaking-club-student-option strong,.speaking-club-student-option small{overflow-wrap:anywhere;min-width:0}.speaking-club-student-option strong{color:#fff}.speaking-club-student-option .speaking-club-student-price{color:#ffcf6b;font-size:.82rem;font-weight:600;line-height:1.2;display:inline-flex}.speaking-club-student-option small{color:var(--text-muted);font-size:.78rem}.lesson-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.lesson-form .lesson-one-time-toggle{border:1px solid var(--border);background:var(--bg-soft);cursor:pointer;border-radius:16px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:12px;padding:12px 14px;display:grid}.lesson-form .lesson-one-time-toggle input{width:18px;height:18px;min-height:0;accent-color:var(--accent);margin:0;padding:0}.lesson-one-time-toggle>span{gap:3px;display:grid}.lesson-one-time-toggle strong{color:var(--text-main);font-size:.9rem}.lesson-one-time-toggle small{color:var(--text-muted);font-size:.78rem;line-height:1.35}.speaking-club-lesson-form .lesson-form-row.speaking-club-lesson-fields{grid-template-columns:minmax(150px,1.1fr) minmax(82px,.45fr) minmax(170px,1.1fr) minmax(150px,.9fr) minmax(120px,.75fr)}.modal-card-small{width:min(100%,420px)}.speaking-club-session-modal{gap:16px;display:grid}.speaking-club-session-form{gap:16px}.speaking-club-session-form .date-range-picker,.speaking-club-session-form .date-range-trigger{width:100%;max-width:none}.speaking-club-session-form .date-range-trigger{min-width:0}.speaking-club-session-form .date-range-popover{left:0;right:auto}.speaking-club-session-form .card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;display:grid}.speaking-club-session-form .card-actions button{justify-content:center;width:100%;min-width:0}.modal-text{color:rgb(var(--palette-neutral-200-rgb,215, 228, 247));margin-bottom:18px}.confirmation-modal{gap:16px;display:grid}.confirmation-modal .section-heading{align-items:flex-start}.lesson-delete-confirmation-modal .section-heading{align-items:center}.confirmation-modal .modal-text{margin:-4px 0 0;line-height:1.45}.confirmation-modal .metrics-tail{margin:-2px 0 0}.confirmation-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;display:grid}.confirmation-actions button{justify-content:center;width:100%;min-width:0;min-height:48px}.journal-delete-confirmation-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-delete-confirmation-modal .section-heading{grid-template-columns:minmax(0,1fr) 42px;align-items:start;gap:12px;display:grid}.journal-delete-confirmation-modal .section-heading>div{min-width:0}.journal-delete-confirmation-modal .modal-close-button{place-self:start end;margin-top:-2px}@media (width<=640px){.schedule-mode-tabs{scrollbar-width:none;gap:8px;margin-inline:-2px}.schedule-mode-tabs::-webkit-scrollbar{display:none}.schedule-mode-tab{background:color-mix(in srgb, var(--bg-surface) 74%, transparent);border-color:var(--border);max-width:78vw;min-height:40px;color:var(--text-muted);white-space:nowrap;border-radius:999px;flex:none;padding:9px 12px;font-size:.82rem;font-weight:700}.schedule-mode-tab:hover{background:var(--button-hover-bg);border-color:var(--button-hover-border);color:var(--text-main);transform:none}.schedule-mode-tab.active{background:var(--button-active-bg);border-color:var(--button-active-border);color:var(--button-active-text);transform:none}.schedule-mode-tab span{text-overflow:ellipsis;min-width:0;overflow:hidden}.schedule-heading-actions,.speaking-club-header-actions{grid-template-columns:minmax(0,1fr);justify-content:stretch;width:100%;min-width:0;display:grid}.schedule-heading-actions>*,.speaking-club-header-actions>*{width:100%;max-width:none}.schedule-filter-panel .filters-bar{grid-template-columns:minmax(0,1fr)}.schedule-filter-panel .filters-bar>button{justify-content:center;width:100%;min-width:0}.modal-card-speaking-club-lesson{width:min(100%,100vw - 18px)}.modal-backdrop:has(.modal-card-speaking-club-lesson){align-items:center;padding:8px}.modal-card-speaking-club-lesson{border-radius:22px;align-self:center;height:auto;max-height:calc(100dvh - 16px);padding:14px;overflow-y:auto}.modal-card-speaking-club-lesson .section-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin-bottom:0;display:grid}.modal-card-speaking-club-lesson .section-heading h3{font-size:1.05rem;line-height:1.15}.modal-card-speaking-club-lesson .section-heading p{font-size:.78rem;line-height:1.25}.modal-card-speaking-club-lesson .modal-close-button{border-radius:16px;width:38px;min-width:38px;height:38px}.speaking-club-lesson-modal,.speaking-club-lesson-form{gap:10px}.modal-card-speaking-club-lesson label,.modal-card-speaking-club-lesson .searchable-select{gap:5px;font-size:.72rem}.modal-card-speaking-club-lesson input,.modal-card-speaking-club-lesson select,.modal-card-speaking-club-lesson .searchable-select-trigger,.modal-card-speaking-club-lesson .searchable-select-search{border-radius:13px;min-height:40px;padding:9px 10px;font-size:.78rem}.modal-card-speaking-club-lesson button{font-size:.78rem}.speaking-club-lesson-form .lesson-form-row{grid-template-columns:minmax(0,1fr);gap:10px}.speaking-club-student-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.speaking-club-student-filters .search-field{grid-column:1/-1}.speaking-club-student-filters>.searchable-select{grid-column:1;min-width:0}.speaking-club-student-filters>label{grid-column:2;min-width:0}.speaking-club-student-filters select,.speaking-club-student-filters .searchable-select-trigger{width:100%}.speaking-club-lesson-form .lesson-form-row.speaking-club-lesson-fields{grid-template-columns:minmax(76px,.45fr) minmax(0,1fr)}.speaking-club-lesson-form .lesson-form-row.speaking-club-lesson-fields>label:first-child{grid-column:1/-1}.speaking-club-lesson-form .lesson-form-row.speaking-club-lesson-fields>label:nth-child(2){grid-column:1}.speaking-club-lesson-form .lesson-form-row.speaking-club-lesson-fields>.searchable-select{grid-column:2}.speaking-club-lesson-form .lesson-form-row.speaking-club-lesson-fields>label:nth-child(4){grid-column:1}.speaking-club-lesson-form .lesson-form-row.speaking-club-lesson-fields>label:nth-child(5){grid-column:2}.speaking-club-student-picker{border-radius:16px;gap:10px;padding:12px}.speaking-club-student-list{gap:7px;max-height:min(300px,42dvh)}.speaking-club-student-option{border-radius:13px;grid-template-columns:20px minmax(0,1fr);column-gap:10px;padding:9px 10px}.speaking-club-student-option strong{font-size:.78rem;line-height:1.2}.speaking-club-student-option .speaking-club-student-price{font-size:.72rem}.speaking-club-student-option small{font-size:.6rem;line-height:1.25}.speaking-club-student-option input{width:16px;height:16px}.compact-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.compact-heading h4{font-size:.9rem}.compact-heading p{font-size:.72rem}.compact-heading .card-actions{justify-content:flex-end;justify-self:end;width:auto;display:flex}.speaking-club-lesson-form>.card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.speaking-club-lesson-form>.card-actions button{justify-content:center;width:100%}.trash-page{gap:12px}.trash-page>.page-stack{gap:12px;min-width:0}.trash-page .panel{border-radius:18px;width:100%;max-width:100%;padding:14px;overflow:hidden}.trash-page .section-heading,.trash-summary-panel .card-actions{grid-template-columns:minmax(0,1fr);gap:12px;width:100%;min-width:0;display:grid}.trash-page .section-heading>div{min-width:0}.trash-page .section-heading h3,.trash-page .section-heading p{overflow-wrap:anywhere}.trash-summary-panel .card-actions{grid-template-columns:auto minmax(0,1fr);align-items:center}.trash-summary-panel .card-actions .ghost-button{white-space:nowrap;justify-content:center;min-width:0;padding-inline:12px}.trash-archived-panel>.section-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start}.trash-lesson-row{border-radius:16px;gap:10px;padding:10px}.trash-lesson-row .salary-row-main{grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;display:grid}.trash-lesson-row .salary-row-main>div:first-child,.trash-lesson-row .salary-row-main strong,.trash-lesson-row .salary-row-main p,.trash-lesson-row .salary-row-meta span{overflow-wrap:anywhere;min-width:0}.trash-lesson-row .salary-row-meta{text-align:left;grid-template-columns:minmax(0,1fr) max-content 30px 30px;align-items:center;gap:8px;width:100%;margin-left:0;display:grid}.trash-lesson-row .salary-row-meta strong{white-space:nowrap}.trash-people-grid{gap:12px}.trash-person-list{gap:8px}.trash-card{border-radius:15px;grid-template-columns:minmax(0,1fr) auto;gap:10px;width:100%;max-width:100%;padding:11px}.trash-card:before{inset-block:9px}.trash-card-main{gap:10px}.trash-card-avatar{border-radius:12px;flex-basis:36px;width:36px;height:36px;font-size:.76rem}.trash-card-copy{gap:3px}.trash-card h3{font-size:.9rem;line-height:1.16}.trash-card p{overflow-wrap:anywhere;font-size:.78rem;line-height:1.2}.trash-card-actions{align-self:center;gap:6px}}@media (width<=360px){.trash-page .panel{padding:12px}.trash-card{gap:8px;padding:9px}.trash-card-main{gap:8px}.trash-card-avatar{border-radius:10px;flex-basis:32px;width:32px;height:32px;font-size:.7rem}.trash-card-actions{gap:4px}.trash-lesson-row .salary-row-meta{grid-template-columns:minmax(0,1fr) max-content 32px 32px;gap:6px}}@media (width<=520px){.confirmation-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.journal-delete-confirmation-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.confirmation-actions button{min-height:44px}}fieldset{border:0;margin:0;padding:0}legend{color:rgb(var(--palette-neutral-300-rgb,169, 186, 212));margin-bottom:12px}@media (width>=761px){.filters-bar>.searchable-select{flex:0 0 260px;width:260px}}@media (width<=1500px){.crm-shell{grid-template-columns:1fr;height:auto;overflow:clip visible}.content-area{min-height:auto;padding:0 18px 18px;overflow:visible}.sidebar{z-index:70;border-radius:0 28px 28px 0;width:min(340px,100vw - 28px);height:100vh;margin:0;transition:transform .22s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(calc(-100% - 24px))}.sidebar-mobile-open{transform:translate(0)}.sidebar-overlay{background:rgba(var(--palette-neutral-950-rgb,6, 10, 18), .48);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:60;border:0;padding:0;display:block;position:fixed;inset:0}.student-table-header,.student-list-row{grid-template-columns:minmax(210px,1.05fr) repeat(4,minmax(100px,.72fr)) minmax(320px,1.9fr) minmax(120px,.7fr)}.stats-grid,.split,.split-wide{grid-template-columns:1fr}.student-portal-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.student-portal-grid{grid-template-columns:1fr}.student-portal-details{grid-template-columns:repeat(2,minmax(0,1fr))}.student-portal-schedule-layout{grid-template-columns:1fr}.student-portal-calendar-layout{grid-column:1;grid-template-columns:minmax(0,1fr)}.student-portal-calendar-layout>.student-portal-schedule-picker,.student-portal-calendar-layout>.student-portal-calendar-insights{grid-column:1}.chart-card,.dashboard-layout>.panel,.dashboard-side-panel,.dashboard-wide-panel{grid-column:span 12}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-stats-grid{grid-template-columns:1fr}}@media (width<=767px){.telegram-notification-repeat-select .searchable-select-popover{width:115%;max-width:115%}.sidebar{border-radius:0 22px 22px 0;gap:14px;width:min(300px,100vw - 24px);padding:14px}.sidebar-nav,.sidebar-bottom-nav{gap:8px}.nav-item{border-radius:14px;gap:7px;min-height:38px;padding:7px 9px;font-size:.86rem;line-height:1.15}.nav-icon{border-radius:8px;flex:0 0 24px;width:24px;height:24px}.nav-icon svg{width:13px;height:13px}.nav-badge{min-width:20px;height:20px;padding:0 6px;font-size:.68rem}.sidebar-bottom{gap:10px}.sidebar-card{border-radius:16px;padding:12px}.sidebar-card strong{font-size:1rem}.sidebar-card p{font-size:.75rem;line-height:1.25}}@media (width<=1500px){.journal-day-heading{top:132px}.student-head-actions{grid-template-columns:repeat(3,minmax(34px,max-content));justify-content:end;align-items:center;display:grid}.student-payment-button{grid-column:1/-1;width:100%}.student-head-actions>.icon-button,.student-menu-wrap{grid-row:2}}@media (width>=1200px) and (width<=1500px){.student-table-header,.student-list-row{grid-template-columns:minmax(200px,1.12fr) repeat(4,minmax(90px,.66fr)) 220px minmax(116px,.62fr)}.student-metrics.compact>.metrics-tail{justify-self:center;width:220px;max-width:100%}}@media (width>=1200px) and (width<=1400px){.student-table-header,.student-list-row{grid-template-columns:minmax(200px,1.12fr) repeat(4,minmax(88px,.64fr)) 180px minmax(116px,.62fr)}.student-metrics.compact>.metrics-tail{justify-self:center;width:180px;max-width:100%}}@media (width>=990px) and (width<=1199px){.student-table-header,.student-list-row{grid-template-columns:minmax(180px,1.08fr) repeat(4,minmax(76px,.54fr)) 168px minmax(116px,.62fr);gap:10px}.student-metrics.compact>.metrics-tail{justify-self:center;width:168px;max-width:100%}}@media (width>=1500px) and (width<=1800px){.student-table-header,.student-list-row{grid-template-columns:minmax(210px,1.15fr) repeat(4,minmax(110px,.78fr)) 240px minmax(180px,1fr)}.student-metrics.compact>.metrics-tail{justify-self:center;width:240px;max-width:100%}}@media (width>=1801px){.student-table-header,.student-list-row{grid-template-columns:minmax(210px,1.15fr) repeat(4,minmax(110px,.78fr)) 260px minmax(180px,1fr)}.student-metrics.compact>.metrics-tail{justify-self:center;width:260px;max-width:100%}.schedule-grid .lesson-teacher-name{font-size:.9rem}}@media (width>=768px) and (width<=991px){.content-area{padding:0 24px 24px}.sidebar{grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;width:min(360px,100vw - 48px);height:100dvh;padding:22px;display:grid}.sidebar-nav{align-content:start;min-height:0;padding-right:2px;overflow-y:auto}.sidebar-bottom{align-self:end;margin-top:0}.topbar{align-items:flex-start;gap:14px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.hero-card,.chart-card,.panel,.student-card,.teacher-card,.schedule-card,.journal-card{border-radius:22px}.hero-card,.chart-card,.panel{padding:20px}.hero-card{flex-wrap:wrap;align-items:flex-start}.hero-card .date-range{margin-left:0}.dashboard-layout{gap:16px}.dashboard-layout>.dashboard-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboard-layout>.dashboard-stats-grid .dashboard-stat-card{min-height:128px;padding:14px}.dashboard-layout>.dashboard-stats-grid .dashboard-stat-card-title{gap:9px}.dashboard-layout>.dashboard-stats-grid .stat-icon{width:34px;height:34px}.dashboard-layout>.dashboard-stats-grid .dashboard-stat-card-title span{font-size:.78rem}.dashboard-layout>.dashboard-stats-grid .dashboard-stat-card strong{font-size:1.12rem;line-height:1.1}.dashboard-layout .chart-shell{--chart-plot-height:320px;grid-template-columns:72px minmax(0,1fr);gap:12px}.dashboard-layout .dashboard-teacher-lesson-button{grid-template-columns:minmax(0,1fr)}.dashboard-layout .dashboard-teacher-lesson-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.student-search-panel .filters-bar,.teacher-filter-panel .filters-bar,.schedule-filter-panel .filters-bar,.salary-filter-panel .filters-bar,.attendance-filter-panel .filters-bar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}.page-stack>.panel:has(+.journal-list) .filters-bar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}.student-search-panel .search-field,.teacher-filter-panel .search-field,.schedule-filter-panel .search-field,.salary-filter-panel .search-field,.attendance-filter-panel .search-field,.salary-filter-panel .balance-indicator,.attendance-filter-panel .balance-indicator{grid-column:1/-1}.page-stack>.panel:has(+.journal-list) .search-field{grid-column:1/-1}.student-search-panel .filters-bar>*,.teacher-filter-panel .filters-bar>*,.schedule-filter-panel .filters-bar>*,.salary-filter-panel .filters-bar>*,.attendance-filter-panel .filters-bar>*{width:100%;min-width:0}.page-stack>.panel:has(+.journal-list) .filters-bar>*{width:100%;min-width:0}.schedule-filter-panel .filters-bar{grid-template-columns:minmax(260px,1fr) minmax(180px,.72fr) minmax(150px,.72fr)}.schedule-filter-panel .search-field{grid-column:auto}.page-stack>.panel:has(+.journal-list) .filters-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.page-stack>.panel:has(+.journal-list) .search-field{grid-column:1/-1}.page-stack>.panel:has(+.journal-list) .date-range-picker{grid-column:span 1}.page-stack>.panel:has(+.journal-list) .filters-bar>label:not(.search-field){grid-column:span 1}.page-stack>.panel:has(+.journal-list) .filters-bar>button{grid-column:span 1}.student-table-header{display:none}.student-list-card{border-radius:18px;padding:12px 14px}.student-list-row{grid-template-columns:minmax(128px,1.35fr) repeat(4,minmax(58px,.56fr)) minmax(126px,.82fr);align-items:center;gap:8px}.student-metrics.compact>div:first-child,.student-metrics.compact>div:nth-child(2),.student-metrics.compact>.student-next-payment-metric,.student-metrics.compact>div:nth-child(4){grid-column:span 1}.student-metrics.compact>.metrics-tail{display:none}.student-metrics.compact>div{background:0 0;border-color:#0000;border-radius:0;min-width:0;min-height:54px;padding:7px 6px}.student-title h3{font-size:.92rem;line-height:1.12}.student-title p{margin-top:3px;font-size:.7rem;line-height:1.18}.student-metrics.compact>div>span,.metrics-tail>span{font-size:.66rem;line-height:1.15}.student-metrics.compact strong,.student-metrics.compact>div:nth-child(-n+3) strong,.student-metrics.compact>div.student-next-payment-metric strong,.student-metrics.compact>div.student-next-payment-metric .student-metric-subvalue{font-size:.8rem;line-height:1.1}.student-metrics.compact>div:nth-child(4) strong{font-size:.68rem;line-height:1.15}.student-head-actions{grid-template-columns:repeat(3,34px);justify-content:end;justify-self:end;gap:6px;min-width:0;display:grid}.student-payment-button{border-radius:12px;grid-area:1/1/auto/-1;justify-content:center;width:100%;height:34px;min-height:34px;padding:8px 6px;font-size:.72rem;line-height:1}.student-head-actions .icon-button,.student-head-actions .menu-trigger{border-radius:12px;grid-area:2;place-items:center;width:100%;min-width:0;height:34px;padding:8px;display:grid}.student-menu-wrap{grid-area:2;min-width:0}.teacher-card{flex-direction:column;align-items:stretch}.teacher-card-head{flex-basis:auto;min-width:0}.teacher-head-actions{flex-wrap:wrap;justify-content:flex-start;width:100%;margin-left:0}.teacher-rates{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.salary-page-layout,.attendance-page-layout{grid-template-columns:1fr}.attendance-student-panel{grid-template-columns:max-content max-content minmax(0,1fr);align-items:start;column-gap:24px}.attendance-student-panel>.section-heading,.attendance-student-panel>.attendance-student-select,.attendance-student-panel>.attendance-student-summary,.attendance-student-panel>.attendance-student-metrics,.attendance-student-panel>.attendance-student-empty{grid-column:1/-1}.attendance-student-summary,.attendance-student-metrics,.attendance-student-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-student-calendar{grid-column:1;min-width:0}.attendance-student-legend{text-align:left;grid-column:2;grid-template-columns:repeat(2,max-content);align-content:start;place-self:start;width:auto}.attendance-student-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.schedule-week-panel .section-heading{grid-template-columns:minmax(0,1fr);align-items:flex-start;gap:12px;display:grid}.schedule-week-panel .section-heading>div,.schedule-week-panel .schedule-heading-actions{width:100%;min-width:0}.schedule-week-picker{justify-content:flex-start;width:100%}.salary-teacher-head{grid-template-columns:minmax(0,1fr) auto;gap:12px;display:grid}.salary-summary-head{display:contents}.salary-summary-total{white-space:nowrap;grid-column:2;justify-self:end}.salary-summary-actions{grid-column:1/-1;width:100%}.salary-summary-actions .ghost-button,.salary-summary-actions .primary-button{flex:1 1 0;justify-content:center}.salary-row-main,.salary-lesson-card-main,.salary-lesson-card-meta{align-items:flex-start}.journal-card{align-items:center}.modal-card{max-height:calc(100vh - 40px);overflow-y:auto}}@media (width>=992px) and (width<=1199px){.content-area{padding:0 24px 24px}.hero-card,.chart-card,.panel{border-radius:24px;padding:20px}.dashboard-layout{gap:16px}.dashboard-layout .hero-card{align-items:center;padding:22px 24px}.dashboard-layout .hero-copy{max-width:560px}.dashboard-layout .date-range{margin-left:auto}.dashboard-layout>.dashboard-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboard-layout>.dashboard-stats-grid .dashboard-stat-card{min-height:116px;padding:14px}.dashboard-layout>.dashboard-stats-grid .dashboard-stat-card strong{font-size:1.22rem}.dashboard-layout>.dashboard-side-panel,.dashboard-layout>.dashboard-teacher-panel,.dashboard-layout>.dashboard-recent-panel{grid-column:span 4}.dashboard-layout .chart-shell{--chart-plot-height:340px;grid-template-columns:74px minmax(0,1fr);gap:12px}.dashboard-layout .section-heading{gap:12px}.dashboard-layout .section-heading h3{font-size:1.08rem}.dashboard-layout .section-heading p{font-size:.86rem}.dashboard-layout .problem-list{--problem-card-height:70px}.dashboard-layout .problem-card{padding:14px}.dashboard-layout .problem-card-meta,.dashboard-layout .list-meta{font-size:.84rem}.dashboard-layout .dashboard-teacher-filter{max-width:320px}.dashboard-layout .dashboard-teacher-summary{gap:8px}.dashboard-layout .dashboard-teacher-summary>div{padding:10px}.dashboard-layout .dashboard-teacher-summary span,.dashboard-layout .dashboard-teacher-lesson-metrics span{font-size:.72rem}.dashboard-layout .dashboard-teacher-summary strong,.dashboard-layout .dashboard-teacher-lesson-metrics strong{font-size:.88rem}.dashboard-layout .dashboard-teacher-lesson-button{grid-template-columns:minmax(0,1fr);gap:10px;min-height:0;padding:12px}.dashboard-layout .dashboard-teacher-lesson-metrics{gap:6px}.dashboard-layout .dashboard-teacher-lesson-metrics span{min-height:50px;padding:8px}.dashboard-layout .recent-transaction-card{padding:14px}.schedule-filter-panel .filters-bar{grid-template-columns:minmax(280px,1fr) minmax(220px,260px) minmax(150px,max-content);align-items:end;gap:12px;display:grid}.schedule-filter-panel .filters-bar>*{width:100%;min-width:0}.schedule-filter-panel .filters-bar .primary-button{white-space:nowrap;justify-content:center;min-height:47px}.schedule-week-panel .section-heading{grid-template-columns:minmax(0,1fr);align-items:flex-start;gap:16px;display:grid}.schedule-week-panel .section-heading>div,.schedule-week-panel .schedule-heading-actions{width:100%;min-width:0}.schedule-week-picker{grid-template-columns:42px minmax(150px,1fr) 42px max-content;gap:8px;width:100%}.schedule-week-picker .teacher-week-nav-button,.schedule-week-picker .teacher-week-date-button,.schedule-week-picker .teacher-week-today-button{white-space:nowrap;min-height:40px}.schedule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.day-column{border-radius:20px;padding:14px}.day-column h4{margin-bottom:12px}.schedule-card{border-radius:18px;padding:13px}.substitution-lesson-card,.inactive-lesson-card{padding-top:28px}.lesson-card{gap:10px}.lesson-card-head{gap:8px}.lesson-time,.lesson-card-head strong{line-height:1.15}.lesson-card-head p,.lesson-card-meta,.lesson-students{font-size:.82rem}.lesson-settings-wrap{gap:2px}.lesson-menu-trigger,.lesson-substitution-trigger{border-radius:7px;width:20px;min-width:20px;height:20px}.lesson-card-meta{border-radius:14px;padding:9px 10px}.settings-staff-grid{grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr);align-items:start;gap:14px}.settings-staff-grid>.panel-nested,.settings-staff-grid .staff-directory{border-radius:20px;padding:16px}.settings-staff-grid .crm-form{gap:12px}.settings-staff-grid .form-columns{flex-direction:column;gap:10px}.settings-staff-grid .crm-form label{gap:6px;font-size:.84rem}.settings-staff-grid .crm-form input,.settings-staff-grid .crm-form select{border-radius:14px;min-height:42px;padding:10px 12px;font-size:.9rem}.settings-staff-grid .crm-form .primary-button{justify-content:center;width:100%}.staff-directory .section-heading{align-items:center;gap:12px}.staff-directory-card{border-radius:16px;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px;display:grid}.staff-directory-card strong,.staff-directory-card p{overflow-wrap:anywhere}.staff-directory-meta{gap:8px}.staff-directory-actions{justify-content:flex-end;gap:6px}.staff-directory-actions .ghost-button{border-radius:12px;min-height:36px;padding:8px 10px;font-size:.78rem}.staff-directory-password{font-size:.78rem;line-height:1.2}}@media (width>=768px) and (width<=1199px){.student-search-panel .filters-bar{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:12px;display:grid}.student-search-panel .filters-bar>*{width:100%;min-width:0}.student-search-panel .search-field{grid-column:1/5}.student-search-panel .student-balance-summary-card{grid-column:5/7;gap:8px;min-width:0;padding:12px}.student-search-panel .student-balance-summary-item+.student-balance-summary-item{padding-left:8px}.student-search-panel .student-teacher-filter{grid-column:1/3}.student-search-panel .student-debtors-button{grid-column:3/5}.student-search-panel .student-add-button{grid-column:5/7}.student-search-panel .filters-bar button{white-space:nowrap;justify-content:center}}@media (width>=768px) and (width<=1199px) and (orientation:landscape){.sidebar{border-radius:0 20px 20px 0;grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;gap:11px;width:min(238px,100vw - 64px);height:100dvh;padding:12px;display:grid}.sidebar .brand-logo{width:128px}.nav-item{border-radius:14px;gap:6px;min-height:32px;padding:6px 8px;font-size:.76rem;line-height:1.12}.nav-icon{border-radius:8px;width:22px;height:22px}.nav-icon svg{width:12px;height:12px}.sidebar-nav,.sidebar-bottom-nav,.sidebar-bottom-actions,.sidebar-bottom{gap:6px}.sidebar-nav{align-content:start;min-height:0;padding-right:2px;overflow-y:auto}.sidebar-bottom{align-self:end;margin-top:0}.sidebar-card{border-radius:14px;padding:10px}.sidebar-card strong{font-size:1rem}.sidebar-card p{font-size:.7rem;line-height:1.25}}@media (width>=1200px) and (width<=1500px){.crm-shell{grid-template-columns:68px minmax(0,1fr);height:100vh;overflow:hidden}.sidebar{top:env(safe-area-inset-top,0px);width:68px;height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));z-index:80;border-radius:0 24px 24px 0;gap:8px;margin:0;padding:8px 7px;transition:width .18s,padding .18s,box-shadow .18s;position:sticky;left:auto;overflow:hidden auto;transform:none}.sidebar:hover{border-radius:0 28px 28px 0;width:250px;padding:12px;box-shadow:0 24px 70px #00000061,inset 0 1px #ffffff0a}.sidebar:has(.brand-link:focus-visible){border-radius:0 28px 28px 0;width:250px;padding:12px;box-shadow:0 24px 70px #00000061,inset 0 1px #ffffff0a}.sidebar:has(.nav-item:focus-visible){border-radius:0 28px 28px 0;width:250px;padding:12px;box-shadow:0 24px 70px #00000061,inset 0 1px #ffffff0a}.sidebar-overlay{display:none}.sidebar-mobile-open{transform:none}.brand-block{opacity:1;pointer-events:auto;height:auto;min-height:32px;overflow:visible}.brand-link{align-items:center;width:34px;height:34px;margin-inline:auto;transition:width .18s,height .18s;overflow:hidden}.sidebar .brand-logo{width:170px;min-width:170px;transition:width .18s;display:none}.sidebar .brand-logo-icon{display:block}.sidebar:hover .brand-link{width:100%;height:auto;margin-inline:0}.sidebar:has(.brand-link:focus-visible) .brand-link{width:100%;height:auto;margin-inline:0}.sidebar:has(.nav-item:focus-visible) .brand-link{width:100%;height:auto;margin-inline:0}.sidebar:hover .brand-logo{width:170px;display:block}.sidebar:has(.brand-link:focus-visible) .brand-logo{width:170px;display:block}.sidebar:has(.nav-item:focus-visible) .brand-logo{width:170px;display:block}.sidebar:hover .brand-logo-icon{display:none}.sidebar:has(.brand-link:focus-visible) .brand-logo-icon{display:none}.sidebar:has(.nav-item:focus-visible) .brand-logo-icon{display:none}.sidebar-nav,.sidebar-bottom-nav,.sidebar-bottom-actions{justify-items:center;gap:4px}.sidebar-bottom{gap:5px}.nav-item{white-space:nowrap;color:#0000;justify-content:center;gap:0;width:38px;min-height:38px;padding:5px;font-size:0;overflow:hidden}.nav-badge{min-width:17px;height:17px;padding:0 4px;font-size:.58rem;position:absolute;top:2px;right:2px}.nav-icon{width:28px;height:28px;color:var(--text-main);flex:0 0 28px}.sidebar-logout-button .nav-icon{color:var(--danger)}.nav-item.active .nav-icon,.nav-item:hover:not(.active) .nav-icon{color:#ffcf6b}.theme-light .nav-item.active .nav-icon,.theme-light .nav-item:hover:not(.active) .nav-icon{color:#b87722}.sidebar:hover .nav-item{width:100%;min-height:32px;color:inherit;justify-content:flex-start;gap:6px;padding:5px 7px;font-size:.7rem;line-height:1.08}.sidebar:has(.brand-link:focus-visible) .nav-item{width:100%;min-height:32px;color:inherit;justify-content:flex-start;gap:6px;padding:5px 7px;font-size:.7rem;line-height:1.08}.sidebar:has(.nav-item:focus-visible) .nav-item{width:100%;min-height:32px;color:inherit;justify-content:flex-start;gap:6px;padding:5px 7px;font-size:.7rem;line-height:1.08}.sidebar:hover .nav-badge{min-width:21px;height:21px;margin-left:auto;padding:0 6px;font-size:.68rem;position:static}.sidebar:has(.brand-link:focus-visible) .nav-badge{min-width:21px;height:21px;margin-left:auto;padding:0 6px;font-size:.68rem;position:static}.sidebar:has(.nav-item:focus-visible) .nav-badge{min-width:21px;height:21px;margin-left:auto;padding:0 6px;font-size:.68rem;position:static}.sidebar:hover .sidebar-nav,.sidebar:hover .sidebar-bottom-nav,.sidebar:hover .sidebar-bottom-actions{justify-items:stretch}.sidebar:has(.brand-link:focus-visible) .sidebar-nav{justify-items:stretch}.sidebar:has(.brand-link:focus-visible) .sidebar-bottom-nav{justify-items:stretch}.sidebar:has(.brand-link:focus-visible) .sidebar-bottom-actions{justify-items:stretch}.sidebar:has(.nav-item:focus-visible) .sidebar-nav{justify-items:stretch}.sidebar:has(.nav-item:focus-visible) .sidebar-bottom-nav{justify-items:stretch}.sidebar:has(.nav-item:focus-visible) .sidebar-bottom-actions{justify-items:stretch}.sidebar:hover .sidebar-logout-button{color:var(--danger)}.sidebar:has(.brand-link:focus-visible) .sidebar-logout-button{color:var(--danger)}.sidebar:has(.nav-item:focus-visible) .sidebar-logout-button{color:var(--danger)}.content-area{min-height:0;padding:24px;overflow-y:auto}.dashboard-layout{gap:16px}.dashboard-layout .hero-card{align-items:center;padding:22px 24px}.dashboard-layout .hero-copy{max-width:560px}.dashboard-layout .date-range{margin-left:auto}.dashboard-layout>.dashboard-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboard-layout>.dashboard-stats-grid .dashboard-stat-card{min-height:112px}.dashboard-layout>.dashboard-stats-grid .dashboard-stat-card strong{font-size:clamp(1.2rem,1.25vw,1.45rem)}.dashboard-layout>.dashboard-side-panel,.dashboard-layout>.dashboard-teacher-panel,.dashboard-layout>.dashboard-recent-panel{grid-column:span 4}.dashboard-layout .chart-shell{--chart-plot-height:360px;grid-template-columns:76px minmax(0,1fr);gap:12px}.dashboard-layout .chart-card,.dashboard-layout .panel{padding:20px}.dashboard-layout .section-heading{gap:12px}.dashboard-layout .section-heading h3{font-size:1.08rem}.dashboard-layout .section-heading p{font-size:.86rem}.dashboard-layout .problem-list{--problem-card-height:70px}.dashboard-layout .problem-card{padding:14px}.dashboard-layout .problem-card-meta,.dashboard-layout .list-meta{font-size:.86rem}.dashboard-layout .dashboard-teacher-filter{max-width:320px}.dashboard-layout .dashboard-teacher-summary{gap:8px}.dashboard-layout .dashboard-teacher-summary>div{padding:10px}.dashboard-layout .dashboard-teacher-lesson-button{grid-template-columns:minmax(0,.9fr) minmax(260px,1.2fr);gap:10px;min-height:78px;padding:12px}.dashboard-layout .dashboard-teacher-lesson-metrics{gap:6px}.dashboard-layout .dashboard-teacher-lesson-metrics span{min-height:54px;padding:8px}.schedule-filter-panel .filters-bar{grid-template-columns:minmax(280px,1fr) minmax(220px,260px) minmax(150px,max-content);align-items:end;gap:12px;display:grid}.schedule-filter-panel .filters-bar>*{width:100%;min-width:0}.schedule-filter-panel .filters-bar .primary-button{white-space:nowrap;justify-content:center;min-height:47px}.schedule-week-panel .section-heading{grid-template-columns:minmax(0,1fr) minmax(420px,520px);align-items:center;gap:16px;display:grid}.schedule-week-picker{grid-template-columns:42px minmax(150px,1fr) 42px max-content;gap:8px;width:100%}.schedule-week-picker .teacher-week-nav-button,.schedule-week-picker .teacher-week-date-button,.schedule-week-picker .teacher-week-today-button{white-space:nowrap;min-height:40px}.schedule-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px}.day-column{border-radius:20px;min-width:0;padding:14px}.day-column h4{margin-bottom:12px}.schedule-card{border-radius:18px;padding:12px}.substitution-lesson-card,.inactive-lesson-card{padding-top:30px}.lesson-card{gap:10px}.lesson-card-head{gap:8px}.lesson-time,.lesson-card-head strong{line-height:1.15}.lesson-card-head p,.lesson-card-meta,.lesson-students{font-size:.82rem}.lesson-settings-wrap{gap:2px}.lesson-menu-trigger,.lesson-substitution-trigger{border-radius:7px;width:20px;min-width:20px;height:20px}.lesson-card-meta{border-radius:14px;padding:9px 10px}}@media (width>=768px) and (width<=1500px) and (orientation:landscape){.modal-backdrop{padding:12px;overflow-y:auto}.modal-card,.modal-card-wide,.modal-card-student,.modal-card-attendance,.modal-card-teacher,.modal-card-payment,.modal-card-staff-settings,.modal-card-substitution,.modal-card-lesson,.modal-card-small,.modal-card-journal-transaction{border-radius:14px;max-height:calc(100dvh - 24px);padding:10px;font-size:.82rem;overflow-y:auto}.modal-card{width:min(480px,100vw - 32px)}.modal-card-wide{width:min(700px,100vw - 32px)}.modal-card-student{width:min(640px,100vw - 32px);padding:8px}.modal-card-teacher,.modal-card-lesson{width:min(500px,100vw - 32px)}.modal-card-staff-settings{--staff-settings-modal-padding-x:10px;width:min(calc((var(--staff-settings-field-width) * 2) + 16px + (var(--staff-settings-modal-padding-x) * 2) + 2px), calc(100vw - 32px))}.modal-card-payment,.modal-card-substitution{width:min(350px,100vw - 32px)}.modal-card-attendance{width:min(370px,100vw - 32px)}.modal-card-small{width:min(380px,100vw - 32px)}.modal-card-journal-transaction{width:min(640px,100vw - 32px)}.modal-card .section-heading{gap:6px}.modal-card .section-heading h3{font-size:.84rem;line-height:1.15}.modal-card .section-heading p{font-size:.62rem;line-height:1.25}.modal-card .crm-form,.payment-form,.substitution-form,.lesson-form,.teacher-form-content{gap:5px}.modal-card label,.modal-card legend,.modal-card .searchable-select,.payment-form label,.substitution-form label,.lesson-form label{gap:3px;font-size:.64rem}.modal-card input,.modal-card select,.modal-card textarea,.modal-card .searchable-select-trigger,.modal-card .searchable-select-search,.modal-card .form-derived-value,.payment-form input,.payment-form select,.payment-form textarea,.payment-form .searchable-select-trigger,.payment-form .searchable-select-search,.substitution-form input,.substitution-form select,.substitution-form textarea,.substitution-form .searchable-select-trigger,.substitution-form .searchable-select-search,.lesson-form input,.lesson-form select,.lesson-form textarea,.lesson-form .searchable-select-trigger,.lesson-form .searchable-select-search{border-radius:7px;min-height:26px;padding:4px 6px;font-size:.68rem}.modal-card textarea,.lesson-form textarea{min-height:34px}.modal-card .primary-button,.modal-card .ghost-button,.payment-form .card-actions button,.teacher-form-actions button,.attendance-actions button{border-radius:7px;min-height:26px;padding:4px 6px;font-size:.66rem;line-height:1.12}.payment-form,.modal-card-payment .section-heading,.modal-card-substitution .section-heading{width:100%;margin-inline:0}.modal-card-student .student-form-layout{border-radius:9px;gap:4px;padding:4px}.modal-card-student .section-heading h3{font-size:.78rem}.modal-card-student .section-heading p{font-size:.58rem}.modal-card-student .student-form-column,.modal-card-student .student-form-inline-fields,.modal-card-student .student-form-actions{gap:3px}.modal-card-student .crm-form label,.modal-card-student .student-start-date-field,.modal-card-student legend{gap:2px;font-size:.58rem}.modal-card-student .crm-form input,.modal-card-student .crm-form select,.modal-card-student .crm-form textarea,.modal-card-student .crm-form .searchable-select-trigger,.modal-card-student .crm-form .searchable-select-search,.modal-card-student .form-derived-value{border-radius:7px;min-height:24px;padding:4px 6px;font-size:.62rem}.modal-card-student .crm-form textarea{height:32px;min-height:32px}.modal-card-student .student-assignment-row{gap:4px}.modal-card-student .chip-grid{gap:3px}.modal-card-student .chip,.modal-card-student .primary-button,.modal-card-student .ghost-button{border-radius:7px;min-height:24px;padding:4px 6px;font-size:.62rem}}@media (width>=1270px) and (width<=1500px){.modal-backdrop-student-wizard{padding:16px}.modal-card.modal-card-student-wizard{border-radius:24px;width:min(560px,100vw - 32px);max-height:calc(100dvh - 32px);padding:18px;font-size:1rem;overflow:hidden}.modal-card-student-wizard .section-heading{gap:10px}.modal-card-student-wizard .section-heading h3{font-size:1.12rem;line-height:1.2}.modal-card-student-wizard .section-heading p{font-size:.82rem;line-height:1.35}.modal-card-student-wizard .crm-form{gap:14px}.modal-card-student-wizard .crm-form label,.modal-card-student-wizard .crm-form .searchable-select,.modal-card-student-wizard .crm-form legend{gap:7px;font-size:.88rem}.modal-card-student-wizard .crm-form input,.modal-card-student-wizard .crm-form select,.modal-card-student-wizard .crm-form textarea,.modal-card-student-wizard .crm-form .searchable-select-trigger,.modal-card-student-wizard .crm-form .searchable-select-search,.modal-card-student-wizard .form-derived-value{border-radius:16px;min-height:48px;padding:12px 14px;font-size:.92rem}.modal-card-student-wizard .student-wizard-form{gap:14px;min-height:min(410px,100dvh - 164px)}.modal-card-student-wizard .student-wizard-step{gap:16px}.modal-card-student-wizard .student-wizard-actions button{border-radius:14px;min-height:44px;padding:11px 14px;font-size:.9rem}.modal-card-student-wizard .icon-button{width:38px;min-width:38px;height:38px;min-height:38px;font-size:inherit;border-radius:16px;padding:9px}}@media (width>=1200px) and (width<=1500px){.modal-backdrop:has(.modal-card-speaking-club-lesson){padding:20px}.modal-card-speaking-club-lesson{border-radius:24px;width:min(960px,100vw - 40px);max-height:calc(100dvh - 40px);padding:16px;font-size:.9rem;overflow-y:auto}.modal-card-speaking-club-lesson .section-heading{margin-bottom:0}.modal-card-speaking-club-lesson .section-heading h3{font-size:1.16rem}.modal-card-speaking-club-lesson .section-heading p{font-size:.86rem}.speaking-club-lesson-modal,.speaking-club-lesson-form{gap:10px}.speaking-club-lesson-form .lesson-form-row.speaking-club-lesson-fields{grid-template-columns:minmax(140px,1fr) minmax(76px,.42fr) minmax(168px,1.08fr) minmax(132px,.82fr) minmax(112px,.68fr);gap:10px}.speaking-club-student-picker{border-radius:16px;gap:10px;padding:12px}.speaking-club-student-filters{grid-template-columns:minmax(180px,1.15fr) minmax(180px,1fr) minmax(160px,.9fr);gap:10px}.speaking-club-student-list{max-height:min(300px,36dvh)}.speaking-club-student-option{border-radius:13px;padding:9px 10px}.modal-card-journal-transaction{border-radius:24px;width:min(400px,100vw - 48px);max-height:calc(100dvh - 48px);padding:22px;overflow-y:auto}.journal-transaction-modal-close{margin-bottom:2px}.journal-transaction-modal-top{text-align:center;grid-template-columns:minmax(0,1fr);place-items:center;gap:16px}.journal-transaction-modal-top .journal-card-avatar{border-radius:19px;width:64px;height:64px}.journal-transaction-modal-top .journal-card-avatar-core{border-radius:13px;width:40px;height:40px}.journal-transaction-modal-copy{min-width:0}.journal-transaction-modal-copy h3{font-size:1.55rem;line-height:1.12}.journal-transaction-modal-copy p{margin-top:6px;font-size:.92rem}.journal-transaction-modal-top strong{white-space:nowrap;justify-self:center;font-size:1.75rem}.journal-transaction-modal-details{border-radius:22px;margin-top:22px}.journal-transaction-modal-row{gap:16px;padding:16px 18px}}@media (width>=641px) and (width<=1199px){.modal-backdrop:has(.modal-card-speaking-club-lesson){padding:14px}.modal-card-speaking-club-lesson{border-radius:24px;width:min(820px,100vw - 28px);max-height:calc(100dvh - 28px);padding:16px;overflow-y:auto}.modal-card-speaking-club-lesson .section-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;margin-bottom:0;display:grid}.modal-card-speaking-club-lesson .section-heading h3{font-size:1.12rem}.modal-card-speaking-club-lesson .section-heading p{font-size:.84rem}.speaking-club-lesson-modal,.speaking-club-lesson-form{gap:12px}.speaking-club-lesson-form .lesson-form-row.speaking-club-lesson-fields{grid-template-columns:minmax(0,1fr) minmax(86px,112px) minmax(0,1fr);gap:10px}.speaking-club-lesson-form .lesson-form-row.speaking-club-lesson-fields>label:first-child{grid-column:1}.speaking-club-lesson-form .lesson-form-row.speaking-club-lesson-fields>label:nth-child(2){grid-column:2}.speaking-club-lesson-form .lesson-form-row.speaking-club-lesson-fields>.searchable-select{grid-column:3}.speaking-club-lesson-form .lesson-form-row.speaking-club-lesson-fields>label:nth-child(4){grid-column:1/3}.speaking-club-lesson-form .lesson-form-row.speaking-club-lesson-fields>label:nth-child(5){grid-column:3}.speaking-club-student-picker{border-radius:16px;gap:10px;padding:12px}.speaking-club-student-filters{grid-template-columns:minmax(0,1fr) minmax(180px,.9fr);gap:10px}.speaking-club-student-filters .search-field{grid-column:1/-1}.speaking-club-student-list{max-height:min(330px,42dvh)}.speaking-club-lesson-form>.card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.speaking-club-lesson-form>.card-actions button{justify-content:center;width:100%}}@media (width>=768px) and (width<=1199px){.modal-backdrop:has(.modal-card-journal-transaction){padding:16px}.modal-card-journal-transaction{border-radius:22px;width:min(400px,100vw - 40px);max-height:calc(100dvh - 32px);padding:18px;overflow-y:auto}.journal-transaction-modal-close{margin-bottom:0}.journal-transaction-modal-top{text-align:center;grid-template-columns:minmax(0,1fr);place-items:center;gap:14px}.journal-transaction-modal-top .journal-card-avatar{border-radius:17px;width:58px;height:58px}.journal-transaction-modal-top .journal-card-avatar-core{border-radius:12px;width:36px;height:36px}.journal-transaction-modal-top .journal-card-avatar-core svg{width:18px;height:18px}.journal-transaction-modal-copy{min-width:0}.journal-transaction-modal-copy h3{font-size:1.34rem;line-height:1.14}.journal-transaction-modal-copy p{margin-top:5px;font-size:.84rem}.journal-transaction-modal-top strong{white-space:nowrap;justify-self:center;font-size:1.42rem}.journal-transaction-modal-details{border-radius:18px;margin-top:18px}.journal-transaction-modal-row{grid-template-columns:minmax(120px,.45fr) minmax(0,1fr);gap:12px;padding:13px 15px}.journal-transaction-modal-row strong{overflow-wrap:anywhere}.journal-transaction-delete-button{border-radius:14px;margin-top:14px;padding:12px 16px;font-size:.9rem}}@media (width>=768px) and (width<=1199px) and (orientation:portrait){.modal-card-journal-transaction{width:min(400px,100vw - 40px)}}@media (width<=760px){.crm-shell.auth-screen:not(.student-portal-screen){overscroll-behavior:none;width:100%;height:100dvh;min-height:0;position:fixed;inset:0;overflow:hidden}.crm-shell.auth-screen:not(.student-portal-screen) .auth-shell{overscroll-behavior-y:contain;justify-content:center;align-items:safe center;height:100%;min-height:100%;padding:16px;display:flex;overflow-y:auto}.auth-card{border-radius:22px;width:100%;max-width:332px;margin-inline:auto;padding:20px}.auth-screen-theme-switch{top:calc(16px + env(safe-area-inset-top,0px));right:calc(16px + env(safe-area-inset-right,0px))}.content-area>.topbar{align-items:stretch;gap:12px;margin-bottom:14px}.content-area>.topbar h2{font-size:1.35rem;line-height:1.15}.topbar-actions{justify-content:space-between;gap:10px;width:100%}.topbar-actions .status-pill{flex:auto;min-width:0;padding:8px 12px;font-size:.82rem;line-height:1.15}.topbar-actions .theme-switch{flex:none}.attendance-page-layout{grid-template-columns:1fr;gap:12px}.attendance-student-summary{grid-template-columns:1fr}.attendance-student-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-student-panel,.attendance-filter-panel{border-radius:18px;padding:12px}.attendance-student-panel .section-heading{gap:8px}.attendance-student-panel .section-heading h3{font-size:1rem}.attendance-student-panel .section-heading p{font-size:.78rem;line-height:1.35}.attendance-student-select,.attendance-student-panel .searchable-select-trigger,.attendance-student-panel .searchable-select-search{min-width:0;font-size:.86rem}.attendance-student-info-card,.attendance-student-metric{border-radius:14px;padding:10px 12px}.attendance-student-info-card span,.attendance-student-metric span,.attendance-legend-item{font-size:.76rem}.attendance-student-info-card strong,.attendance-student-metric strong{font-size:.94rem;line-height:1.18}.attendance-student-info-card p{font-size:.78rem;line-height:1.3}.attendance-student-calendar{border-radius:12px;gap:5px;padding:6px}.attendance-student-calendar .attendance-picker-head{gap:8px}.attendance-student-calendar .attendance-picker-head strong{text-align:center;font-size:.86rem}.attendance-student-calendar .attendance-picker-head .icon-button{border-radius:10px;width:30px;min-width:30px;height:30px}.attendance-student-calendar .attendance-weekdays,.attendance-student-calendar .attendance-calendar{gap:3px}.attendance-student-calendar .attendance-weekdays span{font-size:.58rem}.attendance-student-calendar .attendance-day{border-radius:7px;font-size:.66rem}.attendance-student-calendar .attendance-day small{min-width:10px;height:10px;font-size:.44rem;bottom:2px;right:2px}.attendance-student-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.attendance-legend-dot{width:10px;height:10px}.attendance-filter-panel .filters-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.attendance-filter-panel .search-field,.attendance-filter-panel .balance-indicator{grid-column:1/-1}.attendance-filter-panel .search-field,.attendance-filter-panel .searchable-select,.attendance-filter-panel .date-range-picker,.attendance-filter-panel .balance-indicator{width:100%;min-width:0}.attendance-filter-panel .filters-bar label,.attendance-filter-panel .filters-bar .searchable-select{gap:5px;font-size:.78rem}.attendance-filter-panel .filters-bar input,.attendance-filter-panel .filters-bar select,.attendance-filter-panel .filters-bar .searchable-select-trigger,.attendance-filter-panel .filters-bar .searchable-select-search,.attendance-filter-panel .date-range-trigger{border-radius:12px;min-height:38px;padding:9px 10px;font-size:.86rem}.attendance-filter-panel .date-range-trigger{width:100%}.attendance-filter-panel .balance-indicator{border-radius:14px;padding:10px 12px}.attendance-filter-panel .balance-indicator span{margin-bottom:4px;font-size:.74rem}.attendance-filter-panel .balance-indicator strong{font-size:.95rem}.attendance-card{border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 14px 16px 20px;display:grid}.attendance-card>div:first-child{min-width:0}.attendance-card h3{font-size:.89rem;line-height:1.15}.attendance-card-title-row{align-items:center;gap:8px}.attendance-card-title-row h3{overflow-wrap:anywhere;flex:0 auto}.attendance-card-title-row>.attendance-card-status{flex:none;margin-left:auto}.attendance-card-title-row .badge:not(.attendance-card-status){white-space:nowrap;flex:none;min-height:30px;padding:7px 12px;font-size:.76rem;line-height:1}.attendance-card p{font-size:.78rem;line-height:1.32}.attendance-card-meta{grid-template-columns:minmax(0,max-content) 32px;place-self:flex-end end;place-items:center end;gap:8px;width:auto;margin-left:0;display:grid}.attendance-card-meta-has-rollback{grid-template-columns:minmax(0,max-content) repeat(2,32px)}.attendance-card:not(.attendance-card-pending) .attendance-card-meta{column-gap:12px}.attendance-card:not(.attendance-card-pending) .attendance-card-meta .icon-button:last-child{margin-left:4px}.attendance-card-pending{grid-template-columns:1fr;align-items:stretch}.attendance-card-pending .attendance-card-meta{justify-content:flex-end;justify-self:stretch;width:100%;display:flex}.attendance-card-pending .attendance-card-actions{flex-flow:row;justify-content:flex-start;align-items:center;gap:clamp(3px,1vw,7px);width:100%;max-width:100%;display:flex}.attendance-card-pending .attendance-card-action{white-space:nowrap;border-radius:8px;flex-direction:row;flex:auto;gap:3px;width:auto;min-width:0;min-height:32px;padding:4px clamp(3px,1vw,6px);font-size:clamp(.5rem,2.2vw,.72rem);line-height:1.2;display:inline-flex}.attendance-card-pending .attendance-card-action>span:last-child{white-space:nowrap}.attendance-card-pending .attendance-card-action-icon{flex-basis:14px;width:14px;height:14px}.attendance-card-pending .attendance-card-action-icon svg{width:13px;height:13px}.attendance-card-pending .attendance-card-action-delete .attendance-card-action-icon svg{width:17px;height:17px}.attendance-card-pending .attendance-card-action-delete .attendance-card-action-icon{flex-basis:18px;width:18px;height:18px}.attendance-card-meta strong{text-align:center;white-space:nowrap;grid-area:1/1;justify-self:center;font-size:.94rem;font-weight:800}.attendance-card:not(.attendance-card-pending) .attendance-card-meta .icon-button{aspect-ratio:1;border-radius:10px;flex-basis:32px;grid-row:1;width:32px;min-width:32px;height:32px;min-height:32px;padding:0}.searchable-select-popover{left:var(--searchable-select-mobile-left,0px);width:max(100%,320px);max-width:var(--searchable-select-mobile-max-width,calc(100vw - 48px));right:auto}.search-input-wrap input{padding-right:34px}.search-clear-button{right:4px}.primary-button-tone-picker{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.schedule-filter-panel,.schedule-week-panel{border-radius:18px;padding:12px}.schedule-filter-panel .filters-bar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;display:grid}.schedule-filter-panel .search-field{grid-column:1/-1}.schedule-filter-panel .filters-bar label,.schedule-filter-panel .filters-bar .searchable-select{gap:5px;min-width:0;font-size:.78rem}.schedule-filter-panel .filters-bar input,.schedule-filter-panel .filters-bar select,.schedule-filter-panel .filters-bar .searchable-select-trigger,.schedule-filter-panel .filters-bar .searchable-select-search{border-radius:12px;min-height:38px;padding:9px 10px;font-size:.86rem}.schedule-filter-panel .filters-bar .primary-button{white-space:nowrap;border-radius:12px;justify-content:center;width:100%;min-height:38px;padding:10px 8px;font-size:.78rem}.schedule-filter-panel .filters-bar .search-clear-button{border-radius:0;justify-content:center;width:20px;height:20px;min-height:20px;padding:0;right:4px}.schedule-week-panel .section-heading{align-items:stretch;gap:12px}.schedule-week-panel .section-heading h3{font-size:1rem}.schedule-week-panel .section-heading p{font-size:.8rem}.schedule-week-picker{grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:6px;width:100%;display:grid}.schedule-week-picker .teacher-week-nav-prev{grid-area:1/1}.schedule-week-picker .teacher-week-date-button{grid-area:1/2}.schedule-week-picker .teacher-week-nav-next{grid-area:1/3}.schedule-week-picker .teacher-week-today-button{grid-area:2/1/auto/-1}.schedule-week-picker .teacher-week-nav-button,.schedule-week-picker .teacher-week-date-button,.schedule-week-picker .teacher-week-today-button{white-space:nowrap;border-radius:12px;min-height:34px;font-size:.74rem}.salary-portal-accrual-panel,.salary-filter-panel,.salary-teacher-card{border-radius:18px;padding:12px}.salary-portal-accrual-panel{gap:10px}.salary-portal-accrual-panel .section-heading{gap:8px}.salary-portal-accrual-panel .section-heading h3{font-size:1rem}.salary-portal-accrual-panel .section-heading p{font-size:.78rem}.salary-portal-teacher-select{gap:5px;font-size:.78rem}.salary-portal-teacher-select .searchable-select-trigger,.salary-portal-teacher-select .searchable-select-search{border-radius:12px;min-height:38px;padding:9px 10px;font-size:.86rem}.salary-filter-panel .filters-bar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;display:grid}.salary-filter-panel .search-field,.salary-filter-panel .balance-indicator{grid-column:1/-1}.salary-filter-panel .filters-bar label,.salary-filter-panel .filters-bar .searchable-select{gap:5px;min-width:0;font-size:.78rem}.salary-filter-panel .filters-bar input,.salary-filter-panel .filters-bar select,.salary-filter-panel .filters-bar .searchable-select-trigger,.salary-filter-panel .filters-bar .searchable-select-search{border-radius:12px;min-height:38px;padding:9px 10px;font-size:.86rem}.salary-filter-panel .balance-indicator{border-radius:12px;min-height:38px;padding:10px 12px}.salary-teacher-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 12px;display:grid}.salary-teacher-head>div:first-child{min-width:0}.salary-teacher-head h3{font-size:.96rem;line-height:1.18}.salary-teacher-period-row{margin-top:4px}.salary-period-line{font-size:.74rem;line-height:1.25}.salary-row-main{flex-direction:row;justify-content:space-between;align-items:center}.salary-total-row{width:100%;margin-left:0}.salary-row-meta{text-align:right;justify-content:flex-end;width:auto;margin-left:auto}.salary-summary-head{width:auto;margin-left:0;display:contents}.salary-summary-total{white-space:nowrap;grid-area:1/2;place-self:center end}.salary-summary-head>strong{flex:none;width:auto}.salary-summary-actions{grid-area:2/1/auto/-1;gap:8px;width:100%;display:flex}.salary-summary-head .ghost-button,.salary-summary-head .primary-button{white-space:nowrap;border-radius:12px;flex:1 1 0;justify-content:center;min-width:0;min-height:38px;padding:10px 6px;font-size:.74rem}.salary-total-row{justify-content:flex-end;align-items:center}.salary-row-calculations{grid-template-columns:1fr auto;width:100%}.salary-row{gap:10px;padding:12px}.salary-lesson-title,.salary-lesson-card-main strong:not(.salary-lesson-card-index),.salary-row-meta strong,.salary-lesson-card-meta strong{font-size:.9rem}.salary-lesson-card-main strong.salary-lesson-group-title{font-size:.96rem}.salary-substitution-badge,.teacher-salary-lesson-copy small .teacher-salary-substitution-badge{font-size:.68rem}.salary-row-main p,.salary-lesson-meta,.salary-lesson-time,.salary-row-students p,.salary-row-students li,.salary-row-students span,.salary-row-calculations{font-size:.78rem}.salary-lesson-card{gap:8px;padding:10px}.salary-lesson-card-main,.salary-lesson-card-meta{gap:8px}.salary-lesson-card-main{justify-content:flex-start}.salary-lesson-card-meta{text-align:right;flex-direction:row;justify-content:flex-end;align-self:start;align-items:center;min-width:auto;margin-left:auto}.salary-lesson-time-row .salary-lesson-card-meta{align-self:center}.salary-lesson-card-index{flex-basis:24px;width:24px;height:24px;font-size:.78rem}.teacher-filter-panel,.teacher-card{border-radius:18px;padding:12px}.teacher-filter-panel .filters-bar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;display:grid}.teacher-filter-panel .search-field{grid-column:1/-1}.teacher-filter-panel .filters-bar label{gap:5px;min-width:0;font-size:.78rem}.teacher-filter-panel .filters-bar input,.teacher-filter-panel .filters-bar select{border-radius:12px;min-height:38px;padding:9px 10px;font-size:.86rem}.teacher-filter-panel .filters-bar .primary-button{border-radius:12px;justify-content:center;width:100%;min-height:38px;padding:10px 8px;font-size:.78rem}.teacher-card{flex-direction:column;align-items:stretch;gap:12px}.teacher-card.menu-open{z-index:900}.teacher-card-head{flex-basis:auto;gap:12px;min-width:0}.teacher-card-summary{align-items:center}.teacher-language-flag{border-radius:4px;flex-basis:22px;width:22px}.teacher-menu-wrap{z-index:920}.teacher-menu-dropdown{z-index:1200;width:min(220px,100vw - 48px);min-width:0;position:fixed;top:50%;left:50%;right:auto;transform:translate(-50%,-50%)}.teacher-head-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px;width:100%;margin-left:0}.teacher-contact-meta-row{gap:6px;width:100%}.teacher-head-actions .badge{flex:calc(50% - 4px);min-width:0;padding:7px 9px;font-size:.76rem}.teacher-meta-badge svg{flex-basis:15px;width:15px;height:15px}.teacher-telegram-status>span:first-child{font-size:.72rem}.teacher-rates{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.teacher-rates>div{border-radius:12px;padding:10px}.teacher-rates span{margin-bottom:4px;font-size:.76rem}.page-stack>.panel:has(+.journal-list){z-index:55;border-radius:18px;padding:12px;position:sticky;top:0}.page-stack>.panel:has(+.journal-list) .filters-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.page-stack>.panel:has(+.journal-list) .search-field{grid-column:auto;width:100%;min-width:0}.page-stack>.panel:has(+.journal-list) .filters-bar label{gap:5px;font-size:.78rem}:is(.page-stack>.panel:has(+.journal-list) .filters-bar input,.page-stack>.panel:has(+.journal-list) .filters-bar select){border-radius:12px;min-height:38px;padding:9px 10px;font-size:.86rem}.page-stack>.panel:has(+.journal-list) .date-range-picker{grid-column:auto;width:100%}.page-stack>.panel:has(+.journal-list) .date-range-picker>span{font-size:.78rem;font-weight:inherit}.page-stack>.panel:has(+.journal-list) .date-range-trigger{width:100%;min-width:0;max-width:100%}.date-range-picker{width:max-content;min-width:0}.date-range-trigger{border-radius:12px;min-height:38px;padding:9px 10px;font-size:.86rem}.date-range-popover{left:0;right:auto}.page-stack>.panel:has(+.journal-list) .date-range-popover{left:auto;right:0}.date-range-calendar{width:min(300px,100vw - 28px)}.page-stack>.panel:has(+.journal-list) .journal-category-filter .searchable-select-trigger{border-radius:12px;min-height:38px;padding:10px 8px;font-size:.78rem}.page-stack>.panel:has(+.journal-list) .filters-bar>button{white-space:nowrap;border-radius:12px;align-self:end;width:100%;min-height:38px;padding:10px 8px;font-size:.78rem}.page-stack>.panel:has(+.journal-list) .date-range-calendar .attendance-picker-head{grid-template-columns:34px minmax(0,1fr) 34px;gap:8px;display:grid}.page-stack>.panel:has(+.journal-list) .date-range-calendar .attendance-picker-head .icon-button{border-radius:12px;width:34px;min-width:34px;height:34px;padding:0}.page-stack>.panel:has(+.journal-list) .date-range-presets{gap:4px}.page-stack>.panel:has(+.journal-list) .date-range-presets button{white-space:nowrap;border-radius:8px;width:100%;min-height:28px;padding:4px 3px;font-size:.6rem;line-height:1.05}.journal-day-heading{z-index:50;border-radius:14px;gap:8px;padding:7px 10px;position:sticky;top:168px}.journal-day-heading span:first-child{font-size:.72rem}.journal-day-heading .badge{min-height:24px;padding:5px 9px;font-size:.72rem}.student-portal-shell{width:calc(100% - 24px);max-width:100%;margin:12px auto 18px}.student-portal-topbar,.student-portal-hero{flex-direction:column;align-items:stretch}.student-portal-hero-meta{justify-content:flex-start}.student-portal-hero-summary{width:100%}.student-portal-metrics,.student-portal-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-portal-metrics .stat-card,.student-portal-details>div{border-radius:16px;min-width:0;padding:12px}.student-portal-metrics .stat-card span{font-size:.84rem;line-height:1.25}.student-portal-details span{font-size:.76rem;line-height:1.25}.student-portal-metrics .stat-card strong,.student-portal-metrics .stat-card-subvalue{overflow-wrap:anywhere;font-size:1.08rem;line-height:1.2}.student-portal-details strong{overflow-wrap:anywhere;font-size:.92rem;line-height:1.2}.hero-card,.topbar,.section-heading,.chart-shell,.filters-bar,.form-columns,.staff-directory-card,.student-card-head,.student-head-actions,.date-range{flex-direction:column}.staff-directory-meta{justify-items:start}.staff-directory-actions{justify-content:flex-start}.staff-directory-password{text-align:left}.settings-staff-grid{gap:12px}.settings-staff-grid>.panel-nested,.staff-directory{border-radius:18px;padding:12px}.settings-staff-grid .crm-form{gap:10px}.settings-staff-grid .crm-form p{margin:0;font-size:.78rem;line-height:1.35}.settings-staff-grid .form-columns{gap:10px;width:100%}.settings-staff-grid .form-columns>label{gap:5px;width:100%;font-size:.78rem}.settings-staff-grid .crm-form input,.settings-staff-grid .crm-form select{border-radius:12px;min-height:38px;padding:9px 10px;font-size:.86rem}.settings-staff-grid .crm-form .primary-button{border-radius:12px;justify-content:center;width:100%;min-height:40px;padding:10px 12px;font-size:.86rem}.staff-directory .section-heading{flex-direction:row;align-items:center;gap:10px}.staff-directory .section-heading h3{font-size:1rem}.student-portal-contact-directory>.section-heading{align-items:stretch}.student-portal-contact-heading-actions{justify-content:space-between;width:100%}.student-portal-contact-heading-actions .settings-staff-add-button{flex:none}.staff-directory .status-pill{padding:7px 10px;font-size:.76rem;line-height:1.1}.staff-directory-list{gap:10px}.staff-directory-card{border-radius:16px;grid-template-columns:1fr;align-items:start;gap:10px;padding:14px;display:grid}.staff-directory-card strong{font-size:.96rem;line-height:1.18}.staff-directory-card p{margin-top:3px;font-size:.78rem;line-height:1.3}.staff-directory-meta{justify-items:stretch;gap:8px;width:100%}.staff-directory-category-row{justify-content:space-between;gap:8px;width:100%}.staff-edit-button{border-radius:11px;width:34px;min-width:34px;height:34px}.staff-directory-password{font-size:.76rem;line-height:1.3}.staff-directory-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.staff-directory-actions .ghost-button{border-radius:12px;justify-content:center;width:100%;min-height:38px;padding:8px;font-size:.78rem;line-height:1.15}.student-search-panel{border-radius:18px;padding:12px}.modal-card-lesson{border-radius:20px;width:calc(100vw - 40px);padding:14px}.modal-card-substitution,.modal-card-payment{border-radius:20px;width:calc(100vw - 52px);padding:14px}.modal-backdrop:has(.modal-card-teacher){place-items:center;padding:12px;display:grid;overflow-y:auto}.modal-card-teacher{border-radius:18px;place-self:center;width:min(358px,100vw - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:12px;overflow-y:auto}.modal-card-teacher .section-heading{flex-direction:row;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.modal-card-teacher .section-heading h3{font-size:1rem;line-height:1.15}.modal-card-teacher .section-heading p{margin-top:3px;font-size:.72rem;line-height:1.25}.modal-card-teacher .crm-form{gap:10px}.modal-card-teacher .form-columns{gap:8px}.modal-card-teacher .teacher-contact-fields,.modal-card-teacher .teacher-name-fields{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.modal-card-teacher .teacher-rate-fields{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.modal-card-teacher .crm-form label{gap:5px;font-size:.78rem}.modal-card-teacher .crm-form input,.modal-card-teacher .crm-form select{border-radius:11px;min-height:36px;padding:8px 10px;font-size:.84rem}.modal-card-teacher .panel-nested{border-radius:14px;padding:10px}.modal-card-teacher .panel-nested .section-heading{margin-bottom:6px}.modal-card-teacher .panel-nested .section-heading h3{font-size:.88rem}.modal-card-teacher .panel-nested .section-heading p{font-size:.68rem}.modal-card-teacher .primary-button{border-radius:12px;justify-content:center;width:100%;min-height:38px;padding:9px 12px;font-size:.84rem}.modal-backdrop:has(.modal-card-attendance){place-items:center;padding:12px;display:grid;overflow-y:auto}.modal-card-attendance{border-radius:18px;place-self:center;width:min(342px,100vw - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:12px;overflow-y:auto}.modal-card-attendance .section-heading{flex-direction:row;justify-content:space-between;align-items:center;gap:10px;width:100%;margin-bottom:8px}.modal-card-attendance .section-heading h3{font-size:.98rem;line-height:1.15}.modal-card-attendance .attendance-modal-name{margin-top:3px;font-size:.82rem;line-height:1.2}.modal-card-attendance .crm-form{gap:9px;width:100%}.modal-card-attendance .attendance-picker{border-radius:12px;gap:4px;width:100%;padding:6px}.modal-card-attendance .attendance-picker-head strong{text-align:center;font-size:.74rem;line-height:1.15}.modal-card-attendance .panel-nested{border-radius:12px;padding:8px 10px}.modal-card-attendance .panel-nested h4{margin:0;font-size:.78rem;line-height:1.2}.modal-card-attendance .empty-state-text{font-size:.72rem;line-height:1.3}.modal-card-attendance .attendance-status-field legend{margin-bottom:6px;font-size:.72rem}.modal-card-attendance .attendance-status-field .chip-grid,.modal-card-attendance .attendance-actions{gap:7px}.modal-card-attendance .attendance-status-field .chip,.modal-card-attendance .attendance-actions button{border-radius:10px;min-height:34px;padding:7px;font-size:.74rem;line-height:1.12}.modal-backdrop:has(.modal-card-staff-settings){place-items:center;padding:16px;display:grid;overflow-y:auto}.modal-card-staff-settings{border-radius:20px;place-self:center;width:min(360px,100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:14px;overflow-y:auto}.modal-card-staff-settings .section-heading{flex-direction:row;align-items:center;gap:10px}.modal-card-staff-settings .section-heading h3{font-size:1rem}.modal-card-staff-settings .section-heading p{font-size:.78rem}.modal-card-staff-settings .crm-form{gap:10px}.modal-card-staff-settings .form-columns>label{flex:0 auto;width:100%}.modal-card-staff-settings .crm-form label{gap:5px;font-size:.78rem}.modal-card-staff-settings .crm-form input,.modal-card-staff-settings .crm-form select{border-radius:12px;min-height:38px;padding:9px 10px;font-size:.86rem}.modal-card-staff-settings .card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.modal-card-staff-settings .card-actions button{border-radius:12px;justify-content:center;width:100%;min-height:38px;padding:8px;font-size:.82rem}.modal-card-payment .section-heading{margin-inline:0;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;width:100%;margin-bottom:8px}.modal-card-payment .section-heading h3{font-size:1rem}.modal-card-payment .payment-modal-name{font-size:.82rem;line-height:1.2}.payment-form{gap:10px;width:276px}.payment-form label,.payment-calendar-field,.payment-note-field{gap:6px;font-size:.78rem}.payment-form>label,.payment-calendar-field,.payment-note-field{justify-self:center;width:276px;max-width:100%}.payment-form input,.payment-form select,.payment-form textarea,.payment-form .searchable-select-trigger,.payment-form .searchable-select-search{border-radius:12px;padding:9px 10px;font-size:.82rem}.payment-form .attendance-picker{border-radius:12px;gap:5px;width:276px;padding:6px}.payment-form .attendance-picker-head{gap:6px}.payment-form .attendance-picker-head strong{font-size:.72rem}.payment-form .attendance-picker-head .icon-button{border-radius:10px;width:24px;min-width:24px;height:24px}.payment-form .attendance-picker-head .icon-button span{font-size:.92rem}.payment-form .attendance-weekdays,.payment-form .attendance-calendar{gap:3px}.payment-form .attendance-weekdays span{font-size:.52rem}.payment-form .attendance-day{border-radius:6px;font-size:.64rem}.modal-card-attendance{border-radius:20px;width:calc(100vw - 52px);padding:14px}.modal-card-attendance .attendance-form{gap:10px;width:276px;max-width:100%;margin-inline:auto}.modal-card-attendance .attendance-picker{border-radius:12px;justify-self:center;gap:5px;width:276px;max-width:100%;padding:6px}.modal-card-attendance .attendance-picker-head{gap:6px}.modal-card-attendance .attendance-picker-head strong{font-size:.72rem}.modal-card-attendance .attendance-picker-head .icon-button{border-radius:10px;width:24px;min-width:24px;height:24px}.modal-card-attendance .attendance-picker-head .icon-button span{font-size:.92rem}.modal-card-attendance .attendance-weekdays,.modal-card-attendance .attendance-calendar{gap:3px}.modal-card-attendance .attendance-weekdays span{font-size:.52rem}.modal-card-attendance .attendance-day{border-radius:6px;font-size:.64rem}.modal-card-attendance .attendance-day small{min-width:9px;height:9px;font-size:.38rem;bottom:2px;right:2px}.modal-card-attendance .panel-nested,.modal-card-attendance .attendance-status-field,.modal-card-attendance .attendance-actions{justify-self:center;width:276px;max-width:100%}.modal-card-attendance .attendance-status-field .chip{overflow-wrap:anywhere;border-radius:12px;min-height:40px;padding:6px 3px;font-size:.65rem;font-weight:700;line-height:1.12}.modal-card-attendance .attendance-actions button{min-height:auto;font-size:inherit;border-radius:16px;padding:12px 16px;line-height:1.2}.payment-note-preview{font-size:.78rem}.modal-card-substitution .section-heading{margin-inline:0;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;width:100%;margin-bottom:8px}.modal-card-substitution .section-heading h3{font-size:1rem}.modal-card-substitution .section-heading p{font-size:.74rem}.substitution-form{gap:10px}.substitution-form label,.substitution-form .searchable-select,.substitution-form .attendance-picker{font-size:.78rem}.substitution-form .substitution-compact-field,.substitution-form .searchable-select.substitution-compact-field{justify-self:center;width:276px;max-width:100%}.substitution-form input,.substitution-form select,.substitution-form textarea,.substitution-form .substitution-readonly-value,.substitution-form .searchable-select-trigger,.substitution-form .searchable-select-search{border-radius:14px;padding:10px 11px;font-size:.86rem}.substitution-form .attendance-picker{border-radius:12px;gap:5px;width:276px;padding:6px}.substitution-form .attendance-picker-head{gap:6px}.substitution-form .attendance-picker-head strong{font-size:.72rem}.substitution-form .attendance-picker-head .icon-button{border-radius:10px;width:24px;min-width:24px;height:24px}.substitution-form .attendance-picker-head .icon-button span{font-size:.92rem}.substitution-form .attendance-weekdays,.substitution-form .attendance-calendar{gap:3px}.substitution-form .attendance-weekdays span{font-size:.52rem}.substitution-form .attendance-day{border-radius:6px;font-size:.64rem}.modal-card-lesson .section-heading{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.lesson-form{gap:10px}.lesson-form .section-heading h3,.modal-card-lesson .section-heading h3{font-size:1.05rem}.lesson-form .section-heading p,.modal-card-lesson .section-heading p{font-size:.78rem}.lesson-form label{gap:6px;font-size:.78rem}.lesson-form input,.lesson-form select,.lesson-form textarea,.lesson-form .searchable-select-trigger,.lesson-form .searchable-select-search{border-radius:14px;padding:10px 11px;font-size:.86rem}.lesson-form textarea{min-height:78px}.lesson-form-row.lesson-form-row-compact{flex-direction:row;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.student-search-panel .filters-bar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;display:grid}.student-search-panel .search-field{grid-column:1/-1}.student-search-panel .balance-indicator,.speaking-club-students-filter .balance-indicator,.student-search-panel .filters-bar label:not(.search-field),.student-search-panel .student-balance-summary-card,.speaking-club-students-filter .student-balance-summary-card{grid-column:span 1}.student-search-panel .filters-bar label,.student-search-panel .filters-bar .searchable-select{gap:5px;min-width:0;font-size:.78rem}.student-search-panel .filters-bar input,.student-search-panel .filters-bar select,.student-search-panel .filters-bar .searchable-select-trigger,.student-search-panel .filters-bar .searchable-select-search{border-radius:12px;min-height:38px;padding:9px 10px;font-size:.86rem}.student-search-panel .balance-indicator,.speaking-club-students-filter .balance-indicator{border-radius:14px;min-width:0;padding:8px 10px}.student-search-panel .balance-indicator span,.speaking-club-students-filter .balance-indicator span{margin-bottom:4px;font-size:.74rem}.student-search-panel .balance-indicator strong,.speaking-club-students-filter .balance-indicator strong{font-size:.82rem}.student-balance-summary-card{gap:8px;min-width:0}.student-balance-summary-item+.student-balance-summary-item{padding-left:8px}.student-search-panel .filters-bar button{white-space:nowrap;border-radius:12px;justify-content:center;width:100%;min-height:38px;padding:10px 8px;font-size:.78rem}.student-search-panel .filters-bar .search-clear-button{border-radius:0;justify-content:center;width:20px;height:20px;min-height:20px;padding:0;right:4px}.page-stack>.panel:has(+.journal-list) .filters-bar .search-clear-button{border-radius:0;justify-content:center;width:20px;height:20px;min-height:20px;padding:0;right:4px}.modal-backdrop-student{padding:8px}.modal-card-student{border-radius:14px;width:min(380px,100vw - 16px);padding:7px;font-size:.58rem;transform:none}.modal-card-student .section-heading{flex-direction:row;align-items:flex-start;gap:7px}.modal-card-student .section-heading h3{font-size:.66rem}.modal-card-student .section-heading p{font-size:.5rem}.modal-card-student .form-columns{flex-direction:row;align-items:flex-start;gap:6px}.modal-card-student .student-form-layout{border-radius:11px;grid-template-columns:minmax(142px,1fr) minmax(166px,1fr);gap:7px;width:100%;padding:6px}.modal-card-student .student-assignment-row{grid-template-columns:minmax(106px,1.45fr) minmax(78px,1fr) minmax(62px,.9fr) minmax(36px,.45fr);gap:6px}.modal-card-student .student-phone-input{width:106px!important}.modal-card-student .student-form-inline-fields,.modal-card-student .student-form-actions{gap:4px}.modal-card-student .crm-form,.modal-card-student .student-form-column{gap:5px}.modal-card-student .crm-form label,.modal-card-student .student-start-date-field,.modal-card-student legend{gap:3px;font-size:.52rem}.modal-card-student .crm-form input,.modal-card-student .crm-form select,.modal-card-student .crm-form textarea,.modal-card-student .crm-form .searchable-select-trigger,.modal-card-student .crm-form .searchable-select-search,.modal-card-student .form-derived-value{border-radius:8px;min-height:24px;padding:5px 6px;font-size:.55rem}.modal-card-student .crm-form textarea{height:40px;min-height:40px}.modal-card-student .student-status-switch{gap:4px;min-height:24px;padding:2px 5px}.modal-card-student .student-status-switch-label{font-size:.51rem}.modal-card-student .student-status-switch-track{width:29px;height:17px;padding:3px}.modal-card-student .student-status-switch-thumb{width:10px;height:10px;transform:translate(13px)}.modal-card-student .student-start-date-summary{gap:3px;font-size:.48rem;line-height:1.35}.modal-card-student .attendance-picker{border-radius:10px;gap:3px;width:166px;padding:4px}.modal-card-student .attendance-picker-head{gap:6px}.modal-card-student .attendance-picker-head strong{font-size:.55rem}.modal-card-student .attendance-picker-head .icon-button{width:20px;min-width:20px;height:20px}.modal-card-student .attendance-picker-head .icon-button span{font-size:.66rem}.modal-card-student .attendance-weekdays,.modal-card-student .attendance-calendar{gap:2px}.modal-card-student .attendance-weekdays span{font-size:.42rem}.modal-card-student .attendance-day{border-radius:5px;font-size:.46rem}.modal-card-student .attendance-day small{min-width:8px;height:8px;font-size:.38rem;bottom:2px;right:3px}.modal-card-student .chip-grid{gap:4px}.modal-card-student .chip,.modal-card-student .primary-button,.modal-card-student .ghost-button{border-radius:8px;min-height:24px;padding:5px 8px;font-size:.55rem}.student-table-header{display:none}.student-list-card{background:color-mix(in srgb, var(--bg-card) var(--glass-card-background-alpha,100%), transparent);border-radius:18px;padding:14px}.student-list-row{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:8px;display:grid}.student-title,.student-head-actions{grid-column:1/-1}.student-metrics.compact>div:first-child,.student-metrics.compact>div:nth-child(2),.student-metrics.compact>.student-next-payment-metric,.student-metrics.compact>div:nth-child(4){grid-column:span 1}.student-title h3{font-size:1rem;line-height:1.15}.student-title p{margin-top:4px;font-size:.78rem}.student-metrics.compact>div{background:var(--bg-soft);border-color:var(--border);border-radius:14px;place-items:center;min-width:0;padding:9px 10px}.student-metrics.compact strong,.student-metrics.compact>div:nth-child(-n+3) strong,.student-metrics.compact>div.student-next-payment-metric strong,.student-metrics.compact>div.student-next-payment-metric .student-metric-subvalue{font-size:.9rem}.student-metrics.compact>div:nth-child(4) strong{font-size:.78rem;line-height:1.15}.student-metrics.compact>div>span{font-size:.74rem}.student-metrics.compact>.metrics-tail{display:none}.metrics-tail>span{font-size:.78rem}.student-head-actions{flex-flow:row;justify-self:stretch;align-items:center;gap:8px;min-width:0;display:flex}.student-payment-button{flex:0 0 calc(50% - 4px);order:4;justify-content:center;align-items:center;width:calc(50% - 4px);max-width:calc(50% - 4px);height:40px;min-height:40px;padding-block:0;padding-inline:10px;line-height:1;display:flex}.student-head-actions>.icon-button{flex:0 0 calc(16.6667% - 6.66667px);order:1;width:calc(16.6667% - 6.66667px);max-width:calc(16.6667% - 6.66667px)}.student-head-actions .icon-button,.student-head-actions .menu-trigger{border-radius:14px;width:100%;min-width:0;height:40px}.student-menu-wrap{flex:0 0 calc(16.6667% - 6.66667px);order:3;width:calc(16.6667% - 6.66667px);min-width:0;max-width:calc(16.6667% - 6.66667px)}.student-menu-dropdown{min-width:min(220px,100vw - 56px);left:auto;right:0}.student-card-menu-dropdown{min-width:min(190px,100vw - 72px);inset:auto auto calc(100% + 8px) 0;transform:none}.student-card-menu-dropdown.drop-down{top:calc(100% + 8px);bottom:auto}.student-card-menu-dropdown.drop-up{top:auto;bottom:calc(100% + 8px)}.student-note{margin-top:10px;font-size:.76rem}.journal-card{flex-direction:row;align-items:center}.journal-card-main{gap:14px}.journal-card-avatar{border-radius:14px;width:44px;height:44px}.journal-card-avatar-core{border-radius:10px;width:30px;height:30px}.journal-card-avatar-core svg{stroke-width:2.4px;width:15px;height:15px}.journal-card-title{font-size:1rem}.journal-card-subtitle{font-size:.78rem}.journal-meta{gap:10px}.journal-meta strong{font-size:1rem}.journal-card{gap:12px;padding:14px}.modal-backdrop:has(.modal-card-journal-transaction){place-items:center;padding:12px}.modal-card-journal-transaction{box-sizing:border-box;border-radius:20px;width:min(100%,100vw - 24px);max-height:calc(100dvh - 24px);margin-inline:auto;padding:14px;overflow-y:auto}.journal-transaction-modal-close{margin-bottom:0}.journal-transaction-modal-top{text-align:center;grid-template-columns:minmax(0,1fr);place-items:center;gap:12px}.journal-transaction-modal-top .journal-card-avatar{border-radius:19px;width:64px;height:64px}.journal-transaction-modal-top .journal-card-avatar-core{border-radius:13px;width:40px;height:40px}.journal-transaction-modal-top .journal-card-avatar-core svg{stroke-width:2.3px;width:18px;height:18px}.journal-transaction-modal-copy{min-width:0}.journal-transaction-modal-copy h3{font-size:1.48rem;line-height:1.15}.journal-transaction-modal-copy p{margin-top:7px;font-size:.88rem;line-height:1.3}.journal-transaction-modal-top strong{grid-column:auto;justify-self:center;font-size:1.74rem}.journal-transaction-modal-details{border-radius:16px;margin-top:14px}.journal-transaction-modal-row{grid-template-columns:minmax(88px,.42fr) minmax(0,1fr);align-items:start;gap:8px;padding:11px 12px}.journal-transaction-modal-row span{font-size:.76rem}.journal-transaction-modal-row strong{text-align:right;overflow-wrap:anywhere;font-size:.86rem}.journal-transaction-delete-button{border-radius:13px;width:100%;margin-top:12px;padding:11px 14px;font-size:.88rem}.content-area{padding:0 14px 14px}.sidebar{padding:18px}.student-cards,.teacher-grid,.schedule-grid,.problem-list{grid-template-columns:1fr}.day-column-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:0;display:flex}.day-column-header-indicator{border:1px solid var(--border);background:var(--bg-surface);width:32px;height:32px;color:var(--text-main);border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;display:inline-flex}.day-column-open .day-column-header{margin-bottom:14px}.day-stack.day-stack-mobile-collapsed{display:none}.dashboard-layout>.dashboard-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-layout>.dashboard-stats-grid .dashboard-stat-card{border-radius:18px;min-height:138px;padding:14px}.dashboard-layout>.dashboard-stats-grid .dashboard-stat-card-title{gap:10px}.dashboard-layout>.dashboard-stats-grid .stat-icon{border-radius:12px;width:38px;height:38px}.dashboard-layout>.dashboard-stats-grid .stat-icon svg{stroke-width:1.9px;width:18px;height:18px}.dashboard-layout>.dashboard-stats-grid .dashboard-stat-card-title span{font-size:.76rem}.dashboard-layout>.dashboard-stats-grid .dashboard-stat-card strong{font-size:1rem;line-height:1.15}.dashboard-layout>.dashboard-stats-grid .dashboard-stat-card-delta{font-size:.82rem}.dashboard-layout>.dashboard-stats-grid .dashboard-stat-card-caption{font-size:.72rem}.teacher-rates{flex-direction:column}.chart-shell,.problem-card{flex-direction:column;grid-template-columns:1fr;align-items:flex-start}.problem-list{gap:10px;max-height:none;padding-right:0;overflow:visible}.problem-balances-heading-actions,.problem-balances-export-button{width:100%}.recent-transaction-card{align-items:center;gap:12px;height:auto;padding:14px}.recent-transaction-top{flex:auto;min-width:0}.recent-transaction-top strong{margin-bottom:3px;font-size:.98rem;line-height:1.25}.recent-transaction-top p{font-size:.82rem}.recent-transaction-card .list-meta{white-space:nowrap;flex:none;gap:8px;width:auto;font-size:.82rem}.dashboard-teacher-filter,.dashboard-teacher-filter .searchable-select{width:100%;max-width:none}.dashboard-teacher-lesson-button{grid-template-columns:1fr}.dashboard-teacher-summary,.dashboard-teacher-lesson-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-teacher-summary strong,.dashboard-teacher-lesson-metrics strong{font-size:.86rem;line-height:1.12}.dashboard-teacher-lessons{max-height:none;padding-right:0;overflow:visible}.dashboard-teacher-lesson-button{gap:12px}.problem-card{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;width:100%;height:auto;padding:14px}.problem-card-top{flex:auto;min-width:0}.problem-card-top strong{margin-bottom:3px;font-size:.98rem;line-height:1.25}.problem-card-top p{font-size:.82rem}.problem-card-meta{white-space:nowrap;border-top:0;flex-direction:column;flex:none;justify-content:center;align-items:flex-end;gap:4px;width:auto;padding-top:0;font-size:.82rem}.problem-card-meta .negative{text-align:right;order:0;margin-left:0}.problem-list-toggle,.recent-transactions-toggle{justify-content:center;display:inline-flex}.chart-card .chart-shell{--chart-plot-height:210px;--chart-plot-pad-top:10px;--chart-plot-pad-bottom:10px;grid-template-columns:60px minmax(0,1fr);align-items:stretch;gap:10px}.chart-card .trend-chart{border-radius:22px;padding-inline:10px}.chart-card .chart-y-axis{font-size:.72rem}.chart-card .chart-main{gap:8px}.chart-card .chart-x-axis{gap:6px;padding-inline:2px;font-size:.7rem}.schedule-week-picker{width:100%}}@media (width>=1200px) and (width<=1500px){.teacher-portal-shell{width:min(1180px,100% - 36px);max-width:100%}.teacher-portal-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.teacher-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=761px) and (width<=1199px){.teacher-portal-shell{width:min(1180px,100% - 36px);max-width:100%}.teacher-portal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-portal-grid{grid-template-columns:1fr}.teacher-portal-shell #teacher-portal-lessons,.teacher-portal-shell #teacher-portal-salary{justify-self:stretch;width:100%}.teacher-portal-shell .student-portal-topbar,.teacher-portal-shell .student-portal-hero{align-items:flex-start}.teacher-portal-shell .student-portal-schedule-picker{width:min(360px,100%)}.teacher-week-picker{grid-template-columns:44px minmax(180px,1fr) max-content 44px}}@media (width<=760px){.teacher-portal-shell{gap:12px;width:calc(100% - 24px);max-width:100%;margin-block:12px 18px}.teacher-portal-shell *{min-width:0}.teacher-portal-shell .student-portal-topbar,.teacher-portal-shell .student-portal-hero{border-radius:20px;gap:12px;padding:16px}.teacher-portal-shell .student-portal-hero h2{font-size:1.35rem;line-height:1.16}.teacher-portal-shell .student-portal-hero p{font-size:.84rem;line-height:1.35}.teacher-portal-shell .student-portal-hero-meta{gap:8px}.teacher-portal-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.teacher-portal-metrics .stat-card{min-height:92px;padding:14px}.teacher-portal-metrics .stat-card strong{font-size:.95rem;line-height:1.16}.teacher-portal-grid{grid-template-columns:1fr;gap:12px}.teacher-portal-shell .student-portal-section{border-radius:18px;gap:14px;padding:14px}.teacher-portal-shell .section-heading{gap:6px}.teacher-portal-shell .section-heading h3{font-size:1rem;line-height:1.2}.teacher-portal-shell .section-heading p{font-size:.78rem;line-height:1.35}.teacher-portal-graph-section>.section-heading .badge{margin-inline:auto}.teacher-portal-shell .student-portal-schedule-picker{border-radius:14px;width:100%;padding:8px}.teacher-portal-shell .attendance-picker-head{grid-template-columns:34px minmax(0,1fr) 34px;gap:8px}.teacher-portal-shell .attendance-picker-head strong{text-align:center;font-size:.86rem}.teacher-portal-shell .attendance-picker-head .icon-button{border-radius:12px;width:34px;min-width:34px;height:34px;padding:0}.teacher-portal-shell .attendance-weekdays,.teacher-portal-shell .attendance-calendar{gap:4px}.teacher-portal-shell .attendance-weekdays span{font-size:.62rem}.teacher-portal-shell .attendance-day{border-radius:8px;font-size:.72rem}.teacher-portal-shell .attendance-day small{min-width:12px;height:12px;font-size:.5rem;bottom:2px;right:2px}.teacher-week-picker{grid-template-columns:42px minmax(0,1fr) 42px;gap:8px}.teacher-week-nav-prev{grid-area:1/1}.teacher-week-date-button{grid-area:1/2;min-height:42px;padding:0 12px}.teacher-week-nav-next{grid-area:1/3}.teacher-week-today-button{grid-area:2/1/auto/-1;min-height:42px}.teacher-week-mode-switch{grid-area:2/1/auto/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.teacher-week-mode-switch .teacher-week-today-button{grid-area:auto;width:100%;padding-inline:10px}.teacher-salary-month-summary{grid-template-columns:1fr;gap:8px;padding:0;position:relative}.teacher-salary-month-picker{grid-template-columns:42px minmax(0,1fr) 42px;gap:8px;width:100%}.teacher-salary-month-nav-button:first-child{grid-area:1/1}.teacher-salary-month-date-button{grid-area:1/2;min-height:42px;padding:0 12px}.teacher-salary-month-picker .calendar-month-picker__nav--next{grid-area:1/3}.teacher-salary-month-range-button{grid-area:2/1/auto/-1;justify-self:start;width:min(164px,100% - 104px);min-height:40px}.teacher-salary-month-total{pointer-events:none;z-index:1;margin-left:0;font-size:.9rem;position:absolute;bottom:20px;right:14px;transform:translateY(50%)}.teacher-salary-month-popover{width:100%;max-width:100%;left:0}.teacher-salary-month-popover.open-up{top:auto;bottom:calc(100% + 10px)}.teacher-salary-month-calendar{width:100%}.teacher-salary-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-salary-month-grid button{min-width:0;min-height:40px;font-size:.78rem}.teacher-week-popover{width:100%;left:0}.teacher-schedule-day,.teacher-schedule-lesson,.teacher-salary-period,.teacher-salary-day,.teacher-salary-lesson,.teacher-salary-adjustment{border-radius:14px}.teacher-schedule-toggle{gap:10px}.teacher-schedule-lesson-toggle{grid-template-columns:32px minmax(0,1fr);gap:10px}.teacher-salary-lesson-toggle{grid-template-columns:32px minmax(0,1fr) max-content;gap:10px}.teacher-salary-toggle,.teacher-salary-day-toggle{grid-template-columns:minmax(0,1fr) max-content;gap:10px}.teacher-salary-toggle .teacher-schedule-caret,.teacher-salary-day-toggle .teacher-schedule-caret,.teacher-salary-lesson-toggle .teacher-schedule-caret{display:none}.teacher-salary-total{justify-self:end}.teacher-salary-lesson-amount{grid-column:3;justify-self:end}.teacher-salary-adjustment{grid-template-columns:minmax(0,1fr) max-content;gap:12px}.teacher-salary-adjustment-amount{justify-self:end}.teacher-salary-students{padding-left:0}}@media (width<=520px){.attendance-card{grid-template-columns:1fr;align-items:stretch;gap:12px;padding:16px}.attendance-card-title-row{flex-wrap:wrap}.attendance-card-title-row .badge{max-width:100%}.attendance-card-meta{grid-template-columns:minmax(0,1fr) 32px;justify-self:stretch;justify-items:end;width:100%}.attendance-card-meta-has-rollback{grid-template-columns:minmax(0,1fr) repeat(2,32px)}.attendance-card:not(.attendance-card-pending) .attendance-card-meta{column-gap:14px}.attendance-card:not(.attendance-card-pending) .attendance-card-meta .icon-button:last-child{margin-left:6px}.attendance-card-pending .attendance-card-meta{justify-content:flex-end;justify-self:stretch;width:100%;display:flex}.attendance-card-meta strong{justify-self:start}}@media (width>=761px) and (width<=1199px){.attendance-card{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:4px clamp(8px,1.2vw,16px);display:grid}.attendance-card>div:first-child{display:contents}.attendance-card-title-row{grid-area:1/1/auto/-1;width:100%}.attendance-card-title-row h3{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.attendance-card-title-row>.badge{flex:none;margin-left:auto}.attendance-card>div:first-child>p:first-of-type{grid-area:2/1}.attendance-card>div:first-child>p:nth-of-type(2){grid-area:3/1}.attendance-card>div:first-child>p{line-height:1.2}.attendance-card>div:first-child>p+p{margin-top:0}.attendance-card-meta{grid-area:2/2/span 2;justify-content:flex-end;place-self:end;width:max-content;max-width:100%;margin-left:0}.attendance-card:not(.attendance-card-pending) .attendance-card-meta{flex-wrap:nowrap;align-items:center;gap:8px;width:max-content;max-width:100%;display:flex}.attendance-card:not(.attendance-card-pending) .attendance-card-meta strong{white-space:nowrap;flex:none}.attendance-card-pending .attendance-card-actions>.attendance-card-action.attendance-card-action-icon-only,.attendance-card:not(.attendance-card-pending) .attendance-card-meta>.attendance-card-action.attendance-card-action-icon-only.icon-button{aspect-ratio:1;box-sizing:border-box;border-radius:10px;flex:0 0 32px;place-items:center;gap:0;width:32px;min-width:32px;max-width:32px;height:32px;min-height:32px;max-height:32px;padding:0;line-height:0;display:grid}.attendance-card-pending .attendance-card-actions>.attendance-card-action-delete.icon-button>.attendance-card-action-icon{flex:0 0 18px;place-self:center;place-items:center;width:18px;height:18px;margin:0;display:grid}.attendance-card-pending .attendance-card-actions>.attendance-card-action-delete.icon-button>.attendance-card-action-icon svg{width:17px;height:17px;margin:0;display:block}.attendance-card:not(.attendance-card-pending) .attendance-card-meta>.attendance-card-action-icon-only>.attendance-card-action-icon{flex:0 0 18px;place-items:center;width:18px;height:18px;margin:0;display:grid}.attendance-card:not(.attendance-card-pending) .attendance-card-meta>.attendance-card-action-icon-only>.attendance-card-action-icon svg{width:17px;height:17px;margin:0;display:block}.attendance-card-pending .attendance-card-actions{justify-content:flex-start;gap:clamp(3px,.5vw,6px);width:max-content;max-width:100%}.attendance-card-pending .attendance-card-action{flex:0 auto;gap:2px;min-width:0;padding:4px;font-size:.64rem}.attendance-card-pending .attendance-card-action:not(.attendance-card-action-icon-only){padding-left:clamp(6px,.6vw,8px);padding-right:clamp(6px,.6vw,8px)}.attendance-card-pending .attendance-card-action-icon{flex-basis:14px;width:14px;height:14px}.attendance-card-pending .attendance-card-action-icon svg{width:14px;height:14px}.attendance-card-pending .attendance-card-action>span:last-child{white-space:nowrap}}@media (width>=960px) and (width<=1199px){.attendance-card{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.attendance-card-meta,.attendance-card-pending .attendance-card-actions{width:100%}.attendance-card-pending .attendance-card-actions{justify-content:flex-end;gap:4px}}@media (width<=1199px){.portal-dashboard-layout{grid-template-columns:210px minmax(0,1fr)}.student-portal-shell{padding-bottom:calc(96px + env(safe-area-inset-bottom))}html.telegram-webapp .student-portal-shell{padding-bottom:calc(96px + max(env(safe-area-inset-bottom,0px), var(--telegram-bottom-safe-area,0px)))}.student-portal-bottom-nav{left:50%;bottom:max(12px, env(safe-area-inset-bottom));z-index:1450;width:min(680px,100vw - 28px);display:block;position:fixed;transform:translate(-50%)}.student-portal-bottom-nav-bar{border:1px solid color-mix(in srgb, var(--border) 82%, transparent);background:linear-gradient(180deg, #ffffff12, #ffffff09), color-mix(in srgb, var(--bg-card) 94%, rgb(var(--palette-neutral-900-rgb,16, 24, 39)));box-shadow:0 22px 56px rgba(var(--palette-neutral-950-rgb,2, 8, 23), .42), inset 0 1px 0 #ffffff14;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:22px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:7px;display:grid}.student-portal-bottom-nav-item,.student-portal-more-item{color:var(--text-muted);font:inherit;letter-spacing:0;cursor:pointer;background:0 0;border:1px solid #0000;font-weight:750}.student-portal-bottom-nav-item{border-radius:16px;grid-template-rows:24px minmax(15px,auto);place-items:center;gap:2px;min-width:0;min-height:56px;padding:6px 2px 5px;font-size:.68rem;line-height:1.05;display:grid}.student-portal-bottom-nav-item .material-symbols-rounded,.student-portal-more-item .material-symbols-rounded{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;font-size:22px;line-height:1}.student-portal-bottom-nav-item span:last-child{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.student-portal-bottom-nav-item:hover,.student-portal-bottom-nav-item:focus-visible,.student-portal-more-item:hover,.student-portal-more-item:focus-visible{color:var(--text-main);background:0 0;border-color:#0000;outline:none}.student-portal-bottom-nav-item.active,.student-portal-more-item.active{color:#fff;box-shadow:none;background:0 0;border-color:#0000}.student-portal-bottom-nav-item.active .material-symbols-rounded,.student-portal-more-item.active .material-symbols-rounded{font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24}.student-portal-more-menu{border:1px solid color-mix(in srgb, var(--border) 82%, transparent);background:linear-gradient(180deg, #ffffff13, #ffffff09), color-mix(in srgb, var(--bg-card) 96%, rgb(var(--palette-neutral-900-rgb,16, 24, 39)));width:min(270px,100vw - 36px);box-shadow:0 18px 48px rgba(var(--palette-neutral-950-rgb,2, 8, 23), .42);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-radius:18px;gap:6px;padding:9px;display:grid;position:absolute;bottom:calc(100% + 10px);right:0}.student-portal-more-item{text-align:left;border-radius:12px;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:10px;min-height:42px;padding:8px 10px;font-size:.8rem;display:grid}.student-portal-more-item span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.theme-light .student-portal-bottom-nav-bar,.theme-light .student-portal-more-menu{background:linear-gradient(180deg, #fffffff0, rgba(var(--palette-neutral-50-rgb,248, 250, 252), .9)), color-mix(in srgb, var(--bg-card) 96%, #fff);box-shadow:0 20px 50px rgba(var(--palette-neutral-900-rgb,15, 23, 42), .18), inset 0 1px 0 #ffffffe6}.theme-light .student-portal-bottom-nav-item.active,.theme-light .student-portal-more-item.active{color:rgb(var(--palette-neutral-900-rgb,17, 24, 39))}}.theme-palette-picker{gap:12px;width:100%;min-width:0;display:grid}.theme-palette-option{--primary-button-option-start:var(--accent);text-align:left}.theme-palette-picker .primary-button-tone-picker{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}.theme-palette-copy{gap:3px;display:grid}.theme-palette-copy small{color:var(--text-muted);font-size:.75rem;font-weight:400}.theme-palette-swatch{border:1px solid var(--border);border-radius:50%;flex:0 0 32px;width:32px;height:32px}.theme-palette-swatch-classic-dark{background:linear-gradient(135deg,#292b31 50%,#23c7a4 50%,#8b5cf6)}.theme-palette-swatch-aurora-dark{background:linear-gradient(135deg,#292b2b 50%,#63c9a3 50%,#3478e8)}@media (width>=761px) and (width<=1199px){.student-portal-shell{padding-bottom:0}.student-portal-bottom-nav{display:none}}@media (width<=760px){.portal-dashboard-layout{grid-template-columns:1fr;gap:12px}.portal-category-panel{top:auto}.student-portal-dashboard-layout{grid-template-columns:1fr}.student-portal-dashboard-layout .portal-detail-area{width:100%;max-width:none}.student-portal-dashboard-layout .portal-category-panel{display:none}.portal-detail-area{gap:12px}#student-portal-overview.student-portal-metrics,#teacher-portal-overview.student-portal-metrics,.student-portal-dashboard-layout #student-portal-overview.student-portal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.student-portal-payment-layout{grid-template-columns:minmax(0,1fr);gap:10px}.student-portal-payment-row{border-radius:12px;grid-template-columns:minmax(0,1fr) 32px;gap:8px;padding:10px 12px}.student-portal-payment-row span{font-size:.72rem;line-height:1.2}.student-portal-payment-row strong{font-size:.82rem;line-height:1.22}.student-portal-payment-qr{border-radius:12px;padding:12px}.student-portal-payment-qr img{width:100%}}@media (width<=430px){.dashboard-teacher-summary strong,.dashboard-teacher-lesson-metrics strong{font-size:.8rem}.student-portal-shell{width:calc(100vw - 16px);margin-top:8px}.student-portal-topbar,.student-portal-hero{border-radius:20px;padding:14px}.student-portal-section{gap:12px}.student-portal-metrics,.student-portal-details{gap:8px}.student-portal-metrics .stat-card,.student-portal-details>div{border-radius:14px;padding:10px}.student-portal-metrics .stat-card span{font-size:.8rem}.student-portal-details span{font-size:.7rem}.student-portal-metrics .stat-card strong,.student-portal-metrics .stat-card-subvalue{font-size:1rem;line-height:1.18}.student-portal-details strong{font-size:.82rem}.teacher-schedule-student{grid-template-columns:8px minmax(0,1fr) max-content;gap:8px}.teacher-schedule-student-status{font-size:.7rem}.attendance-card-pending .attendance-card-meta{gap:6px}.attendance-card-pending .attendance-card-actions{gap:clamp(4px,1.3vw,6px)}.teacher-portal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-week-picker{grid-template-columns:40px minmax(0,1fr) 40px}.teacher-week-nav-button,.teacher-week-date-button,.teacher-week-today-button{border-radius:14px;min-height:40px;font-size:.88rem}.teacher-week-date-button{gap:10px;padding:0 10px}.teacher-portal-shell .attendance-day{font-size:.66rem}.student-portal-calendar-lessons article,.teacher-week-calendar-lessons article{grid-template-columns:46px minmax(0,1fr);padding:8px}.teacher-schedule-lesson-title{font-size:.92rem}.teacher-schedule-toggle small,.teacher-schedule-student span,.teacher-salary-lesson-copy small,.teacher-salary-lesson-copy>span{font-size:.76rem}}@media (width<=760px){.teacher-portal-graph-section .student-portal-schedule-picker{border-radius:16px;width:320px;max-width:100%;padding:10px}.teacher-portal-graph-section .attendance-picker-head{gap:12px}.teacher-portal-graph-section .attendance-picker-head strong{font-size:inherit}.teacher-portal-graph-section .attendance-picker-head .icon-button{width:38px;min-width:38px;height:38px;padding:9px}.teacher-portal-graph-section .attendance-weekdays,.teacher-portal-graph-section .attendance-calendar{gap:5px}.teacher-portal-graph-section .attendance-weekdays span{font-size:.74rem}.teacher-portal-graph-section .attendance-day{border-radius:8px;font-size:.82rem}.teacher-portal-graph-section .attendance-day small{min-width:14px;height:14px;font-size:.62rem;bottom:3px;right:4px}.portal-topbar{flex-direction:row;align-items:center;min-height:58px;padding:12px 14px 12px 12px}.portal-topbar-logo{width:min(170px,100vw - 92px)}.portal-menu-popover{width:min(300px,100vw - 32px)}.portal-settings-grid,.portal-password-management-actions{grid-template-columns:1fr}.portal-settings-password-card-compact .portal-password-management-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-settings-password-card-compact .portal-password-management-actions button{padding-inline:6px;font-size:.78rem}}@media (width<=430px){.portal-topbar-logo{width:min(150px,100vw - 86px)}.portal-menu-trigger{width:40px;height:40px;padding:8px}.portal-password-actions{grid-template-columns:1fr;display:grid}.portal-password-actions button{width:100%}}@media (width>=1200px) and (width<=1500px){.settings-staff-grid{grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr)}}@media (width<=1199px){:is(.settings-overview-grid,.settings-overview-grid:not(:has(.settings-backup-panel))){grid-template-columns:1fr}.settings-layout{grid-template-columns:200px minmax(0,1fr)}.settings-passwords-grid{grid-template-columns:1fr}}@media (width<=760px){.student-editor-current-card{border-radius:18px;grid-template-columns:38px minmax(0,1fr) max-content;gap:10px;padding:12px}.student-editor-telegram-status{grid-column:3;justify-items:end;min-width:0}.student-editor-telegram-status strong{text-align:right}.telegram-bot-status-chip{gap:5px;min-height:24px;padding:4px 8px;font-size:.72rem}.student-editor-current-name h3{white-space:normal;font-size:1rem}.settings-overview-grid{gap:12px}.settings-layout{grid-template-columns:1fr;gap:12px;width:100%}.settings-category-panel{border-radius:18px;padding:10px;position:static}.settings-detail-area{width:100%}.settings-category-list{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.settings-category-list::-webkit-scrollbar{display:none}.settings-category-button{white-space:nowrap;border-radius:10px;flex:none;min-height:40px;padding:9px 12px;font-size:.82rem}.settings-tariffs-panel{border-radius:20px;padding:16px}.settings-tariffs-panel .section-heading{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.settings-tariffs-panel .section-heading>div{min-width:0}.settings-tariffs-panel .section-heading h3{font-size:1.02rem}.settings-tariffs-panel .tariff-add-button{justify-content:center;width:100%;min-height:40px}.settings-tariffs-stack{grid-template-columns:1fr;gap:10px}.settings-tariffs-stack>.tariff-settings-card:first-child{grid-column:auto}.tariff-settings-card{border-radius:14px;gap:12px;padding:14px 12px}.tariff-settings-head{grid-template-columns:minmax(0,1fr) auto;align-items:center}.tariff-settings-list{gap:7px}.tariff-settings-row{border-radius:11px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px}.tariff-settings-row strong{overflow-wrap:anywhere}.tariff-settings-row-actions{justify-content:flex-end;gap:6px}.tariff-settings-row-actions .icon-button{width:32px;min-width:32px;height:32px;min-height:32px}.tariff-single-field input{border-radius:11px;height:38px;min-height:38px}.settings-tariffs-panel .student-settings-toggle-row.compact{min-width:112px}.settings-overview-grid .panel-nested{border-radius:16px;padding:12px}.settings-telegram-panel .panel-nested{padding:10px}.settings-telegram-panel .telegram-settings-form{grid-template-columns:1fr;gap:7px}.settings-telegram-panel .crm-form input,.settings-telegram-panel .crm-form select,.settings-telegram-panel .crm-form .telegram-settings-checkbox{border-radius:11px;height:38px;min-height:38px}.settings-telegram-panel .crm-form .telegram-settings-checkbox{border-radius:999px;width:44px;height:24px;min-height:24px;padding:3px}.settings-telegram-panel .crm-form .telegram-settings-checkbox span{width:18px;height:18px}.settings-telegram-panel .telegram-settings-form .form-columns,.settings-telegram-panel .telegram-settings-form .telegram-quiet-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px}.settings-telegram-panel .telegram-settings-form .telegram-quiet-row,.settings-telegram-panel .telegram-settings-form .telegram-vip-payment-row{grid-template-columns:minmax(0,1fr) auto}.settings-telegram-panel .telegram-quiet-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.settings-telegram-panel .telegram-settings-form .telegram-balance-negative-row,.settings-telegram-panel .telegram-settings-form .telegram-balance-zero-row{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-telegram-panel .crm-form label{min-width:0}.settings-telegram-panel .telegram-setting-field>span,.settings-telegram-panel .telegram-setting-heading{grid-column:1/-2}.settings-telegram-panel .telegram-settings-checkbox{min-width:0}.settings-telegram-panel .telegram-settings-checkbox span{overflow-wrap:anywhere}.settings-backup-panel .settings-backup-button{width:100%}}@media (width<=430px){.settings-layout{gap:10px}.settings-category-panel{border-radius:16px;margin-inline:-2px;padding:8px}.settings-category-button{min-height:36px;padding:8px 10px;font-size:.78rem}.settings-tariffs-panel{border-radius:18px;margin-inline:-2px;padding:12px}.settings-tariffs-panel .section-heading{gap:10px}.tariff-settings-card{padding:12px 10px}.tariff-settings-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.tariff-settings-row-actions{justify-content:flex-end}.tariff-settings-row-actions .icon-button{width:30px;min-width:30px;height:30px;min-height:30px}.settings-telegram-panel .telegram-settings-form .telegram-quiet-row,.settings-telegram-panel .telegram-settings-form .telegram-vip-payment-row{grid-template-columns:minmax(0,1fr) auto}.settings-telegram-panel .telegram-settings-form .telegram-balance-negative-row{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-telegram-panel .telegram-settings-form .telegram-balance-negative-row .telegram-settings-checkbox,.settings-telegram-panel .telegram-settings-form .telegram-quiet-row .telegram-settings-checkbox,.settings-telegram-panel .telegram-settings-form .telegram-vip-payment-row .telegram-settings-checkbox{grid-column:-2/-1}}@media (width<=767px){.sidebar{gap:14px;width:min(300px,100vw - 24px);padding:14px}.sidebar-nav,.sidebar-bottom-nav{gap:8px}.nav-item{border-radius:14px;gap:7px;min-height:38px;padding:7px 9px;font-size:.86rem;line-height:1.15}.nav-icon{border-radius:8px;flex-basis:24px;width:24px;height:24px}.nav-icon svg{width:13px;height:13px}}.theme-light .teacher-week-nav-button,.theme-light .teacher-week-date-button,.theme-light .teacher-week-today-button{color:rgb(var(--palette-neutral-800-rgb,36, 48, 71));border-color:rgba(var(--palette-neutral-600-rgb,65, 82, 118), .18);background:#ffffffdb}.theme-light .teacher-week-nav-button:disabled,.theme-light .teacher-week-date-button:disabled,.theme-light .teacher-week-today-button:disabled{color:rgb(var(--palette-neutral-500-rgb,107, 120, 144));background:rgba(var(--palette-neutral-100-rgb,232, 237, 247), .92);opacity:1}.theme-light .teacher-week-date-button svg{color:rgb(var(--palette-neutral-500-rgb,107, 120, 144))}.theme-light .teacher-week-calendar .attendance-day.muted{opacity:1;color:rgb(var(--palette-neutral-500-rgb,122, 135, 157));background:rgba(var(--palette-neutral-50-rgb,248, 251, 255), .92);border-color:rgba(var(--palette-neutral-600-rgb,65, 82, 118), .11)}.theme-light .teacher-week-calendar .attendance-day.muted span{color:rgb(var(--palette-neutral-500-rgb,122, 135, 157))}.theme-light .teacher-week-calendar .date-range-day.in-range{color:#047857;background:#dcf6ebc7;border-color:#05966933}.theme-light .teacher-week-calendar .date-range-day.range-start,.theme-light .teacher-week-calendar .date-range-day.range-end{color:#fff;background:linear-gradient(135deg,#6ed6a5,#10b981);border-color:#05966970;box-shadow:0 8px 18px #05966933}.theme-light .teacher-week-calendar .date-range-day.range-start span,.theme-light .teacher-week-calendar .date-range-day.range-end span{color:#fff}.theme-light .teacher-schedule-lesson-toggle small,.theme-light .teacher-schedule-lesson-toggle small span,.theme-light .teacher-schedule-students-title,.theme-light .teacher-schedule-student span{color:rgb(var(--palette-neutral-600-rgb,83, 97, 119))}.theme-light .teacher-schedule-student:before{background:rgb(var(--palette-neutral-600-rgb,83, 97, 119))}.theme-light .teacher-schedule-student strong,.theme-light .teacher-schedule-substitution-badge,.theme-light .teacher-schedule-substitution-badge>span,.theme-light .salary-lesson-title,.theme-light .salary-lesson-meta,.theme-light .salary-lesson-type,.theme-light .salary-lesson-day,.theme-light .salary-lesson-card-main strong:not(.salary-lesson-card-index),.theme-light .salary-row-students p,.theme-light .salary-row-students li,.theme-light .salary-row-students span{color:rgb(var(--palette-neutral-800-rgb,36, 48, 71))}.theme-light .salary-lesson-time{color:#fff;background:#0f172ad1;border-radius:5px;padding:1px 5px}.theme-light .salary-lesson-group-info .salary-lesson-type{color:var(--text-muted)}.theme-light .schedule-grid .regular-lesson-card{color:rgb(var(--palette-neutral-800-rgb,36, 48, 71));background:linear-gradient(180deg, color-mix(in srgb, hsl(var(--lesson-accent) / 1) 12%, #fff), rgb(var(--palette-neutral-50-rgb,248, 251, 255)) 72%);box-shadow:0 16px 34px rgba(var(--palette-neutral-600-rgb,65, 82, 118), .12)}.theme-light .schedule-grid .regular-lesson-card:hover,.theme-light .schedule-grid .regular-lesson-card:focus-visible{background:linear-gradient(180deg, color-mix(in srgb, hsl(var(--lesson-accent) / 1) 17%, #fff), rgb(var(--palette-neutral-50-rgb,245, 248, 255)) 72%)}.theme-light .schedule-grid .lesson-time,.theme-light .schedule-grid .lesson-card-head p,.theme-light .schedule-grid .lesson-note,.theme-light .schedule-grid .lesson-students p{color:rgb(var(--palette-neutral-600-rgb,83, 97, 119))}.theme-light .schedule-grid .lesson-card-head strong,.theme-light .schedule-grid .lesson-card-head span,.theme-light .schedule-grid .lesson-card-head p strong,.theme-light .schedule-grid .lesson-substitution-trigger,.theme-light .schedule-grid .lesson-cancel-trigger,.theme-light .schedule-grid .lesson-restore-trigger,.theme-light .schedule-grid .lesson-settings-trigger{color:rgb(var(--palette-neutral-800-rgb,36, 48, 71))}.theme-light .schedule-grid .lesson-menu-trigger:not(.lesson-settings-trigger){color:rgb(var(--palette-neutral-800-rgb,36, 48, 71));border-color:rgba(var(--palette-neutral-600-rgb,65, 82, 118), .16);background:#ffffffc7}.theme-light .app-toast{background:radial-gradient(circle at 0 50%, rgba(var(--app-toast-accent-rgb), .16), transparent 52%), rgb(var(--palette-neutral-800-rgb,34, 42, 48));box-shadow:0 12px 28px rgba(var(--palette-neutral-800-rgb,28, 35, 42), .24), 0 2px 8px rgba(var(--palette-neutral-800-rgb,28, 35, 42), .16), inset 0 1px 0 #ffffff06;border-color:#ffffff09}.theme-light .app-toast-icon{color:rgb(var(--palette-neutral-900-rgb,23, 32, 39));background:var(--app-toast-accent);box-shadow:0 0 0 5px rgba(var(--app-toast-accent-rgb), .08), 0 0 16px rgba(var(--app-toast-accent-rgb), .3);border:0}.theme-light .app-toast-copy strong{color:rgb(var(--palette-neutral-50-rgb,247, 248, 250))}.theme-light .app-toast-copy p,.theme-light .app-toast-close{color:rgb(var(--palette-neutral-300-rgb,174, 182, 189))}.theme-light .app-toast-close:hover,.theme-light .app-toast-close:focus-visible{color:#fff}.theme-light .dashboard-stat-card{--dashboard-card-surface:#fff;background:linear-gradient(145deg, color-mix(in srgb, var(--dashboard-card-accent) 13%, #fff), #fff 64%);border-color:color-mix(in srgb, var(--dashboard-card-accent) 24%, rgba(var(--palette-neutral-600-rgb,65, 82, 118), .16));box-shadow:0 16px 34px rgba(var(--palette-neutral-600-rgb,65, 82, 118), .13), inset 0 1px 0 #ffffffe6}.theme-light .dashboard-stat-card.income{--dashboard-card-accent:#4d7fc0}.theme-light .dashboard-stat-card.expense{--dashboard-card-accent:#de6d82}.theme-light .dashboard-stat-card.net{--dashboard-card-accent:#4f68d5}.theme-light .dashboard-stat-card.debt{--dashboard-card-accent:#c86498}.theme-light .dashboard-stat-card.students-total{--dashboard-card-accent:#d8913b}.theme-light .dashboard-stat-card.teachers-total{--dashboard-card-accent:#7a7ecf}.theme-light .dashboard-stat-card .stat-icon{color:var(--dashboard-card-accent);background:color-mix(in srgb, var(--dashboard-card-accent) 14%, #fff);border-color:color-mix(in srgb, var(--dashboard-card-accent) 25%, rgba(var(--palette-neutral-600-rgb,65, 82, 118), .14));box-shadow:inset 0 1px #ffffffdb}.theme-light .dashboard-stat-card-title span,.theme-light .dashboard-stat-card-caption{color:rgb(var(--palette-neutral-600-rgb,83, 97, 119))}.theme-light .stat-card.dashboard-stat-card strong{color:rgb(var(--palette-neutral-800-rgb,36, 48, 71))}.theme-light .stat-card.dashboard-stat-card .dashboard-stat-card-delta.positive{color:#047857}.theme-light .stat-card.dashboard-stat-card .dashboard-stat-card-delta.negative{color:#b42347}.theme-light .stat-card.dashboard-stat-card .dashboard-stat-card-delta.neutral{color:rgb(var(--palette-neutral-500-rgb,107, 120, 144))}@media (width<=900px){.trash-people-grid,.salary-page-layout{grid-template-columns:minmax(0,1fr)}.salary-page-layout>*,.salary-page-side{width:100%;min-width:0}}.crm-shell button:not(.attendance-day):not(.attendance-status-chip):not(.primary-button):not(.danger-button):not(.journal-delete-button):not(.journal-transaction-delete-button):not(.salary-delete-button):not(.salary-lesson-delete-square-button):not(.restore-button):not(.auth-password-toggle):not(.student-status-switch):not(.theme-switch):not(.student-table-sort-button):not(.student-name-edit-button):not(.problem-card):not(.dashboard-teacher-lesson-button):not(.brand-link):not(.search-clear-button):not(.primary-button-tone-option):not(.settings-category-button):not(.monitoring-tab):not(.monitoring-payment-tab):not(.sidebar-overlay):not(.attendance-card-action):not(:disabled):hover,.crm-shell button:not(.attendance-day):not(.attendance-status-chip):not(.primary-button):not(.danger-button):not(.journal-delete-button):not(.journal-transaction-delete-button):not(.salary-delete-button):not(.salary-lesson-delete-square-button):not(.restore-button):not(.auth-password-toggle):not(.student-status-switch):not(.theme-switch):not(.student-table-sort-button):not(.student-name-edit-button):not(.problem-card):not(.dashboard-teacher-lesson-button):not(.brand-link):not(.search-clear-button):not(.primary-button-tone-option):not(.settings-category-button):not(.monitoring-tab):not(.monitoring-payment-tab):not(.sidebar-overlay):not(.attendance-card-action):not(:disabled):focus-visible{background:var(--button-hover-bg);border-color:var(--button-hover-border)}.crm-shell .dashboard-teacher-card-toggle:hover,.crm-shell .dashboard-teacher-card-toggle:focus,.crm-shell .dashboard-teacher-card-toggle:focus-visible,.crm-shell .dashboard-teacher-card-toggle:active,.crm-shell .dashboard-teacher-card-back:hover,.crm-shell .dashboard-teacher-card-back:focus,.crm-shell .dashboard-teacher-card-back:focus-visible,.crm-shell .dashboard-teacher-card-back:active{-webkit-tap-highlight-color:transparent;color:inherit!important;box-shadow:none!important;filter:none!important;background:0 0!important;border-color:#0000!important;outline:none!important;transition:none!important;transform:none!important}.crm-shell .sidebar-overlay,.crm-shell .sidebar-overlay:hover,.crm-shell .sidebar-overlay:focus,.crm-shell .sidebar-overlay:focus-visible,.crm-shell .sidebar-overlay:active{background:rgba(var(--palette-neutral-950-rgb,6, 10, 18), .48);box-shadow:none;border:0;transform:none}.crm-shell .problem-card:not(:disabled):hover,.crm-shell .problem-card:not(:disabled):focus-visible{background:var(--bg-soft);border-color:#0000;transform:none}.crm-shell .dashboard-side-panel .ghost-button:not(:disabled):hover,.crm-shell .dashboard-side-panel .ghost-button:not(:disabled):focus-visible{background:var(--bg-surface);border-color:var(--border);transform:none}.crm-shell .dashboard-teacher-lesson-button:not(:disabled):hover,.crm-shell .dashboard-teacher-lesson-button:not(:disabled):focus-visible{background:0 0;border-color:#0000;transform:none}.crm-shell button.active:not(.attendance-day):not(.attendance-status-chip):not(.primary-button):not(.danger-button):not(.primary-button-tone-option):not(.settings-category-button):not(.monitoring-tab):not(.monitoring-payment-tab):not(.student-status-switch):not(.theme-switch):not(:disabled),.crm-shell button[aria-pressed=true]:not(.attendance-day):not(.attendance-status-chip):not(.primary-button):not(.danger-button):not(.primary-button-tone-option):not(.settings-category-button):not(.monitoring-tab):not(.monitoring-payment-tab):not(.student-status-switch):not(.theme-switch):not(:disabled){background:var(--button-active-bg);border-color:var(--button-active-border);color:var(--button-active-text)}.crm-shell .ghost-button:not(.danger-button),.crm-shell .ghost-button:not(.danger-button):hover,.crm-shell .ghost-button:not(.danger-button):focus-visible,.crm-shell .ghost-button:not(.danger-button):active,.crm-shell button.active:not(.danger-button):not(.primary-button-tone-option):not(.settings-category-button):not(.monitoring-tab):not(.monitoring-payment-tab),.crm-shell button[aria-pressed=true]:not(.danger-button):not(.primary-button-tone-option):not(.settings-category-button):not(.monitoring-tab):not(.monitoring-payment-tab){border-color:#0000!important}.crm-shell .student-portal-student-switcher button:not(:disabled):hover,.crm-shell .student-portal-student-switcher button:not(:disabled):focus-visible,.crm-shell .student-portal-student-switcher button.active:not(:disabled),.crm-shell .student-portal-student-switcher button[aria-pressed=true]:not(:disabled){box-shadow:none;background:0 0!important;border-color:#0000!important}.crm-shell .student-portal-student-switcher button.active:not(:disabled),.crm-shell .student-portal-student-switcher button[aria-pressed=true]:not(:disabled),.crm-shell .student-portal-student-switcher button.active:not(:disabled):hover,.crm-shell .student-portal-student-switcher button[aria-pressed=true]:not(:disabled):hover,.crm-shell .student-portal-student-switcher button.active:not(:disabled):focus-visible,.crm-shell .student-portal-student-switcher button[aria-pressed=true]:not(:disabled):focus-visible{color:var(--text-main)!important}.crm-shell .teacher-schedule-student:not(:disabled):hover,.crm-shell .teacher-schedule-student:not(:disabled):focus-visible{box-shadow:none;background:color-mix(in srgb, var(--bg-soft) 72%, transparent)!important;border-color:#0000!important}.crm-shell .teacher-schedule-lesson-toggle:not(:disabled):hover,.crm-shell .teacher-schedule-lesson-toggle:not(:disabled):focus-visible,.crm-shell .teacher-schedule-day>.teacher-schedule-toggle:not(:disabled):hover,.crm-shell .teacher-schedule-day>.teacher-schedule-toggle:not(:disabled):focus-visible{box-shadow:none;background:0 0!important;border-color:#0000!important}.crm-shell .teacher-schedule-student.absent:not(:disabled),.crm-shell .teacher-schedule-student[aria-pressed=true]:not(:disabled),.crm-shell .teacher-schedule-student.absent:not(:disabled):hover,.crm-shell .teacher-schedule-student[aria-pressed=true]:not(:disabled):hover,.crm-shell .teacher-schedule-student.absent:not(:disabled):focus-visible,.crm-shell .teacher-schedule-student[aria-pressed=true]:not(:disabled):focus-visible{box-shadow:none;background:color-mix(in srgb, var(--danger) 20%, transparent)!important;color:inherit!important;border-color:#0000!important}.crm-shell .attendance-day.selected:not(:where(.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)),.crm-shell .attendance-day[aria-pressed=true]:not(:where(.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)){color:inherit!important;background:#ffffff1a!important;border-color:#ffffffe6!important;font-weight:400!important;box-shadow:inset 0 0 0 1px #ffffff2e!important}.crm-shell .attendance-day.selected:not(:where(.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)) span,.crm-shell .attendance-day[aria-pressed=true]:not(:where(.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)) span{color:#fff!important;font-weight:900!important}.crm-shell .attendance-day:is(.selected,[aria-pressed=true]):is(.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day) span{color:#fff!important}.attendance-student-calendar .attendance-day:is(.selected,[aria-pressed=true]):not(:where(.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)),.modal-card-attendance .attendance-picker .attendance-day:is(.selected,[aria-pressed=true]):not(:where(.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)),.student-portal-schedule-picker .attendance-day:is(.selected,[aria-pressed=true]):not(:where(.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)){color:#fff!important;box-shadow:none!important;background:#68a8ff3d!important;border-color:#68a8ffb3!important;font-weight:400!important}.attendance-student-calendar .attendance-day:is(.selected,[aria-pressed=true]):not(:where(.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)) span,.modal-card-attendance .attendance-picker .attendance-day:is(.selected,[aria-pressed=true]):not(:where(.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)) span,.student-portal-schedule-picker .attendance-day:is(.selected,[aria-pressed=true]):not(:where(.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)) span{color:#fff!important;font-weight:400!important}.attendance-student-calendar .attendance-day:is(.selected,[aria-pressed=true]):not(:where(.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)) small,.modal-card-attendance .attendance-picker .attendance-day:is(.selected,[aria-pressed=true]):not(:where(.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)) small,.student-portal-schedule-picker .attendance-day:is(.selected,[aria-pressed=true]):not(:where(.in-range,.range-start,.range-end,.study-day,.transfer-day,.selection-1,.selection-2,.selection-3,.selection-4,.selection-5,.attendance-student-day-scheduled,.attendance-student-day-completed,.attendance-student-day-transfer,.attendance-student-day-transfer-out,.attendance-student-day-refund,.attendance-student-day-absent,.attendance-cancelled-lesson-day,.attendance-past-lesson-day,.attendance-replaced-lesson-day,.attendance-upcoming-lesson-day,.attendance-substitution-lesson-day,.attendance-past-substitution-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.student-start-lesson-day,.student-start-debt-day,.student-start-substitution-day,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)) small{color:#fff!important;background:#68a8ff8c!important;font-weight:400!important}.attendance-day.payment-excluded-day,.attendance-day.payment-excluded-day.selected,.attendance-day.payment-excluded-day[aria-pressed=true],.attendance-day.attendance-student-day-excluded,.attendance-day.attendance-student-day-excluded.selected,.attendance-day.attendance-student-day-excluded[aria-pressed=true]{background:var(--bg-surface)!important;color:#f59e0b!important;border-color:#f59e0bdb!important;font-weight:900!important;box-shadow:inset 0 0 0 1px #f59e0b2e!important}.attendance-day.payment-excluded-day span,.attendance-day.payment-excluded-day.selected span,.attendance-day.payment-excluded-day[aria-pressed=true] span,.attendance-day.attendance-student-day-excluded span,.attendance-day.attendance-student-day-excluded.selected span,.attendance-day.attendance-student-day-excluded[aria-pressed=true] span,.attendance-day.payment-excluded-day small,.attendance-day.attendance-student-day-excluded small{color:#f59e0b!important;background:0 0!important;font-weight:900!important}.theme-light .attendance-day.payment-excluded-day,.theme-light .attendance-day.payment-excluded-day.selected,.theme-light .attendance-day.payment-excluded-day[aria-pressed=true],.theme-light .attendance-day.attendance-student-day-excluded,.theme-light .attendance-day.attendance-student-day-excluded.selected,.theme-light .attendance-day.attendance-student-day-excluded[aria-pressed=true]{background:var(--bg-surface)!important;color:#b45309!important;border-color:#d977069e!important}.theme-light .attendance-day.payment-excluded-day span,.theme-light .attendance-day.payment-excluded-day.selected span,.theme-light .attendance-day.payment-excluded-day[aria-pressed=true] span,.theme-light .attendance-day.attendance-student-day-excluded span,.theme-light .attendance-day.attendance-student-day-excluded.selected span,.theme-light .attendance-day.attendance-student-day-excluded[aria-pressed=true] span,.theme-light .attendance-day.payment-excluded-day small,.theme-light .attendance-day.attendance-student-day-excluded small{color:#b45309!important}.crm-shell .danger-button:hover:not(:disabled),.crm-shell .danger-button:focus-visible:not(:disabled),.crm-shell .journal-delete-button:hover:not(:disabled),.crm-shell .journal-delete-button:focus-visible:not(:disabled),.crm-shell .journal-transaction-delete-button:hover:not(:disabled),.crm-shell .journal-transaction-delete-button:focus-visible:not(:disabled),.crm-shell .salary-delete-button:hover:not(:disabled),.crm-shell .salary-delete-button:focus-visible:not(:disabled){background:var(--button-hover-danger-bg);border-color:var(--button-hover-danger-border)}.crm-shell .trash-page .trash-card-actions .icon-button:hover:not(:disabled),.crm-shell .trash-page .trash-card-actions .icon-button:focus-visible:not(:disabled),.crm-shell .trash-page .trash-lesson-row .salary-row-meta .icon-button:hover:not(:disabled),.crm-shell .trash-page .trash-lesson-row .salary-row-meta .icon-button:focus-visible:not(:disabled){box-shadow:none;background:#ffffff12;border-color:#0000;transform:none}.theme-light.crm-shell .trash-page .trash-card-actions .icon-button:hover:not(:disabled),.theme-light.crm-shell .trash-page .trash-card-actions .icon-button:focus-visible:not(:disabled),.theme-light.crm-shell .trash-page .trash-lesson-row .salary-row-meta .icon-button:hover:not(:disabled),.theme-light.crm-shell .trash-page .trash-lesson-row .salary-row-meta .icon-button:focus-visible:not(:disabled){background:#0f172a0f}.crm-shell button.account-password-reset-button,.crm-shell button.staff-delete-button{background:var(--bg-surface)!important;border-color:color-mix(in srgb, var(--danger) 42%, var(--border))!important;color:var(--danger)!important}.crm-shell button.account-password-reset-button:hover,.crm-shell button.account-password-reset-button:focus-visible,.crm-shell button.account-password-reset-button:disabled:hover,.crm-shell button.account-password-reset-button:disabled:focus-visible,.crm-shell button.staff-delete-button:hover,.crm-shell button.staff-delete-button:focus-visible,.crm-shell button.staff-delete-button:disabled:hover,.crm-shell button.staff-delete-button:disabled:focus-visible{transform:none;background:color-mix(in srgb, var(--danger) 22%, var(--bg-surface))!important;border-color:color-mix(in srgb, var(--danger) 72%, var(--border))!important;box-shadow:none!important;color:var(--danger)!important}.crm-shell button.account-password-reset-button:disabled,.crm-shell button.staff-delete-button:disabled{background:var(--bg-surface)!important;border-color:color-mix(in srgb, var(--danger) 34%, var(--border))!important;color:var(--danger)!important}.crm-shell .schedule-grid .lesson-substitution-trigger,.crm-shell .schedule-grid .lesson-substitution-trigger:hover:not(:disabled),.crm-shell .schedule-grid .lesson-substitution-trigger:focus-visible:not(:disabled),.crm-shell .schedule-grid .lesson-cancel-trigger,.crm-shell .schedule-grid .lesson-cancel-trigger:hover:not(:disabled),.crm-shell .schedule-grid .lesson-cancel-trigger:focus-visible:not(:disabled),.crm-shell .schedule-grid .lesson-cancel-trigger.active:not(:disabled),.crm-shell .schedule-grid .lesson-settings-trigger,.crm-shell .schedule-grid .lesson-settings-trigger:hover:not(:disabled),.crm-shell .schedule-grid .lesson-settings-trigger:focus-visible:not(:disabled){box-shadow:none;background:0 0!important;border-color:#0000!important}.crm-shell button.student-portal-absence-toggle:not([aria-pressed=true]):not(:disabled):hover,.crm-shell button.student-portal-absence-toggle:not([aria-pressed=true]):not(:disabled):focus-visible{color:#ffc0c0!important;box-shadow:none!important;background:#f871712e!important;border-color:#f871717a!important;transform:none!important}.crm-shell button.student-portal-absence-toggle[aria-pressed=true]:not(:disabled):hover,.crm-shell button.student-portal-absence-toggle[aria-pressed=true]:not(:disabled):focus-visible{color:#ffc0c0!important;box-shadow:none!important;background:#f8717129!important;border-color:#f871716b!important;transform:none!important}.crm-shell.student-portal-screen .teacher-week-picker button:not(:disabled):hover,.crm-shell.student-portal-screen .teacher-week-picker button:not(:disabled):focus-visible,.crm-shell.student-portal-screen .teacher-salary-month-summary button:not(:disabled):hover,.crm-shell.student-portal-screen .teacher-salary-month-summary button:not(:disabled):focus-visible,.crm-shell.student-portal-screen .teacher-salary-month-grid button:not(:disabled):hover,.crm-shell.student-portal-screen .teacher-salary-month-grid button:not(:disabled):focus-visible,.crm-shell.student-portal-screen .teacher-salary-month-grid button.active:not(:disabled),.crm-shell.student-portal-screen .teacher-salary-month-grid button[aria-pressed=true]:not(:disabled){background:color-mix(in srgb, var(--text-muted) 10%, var(--bg-soft))!important;border-color:color-mix(in srgb, var(--text-muted) 32%, var(--border))!important;box-shadow:none!important;color:var(--text-main)!important;transform:none!important}.crm-shell.student-portal-screen .teacher-schedule-actions .teacher-schedule-action:not(:disabled),.crm-shell.student-portal-screen .teacher-schedule-actions .teacher-schedule-action:not(:disabled):hover,.crm-shell.student-portal-screen .teacher-schedule-actions .teacher-schedule-action:not(:disabled):focus-visible,.crm-shell.student-portal-screen .teacher-schedule-actions .teacher-schedule-action.active:not(:disabled),.crm-shell.student-portal-screen .teacher-schedule-actions .teacher-schedule-action[aria-pressed=true]:not(:disabled){box-shadow:none!important;color:#fff!important;background:0 0!important;border-color:#0000!important;transform:none!important}.crm-shell.student-portal-screen.theme-light .teacher-schedule-actions .teacher-schedule-action:not(:disabled),.crm-shell.student-portal-screen.theme-light .teacher-schedule-actions .teacher-schedule-action:not(:disabled):hover,.crm-shell.student-portal-screen.theme-light .teacher-schedule-actions .teacher-schedule-action:not(:disabled):focus-visible,.crm-shell.student-portal-screen.theme-light .teacher-schedule-actions .teacher-schedule-action.active:not(:disabled),.crm-shell.student-portal-screen.theme-light .teacher-schedule-actions .teacher-schedule-action[aria-pressed=true]:not(:disabled){color:rgb(var(--palette-neutral-900-rgb,17, 24, 39))!important}.crm-shell.student-portal-screen .teacher-salary-toggle:not(:disabled):hover,.crm-shell.student-portal-screen .teacher-salary-toggle:not(:disabled):focus-visible,.crm-shell.student-portal-screen .teacher-salary-toggle.active:not(:disabled),.crm-shell.student-portal-screen .teacher-salary-day-toggle:not(:disabled):hover,.crm-shell.student-portal-screen .teacher-salary-day-toggle:not(:disabled):focus-visible,.crm-shell.student-portal-screen .teacher-salary-day-toggle.active:not(:disabled),.crm-shell.student-portal-screen .teacher-salary-lesson-toggle:not(:disabled):hover,.crm-shell.student-portal-screen .teacher-salary-lesson-toggle:not(:disabled):focus-visible,.crm-shell.student-portal-screen .teacher-salary-lesson-toggle.active:not(:disabled),.crm-shell .salary-portal-accrual-panel .teacher-salary-toggle:not(:disabled):hover,.crm-shell .salary-portal-accrual-panel .teacher-salary-toggle:not(:disabled):focus-visible,.crm-shell .salary-portal-accrual-panel .teacher-salary-toggle:not(:disabled):active,.crm-shell .salary-portal-accrual-panel .teacher-salary-toggle.active:not(:disabled),.crm-shell .salary-portal-accrual-panel .teacher-salary-toggle[aria-expanded=true]:not(:disabled),.crm-shell .salary-portal-accrual-panel .teacher-salary-day-toggle:not(:disabled):hover,.crm-shell .salary-portal-accrual-panel .teacher-salary-day-toggle:not(:disabled):focus-visible,.crm-shell .salary-portal-accrual-panel .teacher-salary-day-toggle:not(:disabled):active,.crm-shell .salary-portal-accrual-panel .teacher-salary-day-toggle.active:not(:disabled),.crm-shell .salary-portal-accrual-panel .teacher-salary-day-toggle[aria-expanded=true]:not(:disabled),.crm-shell .salary-portal-accrual-panel .teacher-salary-lesson-toggle:not(:disabled):hover,.crm-shell .salary-portal-accrual-panel .teacher-salary-lesson-toggle:not(:disabled):focus-visible,.crm-shell .salary-portal-accrual-panel .teacher-salary-lesson-toggle:not(:disabled):active,.crm-shell .salary-portal-accrual-panel .teacher-salary-lesson-toggle.active:not(:disabled),.crm-shell .salary-portal-accrual-panel .teacher-salary-lesson-toggle[aria-expanded=true]:not(:disabled){box-shadow:none!important;color:inherit!important;background:0 0!important;border-color:#0000!important;transform:none!important}.crm-shell.student-portal-screen .teacher-salary-period.expanded>.teacher-salary-period-header-row .teacher-schedule-caret,.crm-shell.student-portal-screen .teacher-salary-day.expanded>.teacher-salary-day-toggle .teacher-schedule-caret,.crm-shell.student-portal-screen .teacher-salary-lesson.expanded>.teacher-salary-lesson-toggle .teacher-schedule-caret{background:color-mix(in srgb, var(--text-muted) 16%, transparent)!important;color:var(--text-main)!important}.teacher-portal-shell .teacher-salary-lesson{background:#ffffff08;border:0;gap:10px;padding:12px 14px}.theme-light .teacher-portal-shell .teacher-salary-lesson{background:#507dff0a}.teacher-portal-shell .teacher-salary-lesson.expanded{background:rgba(var(--palette-neutral-400-rgb,148, 163, 184), .12)}.theme-light .teacher-portal-shell .teacher-salary-lesson.expanded{background:rgba(var(--palette-neutral-500-rgb,100, 116, 139), .1)}.teacher-portal-shell .teacher-salary-lesson-toggle{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:0;width:100%;padding:0;display:grid}.teacher-portal-shell .teacher-portal-salary-time-row{margin-bottom:12px}.teacher-portal-shell .teacher-salary-lesson-toggle .teacher-salary-substitution-badge{margin-left:0}.teacher-portal-shell #teacher-portal-salary .teacher-salary-students .teacher-schedule-student{cursor:default;grid-template-columns:max-content minmax(0,1fr);gap:8px}.teacher-portal-shell #teacher-portal-salary .teacher-salary-students .teacher-schedule-student:before{content:"·";width:auto;height:auto;color:var(--text-muted);background:0 0;border-radius:0;font-size:1.1rem;font-weight:800;line-height:1}.teacher-portal-shell #teacher-portal-salary .teacher-salary-students .teacher-schedule-student.absent:before{color:var(--danger)}.teacher-portal-shell .teacher-portal-salary-time-row>.salary-lesson-time{color:#fff;font-weight:700}.teacher-portal-shell #teacher-portal-salary .teacher-portal-salary-time-row>.salary-substitution-badge{color:#fbbf24}@media (width<=1180px){.speaking-club-tabs-panel{padding:12px}.speaking-club-page-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid;overflow:visible}.speaking-club-page-tabs .schedule-mode-tab{justify-content:center;width:100%;min-width:0}.speaking-club-students-filter .section-heading{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.speaking-club-students-summary{justify-self:start}.speaking-club-students-filter .filters-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.speaking-club-students-filter .search-field{grid-column:1/-1}.speaking-club-students-filter .filters-bar>*{width:100%;min-width:0}.schedule-filter-panel .filters-bar{grid-template-columns:repeat(2,minmax(0,1fr))}:is(.schedule-filter-panel .filters-bar:has(.speaking-club-create-button),.schedule-filter-panel .schedule-speaking-club-filters){grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.schedule-filter-panel .search-field{grid-column:1/-1}:is(.schedule-filter-panel .filters-bar:has(.speaking-club-create-button) .search-field,.schedule-filter-panel .schedule-speaking-club-filters .search-field,.schedule-filter-panel .filters-bar:has(.speaking-club-create-button)>.searchable-select,.schedule-filter-panel .schedule-speaking-club-filters>.searchable-select){width:100%;min-width:0;max-width:none}.schedule-filter-panel .schedule-speaking-club-filters{column-gap:16px}.schedule-week-panel .section-heading:has(.speaking-club-header-actions){grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.speaking-club-header-actions{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(120px,auto));align-items:end;width:100%;min-width:0;display:grid}.speaking-club-header-actions>*{min-width:0}}@media (width>=768px) and (width<=1200px){.schedule-filter-panel .filters-bar:not(:has(.speaking-club-create-button)){grid-template-columns:minmax(260px,1fr) minmax(180px,.72fr) minmax(150px,.72fr)}.schedule-filter-panel .filters-bar:not(:has(.speaking-club-create-button)) .search-field{grid-column:auto}.speaking-club-students-filter .filters-bar{grid-template-columns:minmax(240px,1fr) minmax(280px,320px);align-items:end}.speaking-club-students-filter .search-field{grid-column:auto}.speaking-club-students-filter .filters-bar>.searchable-select{grid-column:1}.speaking-club-students-filter .filters-bar>button{white-space:nowrap;grid-column:2;min-width:0}}@media (width>=640px) and (width<=767px){.speaking-club-students-page{gap:10px}.speaking-club-students-filter{border-radius:18px;gap:10px;padding:12px}.speaking-club-students-filter .section-heading{gap:10px}.speaking-club-students-summary{width:100%}.speaking-club-students-filter .filters-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.speaking-club-students-filter .search-field{grid-column:1/-1}.speaking-club-students-filter .filters-bar>button{border-radius:12px;justify-content:center;width:100%;min-width:0;min-height:38px;padding:8px 10px;font-size:.74rem}.speaking-club-students-filter .searchable-select-trigger,.speaking-club-students-filter .search-input-wrap input{border-radius:12px;min-height:38px;font-size:.74rem}.speaking-club-student-table-header{display:none}.speaking-club-student-card{border-radius:18px;padding:14px}.speaking-club-student-card .student-list-row{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:8px}.speaking-club-student-card .student-title,.speaking-club-student-card .student-head-actions{grid-column:1/-1}.speaking-club-student-card .student-title h3{font-size:1rem;line-height:1.15}.speaking-club-student-card .student-title p{margin-top:4px;font-size:.78rem;line-height:1.18}.speaking-club-student-metrics.compact>div{background:var(--bg-soft);border-color:var(--border);border-radius:14px;place-items:center;min-width:0;min-height:54px;padding:9px 10px}.speaking-club-student-metrics.compact>div:first-child,.speaking-club-student-metrics.compact>div:nth-child(2),.speaking-club-student-metrics.compact>.student-next-payment-metric,.speaking-club-student-metrics.compact>div:nth-child(4){grid-column:span 1}.speaking-club-student-metrics.compact>div>span{font-size:.74rem}.speaking-club-student-metrics.compact strong,.speaking-club-student-metrics.compact>div:nth-child(-n+3) strong,.speaking-club-student-metrics.compact>div.student-next-payment-metric strong,.speaking-club-student-metrics.compact>div.student-next-payment-metric .student-metric-subvalue{font-size:.9rem;line-height:1.1}.speaking-club-student-metrics.compact>div:nth-child(4) strong{font-size:.78rem;line-height:1.15}.speaking-club-student-metrics.compact>.metrics-tail{display:none}.speaking-club-student-card .student-head-actions{grid-template-columns:minmax(0,1fr) 44px 44px;justify-self:stretch;gap:8px;min-width:0;display:grid}.speaking-club-student-card .student-payment-button{grid-area:1/1;justify-content:center;align-items:center;width:100%;height:40px;min-height:40px;padding-block:0;line-height:1;display:flex}.speaking-club-student-card .student-payment-button+.icon-button{grid-area:1/2}.speaking-club-student-card .student-payment-button+.icon-button+.icon-button{grid-area:1/3}.speaking-club-student-card .student-head-actions .icon-button,.speaking-club-student-card .student-head-actions .menu-trigger{border-radius:14px;width:100%;min-width:0;height:40px}}@media (width>=990px) and (width<=1200px){.speaking-club-student-table-header{display:none}.speaking-club-student-card{border-radius:18px;padding:14px 16px}.speaking-club-student-card .student-list-row{grid-template-columns:minmax(210px,1.05fr) repeat(4,minmax(100px,.72fr)) minmax(150px,.72fr);align-items:center;gap:10px}.speaking-club-student-card .student-title{grid-column:auto}.speaking-club-student-card .student-title h3{font-size:.98rem;line-height:1.15}.speaking-club-student-card .student-title p{margin-top:3px;font-size:.72rem;line-height:1.18}.speaking-club-student-metrics.compact>div{background:0 0;border-color:#0000;border-radius:0;place-items:center;min-width:0;min-height:0;padding:0 4px}.speaking-club-student-metrics.compact>div:first-child,.speaking-club-student-metrics.compact>div:nth-child(2),.speaking-club-student-metrics.compact>.student-next-payment-metric,.speaking-club-student-metrics.compact>div:nth-child(4){grid-column:span 1}.speaking-club-student-metrics.compact>.metrics-tail{display:none}.speaking-club-student-metrics.compact strong,.speaking-club-student-metrics.compact>div:nth-child(-n+3) strong,.speaking-club-student-metrics.compact>div.student-next-payment-metric strong,.speaking-club-student-metrics.compact>div.student-next-payment-metric .student-metric-subvalue{font-size:.98rem;line-height:1.1}.speaking-club-student-metrics.compact>div:nth-child(4) strong{font-size:.82rem;line-height:1.15}.speaking-club-student-card .student-head-actions{grid-column:auto;grid-template-columns:minmax(78px,1fr) 36px 36px;justify-self:end;align-items:center;gap:6px;min-width:0;display:grid}.speaking-club-student-card .student-payment-button{border-radius:12px;grid-column:1;justify-content:center;width:100%;height:34px;min-height:34px;padding:8px 10px;font-size:.72rem}.speaking-club-student-card .student-payment-button+.icon-button{grid-column:2}.speaking-club-student-card .student-payment-button+.icon-button+.icon-button{grid-column:3}.speaking-club-student-card .student-head-actions .icon-button{border-radius:12px;width:36px;min-width:36px;height:34px;padding:8px}}@media (width<=640px){.speaking-club-page{gap:10px}.speaking-club-tabs-panel{border-radius:18px;padding:10px}.speaking-club-page-tabs{gap:8px}.speaking-club-page-tabs .schedule-mode-tab{border-radius:13px;max-width:none;min-height:38px;padding:8px 10px;font-size:.78rem}.speaking-club-page-tabs .schedule-mode-tab small{padding:3px 6px;font-size:.62rem}.speaking-club-students-page{gap:10px}.speaking-club-students-filter{border-radius:18px;gap:10px;padding:12px}.speaking-club-students-filter .section-heading{gap:10px}.speaking-club-students-filter .section-heading h3{font-size:1rem;line-height:1.15}.speaking-club-students-filter .section-heading p{font-size:.76rem;line-height:1.25}.speaking-club-students-summary{width:100%}.speaking-club-students-filter .filters-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.speaking-club-students-filter .search-field{grid-column:1/-1}.speaking-club-students-filter .filters-bar>button{border-radius:12px;justify-content:center;min-height:38px;padding:8px 10px;font-size:.74rem}.speaking-club-students-filter .searchable-select-trigger,.speaking-club-students-filter .search-input-wrap input{border-radius:12px;min-height:38px;font-size:.74rem}.schedule-filter-panel .filters-bar{grid-template-columns:minmax(0,1fr)}.schedule-filter-panel .schedule-regular-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-filter-panel .schedule-regular-filters .search-field{grid-column:1/-1}:is(.schedule-filter-panel .filters-bar:has(.speaking-club-create-button),.schedule-filter-panel .schedule-speaking-club-filters){grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.schedule-filter-panel .schedule-speaking-club-filters .search-field{grid-column:1/-1}.schedule-filter-panel .schedule-speaking-club-filters>.searchable-select,.schedule-filter-panel .schedule-speaking-club-filters>.speaking-club-create-button{grid-column:span 1;width:100%;min-width:0}.schedule-filter-panel .schedule-speaking-club-filters .speaking-club-create-button{border-radius:12px;justify-content:center;min-height:38px;padding:8px 10px;font-size:.74rem}.schedule-week-panel .section-heading:has(.speaking-club-header-actions){gap:10px}.schedule-week-panel .section-heading:has(.speaking-club-header-actions) h3{font-size:1rem;line-height:1.15}.schedule-week-panel .section-heading:has(.speaking-club-header-actions) p{font-size:.74rem;line-height:1.25}.schedule-title-row{gap:8px}.speaking-club-header-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.speaking-club-header-actions .schedule-week-picker{grid-column:1/-1}.speaking-club-header-actions button{border-radius:12px;justify-content:center;width:100%;min-height:38px;padding:8px 10px;font-size:.74rem}.speaking-club-student-card{border-radius:18px;padding:14px}.speaking-club-student-card .student-list-row{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:8px}.speaking-club-student-card .student-title,.speaking-club-student-card .student-head-actions{grid-column:1/-1}.speaking-club-student-card .student-title h3{font-size:1rem;line-height:1.15}.speaking-club-student-card .student-title p{margin-top:4px;font-size:.78rem;line-height:1.18}.speaking-club-student-metrics.compact>div{background:var(--bg-soft);border-color:var(--border);border-radius:14px;place-items:center;min-width:0;min-height:54px;padding:9px 10px}.speaking-club-student-metrics.compact>div>span{font-size:.74rem}.speaking-club-student-metrics.compact strong,.speaking-club-student-metrics.compact>div:nth-child(-n+3) strong,.speaking-club-student-metrics.compact>div.student-next-payment-metric strong,.speaking-club-student-metrics.compact>div.student-next-payment-metric .student-metric-subvalue{font-size:.9rem;line-height:1.1}.speaking-club-student-metrics.compact>div:nth-child(4) strong{font-size:.78rem;line-height:1.15}.speaking-club-student-metrics.compact>.metrics-tail{display:none}.speaking-club-student-card .student-head-actions{grid-template-columns:minmax(0,1fr) 44px 44px;justify-self:stretch;gap:8px;min-width:0;display:grid}.speaking-club-student-card .student-payment-button{grid-area:1/1;justify-content:center;align-items:center;width:100%;height:40px;min-height:40px;padding-block:0;line-height:1;display:flex}.speaking-club-student-card .student-payment-button+.icon-button{grid-area:1/2}.speaking-club-student-card .student-payment-button+.icon-button+.icon-button{grid-area:1/3}.speaking-club-student-card .student-head-actions .icon-button,.speaking-club-student-card .student-head-actions .menu-trigger{border-radius:14px;width:100%;min-width:0;height:40px}}.modal-card .confirmation-actions button{border-radius:14px;min-height:48px;padding:12px 14px;font-size:.92rem;line-height:1.2}@media (width<=520px){.modal-card .confirmation-actions button{min-height:44px;padding:11px 12px;font-size:.88rem}}@media (width<=430px){.schedule-mode-tab{min-height:36px;padding:8px 10px;font-size:.78rem}.modal-backdrop:has(.modal-card-speaking-club-lesson){padding:6px}.modal-card-speaking-club-lesson{border-radius:18px;width:min(100%,100vw - 12px);max-height:calc(100dvh - 12px);padding:10px}.modal-card-speaking-club-lesson .section-heading h3{font-size:.9rem}.modal-card-speaking-club-lesson .section-heading p{font-size:.68rem}.modal-card-speaking-club-lesson .modal-close-button{border-radius:14px;width:34px;min-width:34px;height:34px}.speaking-club-student-picker{padding:10px}.modal-card-speaking-club-lesson label,.modal-card-speaking-club-lesson .searchable-select,.compact-heading p{font-size:.68rem}.modal-card-speaking-club-lesson input,.modal-card-speaking-club-lesson select,.modal-card-speaking-club-lesson .searchable-select-trigger,.modal-card-speaking-club-lesson .searchable-select-search{border-radius:12px;min-height:36px;padding:8px;font-size:.74rem}.modal-card-speaking-club-lesson button,.speaking-club-student-option strong{font-size:.74rem}.speaking-club-student-option .speaking-club-student-price{font-size:.68rem}.compact-heading h4{font-size:.82rem}.speaking-club-student-list{max-height:min(280px,38dvh)}.speaking-club-student-option{padding:8px}.speaking-club-student-option small{font-size:.66rem}}.modal-card-speaking-club-session{width:min(360px,100vw - 32px)}.modal-card-speaking-club-session .speaking-club-session-modal{width:100%}@media (width<=640px){.modal-backdrop:has(.modal-card-speaking-club-session){padding:12px}.modal-card-speaking-club-session{border-radius:24px;width:min(100%,100vw - 24px);padding:18px}.modal-card-speaking-club-session .section-heading{flex-wrap:nowrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;flex-direction:row!important}.modal-card-speaking-club-session .section-heading>div{min-width:0}.modal-card-speaking-club-session .modal-close-button{flex:none}.speaking-club-session-form .date-range-calendar{width:min(300px,100vw - 48px)}.speaking-club-session-form .card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}.crm-shell .search-input-wrap input{padding-left:42px!important;padding-right:34px!important}@media (width<=760px){.student-search-panel .balance-indicator,.speaking-club-students-filter .balance-indicator{padding:8px 10px}}.modal-card.journal-delete-confirmation-modal .section-heading{align-items:start;gap:12px;grid-template-columns:minmax(0,1fr) 42px!important;display:grid!important}.modal-card.journal-delete-confirmation-modal .section-heading>div{grid-column:1;min-width:0}.modal-card.journal-delete-confirmation-modal .modal-close-button{grid-area:1/2;place-self:start end;margin-top:-2px}@media (width<=760px){.modal-card .section-heading:has(.modal-close-button){width:100%;grid-template-columns:minmax(0,1fr) max-content!important;justify-content:stretch!important;align-items:start!important;gap:10px!important;display:grid!important}.modal-card .section-heading:has(.modal-close-button)>div{grid-area:1/1;min-width:0}.modal-card .section-heading:has(.modal-close-button) .modal-close-button{flex:none;grid-area:1/2;place-self:start end;margin-top:0}.modal-card.lesson-delete-confirmation-modal .section-heading:has(.modal-close-button){align-items:center!important}.modal-card.lesson-delete-confirmation-modal .section-heading .modal-close-button{align-self:center!important}}.crm-shell.student-portal-screen .student-portal-bottom-nav button,.crm-shell.student-portal-screen .student-portal-bottom-nav button:hover,.crm-shell.student-portal-screen .student-portal-bottom-nav button:focus-visible,.crm-shell.student-portal-screen .student-portal-bottom-nav button:active,.crm-shell.student-portal-screen .student-portal-bottom-nav button.active,.crm-shell.student-portal-screen .student-portal-bottom-nav button[aria-current=page],.crm-shell.student-portal-screen .student-portal-bottom-nav button[aria-expanded=true]{box-shadow:none!important;background:0 0!important;border-color:#0000!important;transform:none!important}@media (width<=767px){.student-portal-shell .portal-topbar{justify-content:space-between;padding-inline:12px}.student-portal-shell .portal-topbar-menu,.student-portal-shell .portal-category-panel{display:none}.student-portal-shell .portal-dashboard-layout{grid-template-columns:minmax(0,1fr)}.student-portal-shell{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.student-portal-more-menu{right:max(8px, env(safe-area-inset-right,0px));max-height:calc(100dvh - 110px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow-y:auto}.student-portal-bottom-nav{z-index:1450;width:100%;display:block;position:fixed;bottom:0;left:0;right:0;transform:none}.crm-shell button.sidebar-overlay,.crm-shell button.sidebar-overlay:hover,.crm-shell button.sidebar-overlay:focus-visible,.crm-shell button.sidebar-overlay:active{background:rgba(var(--palette-neutral-950-rgb,6, 10, 18), .48)!important;box-shadow:none!important;border:0!important;transform:none!important}.student-portal-bottom-nav .student-portal-bottom-nav-bar{padding:7px max(7px, env(safe-area-inset-right,0px)) max(7px, calc(env(safe-area-inset-bottom,0px) / 2 + min(12px, env(safe-area-inset-bottom,0px)))) max(7px, env(safe-area-inset-left,0px));background:color-mix(in srgb, var(--bg-card) var(--glass-card-background-alpha,100%), transparent);box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:0;border-radius:0;gap:4px}html.telegram-webapp-ios .student-portal-bottom-nav .student-portal-bottom-nav-bar{padding-bottom:calc(7px + max(env(safe-area-inset-bottom,0px), var(--telegram-ios-bottom-safe-area,12px)))}.student-portal-bottom-nav .student-portal-bottom-nav-item .material-symbols-rounded{font-variation-settings:"FILL" 0, "wght" 500, "GRAD" 0, "opsz" 24}.student-portal-bottom-nav .student-portal-bottom-nav-item.active .material-symbols-rounded{font-variation-settings:"FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24}.student-portal-bottom-nav .student-portal-bottom-nav-item span:last-child{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;font-size:.62rem;line-height:1;overflow:visible}.student-portal-bottom-nav .student-portal-bottom-nav-item,.student-portal-bottom-nav .student-portal-bottom-nav-item:hover,.student-portal-bottom-nav .student-portal-bottom-nav-item:focus-visible,.student-portal-bottom-nav .student-portal-bottom-nav-item:active,.student-portal-bottom-nav .student-portal-bottom-nav-item.active,.student-portal-bottom-nav .student-portal-bottom-nav-item.active:hover,.student-portal-bottom-nav .student-portal-bottom-nav-item.active:focus-visible{appearance:none;-webkit-tap-highlight-color:transparent;box-shadow:none!important;background:0 0!important;border-color:#0000!important;outline:none!important;transform:none!important}.student-portal-bottom-nav .student-portal-bottom-nav-item:hover,.student-portal-bottom-nav .student-portal-bottom-nav-item:focus-visible,.student-portal-bottom-nav .student-portal-bottom-nav-item.active,.student-portal-bottom-nav .student-portal-bottom-nav-item.active:hover,.student-portal-bottom-nav .student-portal-bottom-nav-item.active:focus-visible,.student-portal-more-menu .student-portal-more-item.active,.student-portal-more-menu .student-portal-more-item.active:hover,.student-portal-more-menu .student-portal-more-item.active:focus-visible,.theme-light .student-portal-bottom-nav .student-portal-bottom-nav-item.active,.theme-light .student-portal-bottom-nav .student-portal-bottom-nav-item.active:hover,.theme-light .student-portal-bottom-nav .student-portal-bottom-nav-item.active:focus-visible,.theme-light .student-portal-more-menu .student-portal-more-item.active,.theme-light .student-portal-more-menu .student-portal-more-item.active:hover,.theme-light .student-portal-more-menu .student-portal-more-item.active:focus-visible{color:var(--regular-button-accent)!important}.app-toast-stack{bottom:calc(96px + env(safe-area-inset-bottom,0px))}}@media (width<=1199px){.sidebar{top:env(safe-area-inset-top,0px);left:env(safe-area-inset-left,0px);height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.admin-mobile-bottom-nav{z-index:1450;width:100%;display:block;position:fixed;bottom:0;left:0;right:0;transform:none}.admin-mobile-bottom-nav .student-portal-bottom-nav-bar{padding:7px max(7px, env(safe-area-inset-right,0px)) max(7px, calc(env(safe-area-inset-bottom,0px) / 2 + min(12px, env(safe-area-inset-bottom,0px)))) max(7px, env(safe-area-inset-left,0px));background:color-mix(in srgb, var(--bg-card) var(--glass-card-background-alpha,100%), transparent);box-shadow:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:0;border-radius:0;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid}.admin-mobile-bottom-nav-icon{place-items:center;width:24px;height:24px;display:grid}.admin-mobile-bottom-nav-icon svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.admin-mobile-bottom-nav .student-portal-bottom-nav-item>span:last-child{overflow-wrap:anywhere;text-align:center;text-overflow:clip;white-space:normal;max-width:100%;font-size:calc(.62rem - 1px);line-height:1;display:block;overflow:visible}.admin-mobile-bottom-nav .student-portal-bottom-nav-item .material-symbols-rounded{font-variation-settings:"FILL" 0, "wght" 500, "GRAD" 0, "opsz" 24}.admin-mobile-bottom-nav .student-portal-bottom-nav-item.active .material-symbols-rounded{font-variation-settings:"FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24}.admin-mobile-bottom-nav .student-portal-bottom-nav-item,.admin-mobile-bottom-nav .student-portal-bottom-nav-item:hover,.admin-mobile-bottom-nav .student-portal-bottom-nav-item:focus-visible,.admin-mobile-bottom-nav .student-portal-bottom-nav-item:active,.admin-mobile-bottom-nav .student-portal-bottom-nav-item.active,.admin-mobile-bottom-nav .student-portal-bottom-nav-item.active:hover,.admin-mobile-bottom-nav .student-portal-bottom-nav-item.active:focus-visible{appearance:none;-webkit-tap-highlight-color:transparent;box-shadow:none!important;background:0 0!important;border-color:#0000!important;outline:none!important;transform:none!important}.admin-mobile-bottom-nav .student-portal-bottom-nav-item:hover,.admin-mobile-bottom-nav .student-portal-bottom-nav-item:focus-visible,.admin-mobile-bottom-nav .student-portal-bottom-nav-item.active,.admin-mobile-bottom-nav .student-portal-bottom-nav-item.active:hover,.admin-mobile-bottom-nav .student-portal-bottom-nav-item.active:focus-visible{color:var(--regular-button-accent)!important}.crm-shell:not(.auth-screen) .content-area{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}.crm-shell:not(.auth-screen) .app-toast-stack{bottom:calc(96px + env(safe-area-inset-bottom,0px))}html.telegram-webapp-ios .crm-shell:not(.auth-screen) .content-area{padding-bottom:calc(88px + max(env(safe-area-inset-bottom,0px), var(--telegram-ios-bottom-safe-area,12px)))}html.telegram-webapp-ios .admin-mobile-bottom-nav .student-portal-bottom-nav-bar{padding-bottom:calc(7px + max(env(safe-area-inset-bottom,0px), var(--telegram-ios-bottom-safe-area,12px)))}}.student-portal-home-hero{min-height:0}.student-portal-home-hero .student-portal-student-switcher{margin-top:7px}.student-portal-home-hero .student-portal-student-switcher button{align-items:center;gap:10px;font-size:1.5rem;display:inline-flex}.student-portal-language-flag{flex-basis:29px;width:29px;translate:0 1px}.student-portal-hero-summary .student-portal-summary-card{width:100%;min-width:0}.student-portal-stat-card-with-action{min-width:0;position:relative}.student-portal-stat-card-with-action.teacher-portal-stat-card-total{--teacher-stat-accent:#a78bfa}.theme-light .student-portal-stat-card-with-action.teacher-portal-stat-card-total{--teacher-stat-accent:#7652d6}.student-portal-stat-card-with-action>.teacher-portal-stat-card{padding-right:18px;background:linear-gradient(145deg, color-mix(in srgb, var(--teacher-stat-accent) 7%, var(--teacher-stat-surface)), var(--teacher-stat-surface) 68%)!important}.student-portal-stat-heading{grid-area:1/2;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.student-portal-stat-heading .teacher-portal-stat-label{min-width:0}.student-portal-next-payment-toggle{color:#c4b5fd;width:32px;min-width:32px;height:32px;box-shadow:none;border-color:#0000;flex:none;grid-area:auto;place-self:center;padding:7px;background:0 0!important}.student-portal-next-payment-toggle:hover,.student-portal-next-payment-toggle:focus-visible,.student-portal-next-payment-toggle[aria-pressed=true]{color:#a78bfa;box-shadow:none;border-color:#0000;background:0 0!important}.theme-light .student-portal-next-payment-toggle{color:#7652d6}.theme-light .student-portal-next-payment-toggle:hover,.theme-light .student-portal-next-payment-toggle:focus-visible,.theme-light .student-portal-next-payment-toggle[aria-pressed=true]{color:#5b21b6}.student-portal-next-payment-toggle svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.student-portal-stat-card-with-action.student-portal-next-payment-card-to-two-weeks{animation:.42s both student-portal-payment-card-to-two-weeks}.student-portal-stat-card-with-action.student-portal-next-payment-card-to-standard{animation:.42s both student-portal-payment-card-to-standard}.student-portal-calendar-modal-backdrop{z-index:2600}.student-portal-calendar-modal{box-sizing:border-box;width:min(760px,100vw - 48px);min-width:0;max-height:calc(100dvh - 32px);overflow:hidden auto}.student-portal-calendar-modal .student-portal-calendar-layout{grid-column:auto;grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:12px;width:100%}.student-portal-calendar-modal .student-portal-calendar-layout>.student-portal-schedule-picker{grid-column:1;width:100%;min-width:0}.student-portal-calendar-modal .student-portal-calendar-layout>.student-portal-calendar-insights{grid-column:2;min-width:0;margin-top:0}.student-portal-calendar-modal .section-heading h3,.student-portal-calendar-modal .section-heading p{margin:0}.student-portal-calendar-modal .student-portal-schedule-picker{box-sizing:border-box;justify-self:center;width:342px;min-width:0;max-width:100%;overflow:hidden}.student-portal-calendar-modal .attendance-weekdays,.student-portal-calendar-modal .attendance-calendar{width:100%;min-width:0}.student-portal-calendar-modal .attendance-picker-head{grid-template-columns:38px minmax(0,1fr) 38px;gap:10px;display:grid}.student-portal-calendar-modal .attendance-picker-head strong{text-align:center;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width<=760px){.student-portal-calendar-modal-backdrop{align-items:center;padding:12px}.student-portal-calendar-modal{border-radius:20px;width:min(420px,100vw - 24px);max-height:calc(100dvh - 24px);padding:14px}.student-portal-calendar-modal .student-portal-calendar-layout{grid-template-columns:minmax(0,1fr)}.student-portal-calendar-modal .student-portal-calendar-layout>.student-portal-calendar-insights{grid-column:1}.student-portal-calendar-modal .student-portal-schedule-picker{border-radius:16px;gap:8px;width:342px;max-width:100%;padding:10px}.student-portal-calendar-modal .attendance-picker-head{grid-template-columns:38px minmax(0,1fr) 38px;gap:10px}.student-portal-calendar-modal .attendance-picker-head .icon-button{border-radius:12px;width:38px;min-width:38px;height:38px}.student-portal-calendar-modal .attendance-picker-head .icon-button span{font-size:1.4rem}.student-portal-calendar-modal .attendance-weekdays,.student-portal-calendar-modal .attendance-calendar{gap:5px}.student-portal-calendar-modal .attendance-weekdays span{font-size:.74rem}.student-portal-calendar-modal .attendance-day{border-radius:8px;font-size:.82rem}.student-portal-calendar-modal .attendance-day small{min-width:14px;height:14px;font-size:.62rem;bottom:3px;right:4px}}@media (width<=430px){.student-portal-calendar-modal-backdrop{padding:8px}.student-portal-calendar-modal{border-radius:18px;max-height:calc(100dvh - 16px);padding:12px}.student-portal-calendar-modal .student-portal-schedule-picker{border-radius:16px;width:342px;max-width:100%;padding:10px}.student-portal-calendar-modal .attendance-day{border-radius:8px;font-size:.82rem}.student-portal-calendar-modal .attendance-picker-head{grid-template-columns:38px minmax(0,1fr) 38px;gap:10px}.student-portal-calendar-modal .attendance-picker-head .icon-button{border-radius:12px;width:38px;min-width:38px;height:38px}.student-portal-calendar-modal .attendance-weekdays span{font-size:.74rem}}@keyframes student-portal-payment-card-to-two-weeks{0%{opacity:.35;transform:translateY(7px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes student-portal-payment-card-to-standard{0%{opacity:.35;transform:translateY(-7px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.student-portal-stat-card-with-action.student-portal-next-payment-card-to-two-weeks,.student-portal-stat-card-with-action.student-portal-next-payment-card-to-standard{animation:none}}:is(#student-portal-overview,.student-portal-hero-summary,#student-portal-profile) .teacher-portal-stat-card strong{color:var(--teacher-stat-accent);letter-spacing:-.025em;overflow-wrap:anywhere;grid-area:3/1/auto/-1;align-self:end;font-size:clamp(1.08rem,1.55vw,1.4rem);line-height:1.05}:is(#student-portal-overview,.student-portal-hero-summary) .teacher-portal-stat-card strong.student-portal-balance-value-positive{color:#35d48d}:is(#student-portal-overview,.student-portal-hero-summary) .teacher-portal-stat-card strong.student-portal-balance-value-zero{color:#ffb84d}:is(#student-portal-overview,.student-portal-hero-summary) .teacher-portal-stat-card strong.student-portal-balance-value-negative{color:#ff8181}.theme-light :is(#student-portal-overview,.student-portal-hero-summary) .teacher-portal-stat-card strong.student-portal-balance-value-positive{color:#0a9460}.theme-light :is(#student-portal-overview,.student-portal-hero-summary) .teacher-portal-stat-card strong.student-portal-balance-value-zero{color:#bd7600}.theme-light :is(#student-portal-overview,.student-portal-hero-summary) .teacher-portal-stat-card strong.student-portal-balance-value-negative{color:#c53737}:is(#student-portal-overview,.student-portal-hero-summary) .teacher-portal-stat-label{color:var(--text-muted);font-size:.79rem;line-height:1.2}:is(#student-portal-overview,.student-portal-hero-summary) .teacher-portal-stat-icon{color:var(--teacher-stat-accent)!important}.student-portal-stat-card-schedule{--teacher-stat-accent:#f28c68!important;--teacher-stat-surface:rgb(var(--palette-neutral-900-rgb,42, 32, 30))!important}.student-portal-stat-card-completed{--teacher-stat-accent:#43c5c3!important;--teacher-stat-surface:rgb(var(--palette-neutral-900-rgb,26, 38, 39))!important}.theme-light .student-portal-stat-card-schedule{--teacher-stat-accent:#b45530!important;--teacher-stat-surface:#fff6f1!important}.theme-light .student-portal-stat-card-completed{--teacher-stat-accent:#087b79!important;--teacher-stat-surface:#effcfb!important}@media (width<=760px){.student-portal-home-hero .student-portal-student-switcher button{font-size:1.35rem}.student-portal-language-flag{flex-basis:26px;width:26px}:is(#student-portal-overview,.student-portal-hero-summary,#student-portal-profile) .teacher-portal-stat-card{border-radius:19px;min-height:104px;padding:13px}:is(#student-portal-overview,.student-portal-hero-summary,#student-portal-profile) .teacher-portal-stat-card strong{font-size:.98rem}#student-portal-profile .student-portal-info-card.teacher-portal-stat-card{border-radius:19px;min-height:104px;padding:13px}#student-portal-profile .student-portal-info-card.teacher-portal-stat-card .stat-card-top{grid-template-rows:auto minmax(16px,1fr) auto;grid-template-columns:30px minmax(0,1fr);gap:0 10px;min-height:62px}#student-portal-profile .student-portal-info-card.teacher-portal-stat-card .teacher-portal-stat-icon{border-radius:10px;width:30px;height:30px}}.crm-shell .panel.monitoring-section-header{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 19%, rgb(var(--palette-neutral-900-rgb,27, 32, 40))), color-mix(in srgb, var(--accent) 5%, rgb(var(--palette-neutral-900-rgb,27, 32, 40))) 58%, rgb(var(--palette-neutral-900-rgb,27, 32, 40)) 100%);min-height:112px;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--accent) 18%, transparent), 0 12px 28px #0000001f;border:0;border-radius:24px;padding:22px 24px}.monitoring-section-header .section-heading{min-height:68px}.monitoring-section-header .utility-page-heading h2{font-size:1.3rem}.teacher-portal-section-heading,.student-portal-section-heading{background:color-mix(in srgb, var(--bg-soft) 78%, transparent);border-radius:16px;align-items:center;gap:12px;min-height:72px;margin:-4px -4px 2px;border:0!important;justify-content:flex-start!important;padding:12px 14px!important;display:flex!important}.teacher-portal-section-heading .panel-heading-icon,.student-portal-section-heading .panel-heading-icon{width:46px;height:46px;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--bg-surface));border-color:color-mix(in srgb, var(--accent) 30%, transparent);border-radius:14px;flex:0 0 46px;border:0!important}.teacher-portal-section-heading h3,.student-portal-section-heading h3{color:var(--text-main);margin:0;font-size:1.06rem;line-height:1.2}.teacher-portal-section-heading p,.student-portal-section-heading p{color:var(--text-muted);margin:4px 0 0;font-size:.8rem;line-height:1.35}.teacher-portal-section-heading>.badge,.student-portal-section-heading>.badge,.student-portal-section-heading>.student-portal-pay-button{white-space:nowrap;align-self:center;margin-left:auto}.teacher-schedule-day-heading{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;width:100%;min-width:0;display:grid}.teacher-schedule-day>.teacher-schedule-toggle>span:first-child{width:100%}.teacher-schedule-day-counts{vertical-align:middle;flex-wrap:wrap;justify-self:end;align-items:center;gap:4px;justify-content:flex-start!important;align-self:center!important;width:auto!important;height:auto!important;margin-left:14px!important;display:inline-flex!important}.teacher-schedule-day-counts .day-column-count{white-space:nowrap;width:fit-content;height:auto;box-shadow:none;border-radius:999px;justify-content:center;align-items:center;padding:3px 7px;font-size:.68rem;font-weight:800;line-height:1.15;display:inline-flex}.teacher-schedule-day-counts .day-column-lesson-count{color:#a8c7ff!important;background:#7eb1ff24!important}.teacher-schedule-day-counts .day-column-substitution-count{color:#ffcf6b!important;background:#ffcf6b24!important}.teacher-calendar-lessons-heading{justify-content:space-between;align-items:center;gap:8px;width:100%;padding-right:0!important;display:flex!important}.teacher-calendar-lessons-heading>span:first-child{min-width:0}.teacher-calendar-lessons-heading .teacher-schedule-day-counts{flex:none;align-self:center!important;margin-left:auto!important}.teacher-schedule-calendar-layout .attendance-day .teacher-calendar-day-badge{top:1px;bottom:auto;right:1px}.theme-light .teacher-schedule-day-counts .day-column-lesson-count{color:#3157c8!important;background:#507dff1f!important}.theme-light .teacher-schedule-day-counts .day-column-substitution-count{color:#9a5a05!important;background:#d9770624!important}@media (width>=900px){.teacher-portal-section-heading,.student-portal-section-heading{flex-wrap:nowrap}.teacher-portal-section-heading>div,.student-portal-section-heading>div{flex:auto;min-width:0}}@media (width<=760px){.crm-shell .panel.monitoring-section-header{border-radius:18px;min-height:92px;padding:13px 14px}.monitoring-section-header .section-heading{min-height:66px}.monitoring-section-header .utility-page-heading h2{font-size:1.05rem}.monitoring-section-header .utility-page-heading p{margin-top:2px;font-size:.7rem}.monitoring-section-header .badge{padding:6px 10px;font-size:.72rem}.teacher-portal-section-heading,.student-portal-section-heading{border-radius:14px;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;min-height:60px;margin:-2px -2px 0;padding:9px 10px!important;display:grid!important}.teacher-portal-section-heading .panel-heading-icon,.student-portal-section-heading .panel-heading-icon{border-radius:11px;flex-basis:38px;width:38px;height:38px}.teacher-portal-section-heading .panel-heading-icon svg,.student-portal-section-heading .panel-heading-icon svg{width:20px;height:20px}.teacher-portal-section-heading h3,.student-portal-section-heading h3{font-size:.94rem}.teacher-portal-section-heading p,.student-portal-section-heading p{margin-top:2px;font-size:.7rem}.teacher-portal-section-heading>.badge,.student-portal-section-heading>.badge{margin-left:0;padding:6px 8px;font-size:.68rem}}.theme-light .teacher-week-calendar .date-range-day.range-start,.theme-light .teacher-week-calendar .date-range-day.range-end,.theme-light .teacher-week-calendar .date-range-day.range-start span,.theme-light .teacher-week-calendar .date-range-day.range-end span,.theme-light .student-portal-schedule-picker .attendance-day.student-portal-calendar-day.selected:not(:where(.study-day,.transfer-day,.attendance-cancelled-lesson-day,.attendance-replaced-lesson-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)),.theme-light .student-portal-schedule-picker .attendance-day.student-portal-calendar-day.selected:not(:where(.study-day,.transfer-day,.attendance-cancelled-lesson-day,.attendance-replaced-lesson-day,.teacher-calendar-day-completed,.teacher-calendar-day-upcoming,.teacher-calendar-day-upcoming-substitution,.teacher-calendar-day-replaced,.teacher-calendar-day-cancelled,.payment-paid-day,.payment-past-paid-day,.payment-balance-day,.payment-paid-upcoming-day,.payment-debt-day,.payment-upcoming-day,.payment-substitution-day,.payment-past-substitution-day,.payment-unpaid-substitution-day,.payment-refund-day)) span{color:rgb(var(--palette-neutral-900-rgb,17, 24, 39))!important}.theme-light .student-portal-calendar-lessons>strong,.theme-light .student-portal-calendar-lessons article strong,.theme-light .student-portal-calendar-lessons article>span{color:rgb(var(--palette-neutral-900-rgb,17, 24, 39))}.theme-light .student-portal-calendar-lessons article small,.theme-light .student-portal-calendar-lessons p{color:rgb(var(--palette-neutral-600-rgb,83, 97, 119))}.theme-light .student-portal-calendar-lessons article .student-portal-calendar-lesson-status,.theme-light .student-portal-calendar-lessons article.debt .student-portal-calendar-lesson-status{color:rgb(var(--palette-neutral-700-rgb,55, 65, 81))}.theme-light .teacher-portal-shell .teacher-schedule-lesson-title,.theme-light .teacher-portal-shell .teacher-schedule-lesson-title>span:first-child,.theme-light .teacher-portal-shell .teacher-schedule-student strong,.theme-light .teacher-portal-shell .teacher-schedule-substitution-badge,.theme-light .teacher-portal-shell .teacher-schedule-substitution-badge>span{color:rgb(var(--palette-neutral-900-rgb,17, 24, 39))}.theme-light .teacher-portal-shell .teacher-schedule-lesson-copy .lesson-time,.theme-light .teacher-portal-shell .teacher-portal-lesson-teacher,.theme-light .teacher-portal-shell .teacher-schedule-students-title,.theme-light .teacher-portal-shell .teacher-schedule-student span{color:rgb(var(--palette-neutral-600-rgb,83, 97, 119))}.theme-light .teacher-portal-shell .teacher-schedule-student.absent strong,.theme-light .teacher-portal-shell .teacher-schedule-student-status{color:#b91c1c!important}.theme-light .teacher-portal-shell .lesson-status-chip-planned,.theme-light .teacher-portal-shell .lesson-status-chip-planned span{color:rgb(var(--palette-neutral-800-rgb,31, 41, 55))!important}.student-portal-calendar-lessons article.teacher-schedule-lesson{grid-template-columns:minmax(0,1fr);gap:10px}.student-portal-calendar-lessons article.teacher-schedule-lesson .teacher-schedule-lesson-head,.student-portal-calendar-lessons article.teacher-schedule-lesson .teacher-schedule-lesson-toggle,.student-portal-calendar-lessons article.teacher-schedule-lesson .teacher-schedule-lesson-copy{width:100%;min-width:0}.student-portal-calendar-lessons article.teacher-schedule-lesson .teacher-schedule-lesson-toggle{grid-template-columns:minmax(0,1fr) max-content}.student-portal-calendar-lessons article.teacher-schedule-lesson .teacher-schedule-student.static{cursor:default}.teacher-schedule-calendar-layout{gap:18px;width:100%;min-width:0;display:grid}.teacher-schedule-calendar-layout>.student-portal-schedule-picker{width:100%;min-width:0}@media (width>=900px){.teacher-portal-shell #teacher-portal-schedule{grid-column:1/-1;justify-self:stretch;width:100%}.teacher-portal-shell .teacher-schedule-calendar-layout{grid-template-columns:minmax(0,342px) minmax(0,1fr);align-items:start;column-gap:18px;width:100%;max-width:100%}.teacher-schedule-calendar-layout>.student-portal-schedule-picker{grid-column:1}.teacher-schedule-calendar-layout>.student-portal-calendar-insights{grid-column:2;align-self:start;margin-top:0}.teacher-schedule-calendar-layout>.student-portal-debt-preview{grid-column:2}}.theme-light .teacher-portal-shell .portal-category-panel .settings-category-button.active,.theme-light .teacher-portal-shell .portal-category-panel .settings-category-button.active:hover,.theme-light .teacher-portal-shell .portal-category-panel .settings-category-button.active:focus-visible,.theme-light .teacher-portal-shell .student-portal-bottom-nav-item.active,.theme-light .teacher-portal-shell .student-portal-bottom-nav-item.active:hover,.theme-light .teacher-portal-shell .student-portal-bottom-nav-item.active:focus-visible,.theme-light .teacher-portal-shell .student-portal-more-item.active,.theme-light .teacher-portal-shell .student-portal-more-item.active:hover,.theme-light .teacher-portal-shell .student-portal-more-item.active:focus-visible{color:var(--regular-button-accent)!important}.theme-light .teacher-portal-shell .portal-category-panel .settings-category-button:hover,.theme-light .teacher-portal-shell .portal-category-panel .settings-category-button:focus-visible,.theme-light .teacher-portal-shell .teacher-week-picker .teacher-week-nav-button:hover,.theme-light .teacher-portal-shell .teacher-week-picker .teacher-week-nav-button:focus-visible,.theme-light .teacher-portal-shell .teacher-week-picker .teacher-week-date-button:hover,.theme-light .teacher-portal-shell .teacher-week-picker .teacher-week-date-button:focus-visible,.theme-light .teacher-portal-shell .teacher-week-mode-switch .teacher-week-today-button:hover,.theme-light .teacher-portal-shell .teacher-week-mode-switch .teacher-week-today-button:focus-visible,.theme-light .teacher-portal-shell .teacher-week-mode-switch .teacher-week-today-button.active,.theme-light .teacher-portal-shell .teacher-week-mode-switch .teacher-week-today-button.active:hover,.theme-light .teacher-portal-shell .teacher-week-mode-switch .teacher-week-today-button.active:focus-visible{color:var(--accent)!important}@media (width>=761px) and (width<=1199px){.teacher-portal-shell .teacher-portal-section-heading{justify-content:flex-start!important}.teacher-portal-shell .teacher-portal-section-heading>div{text-align:left;flex:0 auto;min-width:0}.teacher-portal-shell .teacher-portal-section-heading>.badge{margin-left:auto}.teacher-portal-shell .settings-layout{grid-template-columns:minmax(0,200px) minmax(0,1fr);width:100%;min-width:0}.teacher-portal-shell .settings-detail-area,.teacher-portal-shell #teacher-portal-lessons{width:100%;min-width:0;max-width:100%}.teacher-portal-shell #teacher-portal-lessons,.teacher-portal-shell #teacher-portal-lessons>*{min-width:0;max-width:100%}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker{grid-template-columns:40px minmax(0,1fr) minmax(176px,220px) 40px;gap:8px;width:100%;min-width:0}.teacher-portal-shell #teacher-portal-lessons .teacher-week-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0}.teacher-portal-shell #teacher-portal-lessons .teacher-week-mode-switch .teacher-week-today-button{min-width:0;padding-inline:10px;font-size:.84rem}.teacher-portal-shell #teacher-portal-lessons .teacher-schedule-day,.teacher-portal-shell #teacher-portal-lessons .teacher-schedule-lesson{width:100%;min-width:0;max-width:100%}}@media (width<=760px){.modal-card-payment{border-radius:18px;width:min(310px,100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:16px;overflow-y:auto}.modal-card-payment .section-heading:has(.modal-close-button){width:276px;max-width:100%;margin-inline:auto}.modal-card-payment .section-heading:has(.modal-close-button)>.payment-modal-student-row{grid-area:2/1/auto/-1}.modal-card-payment .payment-form{width:276px;max-width:100%;margin-inline:auto}.modal-card-payment .section-heading h3{font-size:1.08rem}.modal-card-payment .payment-modal-student-row .payment-modal-name,.modal-card-payment .payment-modal-tariff{font-size:.68rem}.modal-card-payment .payment-form{gap:12px}.modal-card-payment .payment-month-preview-line{font-size:.82rem;line-height:1.35}.modal-card-payment .payment-form>label,.modal-card-payment .payment-form textarea{width:100%;max-width:none}.modal-card-payment .payment-form input,.modal-card-payment .payment-form textarea{border-radius:12px;min-height:42px;padding:10px 12px;font-size:.9rem}.modal-card-payment .payment-form textarea{min-height:82px}.modal-card-payment .payment-form .card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.modal-card-payment .payment-form .card-actions button{min-height:42px;padding:9px 8px;font-size:.82rem}}.payment-form .refund-cancel-button,.payment-form .refund-cancel-button:hover,.payment-form .refund-cancel-button:focus-visible,.payment-form .refund-cancel-button:active{color:var(--danger);background:var(--bg-surface);border-color:#0000;transform:none}.student-info-category-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-info-required-label{align-items:center;gap:3px;display:inline-flex}.student-info-required-marker,.student-info-required-note>span{color:var(--accent);font-weight:900}.student-info-required-note{color:var(--text-muted);margin:-4px 0 0;font-size:.78rem;line-height:1.4}.student-info-validation-message{color:var(--danger);background:0 0;border:0;border-radius:0;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;margin:-2px 0 0;padding:0;font-size:.82rem;font-weight:650;line-height:1.4;display:grid}.student-info-validation-message svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.student-info-status-switch,.student-info-status-switch:hover,.student-info-status-switch:focus,.student-info-status-switch:focus-visible,.student-info-status-switch:active{width:auto;min-width:46px;box-shadow:none;background:0 0;border-color:#0000;border-radius:0;padding:0;transform:none}.student-info-portal-action .student-portal-open-button{justify-content:center;align-items:center;gap:8px;width:100%;text-decoration:none;display:inline-flex}@media (width<=760px){.student-editor-detail-area .student-info-name-fields{flex-direction:row;align-items:flex-start;gap:10px}.student-editor-detail-area .student-info-name-fields>label{flex:1 1 0;width:0;min-width:0}.student-editor-detail-area .student-phone-remove{grid-area:1/2/auto/3;justify-self:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}}.student-info-input-wrap{width:100%;position:relative}.student-info-input-wrap input{width:100%;padding-right:42px}.student-info-clear-button,.student-info-clear-button:hover,.student-info-clear-button:active,.student-info-clear-button:focus,.student-info-clear-button:focus-visible{width:28px;height:28px;min-height:28px;color:var(--text-muted);box-shadow:none;background:0 0;border:0 #0000;border-radius:8px;padding:4px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.student-info-clear-button:hover,.student-info-clear-button:focus-visible{color:var(--text-main);background:var(--bg-soft);transform:translateY(-50%)}.student-info-clear-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}@media (width<=767px){.student-search-panel .student-debtors-button,.student-search-panel .student-add-actions{grid-column:span 1;width:100%;min-width:0}.student-search-panel .student-add-actions .student-add-button{width:100%}}.crm-shell .settings-category-panel .settings-category-button.active,.crm-shell .settings-category-panel .settings-category-button.active:hover,.crm-shell .settings-category-panel .settings-category-button.active:focus-visible{border:0!important;border-bottom:2px solid var(--regular-button-accent)!important;border-bottom-color:var(--regular-button-accent,var(--accent))!important;color:var(--regular-button-accent)!important;text-indent:0!important;background:0 0!important;border-bottom-style:solid!important;border-bottom-width:2px!important}@media (width<=760px){.crm-shell .settings-category-panel .settings-category-button,.crm-shell .settings-category-panel .settings-category-button:hover,.crm-shell .settings-category-panel .settings-category-button:focus-visible,.crm-shell .settings-category-panel .settings-category-button.active,.crm-shell .settings-category-panel .settings-category-button.active:hover,.crm-shell .settings-category-panel .settings-category-button.active:focus-visible{text-indent:0;border-radius:0}}.crm-shell .sidebar{--main-sidebar-accent:var(--regular-button-accent);--sidebar-nav-edge:22px}.crm-shell.theme-dark .sidebar{--main-sidebar-accent:#35d48d}.crm-shell .sidebar .nav-item{transition:color .16s,background-color .16s;box-shadow:none!important;color:var(--text-muted)!important;background:0 0!important;border:0!important;border-radius:10px!important;overflow:visible!important;transform:none!important}.crm-shell .sidebar .nav-item:after{top:0;left:calc(var(--sidebar-nav-edge,22px) * -1);content:"";opacity:0;pointer-events:none;transform-origin:50%;background:0 0;border-radius:0;width:3px;transition:background-color .22s,opacity .16s,transform .22s;position:absolute;bottom:0;transform:scaleY(.42)}.crm-shell .sidebar .nav-label{transition:transform .16s}.crm-shell .sidebar .nav-icon{transition:color .16s,transform .16s;background:0 0!important}.crm-shell .sidebar .nav-item:not(.sidebar-logout-button):hover:not(.active),.crm-shell .sidebar .nav-item:not(.sidebar-logout-button):focus-visible:not(.active){outline:none;background:color-mix(in srgb, var(--text-main) 7%, transparent)!important;color:var(--text-main)!important;border:0!important}.crm-shell .sidebar .nav-item:not(.sidebar-logout-button):hover:not(.active):after,.crm-shell .sidebar .nav-item:not(.sidebar-logout-button):focus-visible:not(.active):after,.crm-shell .sidebar .nav-item:not(.sidebar-logout-button).active:after,.crm-shell .sidebar .nav-item:not(.sidebar-logout-button).active:hover:after,.crm-shell .sidebar .nav-item:not(.sidebar-logout-button).active:focus-visible:after{opacity:1;transform:scaleY(1);background:var(--main-sidebar-accent)!important}.crm-shell .sidebar .nav-item:not(.sidebar-logout-button):hover:not(.active) .nav-label,.crm-shell .sidebar .nav-item:not(.sidebar-logout-button):focus-visible:not(.active) .nav-label{transform:translate(4px)}.crm-shell .sidebar .nav-item:not(.sidebar-logout-button).active,.crm-shell .sidebar .nav-item:not(.sidebar-logout-button).active:hover,.crm-shell .sidebar .nav-item:not(.sidebar-logout-button).active:focus-visible{outline:none;background:color-mix(in srgb, var(--text-main) 11%, transparent)!important;color:#fff!important;border:0!important}.crm-shell .sidebar .nav-item:not(.sidebar-logout-button).active .nav-label,.crm-shell .sidebar .nav-item:not(.sidebar-logout-button).active:hover .nav-label,.crm-shell .sidebar .nav-item:not(.sidebar-logout-button).active:focus-visible .nav-label{transform:translate(7px)}.crm-shell .sidebar .nav-item:not(.sidebar-logout-button):hover .nav-icon,.crm-shell .sidebar .nav-item:not(.sidebar-logout-button):focus-visible .nav-icon{color:var(--text-main)!important;background:0 0!important;transform:translate(4px)!important}.crm-shell .sidebar .nav-item:not(.sidebar-logout-button).active .nav-icon,.crm-shell .sidebar .nav-item:not(.sidebar-logout-button).active:hover .nav-icon,.crm-shell .sidebar .nav-item:not(.sidebar-logout-button).active:focus-visible .nav-icon{color:#fff!important;background:0 0!important;transform:translate(7px)!important}.crm-shell .sidebar .sidebar-logout-button{box-shadow:none!important;color:var(--danger)!important;background:0 0!important;border:0!important;border-radius:10px!important;transform:none!important}.crm-shell .sidebar .sidebar-logout-button:hover,.crm-shell .sidebar .sidebar-logout-button:focus-visible{outline:none;background:color-mix(in srgb, var(--danger) 7%, transparent)!important;color:var(--danger)!important;border:0!important}.crm-shell .sidebar .sidebar-logout-button:hover:after,.crm-shell .sidebar .sidebar-logout-button:focus-visible:after{opacity:1;transform:scaleY(1);background:var(--danger)!important}.crm-shell .sidebar .sidebar-logout-button:hover .nav-label,.crm-shell .sidebar .sidebar-logout-button:focus-visible .nav-label{transform:translate(4px)}.crm-shell .sidebar .sidebar-logout-button .nav-icon,.crm-shell .sidebar .sidebar-logout-button:hover .nav-icon,.crm-shell .sidebar .sidebar-logout-button:focus-visible .nav-icon{color:var(--danger)!important;background:0 0!important}.crm-shell .sidebar .sidebar-logout-button:hover .nav-icon,.crm-shell .sidebar .sidebar-logout-button:focus-visible .nav-icon{transform:translate(4px)!important}.crm-shell .sidebar .nav-icon svg{width:20px;height:20px}.crm-shell.theme-light .sidebar .nav-item:not(.sidebar-logout-button):hover,.crm-shell.theme-light .sidebar .nav-item:not(.sidebar-logout-button):focus-visible,.crm-shell.theme-light .sidebar .nav-item:not(.sidebar-logout-button).active,.crm-shell.theme-light .sidebar .nav-item:not(.sidebar-logout-button).active:hover,.crm-shell.theme-light .sidebar .nav-item:not(.sidebar-logout-button).active:focus-visible,.crm-shell.theme-light .sidebar .nav-item:not(.sidebar-logout-button):hover .nav-icon,.crm-shell.theme-light .sidebar .nav-item:not(.sidebar-logout-button):focus-visible .nav-icon,.crm-shell.theme-light .sidebar .nav-item:not(.sidebar-logout-button).active .nav-icon,.crm-shell.theme-light .sidebar .nav-item:not(.sidebar-logout-button).active:hover .nav-icon,.crm-shell.theme-light .sidebar .nav-item:not(.sidebar-logout-button).active:focus-visible .nav-icon{color:var(--text-main)!important}@media (width<=767px){.crm-shell .sidebar{--sidebar-nav-edge:14px}}@media (width>=768px) and (width<=1199px) and (orientation:landscape){.crm-shell .sidebar{--sidebar-nav-edge:12px}}@media (width>=768px) and (width<=1199px){.crm-shell .sidebar-nav{margin-left:calc(var(--sidebar-nav-edge,22px) * -1);padding-left:var(--sidebar-nav-edge,22px)}}@media (width>=1200px) and (width<=1500px){.crm-shell .sidebar{--sidebar-nav-edge:15px}.crm-shell .sidebar:hover{--sidebar-nav-edge:12px}.crm-shell .sidebar:has(.brand-link:focus-visible){--sidebar-nav-edge:12px}.crm-shell .sidebar:has(.nav-item:focus-visible){--sidebar-nav-edge:12px}}.crm-shell .primary-button-tone-option{color:var(--text-muted);text-decoration:none;transition:color .16s,border-color .22s;background:0 0!important;border:0!important;border-bottom:2px solid #0000!important;border-radius:0!important;transform:none!important}.crm-shell .primary-button-tone-option:hover,.crm-shell .primary-button-tone-option:focus-visible{outline:none;border:0!important;border-bottom:2px solid var(--regular-button-accent)!important;color:var(--regular-button-accent)!important;background:0 0!important}.crm-shell .primary-button-tone-option.active,.crm-shell .primary-button-tone-option.active:hover,.crm-shell .primary-button-tone-option.active:focus-visible{outline:none;border:0!important;border-bottom:2px solid var(--regular-button-accent)!important;border-bottom-color:var(--regular-button-accent,var(--accent))!important;color:var(--regular-button-accent)!important;background:0 0!important;border-bottom-style:solid!important;border-bottom-width:2px!important}.crm-shell button.primary-button-tone-option.active:not(.attendance-day):not(.attendance-status-chip):not(.primary-button):not(.danger-button):not(.student-status-switch):not(.theme-switch):not(:disabled),.crm-shell button.primary-button-tone-option[aria-pressed=true]:not(.attendance-day):not(.attendance-status-chip):not(.primary-button):not(.danger-button):not(.student-status-switch):not(.theme-switch):not(:disabled){border:0!important;border-bottom:2px solid var(--regular-button-accent,var(--accent))!important;border-bottom-color:var(--regular-button-accent,var(--accent))!important;border-bottom-style:solid!important;border-bottom-width:2px!important}.crm-shell.student-portal-screen{--accent:#35d48d;--regular-button-accent:#35d48d}html[data-crm-palette=aurora] .crm-shell.student-portal-screen.theme-light{--accent:#6437d6;--regular-button-accent:#6437d6}html[data-crm-palette=aurora] .crm-shell.student-portal-screen.theme-dark{--accent:#35d48d;--regular-button-accent:#35d48d}@media (width>=1200px) and (width<=1500px){.crm-shell .sidebar:not(:hover):not(:has(.brand-link:focus-visible)):not(:has(.nav-item:focus-visible)) .nav-icon{transform:none!important}}.crm-shell.student-portal-screen.theme-light #student-portal-profile .student-portal-info-card.teacher-portal-stat-card strong,.crm-shell.student-portal-screen.theme-light #student-portal-profile .student-portal-info-contact-panel-heading strong,.crm-shell.student-portal-screen.theme-light #student-portal-profile .student-portal-info-contact-person>strong,.crm-shell.student-portal-screen.theme-light #student-portal-profile .student-portal-info-contact-phone,.crm-shell.student-portal-screen.theme-light #student-portal-profile .student-portal-info-contact-values>span{color:var(--text-main)!important}.crm-shell.student-portal-screen.theme-light #student-portal-profile .student-portal-info-contact-phone:hover,.crm-shell.student-portal-screen.theme-light #student-portal-profile .student-portal-info-contact-phone:focus-visible{color:var(--accent)!important}.crm-shell .monitoring-tab,.crm-shell .monitoring-payment-tab{color:var(--text-muted);transition:color .16s,border-color .22s;box-shadow:none!important;text-indent:0!important;background:0 0!important;border:0!important;border-bottom:2px solid #0000!important;border-radius:0!important;transform:none!important}.crm-shell .monitoring-tab{align-items:center;display:inline-flex}.crm-shell .monitoring-tab .monitoring-tab-badge{min-width:20px;height:20px;margin-left:8px;padding:0 5px;font-size:.68rem;position:static;top:auto;right:auto}.crm-shell .monitoring-tab:hover,.crm-shell .monitoring-tab:focus-visible,.crm-shell .monitoring-payment-tab:hover,.crm-shell .monitoring-payment-tab:focus-visible,.crm-shell .monitoring-tab.active,.crm-shell .monitoring-tab.active:hover,.crm-shell .monitoring-tab.active:focus-visible,.crm-shell .monitoring-tab[aria-selected=true],.crm-shell .monitoring-tab[aria-selected=true]:hover,.crm-shell .monitoring-tab[aria-selected=true]:focus-visible,.crm-shell .monitoring-tab[data-monitoring-active=true],.crm-shell .monitoring-payment-tab.active,.crm-shell .monitoring-payment-tab.active:hover,.crm-shell .monitoring-payment-tab.active:focus-visible,.crm-shell .monitoring-payment-tab[aria-selected=true],.crm-shell .monitoring-payment-tab[aria-selected=true]:hover,.crm-shell .monitoring-payment-tab[aria-selected=true]:focus-visible,.crm-shell .monitoring-payment-tab[data-monitoring-active=true]{outline:none;border-bottom-color:var(--regular-button-accent,var(--accent))!important;color:var(--regular-button-accent,var(--accent))!important;box-shadow:none!important;text-indent:0!important;background:0 0!important;border-bottom-style:solid!important;border-bottom-width:2px!important;transform:none!important}.crm-shell .monitoring-tabs button.monitoring-tab.active,.crm-shell .monitoring-tabs button.monitoring-tab[data-monitoring-active=true],.crm-shell .monitoring-payment-tabs button.monitoring-payment-tab.active,.crm-shell .monitoring-payment-tabs button.monitoring-payment-tab[data-monitoring-active=true]{border-bottom:2px solid var(--regular-button-accent,var(--accent))!important;border-bottom-color:var(--regular-button-accent,var(--accent))!important;color:var(--regular-button-accent,var(--accent))!important;border-bottom-style:solid!important;border-bottom-width:2px!important}.crm-shell .monitoring-tabs{border:0;overflow:hidden}.crm-shell .monitoring-tabs,.crm-shell .monitoring-payment-tabs{align-items:center}.crm-shell .monitoring-tab,.crm-shell .monitoring-payment-tab{clip-path:inset(0 2px)}@media (width<=760px){.crm-shell .monitoring-tabs{box-sizing:border-box;overscroll-behavior-x:contain;scrollbar-width:none;border-radius:18px;flex-wrap:nowrap;gap:8px;max-width:100%;min-height:62px;padding:10px;overflow:auto hidden}.crm-shell .monitoring-tabs::-webkit-scrollbar{display:none}.crm-shell .monitoring-tab{white-space:nowrap;flex:none;min-height:40px;padding:9px 12px;font-size:.82rem}}@media (width<=430px){.crm-shell .monitoring-tabs{border-radius:16px;min-height:54px;padding:8px}.crm-shell .monitoring-tab{min-height:36px;padding:8px 10px;font-size:.78rem}}.student-portal-contact-modal-backdrop{z-index:2520;padding:20px;overflow:hidden auto}.student-portal-contact-modal{overscroll-behavior:contain;border-radius:24px;gap:18px;width:min(100%,500px);max-height:calc(100dvh - 40px);padding:24px;display:grid;overflow:hidden auto}.student-portal-contact-modal>.section-heading{align-items:flex-start;gap:16px;margin:0}.student-portal-contact-modal>.section-heading>div{gap:5px;min-width:0;display:grid}.student-portal-contact-modal .section-heading h3{margin:0}.student-portal-contact-modal-form{gap:14px;min-width:0;display:grid}.student-portal-contact-modal-fields-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.student-portal-contact-modal-form label{min-width:0;color:var(--text-muted);gap:7px;font-size:.84rem;font-weight:600;display:grid}.student-portal-contact-modal-form input{min-width:0;min-height:48px}.student-portal-contact-modal-error{margin:0}.student-portal-contact-modal-actions{margin-top:4px}@media (width<=600px){.student-portal-contact-modal-backdrop{padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));place-items:center}.student-portal-contact-modal{border-radius:22px;gap:15px;width:100%;max-height:min(88dvh,680px);padding:18px 16px}.student-portal-contact-modal>.section-heading{gap:10px}.student-portal-contact-modal-form{gap:12px}.student-portal-contact-modal-fields-row{grid-template-columns:minmax(0,1fr);gap:12px}.student-portal-contact-modal-form label{gap:6px;font-size:.82rem}.student-portal-contact-modal-form input{border-radius:13px;min-height:46px;padding:11px 12px;font-size:16px}.student-portal-contact-modal-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-portal-contact-modal-actions button{border-radius:13px;min-height:44px;padding:10px 12px;font-size:.84rem}}.staff-directory-header-actions{flex:none;justify-content:flex-end;align-items:center;display:flex}@media (width<=760px){.staff-directory>.section-heading>div:first-child{min-width:0}.staff-directory-header-actions{width:auto}}.staff-directory>.section-heading{align-items:center;margin-bottom:14px}.staff-directory-header-actions,.student-portal-contact-heading-actions{flex:none;justify-content:flex-end;align-items:center;margin-left:auto}.student-portal-contact-heading-actions{width:auto}.settings-staff-list .staff-directory-person-details{justify-items:start;gap:12px;min-width:0;display:grid}.settings-staff-list .student-portal-contact-details{gap:12px}.settings-staff-list .staff-directory-identity,.settings-staff-list .student-portal-contact-identity{gap:2px;min-width:0;display:grid}.settings-staff-list .staff-directory-person-details .status-pill,.settings-staff-list .student-portal-contact-details .status-pill{white-space:normal;overflow-wrap:anywhere;border:0;border-radius:12px;max-width:100%}.settings-staff-list .staff-directory-person-details strong,.settings-staff-list .staff-directory-person-details p{overflow-wrap:anywhere}.settings-staff-list .staff-directory-person-details p{color:var(--text-muted);margin:0}.settings-staff-list .staff-directory-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:8px;width:auto;display:flex}.settings-staff-list .staff-directory-icon-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.settings-staff-list .staff-directory-card{align-items:flex-end}.settings-staff-list .staff-directory-card>.staff-directory-actions{align-self:flex-end}.settings-staff-list .staff-member-card{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:12px;display:grid}.settings-staff-list .staff-member-card>.staff-directory-person-details{display:contents}.settings-staff-list .staff-member-card .staff-directory-person-details .status-pill{grid-area:1/1;place-self:center start;width:fit-content;max-width:100%}.settings-staff-list .staff-member-card .staff-directory-identity{grid-area:2/1;align-self:start}.settings-staff-list .staff-member-card>.staff-directory-actions{display:contents}.settings-staff-list .staff-member-card .staff-reset-password-button{grid-area:1/2;place-self:center end}.settings-staff-list .staff-member-card .staff-directory-icon-actions{grid-area:2/2;place-self:end}.crm-shell .settings-staff-list .staff-directory-actions .settings-directory-action-icon{aspect-ratio:1;border-radius:10px;flex:0 0 32px;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;box-shadow:none!important;color:var(--text-muted)!important;background:#ffffff12!important;border:0!important}.crm-shell .settings-staff-list .staff-directory-actions .settings-directory-action-icon svg{width:17px;height:17px}.crm-shell .settings-staff-list .staff-directory-actions .settings-directory-action-icon:hover:not(:disabled),.crm-shell .settings-staff-list .staff-directory-actions .settings-directory-action-icon:focus-visible:not(:disabled),.crm-shell .settings-staff-list .staff-directory-actions .settings-directory-action-icon:active:not(:disabled){transform:none;box-shadow:none!important;color:var(--text-muted)!important;background:#ffffff12!important;border:0!important}.crm-shell .settings-staff-list .staff-directory-actions .settings-directory-delete-button,.crm-shell .settings-staff-list .staff-directory-actions .settings-directory-delete-button:hover:not(:disabled),.crm-shell .settings-staff-list .staff-directory-actions .settings-directory-delete-button:focus-visible:not(:disabled),.crm-shell .settings-staff-list .staff-directory-actions .settings-directory-delete-button:active:not(:disabled){color:var(--danger)!important}.crm-shell .settings-staff-list .staff-directory-actions>.ghost-button:not(.icon-button){white-space:nowrap;flex:0 auto;width:auto;min-height:36px;padding:8px 12px}.theme-light.crm-shell .settings-staff-list .staff-directory-actions .settings-directory-action-icon,.theme-light.crm-shell .settings-staff-list .staff-directory-actions .settings-directory-action-icon:hover:not(:disabled),.theme-light.crm-shell .settings-staff-list .staff-directory-actions .settings-directory-action-icon:focus-visible:not(:disabled),.theme-light.crm-shell .settings-staff-list .staff-directory-actions .settings-directory-action-icon:active:not(:disabled){background:#0f172a0f!important}.crm-shell .settings-staff-list .staff-directory-actions .settings-directory-action-icon:not(.settings-directory-delete-button):hover:not(:disabled),.crm-shell .settings-staff-list .staff-directory-actions .settings-directory-action-icon:not(.settings-directory-delete-button):focus-visible:not(:disabled){color:#fff!important}.crm-shell .settings-staff-list .staff-directory-actions>.staff-reset-password-button,.crm-shell .settings-staff-list .staff-directory-actions>.staff-reset-password-button:focus{color:var(--text-muted)!important;background:0 0!important;border:0!important;padding-left:0!important;padding-right:0!important}.crm-shell .settings-staff-list .staff-directory-actions>.staff-reset-password-button:hover:not(:disabled),.crm-shell .settings-staff-list .staff-directory-actions>.staff-reset-password-button:focus-visible:not(:disabled){transform:none;color:#fff!important;background:0 0!important;border:0!important}.theme-light.crm-shell .settings-staff-list .staff-directory-actions .settings-directory-action-icon:not(.settings-directory-delete-button):hover:not(:disabled),.theme-light.crm-shell .settings-staff-list .staff-directory-actions .settings-directory-action-icon:not(.settings-directory-delete-button):focus-visible:not(:disabled){color:#fff!important;background:#0f172aad!important}@media (width<=640px){.settings-staff-list .staff-member-card,.settings-staff-list .student-portal-contact-card{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) max-content;align-items:end;gap:12px 8px}.settings-staff-list .staff-member-card>.staff-directory-person-details,.settings-staff-list .student-portal-contact-card>.student-portal-contact-details{display:contents}.settings-staff-list .staff-member-card .staff-directory-person-details .status-pill,.settings-staff-list .student-portal-contact-card .student-portal-contact-details .status-pill{border-radius:8px;grid-row:1;justify-self:start;width:fit-content;max-width:100%}.settings-staff-list .staff-member-card .staff-directory-person-details .status-pill{grid-column:1}.settings-staff-list .student-portal-contact-card .student-portal-contact-details .status-pill{grid-column:1/-1}.settings-staff-list .staff-member-card .staff-directory-identity,.settings-staff-list .student-portal-contact-card .student-portal-contact-identity{grid-area:2/1;align-self:end}.settings-staff-list .staff-directory-identity strong,.settings-staff-list .student-portal-contact-identity strong{font-size:.9rem;line-height:1.18}.settings-staff-list .staff-directory-identity p,.settings-staff-list .student-portal-contact-identity p{font-size:.76rem;line-height:1.25}.settings-staff-list .staff-member-card>.staff-directory-actions{display:contents}.settings-staff-list .staff-member-card .staff-reset-password-button{grid-area:1/2;place-self:center end;min-height:32px;margin-block:0;padding:6px 7px;font-size:.68rem}.settings-staff-list .staff-member-card .staff-directory-icon-actions{grid-area:2/2;place-self:end;gap:4px}.settings-staff-list .student-portal-contact-card .student-portal-contact-actions{grid-area:2/2;place-self:end}}@media (width>=768px) and (width<=1500px){.app-toast-stack{top:78px}}@media (width<=767px){.app-toast-stack{top:calc(70px + env(safe-area-inset-top,0px));gap:5px;width:min(240px,100vw - 24px);bottom:auto;right:12px}.app-toast{border-radius:24px 0 24px 24px;min-height:0;padding:7px 8px 7px 10px;position:relative}.app-toast-content{gap:7px;min-height:28px}.app-toast-icon{width:16px;height:16px}.app-toast-icon svg{width:12px;height:12px}.app-toast-copy strong{margin-bottom:0;font-size:.74rem}.app-toast-copy p{font-size:.68rem;line-height:1.25}.app-toast-close{width:18px;height:18px;position:absolute;top:50%;right:4px;transform:translateY(-50%)}}.attendance-day.attendance-student-day-cancelled{background:var(--bg-surface)!important;color:#fca5a5!important;border-color:#f87171d6!important;font-weight:900!important}.attendance-day.attendance-student-day-cancelled>span{color:inherit!important;background:0 0!important}.attendance-day.attendance-student-day-cancelled.muted{color:#fca5a5ad!important;border-color:#f871716b!important}.theme-light .attendance-day.attendance-student-day-cancelled{background:var(--bg-surface)!important;color:#b91c1c!important;border-color:#dc26266b!important}.theme-light .attendance-day.attendance-student-day-cancelled.muted{color:#b91c1c99!important;border-color:#dc26263d!important}.crm-shell #student-portal-attendance .student-portal-schedule-month-picker>:is(.teacher-week-nav-button,.student-portal-schedule-month-date-button){border-radius:10px;transition:color .16s,background-color .16s;transform:none;color:#a6aaaa!important;box-shadow:none!important;background:#ffffff12!important;border:0!important}.crm-shell #student-portal-attendance .student-portal-schedule-month-picker>:is(.teacher-week-nav-button,.student-portal-schedule-month-date-button):is(:hover,:focus,:focus-visible,:active):not(:disabled){outline:none;transform:none;color:#fff!important;box-shadow:none!important;background:#ffffff12!important;border-color:#0000!important}.theme-light.crm-shell #student-portal-attendance .student-portal-schedule-month-picker>:is(.teacher-week-nav-button,.student-portal-schedule-month-date-button){color:#747a7a!important;background:#0f172a0f!important}.theme-light.crm-shell #student-portal-attendance .student-portal-schedule-month-picker>:is(.teacher-week-nav-button,.student-portal-schedule-month-date-button):is(:hover,:focus,:focus-visible,:active):not(:disabled){color:#fff!important;background:#484d4d!important}.crm-shell #student-portal-attendance .student-portal-schedule-month-picker{grid-template-columns:32px minmax(150px,max-content) 32px minmax(0,1fr)}.crm-shell #student-portal-attendance .student-portal-schedule-month-picker>.student-portal-attendance-month-nav-button{flex:0 0 32px;place-items:center;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;display:inline-grid}.crm-shell #student-portal-attendance .student-portal-attendance-month-nav-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;display:block}.crm-shell #student-portal-attendance .student-portal-schedule-month-date-button{height:32px;min-height:32px}@media (width<=560px){.crm-shell #student-portal-attendance .student-portal-schedule-month-picker{grid-template-columns:32px minmax(0,1fr) 32px 32px}}.crm-shell #student-portal-attendance .student-portal-schedule-month-popover :is(.attendance-picker-head .student-portal-attendance-month-nav-button,.teacher-salary-month-grid button){transition:color .16s,background-color .16s;color:#a6aaaa!important;box-shadow:none!important;background:#ffffff12!important;border:0!important;border-radius:10px!important;transform:none!important}.crm-shell #student-portal-attendance .student-portal-schedule-month-popover .student-portal-attendance-month-nav-button{flex:0 0 32px;place-items:center;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;display:inline-grid}.crm-shell #student-portal-attendance .student-portal-schedule-month-popover .student-portal-attendance-month-nav-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;display:block}.crm-shell #student-portal-attendance .student-portal-schedule-month-popover .teacher-salary-month-grid button{height:32px;min-height:32px;padding:0 10px}.crm-shell #student-portal-attendance .student-portal-schedule-month-popover :is(.attendance-picker-head .student-portal-attendance-month-nav-button,.teacher-salary-month-grid button):is(:hover,:focus,:focus-visible,:active):not(:disabled){outline:none;color:#fff!important;box-shadow:none!important;background:#ffffff12!important;border-color:#0000!important}.crm-shell #student-portal-attendance .student-portal-schedule-month-popover .teacher-salary-month-grid button.active:not(:disabled){color:#fff!important;background:#ffffff26!important}.crm-shell #student-portal-attendance .student-portal-schedule-month-popover .teacher-salary-month-grid button.current:not(.active){box-shadow:inset 0 0 0 1px #fff3!important}.theme-light.crm-shell #student-portal-attendance .student-portal-schedule-month-popover :is(.attendance-picker-head .student-portal-attendance-month-nav-button,.teacher-salary-month-grid button){color:#747a7a!important;background:#0f172a0f!important}.theme-light.crm-shell #student-portal-attendance .student-portal-schedule-month-popover :is(.attendance-picker-head .student-portal-attendance-month-nav-button,.teacher-salary-month-grid button):is(:hover,:focus,:focus-visible,:active):not(:disabled),.theme-light.crm-shell #student-portal-attendance .student-portal-schedule-month-popover .teacher-salary-month-grid button.active:not(:disabled){color:#fff!important;background:#484d4d!important}.theme-light.crm-shell #student-portal-attendance .student-portal-schedule-month-popover .teacher-salary-month-grid button.current:not(.active){box-shadow:inset 0 0 0 1px #484d4d47!important}.calendar-month-picker{align-items:center;gap:10px;width:100%;min-width:0;display:grid;position:relative}.calendar-month-picker:not(.calendar-month-picker--with-current):not(.calendar-month-picker--with-trailing){grid-template-columns:32px minmax(0,1fr) 32px}.calendar-month-picker--with-current{grid-template-columns:32px minmax(150px,max-content) 32px minmax(0,1fr)}.calendar-month-picker--with-current>.calendar-month-picker__current{justify-self:end}.calendar-month-picker--with-trailing{grid-template-columns:32px minmax(150px,max-content) 32px minmax(0,1fr)}.crm-shell .calendar-month-picker>:is(.calendar-month-picker__nav,.calendar-month-picker__date,.calendar-month-picker__current){transition:color .16s,background-color .16s;color:#a6aaaa!important;min-height:32px!important;box-shadow:none!important;background:#ffffff12!important;border:0!important;border-radius:10px!important;transform:none!important}.crm-shell .calendar-month-picker>.calendar-month-picker__nav{flex:0 0 32px;place-items:center;width:32px;min-width:32px;height:32px;padding:0;display:inline-grid}.crm-shell .calendar-month-picker>.calendar-month-picker__date{justify-content:center;gap:8px;min-width:0;height:32px;padding:0 12px;display:flex}.crm-shell .calendar-month-picker__date>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.crm-shell .calendar-month-picker>.calendar-month-picker__current{min-width:max-content;height:32px;padding:0 12px}.crm-shell .calendar-month-picker :is(.calendar-month-picker__nav,.calendar-month-picker__year-nav) svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;display:block}.crm-shell .calendar-month-picker__calendar-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px;display:block}.crm-shell .calendar-month-picker>:is(.calendar-month-picker__nav,.calendar-month-picker__date,.calendar-month-picker__current):is(:hover,:focus,:focus-visible,:active,[aria-expanded=true]):not(:disabled){outline:none;color:#fff!important;box-shadow:none!important;background:#ffffff12!important;border-color:#0000!important;transform:none!important}.crm-shell .calendar-month-picker__trailing-action{justify-self:end;display:flex}.crm-shell .calendar-month-picker__popover .attendance-picker-head .calendar-month-picker__year-nav{flex:0 0 32px;place-items:center;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;transition:color .16s,background-color .16s;display:inline-grid;color:#a6aaaa!important;box-shadow:none!important;background:#ffffff12!important;border:0!important;border-radius:10px!important;transform:none!important}.crm-shell .calendar-month-picker__popover .attendance-picker-head .calendar-month-picker__year-nav:is(:hover,:focus,:focus-visible,:active):not(:disabled){outline:none;color:#fff!important;box-shadow:none!important;background:#ffffff12!important;border-color:#0000!important}.crm-shell .calendar-month-picker__month-grid button{height:32px;min-height:32px;padding:0 10px;transition:color .16s,background-color .16s;color:#a6aaaa!important;box-shadow:none!important;background:#ffffff12!important;border:0!important;border-radius:10px!important;transform:none!important}.crm-shell .calendar-month-picker__month-grid button:is(:hover,:focus,:focus-visible,:active):not(:disabled){outline:none;color:#fff!important;box-shadow:none!important;background:#ffffff12!important;border-color:#0000!important}.crm-shell .calendar-month-picker__month-grid button.active:not(:disabled){color:#fff!important;background:#ffffff26!important}.crm-shell .calendar-month-picker__month-grid button.current:not(.active){box-shadow:inset 0 0 0 1px #fff3!important}.crm-shell.student-portal-screen .calendar-month-picker .calendar-month-picker__month-grid button.active:not(:disabled){color:#fff!important;background:#ffffff26!important}.crm-shell.student-portal-screen .calendar-month-picker .calendar-month-picker__month-grid button.current:not(.active){box-shadow:inset 0 0 0 1px #fff3!important}.theme-light.crm-shell .calendar-month-picker>:is(.calendar-month-picker__nav,.calendar-month-picker__date,.calendar-month-picker__current),.theme-light.crm-shell .calendar-month-picker__popover .attendance-picker-head .calendar-month-picker__year-nav,.theme-light.crm-shell .calendar-month-picker__month-grid button{color:#747a7a!important;background:#0f172a0f!important}.theme-light.crm-shell .calendar-month-picker>:is(.calendar-month-picker__nav,.calendar-month-picker__date,.calendar-month-picker__current):is(:hover,:focus,:focus-visible,:active,[aria-expanded=true]):not(:disabled),.theme-light.crm-shell .calendar-month-picker__popover .attendance-picker-head .calendar-month-picker__year-nav:is(:hover,:focus,:focus-visible,:active):not(:disabled),.theme-light.crm-shell .calendar-month-picker__month-grid button:is(:hover,:focus,:focus-visible,:active):not(:disabled),.theme-light.crm-shell .calendar-month-picker .calendar-month-picker__month-grid button.active:not(:disabled),.theme-light.crm-shell.student-portal-screen .calendar-month-picker .calendar-month-picker__month-grid button.active:not(:disabled){color:#fff!important;background:#484d4d!important}.theme-light.crm-shell .calendar-month-picker__month-grid button.current:not(.active),.theme-light.crm-shell.student-portal-screen .calendar-month-picker .calendar-month-picker__month-grid button.current:not(.active){box-shadow:inset 0 0 0 1px #484d4d47!important}@media (width<=560px){.calendar-month-picker .calendar-month-picker__month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.calendar-month-picker--with-trailing{grid-template-columns:32px minmax(0,1fr) 32px 32px}.calendar-month-picker--with-current{grid-template-columns:32px minmax(0,1fr) 32px}.calendar-month-picker--with-current>.calendar-month-picker__nav--next{grid-column:3}.calendar-month-picker--with-current>.calendar-month-picker__current{grid-area:2/1/auto/-1;justify-self:start}}@media (orientation:landscape) and (height<=600px){.crm-shell.student-portal-screen #student-portal-payments .calendar-month-picker--with-current{grid-template-columns:32px minmax(150px,max-content) 32px minmax(0,1fr)}.crm-shell.student-portal-screen #student-portal-payments .calendar-month-picker__current{grid-area:1/4;justify-self:end}}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker{grid-template-columns:32px minmax(150px,1fr) 32px max-content;gap:10px}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>:is(.teacher-week-nav-button,.teacher-week-date-button),.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-mode-switch .teacher-week-today-button{transition:color .16s,background-color .16s;color:#a6aaaa!important;min-height:32px!important;box-shadow:none!important;background:#ffffff12!important;border:0!important;border-radius:10px!important;transform:none!important}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-nav-button{place-items:center;width:32px;min-width:32px;height:32px;padding:0;display:inline-grid}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-date-button{justify-content:center;gap:8px;min-width:0;height:32px;padding:0 12px;display:flex}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-date-button>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-nav-button svg,.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-date-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px;display:block}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-mode-switch .teacher-week-today-button{min-width:0;height:32px;padding:0 12px}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>:is(.teacher-week-nav-button,.teacher-week-date-button):is(:hover,:focus,:focus-visible,:active,[aria-expanded=true]):not(:disabled),.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-mode-switch .teacher-week-today-button:is(:hover,:focus,:focus-visible,:active):not(:disabled){outline:none;color:#fff!important;box-shadow:none!important;background:#ffffff12!important;border-color:#0000!important}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-mode-switch .teacher-week-today-button.active:not(:disabled){color:#fff!important;background:#ffffff26!important}.theme-light .teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>:is(.teacher-week-nav-button,.teacher-week-date-button),.theme-light .teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-mode-switch .teacher-week-today-button{color:#747a7a!important;background:#0f172a0f!important}.theme-light .teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>:is(.teacher-week-nav-button,.teacher-week-date-button):is(:hover,:focus,:focus-visible,:active,[aria-expanded=true]):not(:disabled),.theme-light .teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-mode-switch .teacher-week-today-button:is(:hover,:focus,:focus-visible,:active):not(:disabled),.theme-light .teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-mode-switch .teacher-week-today-button.active:not(:disabled){color:#fff!important;background:#484d4d!important}@media (width>=761px) and (width<=1199px){.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker{grid-template-columns:32px minmax(180px,1fr) 32px max-content}}@media (width<=760px){.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker{grid-template-columns:32px minmax(0,1fr) 32px;gap:8px}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-nav-prev{grid-area:1/1}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-date-button{grid-area:1/2}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-nav-next{grid-area:1/3}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-mode-switch{grid-area:2/1/auto/-1}}.crm-shell .schedule-week-picker{grid-template-columns:32px minmax(150px,max-content) 32px minmax(0,1fr);gap:10px}.crm-shell .schedule-week-picker>:is(.teacher-week-nav-button,.teacher-week-date-button,.teacher-week-today-button){transition:color .16s,background-color .16s;color:#a6aaaa!important;min-height:32px!important;box-shadow:none!important;background:#ffffff12!important;border:0!important;border-radius:10px!important;transform:none!important}.crm-shell .schedule-week-picker>.teacher-week-nav-button{place-items:center;width:32px;min-width:32px;height:32px;padding:0;display:inline-grid}.crm-shell .schedule-week-picker>.teacher-week-date-button{justify-content:center;gap:8px;min-width:0;height:32px;padding:0 12px;display:flex}.crm-shell .schedule-week-picker>.teacher-week-date-button>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.crm-shell .schedule-week-picker>:is(.teacher-week-nav-button,.teacher-week-date-button) svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px;display:block}.crm-shell .schedule-week-picker>.teacher-week-today-button{justify-self:end;width:max-content;min-width:max-content;padding:0 12px}.crm-shell .schedule-week-picker>:is(.teacher-week-nav-button,.teacher-week-date-button,.teacher-week-today-button):is(:hover,:focus,:focus-visible,:active,[aria-expanded=true]):not(:disabled){outline:none;color:#fff!important;box-shadow:none!important;background:#ffffff12!important;border-color:#0000!important}.theme-light.crm-shell .schedule-week-picker>:is(.teacher-week-nav-button,.teacher-week-date-button,.teacher-week-today-button){color:#747a7a!important;background:#0f172a0f!important}.theme-light.crm-shell .schedule-week-picker>:is(.teacher-week-nav-button,.teacher-week-date-button,.teacher-week-today-button):is(:hover,:focus,:focus-visible,:active,[aria-expanded=true]):not(:disabled){color:#fff!important;background:#484d4d!important}@media (width<=560px){.crm-shell .schedule-week-picker{grid-template-columns:32px minmax(0,1fr) 32px;gap:8px}.crm-shell .schedule-week-picker>.teacher-week-nav-prev{grid-area:1/1}.crm-shell .schedule-week-picker>.teacher-week-date-button{grid-area:1/2}.crm-shell .schedule-week-picker>.teacher-week-nav-next{grid-area:1/3}.crm-shell .schedule-week-picker>.teacher-week-today-button{grid-area:2/1/auto/-1;justify-self:end;max-width:100%}}@media (orientation:landscape) and (height<=600px){.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker{grid-template-columns:32px minmax(130px,max-content) 32px minmax(0,1fr);gap:8px}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-nav-prev{grid-area:1/1}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-date-button{grid-area:1/2}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-nav-next{grid-area:1/3}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-mode-switch{grid-area:1/4;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:6px;width:100%;min-width:0}.teacher-portal-shell #teacher-portal-lessons .teacher-week-mode-switch .teacher-week-today-button{white-space:nowrap;min-width:0;padding-inline:6px;font-size:.78rem}}@media (width<=760px){.crm-shell .schedule-week-panel .schedule-grid{grid-template-columns:minmax(0,1fr);gap:10px}}@media (orientation:landscape) and (height<=600px) and (width<=1024px){.crm-shell .schedule-week-panel .section-heading{grid-template-columns:minmax(0,1fr);align-items:flex-start;gap:8px;display:grid}.crm-shell .schedule-week-panel .section-heading>div,.crm-shell .schedule-week-panel .schedule-heading-actions{width:100%;min-width:0}.crm-shell .schedule-week-picker{grid-template-columns:32px minmax(130px,max-content) 32px minmax(0,1fr);justify-self:stretch;gap:8px;width:100%}.crm-shell .schedule-week-picker>.teacher-week-nav-prev{grid-area:1/1}.crm-shell .schedule-week-picker>.teacher-week-date-button{grid-area:1/2}.crm-shell .schedule-week-picker>.teacher-week-nav-next{grid-area:1/3}.crm-shell .schedule-week-picker>.teacher-week-today-button{grid-area:1/4;justify-self:end}}@media (orientation:landscape) and (height<=600px) and (width>=761px) and (width<=1024px){.crm-shell .schedule-week-panel .schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-mode-switch{grid-template-columns:repeat(2,max-content);justify-self:end;width:max-content;max-width:100%}@media (width<=760px){.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-mode-switch{grid-column:1/-1;justify-self:end}}@media (orientation:landscape) and (height<=600px){.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-mode-switch{grid-template-columns:repeat(2,max-content);justify-self:end;width:max-content}}.crm-shell .schedule-week-panel .section-heading,.crm-shell .schedule-week-panel .section-heading>div,.crm-shell .schedule-week-panel .schedule-heading-actions{min-width:0;max-width:100%}.crm-shell .schedule-week-panel .schedule-heading-actions{width:100%}.crm-shell .schedule-week-panel .schedule-week-picker{box-sizing:border-box;width:min(520px,100%);min-width:0;max-width:100%}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker{grid-template-columns:32px minmax(0,1fr) 32px max-content;width:100%;min-width:0;max-width:100%}.crm-shell .calendar-month-picker{box-sizing:border-box;min-width:0;max-width:100%}@media (width>=1200px) and (width<=1500px){.crm-shell .schedule-week-panel .section-heading{grid-template-columns:minmax(0,1fr) minmax(0,min(520px,50%))}}@media (width<=760px){.crm-shell .schedule-week-panel .section-heading{grid-template-columns:minmax(0,1fr);display:grid}.crm-shell .schedule-week-panel .schedule-week-picker{grid-template-columns:32px minmax(0,1fr) 32px max-content;gap:clamp(4px,1.5vw,8px);width:100%}.crm-shell .schedule-week-picker>.teacher-week-nav-prev{grid-area:1/1}.crm-shell .schedule-week-picker>.teacher-week-date-button{grid-area:1/2}.crm-shell .schedule-week-picker>.teacher-week-nav-next{grid-area:1/3}.crm-shell .schedule-week-picker>.teacher-week-today-button{white-space:nowrap;grid-area:1/4;justify-self:end;max-width:100%;padding-inline:8px}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker{grid-template-columns:32px minmax(0,1fr) 32px;gap:8px}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-mode-switch{grid-area:2/1/auto/-1;grid-template-columns:repeat(2,minmax(0,1fr));justify-self:stretch;gap:6px;width:100%;max-width:100%}.teacher-portal-shell #teacher-portal-lessons .teacher-week-mode-switch .teacher-week-today-button{width:100%;min-width:0;padding-inline:6px}}@media (width<=560px){.calendar-month-picker--with-current{grid-template-columns:32px minmax(0,1fr) 32px max-content}.calendar-month-picker--with-current>.calendar-month-picker__nav:not(.calendar-month-picker__nav--next){grid-area:1/1}.calendar-month-picker--with-current>.calendar-month-picker__date{grid-area:1/2}.calendar-month-picker--with-current>.calendar-month-picker__nav--next{grid-area:1/3}.calendar-month-picker--with-current>.calendar-month-picker__current{white-space:nowrap;grid-area:1/4;justify-self:end;max-width:100%;padding-inline:8px}.crm-shell .schedule-week-picker>.teacher-week-date-button>svg,.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-date-button>svg,.calendar-month-picker .calendar-month-picker__date>svg{display:none}.crm-shell .schedule-week-picker>.teacher-week-date-button,.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-date-button,.calendar-month-picker .calendar-month-picker__date{gap:4px;padding-inline:8px}}@media (orientation:landscape) and (height<=600px) and (width>=480px) and (width<=1024px){.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker{grid-template-columns:32px minmax(0,1fr) 32px clamp(200px,36vw,240px);gap:8px}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-nav-prev{grid-area:1/1}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-date-button{grid-area:1/2}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-nav-next{grid-area:1/3}.teacher-portal-shell #teacher-portal-lessons .teacher-week-picker>.teacher-week-mode-switch{grid-area:1/4;grid-template-columns:repeat(2,minmax(0,1fr));justify-self:stretch;width:100%}.teacher-portal-shell #teacher-portal-lessons .teacher-week-mode-switch .teacher-week-today-button{width:100%;min-width:0;padding-inline:6px}}.crm-shell .schedule-week-panel .schedule-week-picker{grid-template-columns:32px minmax(0,max-content) 32px max-content;justify-self:end;gap:8px;width:max-content;max-width:100%}@media (width>=360px) and (width<=760px){.crm-shell .schedule-week-panel .section-heading:not(:has(.speaking-club-header-actions)){grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:8px;display:grid}.crm-shell .schedule-week-panel .section-heading:not(:has(.speaking-club-header-actions))>div{width:100%;min-width:0}.crm-shell .schedule-week-panel .section-heading:not(:has(.speaking-club-header-actions)) .schedule-heading-actions{width:max-content;min-width:0;max-width:100%;display:block}.crm-shell .schedule-week-panel .section-heading:not(:has(.speaking-club-header-actions)) .schedule-week-picker{grid-template-columns:26px minmax(0,max-content) 26px max-content;gap:4px;width:max-content;max-width:100%}.crm-shell .schedule-week-panel .section-heading:not(:has(.speaking-club-header-actions)) .schedule-week-picker>.teacher-week-nav-button{width:26px;min-width:26px;height:30px;min-height:30px}.crm-shell .schedule-week-panel .section-heading:not(:has(.speaking-club-header-actions)) .schedule-week-picker>.teacher-week-date-button{gap:4px;height:30px;min-height:30px;padding-inline:6px;font-size:.72rem}.crm-shell .schedule-week-panel .section-heading:not(:has(.speaking-club-header-actions)) .schedule-week-picker>.teacher-week-today-button{height:30px;min-height:30px;padding-inline:6px;font-size:.72rem}.crm-shell .schedule-week-panel .section-heading:not(:has(.speaking-club-header-actions)) h3{font-size:.84rem}.crm-shell .schedule-week-panel .section-heading:not(:has(.speaking-club-header-actions)) p{font-size:.66rem}}@media (width<=760px){.crm-shell .schedule-week-panel .section-heading:not(:has(.speaking-club-header-actions)){grid-template-columns:minmax(0,1fr);align-items:flex-start;gap:10px}.crm-shell .schedule-week-panel .section-heading:not(:has(.speaking-club-header-actions)) .schedule-heading-actions{justify-content:flex-end;width:100%;min-width:0;display:flex}.crm-shell .schedule-week-panel .section-heading:not(:has(.speaking-club-header-actions)) .schedule-week-picker{width:max-content;max-width:100%}.crm-shell .schedule-week-panel .section-heading:not(:has(.speaking-club-header-actions)) .schedule-heading-actions{justify-content:flex-end;width:100%;display:flex}.crm-shell .schedule-week-panel .section-heading:not(:has(.speaking-club-header-actions)) .schedule-week-picker{grid-template-columns:32px minmax(0,1fr) 32px max-content;justify-self:stretch;gap:8px;width:100%;max-width:100%}.crm-shell .schedule-week-panel .section-heading:not(:has(.speaking-club-header-actions)) .schedule-week-picker>.teacher-week-nav-button{width:32px;min-width:32px;height:32px;min-height:32px}.crm-shell .schedule-week-panel .section-heading:not(:has(.speaking-club-header-actions)) .schedule-week-picker>.teacher-week-date-button{gap:6px;height:32px;min-height:32px;padding-inline:10px;font-size:.84rem}.crm-shell .schedule-week-panel .section-heading:not(:has(.speaking-club-header-actions)) .schedule-week-picker>.teacher-week-today-button{height:32px;min-height:32px;padding-inline:10px;font-size:.84rem}}@media (width<=760px) and (orientation:portrait){.teacher-portal-shell #teacher-portal-salary .teacher-salary-month-summary{grid-template-columns:minmax(0,1fr);gap:8px;display:grid;position:relative}.teacher-portal-shell #teacher-portal-salary .teacher-salary-month-picker{grid-template-columns:32px minmax(0,1fr) 32px;gap:6px;width:100%;max-width:100%}.teacher-portal-shell #teacher-portal-salary .teacher-salary-month-picker>.calendar-month-picker__nav:not(.calendar-month-picker__nav--next){grid-area:1/1}.teacher-portal-shell #teacher-portal-salary .teacher-salary-month-picker>.calendar-month-picker__date{grid-area:1/2;justify-self:stretch;width:100%}.teacher-portal-shell #teacher-portal-salary .teacher-salary-month-picker>.calendar-month-picker__nav--next{grid-area:1/3}.teacher-portal-shell #teacher-portal-salary .teacher-salary-month-picker>.calendar-month-picker__current{grid-area:2/1/auto/-1;justify-self:start;width:min(164px,100% - 12px);min-width:0;height:32px!important;min-height:32px!important}.teacher-portal-shell #teacher-portal-salary .teacher-salary-month-total{white-space:nowrap;pointer-events:none;justify-self:auto;margin:0;position:absolute;bottom:16px;right:14px;transform:translateY(50%)}}@media (orientation:landscape) and (width>=560px) and (height<=850px){.teacher-portal-shell #teacher-portal-salary .teacher-salary-month-summary{grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:12px;display:grid;position:relative}.teacher-portal-shell #teacher-portal-salary .teacher-salary-month-picker{grid-template-columns:32px max-content 32px;justify-self:stretch;align-items:center;gap:8px;width:100%;max-width:100%;min-height:40px}.teacher-portal-shell #teacher-portal-salary .teacher-salary-month-picker>.calendar-month-picker__nav:not(.calendar-month-picker__nav--next){grid-area:1/1}.teacher-portal-shell #teacher-portal-salary .teacher-salary-month-picker>.calendar-month-picker__date{grid-area:1/2;justify-self:start;width:max-content;max-width:min(180px,100vw - 250px)}.teacher-portal-shell #teacher-portal-salary .teacher-salary-month-picker>.calendar-month-picker__nav--next{grid-area:1/3}.teacher-portal-shell #teacher-portal-salary .teacher-salary-month-picker>.calendar-month-picker__current{grid-area:auto;justify-self:auto;width:max-content;margin-block:0;padding-inline:clamp(8px,1vw,14px);position:absolute;top:50%;bottom:auto;right:0;height:32px!important;min-height:32px!important;transform:translateY(-50%)!important}.teacher-portal-shell #teacher-portal-salary .teacher-salary-month-total{white-space:nowrap;pointer-events:auto;place-self:center end;margin:0;position:static;transform:none}}.dashboard-layout .dashboard-stat-card .stat-icon,.dashboard-layout .school-forecast-card .stat-icon{border:0;flex:0 0 32px;width:32px;height:32px}.crm-shell .panel-heading-icon,.crm-shell .finance-hero-icon,.crm-shell .settings-hero-icon,.crm-shell .teacher-portal-stat-icon,.crm-shell .student-portal-info-contact-panel-icon,.crm-shell .dashboard-layout .dashboard-stat-card .stat-icon,.crm-shell .dashboard-layout .school-forecast-card .stat-icon,.crm-shell .monitoring-group-card-icon,.crm-shell .groups-card-v2-icon,.crm-shell .monitoring-payment-summary-icon{box-sizing:border-box;border-radius:11px;flex:0 0 32px;min-width:32px;border:0!important;width:32px!important;height:32px!important}.crm-shell .panel-heading-icon svg,.crm-shell .finance-hero-icon svg,.crm-shell .settings-hero-icon svg,.crm-shell .teacher-portal-stat-icon svg,.crm-shell .student-portal-info-contact-panel-icon svg,.crm-shell .dashboard-layout .dashboard-stat-card .stat-icon svg,.crm-shell .dashboard-layout .school-forecast-card .stat-icon svg,.crm-shell .monitoring-group-card-icon .lesson-meta-icon,.crm-shell .monitoring-group-card-icon .lesson-meta-icon svg,.crm-shell .groups-card-v2-icon .lesson-meta-icon,.crm-shell .groups-card-v2-icon .lesson-meta-icon svg{width:16px!important;height:16px!important}.crm-shell .section-heading.panel-icon-heading{grid-template-columns:32px minmax(0,1fr)}.crm-shell .section-heading.panel-icon-heading-count{grid-template-columns:32px minmax(0,1fr) auto}.crm-shell .teacher-portal-stat-card .stat-card-top,.crm-shell .student-portal-info-card.teacher-portal-stat-card .stat-card-top{grid-template-columns:32px minmax(0,1fr)}.crm-shell .teacher-portal-section-heading .panel-heading-icon,.crm-shell .student-portal-section-heading .panel-heading-icon{flex-basis:32px}.crm-shell .monitoring-group-card-head,.crm-shell .groups-card-v2-header{grid-template-columns:32px minmax(0,1fr) auto}.crm-shell .monitoring-groups-heading-icon{font-size:1rem}#student-portal-profile .student-portal-info-card.teacher-portal-stat-card .stat-card-top{grid-template-columns:32px minmax(0,1fr)}.dashboard-layout .school-analytics-profit .stat-icon{color:#35d48d;background:#35d48d33}.dashboard-layout .school-analytics-profit.negative .stat-icon{color:#ff5f6d;background:#ff5f6d33}.theme-light .dashboard-layout .school-analytics-profit .stat-icon{color:#178553;background:#dfeee7}.theme-light .dashboard-layout .school-analytics-profit.negative .stat-icon{color:#bd3541;background:#f6e3e4}.dashboard-layout .school-analytics-current .school-analytics-metric.income .stat-icon{color:#ffbf1f;background:#ffbf1f33}.theme-light .dashboard-layout .school-analytics-current .school-analytics-metric.income .stat-icon{color:#b98208;background:#f5eedc}.salary-adjustment-modal{--salary-adjustment-modal-padding:20px;box-sizing:border-box;max-height:calc(100dvh - 32px);padding:var(--salary-adjustment-modal-padding);border-radius:22px;overflow-y:auto}.salary-adjustment-heading{align-items:center;margin-bottom:14px}.salary-adjustment-form .salary-adjustment-fields.has-type{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:10px}.salary-adjustment-form .salary-adjustment-fields>label,.salary-adjustment-form .salary-adjustment-fields>.searchable-select{min-width:0}.salary-adjustment-form .salary-adjustment-type-select .searchable-select-popover{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.salary-adjustment-actions{width:calc(100% + var(--salary-adjustment-modal-padding) + var(--salary-adjustment-modal-padding));margin-inline:calc(0px - var(--salary-adjustment-modal-padding));grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.salary-adjustment-actions>button{box-sizing:border-box;width:100%;min-width:0}@media (width<=520px){.modal-backdrop:has(.salary-adjustment-modal){padding:12px;overflow-y:auto}.salary-adjustment-modal{--salary-adjustment-modal-padding:16px;border-radius:18px;max-height:calc(100dvh - 24px)}.salary-adjustment-heading{margin-bottom:12px}.salary-adjustment-form .salary-adjustment-fields.has-type{gap:8px}}.zoom-meeting-card{border:1px solid var(--border,#ffffff1f);background:var(--bg-soft,#ffffff09);border-radius:18px;justify-content:space-between;align-items:center;gap:18px;width:100%;min-width:0;padding:16px 18px;display:flex}.zoom-meeting-heading{align-items:center;gap:12px;min-width:180px;display:flex}.zoom-meeting-icon{color:#61b5ff;background:#4399ff24;border-radius:12px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.zoom-meeting-icon .material-symbols-rounded{font-size:22px}.zoom-meeting-heading h3{margin:0;font-size:.98rem}.zoom-meeting-heading p{color:var(--text-muted);margin:4px 0 0;font-size:.82rem}.zoom-meeting-link-row,.zoom-meeting-empty-row{flex:1;justify-content:flex-end;align-items:center;gap:14px;min-width:0;display:flex}.zoom-meeting-url{min-width:0;color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;text-decoration:none;display:block;overflow:hidden}.zoom-meeting-url:hover,.zoom-meeting-url:focus-visible{color:#75bdff;text-decoration:underline}.zoom-meeting-actions{flex:none;align-items:center;gap:6px;display:flex}.zoom-meeting-action{width:36px;height:36px;padding:8px}.zoom-meeting-action svg{width:17px;height:17px}.zoom-meeting-action .material-symbols-rounded{font-size:19px}.zoom-meeting-empty-row>span{color:var(--text-muted);font-size:.88rem}.zoom-meeting-empty-row .zoom-meeting-add-button{color:#a6aaaa;width:max-content;min-width:0;height:32px;min-height:32px;box-shadow:none;white-space:nowrap;background:#ffffff12;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;padding:0 10px;font-size:.84rem;font-weight:600;line-height:1;transition:color .16s,background-color .16s;display:inline-flex;transform:none}.zoom-meeting-empty-row .zoom-meeting-add-button:hover:not(:disabled),.zoom-meeting-empty-row .zoom-meeting-add-button:focus:not(:disabled),.zoom-meeting-empty-row .zoom-meeting-add-button:focus-visible:not(:disabled),.zoom-meeting-empty-row .zoom-meeting-add-button:active:not(:disabled){box-shadow:none;border-color:#0000;outline:none;transform:none;color:#fff!important;background:#ffffff12!important}.theme-light.crm-shell .zoom-meeting-empty-row .zoom-meeting-add-button{color:#747a7a;background:#0f172a0f}.theme-light.crm-shell .zoom-meeting-empty-row .zoom-meeting-add-button:hover:not(:disabled),.theme-light.crm-shell .zoom-meeting-empty-row .zoom-meeting-add-button:focus:not(:disabled),.theme-light.crm-shell .zoom-meeting-empty-row .zoom-meeting-add-button:focus-visible:not(:disabled),.theme-light.crm-shell .zoom-meeting-empty-row .zoom-meeting-add-button:active:not(:disabled){color:#fff!important;background:#484d4d!important}.zoom-link-modal-backdrop{z-index:1300}.zoom-link-modal{width:min(480px,100vw - 32px);padding:22px}.zoom-link-modal .section-heading{align-items:flex-start;margin-bottom:20px}.zoom-link-modal-form{gap:10px;display:grid}.zoom-link-modal-form label{color:var(--text-main);font-size:.88rem;font-weight:700}.zoom-link-modal-form input{border:1px solid var(--border,#ffffff29);width:100%;min-height:44px;color:var(--text-main);background:var(--bg-main,#0000001f);border-radius:12px;padding:10px 12px}.zoom-link-modal-error{margin:0}.zoom-link-modal-actions{justify-content:flex-end;margin-top:10px}@media (width<=680px){.zoom-meeting-card{flex-direction:column;align-items:stretch;gap:13px;padding:14px}.zoom-meeting-heading{min-width:0}.zoom-meeting-link-row,.zoom-meeting-empty-row{justify-content:space-between;width:100%}.zoom-meeting-url{flex:1}.zoom-link-modal{padding:18px}.zoom-link-modal-actions{flex-wrap:nowrap}}@media (width<=767px){.student-portal-shell .portal-account-heading:not(.is-home){display:none}.student-portal-shell .portal-topbar{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none!important;background:0 0!important}}html[data-crm-palette=aurora]{--palette-neutral-950-rgb:20, 21, 21;--palette-neutral-900-rgb:29, 30, 30;--palette-neutral-800-rgb:39, 40, 40;--palette-neutral-700-rgb:53, 54, 54;--palette-neutral-600-rgb:81, 83, 83;--palette-neutral-500-rgb:112, 115, 115;--palette-neutral-400-rgb:156, 160, 159;--palette-neutral-300-rgb:194, 198, 196;--palette-neutral-200-rgb:221, 224, 222;--palette-neutral-100-rgb:237, 240, 238;--palette-neutral-50-rgb:247, 249, 248;--palette-accent-rgb:99, 201, 163;--palette-mint-rgb:116, 207, 173}html[data-crm-palette=aurora][data-crm-mode=light]{--palette-neutral-950-rgb:23, 20, 36;--palette-neutral-900-rgb:31, 27, 46;--palette-neutral-800-rgb:43, 38, 59;--palette-neutral-700-rgb:60, 54, 77;--palette-neutral-600-rgb:84, 78, 100;--palette-neutral-500-rgb:113, 108, 127;--palette-neutral-400-rgb:153, 148, 167;--palette-neutral-300-rgb:195, 191, 207;--palette-neutral-200-rgb:224, 221, 234;--palette-neutral-100-rgb:241, 239, 247;--palette-neutral-50-rgb:249, 248, 252;--palette-accent-rgb:100, 55, 214;--palette-mint-rgb:22, 146, 106;--palette-page-background:#f7f7fa;--palette-page-color:#f7f7fa;--palette-overlay-rgb:247, 247, 250}html[data-crm-palette=aurora][data-crm-mode=dark]{--palette-page-background:#191b1b;--palette-page-color:#191b1b;--palette-overlay-rgb:25, 27, 27}html[data-crm-palette=aurora] .crm-shell{--bg-main:#191b1b;--bg-surface:#212323f5;--bg-card:#292b2bf5;--bg-soft:#ffffff0b;--text-main:#f3f5f4;--text-muted:#adb5b1;--border:#e2ede81a;--accent:#35d48d;--accent-soft:#6d9fff;--danger:#f47d8d;--warning:#edbd61;--shadow:0 24px 60px #00000047;--button-hover-danger-bg:#f47d8d24;--button-hover-danger-border:#f47d8d4d}html[data-crm-palette=aurora] .crm-shell.theme-light{--bg-main:#f7f7fa;--bg-surface:#fffffff0;--bg-card:#fffffff7;--bg-soft:#5337900b;--text-main:#211b33;--text-muted:#736c84;--border:#452f6e1a;--accent:#6437d6;--accent-soft:#317ddb;--danger:#c93458;--warning:#a76b15;--shadow:0 24px 60px #4a38701f;--button-hover-danger-bg:#c934581c;--button-hover-danger-border:#c934583d}html[data-crm-palette][data-crm-mode=light]{--palette-page-background:radial-gradient(ellipse at 6% 14%, #c6e5f1db, transparent 36%), radial-gradient(ellipse at 88% 92%, #efe2dbd1, transparent 39%), linear-gradient(125deg, #eaf2f4 0%, #f4f5f5 56%, #f3eeeb 100%);--palette-page-color:#edf2f3;--palette-overlay-rgb:237, 242, 243}html[data-crm-mode=light] .crm-shell.theme-light{--bg-main:#edf2f3;--bg-surface:#fff;--bg-card:#fff;--bg-soft:#30424909;--border:#30424917;--shadow:0 14px 34px #36434914}html[data-crm-mode=light] .crm-shell.theme-light :is(.student-portal-info-contact-panel,.teacher-portal-stat-card,.journal-card,.school-analytics-panel,.school-analytics-margin,.dashboard-stat-card,.dashboard-teacher-panel,.dashboard-teacher-summary>div,.dashboard-teacher-lesson-card,.dashboard-teacher-group-card,.monitoring-groups-summary-item,.monitoring-group-card,.groups-card-v2,.monitoring-payment-summary,.monitoring-section-header,.date-range-calendar,.speaking-club-lesson-card,.regular-lesson-card,.substitution-lesson-card,.inactive-lesson-card,.replaced-lesson-card,.teacher-schedule-lesson,.trash-card){background:color-mix(in srgb, var(--bg-card) var(--glass-card-background-alpha,100%), transparent)!important;box-shadow:var(--shadow)!important}html[data-crm-mode=light] .crm-shell.theme-light .student-portal-info-card.teacher-portal-stat-card strong{color:var(--teacher-stat-accent)!important}html[data-crm-mode=light] .crm-shell.theme-light .student-portal-info-contact-panel-heading strong,html[data-crm-mode=light] .crm-shell.theme-light .student-portal-info-contact-phone{color:var(--text-main)!important}html[data-crm-mode=light] .crm-shell.theme-light .monitoring-groups-summary-item span{color:var(--text-muted)!important}html[data-crm-mode=light] .crm-shell.theme-light .dashboard-teacher-summary-payment strong,html[data-crm-mode=light] .crm-shell.theme-light .dashboard-teacher-summary-income.positive strong{color:#35d48d!important}html[data-crm-mode=light] .crm-shell.theme-light .dashboard-teacher-summary-income.zero strong{color:#ffbf1f!important}html[data-crm-mode=light] .crm-shell.theme-light .dashboard-teacher-summary-salary strong,html[data-crm-mode=light] .crm-shell.theme-light .dashboard-teacher-summary-income.negative strong{color:#ff5f6d!important}html[data-crm-mode=light] .crm-shell.theme-light .dashboard-teacher-card :is(.groups-card-v2-heading h3,.groups-card-v2-meta strong,.dashboard-teacher-card-finance strong,.dashboard-teacher-student-row,.dashboard-teacher-student-row strong),html[data-crm-mode=light] .crm-shell.theme-light .dashboard-teacher-summary-card>strong,html[data-crm-mode=light] .crm-shell.theme-light .monitoring-groups-panel :is(.groups-card-v2-heading h3,.groups-card-v2-meta strong,.groups-card-v2-capacity-label strong,.groups-card-v2-finance-teacher strong,.groups-card-v2-student-list>div span,.groups-card-v2-student-list>div strong){color:var(--text-main)!important}html[data-crm-mode=light] .crm-shell.theme-light .dashboard-teacher-card :is(.dashboard-teacher-summary-card>span,.groups-card-v2-meta small,.groups-card-v2-finance-teacher,.dashboard-teacher-card-finance small,.dashboard-teacher-student-row-heading,.dashboard-teacher-card-total span),html[data-crm-mode=light] .crm-shell.theme-light .monitoring-groups-panel :is(.groups-card-v2-heading h3 small,.groups-card-v2-meta small,.groups-card-v2-capacity-label,.groups-card-v2-finance-teacher,.groups-card-v2-empty,.groups-card-v2-profit span,.groups-card-v2-profit small){color:var(--text-muted)!important}html[data-crm-mode=light] .crm-shell.theme-light .dashboard-teacher-card .dashboard-teacher-card-total strong{color:var(--groups-card-accent)!important}html[data-crm-mode=light] .crm-shell.theme-light .monitoring-section-header .utility-page-heading h2{color:var(--text-main)!important}html[data-crm-mode=light] .crm-shell.theme-light .monitoring-section-header .utility-page-heading p{color:var(--text-muted)!important}html[data-crm-mode=light] .crm-shell.theme-light .monitoring-section-header .panel-heading-icon{color:var(--accent)!important;border-color:var(--border)!important}html[data-crm-mode=light] .crm-shell.theme-light .monitoring-section-header .badge{color:var(--accent)!important;border-color:color-mix(in srgb, var(--accent) 24%, var(--border))!important}.theme-palette-swatch-classic-light{background:linear-gradient(135deg,#eaf2f4 50%,#35d48d 50%,#fff)}.theme-palette-swatch-aurora-light{background:linear-gradient(135deg,#eaf2f4 50%,#6437d6 50%,#fff)}.crm-shell.student-portal-screen .student-portal-calendar-lessons article:not(.teacher-schedule-lesson){padding-top:12px;padding-bottom:12px}.crm-shell.student-portal-screen .teacher-schedule-lesson{padding-top:15px;padding-bottom:15px}.crm-shell.student-portal-screen .teacher-schedule-lesson.substitution{padding-top:34px}.crm-shell.student-portal-screen.theme-light :is(.student-portal-calendar-lessons article,.teacher-week-calendar-lessons article,.teacher-schedule-lesson,.teacher-salary-lesson,.student-portal-schedule-lesson-row){background:color-mix(in srgb, var(--bg-soft) 85%, transparent)!important;box-shadow:none!important;border:0!important;border-radius:14px!important}.crm-shell.student-portal-screen.theme-dark :is(.student-portal-calendar-lessons article:not(.teacher-schedule-lesson),.student-portal-schedule-lesson-row){background:#ffffff12!important}.crm-shell.student-portal-screen :is(.student-portal-calendar-lessons article,.teacher-week-calendar-lessons article,.teacher-schedule-lesson,.teacher-salary-lesson,.student-portal-schedule-lesson-row),.crm-shell.student-portal-screen.theme-light .teacher-portal-shell :is(.teacher-week-calendar-lessons article,.teacher-schedule-lesson,.teacher-salary-lesson){border-radius:14px!important}html[data-crm-mode] .crm-shell .student-portal-calendar-lessons .lesson-status-chip-planned,html[data-crm-mode] .crm-shell .teacher-portal-shell .lesson-status-chip-planned{--lesson-status-border:rgb(var(--palette-neutral-400-rgb,148, 163, 184));--lesson-status-text:var(--lesson-status-border);border-color:var(--lesson-status-border)!important;background:rgba(var(--palette-neutral-400-rgb,148, 163, 184), .16)!important;color:var(--lesson-status-text)!important}html[data-crm-mode] .crm-shell .student-portal-calendar-lessons .lesson-status-chip-planned span,html[data-crm-mode] .crm-shell .teacher-portal-shell .lesson-status-chip-planned span{color:var(--lesson-status-text)!important}html[data-crm-mode] .crm-shell.student-portal-screen .student-portal-calendar-lessons .lesson-status-chip-planned>span{color:inherit!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important}html[data-crm-mode=light] .crm-shell.theme-light #teacher-portal-overview .teacher-portal-stat-card{--teacher-stat-surface:#fff!important;box-shadow:var(--shadow)!important;background:#fff!important}._button_boa8t_1._button_boa8t_1{aspect-ratio:1;width:32px;min-width:32px;height:32px;min-height:32px;box-shadow:none;border:0;border-radius:10px;flex:0 0 32px;place-items:center;padding:0;transition:color .16s,background-color .16s;display:inline-grid;transform:none;color:#a6aaaa!important;background:#ffffff12!important}._button_boa8t_1._button_boa8t_1 svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}._button_boa8t_1._button_boa8t_1:hover:not(:disabled),._button_boa8t_1._button_boa8t_1:focus:not(:disabled),._button_boa8t_1._button_boa8t_1:focus-visible:not(:disabled),._button_boa8t_1._button_boa8t_1:active:not(:disabled){box-shadow:none;border-color:#0000;outline:none;transform:none;color:#fff!important;background:#ffffff12!important}.theme-light.crm-shell ._button_boa8t_1._button_boa8t_1{color:#747a7a!important;background:#0f172a0f!important}.theme-light.crm-shell ._button_boa8t_1._button_boa8t_1:hover:not(:disabled),.theme-light.crm-shell ._button_boa8t_1._button_boa8t_1:focus:not(:disabled),.theme-light.crm-shell ._button_boa8t_1._button_boa8t_1:focus-visible:not(:disabled),.theme-light.crm-shell ._button_boa8t_1._button_boa8t_1:active:not(:disabled){color:#fff!important;background:#484d4d!important}.bank-transactions-panel{gap:18px;display:grid}.bank-transactions-heading{align-items:flex-start;gap:16px}.bank-transactions-heading-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:9px;display:flex}.bank-transactions-heading-actions>button{text-align:center;border-radius:11px;flex:0 0 160px;justify-content:center;align-items:center;width:160px;min-height:40px;padding:9px 13px;font-size:.82rem;display:inline-flex}.bank-transactions-search-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.bank-transactions-search{flex:1;min-width:0;max-width:560px;margin:0;display:block;position:relative}.bank-transactions-search input{border:1px solid var(--border);background:var(--bg-surface);width:100%;height:42px;color:var(--text-main);font:inherit;border-radius:12px;padding:9px 38px 9px 40px;font-size:.86rem}.bank-transactions-search .search-field-icon{left:12px}.bank-transactions-search .search-clear-button{right:9px}.bank-transactions-count{color:var(--text-muted,#aeb3c0);white-space:nowrap;font-size:13px}.bank-transactions-error{color:#ff9ca7;background:#ef5b6914;border:1px solid #ef5b6959;border-radius:12px;margin:0;padding:10px 12px;font-size:13px}.bank-transactions-list{gap:12px;display:grid}.bank-transaction-pending-list,.bank-transaction-processed-list{gap:12px;min-width:0;display:grid}.bank-transaction-processed-list:not(:first-child){border-top:1px solid var(--border);margin-top:12px;padding-top:18px}.bank-transactions-processed-heading{color:var(--text-main);margin:0;font-size:1rem}.bank-transaction-day{gap:14px;display:grid}.bank-transaction-day-heading{z-index:2;background:var(--bg-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:0;align-self:start;margin:0;padding:8px 10px;position:sticky;top:0}.bank-transaction-day.is-processed .bank-transaction-day-heading{color:var(--text-muted)}.bank-transaction-row{border-radius:14px;grid-template-columns:minmax(0,1fr) auto;gap:9px 18px;padding:15px 16px;display:grid;background:color-mix(in srgb, var(--bg-card) 95%, var(--text-main) 5%)!important}.bank-transaction-main{gap:4px;min-width:0;display:grid}.bank-transaction-main strong{text-overflow:ellipsis;overflow:hidden}.bank-transaction-counterparty-row{align-items:center;gap:8px;min-width:0;display:flex}.bank-transaction-counterparty-details{flex:auto;gap:1px;min-width:0;display:grid}.bank-transaction-counterparty-details>strong{white-space:nowrap;min-width:0}.bank-transaction-main .bank-transaction-pending-number,.bank-transaction-main .bank-transaction-completed-badge,.bank-transaction-main .bank-transaction-ignored-badge{color:#fff;min-width:24px;height:24px;box-shadow:none;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 6px;font-size:.72rem;font-weight:800;line-height:1;display:inline-flex}.bank-transaction-main .bank-transaction-pending-number{background:#ef4444}.bank-transaction-main .bank-transaction-completed-badge{background:#22a06b;width:24px;padding:0}.bank-transaction-main .bank-transaction-ignored-badge{background:#646b74;flex:0 0 24px;place-items:center;width:24px;padding:0;line-height:0;display:grid}.bank-transaction-completed-badge svg,.bank-transaction-ignored-badge svg{fill:none;stroke:currentColor;stroke-width:2.8px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px;display:block}.bank-transaction-main span,.bank-transaction-purpose,.bank-transaction-reference{color:var(--text-muted,#aeb3c0);font-size:12px;line-height:1.5}.bank-transaction-main .bank-transaction-time{font-size:10px;line-height:1.1}.bank-transaction-amount{color:#6fd6a7;white-space:nowrap}.bank-transaction-purpose{overflow-wrap:anywhere;grid-column:1/-1;margin:0}.bank-transaction-reference{opacity:.8;overflow-wrap:anywhere;grid-column:1/-1}.bank-transaction-top-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:8px;display:flex}.bank-transaction-row .bank-transaction-ignore,.bank-transaction-row .bank-transaction-pay{white-space:nowrap;border-radius:10px;flex:0 0 108px;justify-content:center;align-items:center;width:108px;height:34px;padding:0 10px;font-size:.76rem;line-height:1;display:inline-flex}.bank-transaction-amount{grid-column:1/-1;justify-self:start}.bank-transaction-reconciliation{grid-column:1/-1;gap:9px;min-width:0;margin-top:3px;display:grid}.bank-transaction-student-result{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-card) 82%, transparent);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;display:grid}.bank-transaction-student-result.is-paid{border-color:color-mix(in srgb, var(--accent) 28%, var(--border))}.bank-transaction-student-info,.bank-transaction-student-result>div:first-child{gap:5px;min-width:0;display:grid}.bank-transaction-student-result>div>strong{color:var(--text-main);text-overflow:ellipsis;overflow:hidden}.bank-transaction-student-name{align-items:center;gap:8px;min-width:0;display:flex}.bank-transaction-language-flag{border:1px solid color-mix(in srgb, var(--border) 75%, transparent);object-fit:cover;border-radius:4px;flex:0 0 21px;width:21px;height:15px}.bank-transaction-student-result>div>span,.bank-transaction-student-result small{color:var(--text-muted);font-size:.76rem;line-height:1.45}.bank-transaction-match-source{background:color-mix(in srgb, var(--regular-button-accent) 13%, transparent);border-radius:999px;width:fit-content;padding:3px 7px;font-weight:750;color:var(--regular-button-accent)!important;font-size:.68rem!important}.bank-transaction-match-source.shared-phone{background:#9c7bff24;color:#bdadff!important}.bank-transaction-match-source.manual{background:color-mix(in srgb, var(--warning) 15%, transparent);color:var(--warning)!important}.bank-transaction-student-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.bank-transaction-student-actions>strong,.bank-transaction-student-result>strong{color:var(--text-main);white-space:nowrap}.bank-transaction-duplicate-warning{color:var(--warning)!important}.bank-transaction-manual-match{border:1px dashed var(--border);border-radius:12px;gap:10px;padding:12px;display:grid}.bank-transaction-manual-match p,.bank-transaction-unallocated{color:var(--text-muted);margin:0;font-size:.8rem;line-height:1.45}.bank-transaction-unallocated{color:var(--warning)}.bank-payment-source-note{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));color:var(--text-muted);border-radius:12px;margin:0;padding:10px 12px;font-size:.82rem;line-height:1.45}.bank-payment-source-note.warning{border-color:color-mix(in srgb, var(--warning) 38%, var(--border));color:var(--warning)}.bank-transactions-empty{color:var(--text-muted,#aeb3c0);text-align:center;justify-items:center;gap:10px;padding:36px 18px;display:grid}.bank-transactions-empty .material-symbols-rounded{font-size:30px}.bank-transactions-empty p{margin:0}@media (width<=640px){.bank-transactions-heading{flex-direction:column}.bank-transactions-heading-actions{justify-content:flex-start;width:100%}.bank-transactions-heading-actions>button{flex:145px;width:auto}.bank-transactions-search-row{flex-direction:column;align-items:stretch}.bank-transactions-search{max-width:none}.bank-transaction-row{grid-template-columns:minmax(0,1fr)}.bank-transaction-top-actions{justify-content:flex-start}.bank-transaction-student-result{grid-template-columns:minmax(0,1fr)}.bank-transaction-amount{justify-self:start}.bank-transaction-student-actions{justify-content:flex-end;gap:6px;width:100%}.bank-transaction-student-actions>strong{margin-right:auto}.bank-transaction-row .bank-transaction-pay,.bank-transaction-row .bank-transaction-ignore{flex:0 0 90px;width:90px;height:32px;padding:0 6px;font-size:.7rem}}
