@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-ext-wght-normal-DOFToQv1.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-DayYxulF.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-math-wght-normal-Bl4ZGkZl.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-symbols-wght-normal-DxQzqQfC.woff2) format("woff2-variations");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-vietnamese-wght-normal-BBxOatbv.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-ext-wght-normal-QAhDxQuo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-wght-normal-Dun_Rd-l.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #fff7e8;--surface: #fffdf7;--surface-2: #fff1d4;--ink: #183047;--muted: #63717d;--line: #eadfca;--accent: #cc4020;--navy: #1b3a53;--soft: #ffe3d5;--success: #0f765f;--success-soft: #dff4eb;--danger: #c64635;--danger-soft: #ffebe5;--warning: #9b6200;--warning-soft: #fff0c5;--shadow: 0 20px 58px rgba(99, 70, 23, .1);--radius: 28px;font-family:Onest Variable,Onest,system-ui,sans-serif;color-scheme:light}html[data-theme=dark]{--bg: #16232d;--surface: #1e303c;--surface-2: #29404d;--ink: #fffaf0;--muted: #b5c3ca;--line: #39505c;--accent: #ff7651;--navy: #101d27;--soft: #57382f;--success: #62d6b4;--success-soft: #244c43;--danger: #ff9f8b;--danger-soft: #563832;--warning: #ffd071;--warning-soft: #4e4025;--shadow: 0 24px 65px rgba(0, 0, 0, .25);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:0;min-height:100vh;background:var(--bg);color:var(--ink);line-height:1.45}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(34px,4.3vw,58px);line-height:.98;letter-spacing:-.06em}h2{letter-spacing:-.035em}.hidden{display:none!important}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.eyebrow{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.row{display:flex;align-items:center;gap:12px}.wrap{flex-wrap:wrap}.spacer{flex:1}.divider{height:1px;margin:20px 0;background:var(--line)}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:14px;padding:10px 15px;background:var(--surface);color:var(--ink);font-weight:650;transition:transform .18s,box-shadow .18s}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #1e283714}.btn.primary{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 25%,transparent)}.btn.success{border-color:color-mix(in srgb,var(--success) 38%,var(--line));background:var(--success-soft);color:var(--success)}.btn.danger{border-color:color-mix(in srgb,var(--danger) 35%,var(--line));color:var(--danger)}.btn.danger-solid{border-color:var(--danger);background:var(--danger);color:#fff}.btn.ghost-danger{border-color:transparent;background:transparent;color:var(--danger)}.btn.ghost{background:transparent}.btn.icon{width:44px;padding:0;font-size:18px}.btn.sm{min-height:36px;border-radius:11px;padding:7px 11px;font-size:13px}.btn:disabled,.disabled{border-color:var(--line);background:var(--surface-2);color:var(--muted);cursor:not-allowed;opacity:1;transform:none!important;box-shadow:none!important}html[data-theme=dark] .btn.primary:not(:disabled){color:var(--navy)}html[data-theme=dark] .btn.danger-solid:not(:disabled){color:var(--navy)}.input,.select,.textarea{width:100%;min-height:46px;border:1px solid var(--line);border-radius:14px;outline:0;padding:10px 13px;background:var(--surface);color:var(--ink)}.select-wrap{position:relative}.select-wrap:after{content:"";position:absolute;top:50%;right:17px;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}.timezone-select{appearance:none;padding-right:42px;cursor:pointer}.textarea{min-height:100px;resize:vertical}.input:focus,.select:focus,.textarea:focus,button:focus-visible,a:focus-visible{border-color:var(--accent);outline:3px solid color-mix(in srgb,var(--accent) 24%,transparent);outline-offset:2px}.input-error,.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--danger)}.field{display:grid;gap:7px}.field label,.field-label{color:var(--muted);font-size:13px;font-weight:650}.form-error{margin:0;color:var(--danger);font-size:13px}.feedback{display:grid;gap:12px;place-items:center;min-height:180px;padding:28px;text-align:center}.feedback-fullscreen{min-height:100vh}.feedback-error{color:var(--danger)}.feedback-loading:before{content:"";width:22px;height:22px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.topbar{position:sticky;top:0;z-index:20;height:76px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;padding:0 clamp(18px,4vw,54px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 91%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.wordmark,.profile-menu{border:0;background:transparent;color:var(--ink)}.wordmark{grid-column:1;justify-self:start;padding:0;font-size:25px;font-weight:700;letter-spacing:-.06em;text-decoration:none}.wordmark span,.auth-logo span{color:var(--accent)}.main-nav{grid-column:2;display:flex;gap:4px}.nav-btn{border-radius:12px;padding:10px 12px;color:var(--muted);font-size:14px;font-weight:650;text-decoration:none}.nav-btn.active{background:var(--surface);color:var(--ink);box-shadow:0 3px 13px #32323212}.topbar-actions{grid-column:3;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px}.profile-menu{min-width:0;display:flex;align-items:center;gap:10px;padding:4px;font-size:13px;font-weight:650}.profile-menu>span:first-child{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-icon{width:22px;height:22px;display:block}.avatar{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:var(--navy);color:#fff;font-size:13px;font-weight:700}.avatar.lg{width:72px;height:72px;flex-basis:72px;font-size:22px}.avatar-emoji{font-size:24px;line-height:1}.avatar.lg .avatar-emoji{font-size:44px}.avatar-initial{line-height:1}.avatar img,.profile-avatar-preview img{width:100%;height:100%;object-fit:cover}.mobile-nav{display:none}.page{max-width:1340px;min-height:calc(100vh - 76px);margin:0 auto;padding:34px clamp(18px,4vw,54px) 74px;animation:enter .24s}@keyframes enter{0%{opacity:.35;transform:translateY(4px)}}.page-head{display:flex;align-items:flex-start;gap:22px;margin-bottom:26px}.page-head p{margin:0;color:var(--muted)}.pending-page{display:grid;align-content:center;justify-items:start;gap:16px;min-height:calc(100vh - 76px)}.pending-page h1,.pending-page p{margin-bottom:0}.auth-view{min-height:100vh;display:grid;grid-template-columns:minmax(320px,.86fr) minmax(420px,1.14fr);background:var(--surface)}.auth-panel{display:grid;place-items:center;padding:44px clamp(22px,6vw,90px)}.auth-box{width:min(100%,440px)}.auth-logo{margin-bottom:64px;color:var(--ink);font-size:28px;font-weight:700;letter-spacing:-.06em}.auth-box h1{margin:18px 0 10px}.auth-form{display:grid;gap:16px}.code-fieldset{min-width:0;margin:0;padding:0;border:0}.otp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.otp-input{min-height:64px;padding:8px;text-align:center;font-size:28px;font-weight:700}.auth-actions{display:flex;flex-wrap:wrap;gap:14px}.auth-link{border:0;margin:-6px 0;padding:12px 0;background:transparent;color:var(--accent);font-size:13px;font-weight:650}.auth-link:disabled{cursor:not-allowed;opacity:.45}.auth-code-description{margin:0;color:var(--muted);line-height:1.55}.auth-code-description strong{color:var(--ink);overflow-wrap:anywhere}.auth-art{display:grid;align-content:center;gap:30px;padding:clamp(32px,6vw,100px);background:var(--navy);color:#fff}.auth-art h2{max-width:550px;margin:0;font-size:clamp(38px,5vw,72px);line-height:.96;letter-spacing:-.065em}.auth-preview{max-width:520px;padding:24px;border:1px solid rgba(255,255,255,.15);border-radius:24px;background:#ffffff12}.preview-line{display:flex;align-items:center;gap:24px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14)}.preview-line:last-child{border-bottom:0}.preview-line span{color:#b6c5ce;font-size:13px}.settings-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;align-items:start}.settings-nav{display:grid;gap:4px;padding:10px}.settings-nav button{min-height:44px;border:0;border-radius:12px;padding:12px;background:transparent;color:var(--muted);text-align:left;font-size:13px;font-weight:650}.settings-nav button:hover,.settings-nav button.active{background:var(--surface-2);color:var(--ink)}.settings-content{min-width:0;padding:28px}.settings-form{display:grid;gap:20px}.section-heading h2{margin:0 0 6px;font-size:22px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lessons-form-grid .timezone-field{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid var(--line)}.setting-row strong,.setting-row small{display:block}.setting-row small{margin-top:4px;color:var(--muted);font-size:12px}.switch{position:relative;width:48px;height:44px;flex:0 0 48px;border:0;background:transparent}.switch:before{content:"";position:absolute;top:8px;left:0;width:48px;height:28px;border-radius:999px;background:var(--line)}.switch:after{content:"";position:absolute;top:12px;left:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0000002e;transition:.18s}.switch.on:before{background:var(--accent)}.switch.on:after{left:24px}.profile-header-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.avatar-editor{width:78px;height:78px;flex:0 0 78px}.avatar-edit-trigger{position:relative;display:block;width:78px;height:78px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}.profile-avatar-preview{display:block;width:100%;height:100%;overflow:hidden;border-radius:50%}.profile-avatar-preview .avatar{width:100%;height:100%}.avatar-camera{position:absolute;right:-2px;bottom:-2px;width:30px;height:30px;display:grid;place-items:center;border:2px solid var(--surface);border-radius:50%;background:var(--navy);color:#fff;box-shadow:0 5px 12px #18304740}.avatar-camera svg{width:17px;height:17px}.avatar-copy{display:grid;gap:9px}.avatar-actions{display:flex;flex-wrap:wrap;gap:8px}.avatar-actions .btn{min-height:40px}.subject-create{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.color-picker{position:relative}.color-trigger{width:46px;height:46px;padding:4px;border:1px solid var(--line);border-radius:14px;box-shadow:inset 0 0 0 4px var(--surface);cursor:pointer}.color-trigger:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.color-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:25;width:250px;padding:10px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:0 18px 40px #0003}.color-popover:before{content:"";position:absolute;right:0;bottom:100%;left:0;height:9px}.color-options{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.color-option{width:38px;height:38px;padding:0;border:2px solid transparent;border-radius:50%;box-shadow:0 0 0 1px var(--line);cursor:pointer}.color-option.selected{border-color:var(--ink);box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.color-option:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}.color-custom{width:100%;margin-top:10px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--ink);font-size:12px;font-weight:650;cursor:pointer}.color-custom:hover{border-color:var(--accent)}.subject-setting{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.subject-actions{display:flex;gap:8px}.color-chip{width:20px;height:20px;border-radius:7px;background:var(--accent)}.archived-subjects{border-top:1px solid var(--line);padding-top:15px}.archived-subjects summary{cursor:pointer;color:var(--muted);font-weight:650}.subject-setting.archived{grid-template-columns:24px minmax(0,1fr) auto auto}.account-card{display:grid;gap:8px;padding:18px;border-radius:17px;background:var(--surface-2)}.account-logout{justify-self:start}.toast{position:fixed;right:22px;bottom:22px;z-index:80;max-width:min(360px,calc(100vw - 44px));display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:0 16px 38px #0000002e;font-size:13px;font-weight:650}.toast>span{min-width:0;flex:1}.toast-success{border-color:color-mix(in srgb,var(--success) 45%,var(--line))}.toast-error{border-color:color-mix(in srgb,var(--danger) 50%,var(--line));color:var(--danger)}.privacy-notice{position:fixed;right:22px;bottom:22px;z-index:70;width:min(560px,calc(100vw - 44px));display:flex;align-items:flex-end;gap:18px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:0 18px 44px #0000002e}.privacy-notice>div{min-width:0;flex:1}.privacy-notice strong{display:block;margin-bottom:4px;font-size:14px}.privacy-notice p{max-width:100%;margin:0;color:var(--muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.privacy-notice .btn{flex:0 0 auto;align-self:flex-end}dialog.dialog{width:min(520px,calc(100vw - 32px));border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:var(--surface);color:var(--ink);box-shadow:0 30px 90px #00000047}dialog.dialog::backdrop{background:#1830477a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.dialog-head h2{margin:8px 0 0}.dialog-close{width:44px;height:44px;flex:0 0 44px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);font-size:22px;line-height:1}.dialog-close:disabled{color:var(--muted);cursor:not-allowed}.dialog-actions{margin-top:20px}.more-wrap{position:relative;flex:1}.more-trigger{width:100%;border:0}.more-menu{position:absolute;right:0;bottom:calc(100% + 10px);display:grid;min-width:170px;padding:6px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:0 18px 40px #0003}.more-link{border:0;border-radius:10px;padding:11px 12px;background:transparent;color:var(--ink);text-align:left;text-decoration:none;font-size:13px}.more-link:hover,.more-link:focus-visible{background:var(--surface-2)}@media(max-width:900px){.auth-view{grid-template-columns:1fr}.auth-art{display:none}.topbar{height:62px;gap:12px;padding:0 16px}.main-nav{display:none}.profile-menu>span:first-child{display:none}.mobile-nav{position:fixed;right:10px;bottom:calc(9px + env(safe-area-inset-bottom));left:10px;z-index:45;display:flex;min-height:62px;padding:6px;border:1px solid rgba(255,255,255,.12);border-radius:19px;background:var(--navy);box-shadow:0 18px 45px #00000040}.mobile-nav-link{flex:1;min-height:48px;display:grid;justify-items:center;align-content:center;gap:3px;border-radius:13px;padding:5px 2px;background:transparent;color:#9fb0bd;text-align:center;text-decoration:none;font-size:11px}.mobile-nav-link .ui-icon{width:19px;height:19px;color:#dce5eb}.mobile-nav-link.active{background:#ffffff1c;color:#fff}.page{min-height:calc(100vh - 62px);padding-bottom:calc(96px + env(safe-area-inset-bottom))}.pending-page{min-height:calc(100vh - 158px)}.settings-layout{grid-template-columns:1fr}.settings-nav{display:flex;overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain}.settings-nav::-webkit-scrollbar{display:none}.settings-nav.has-left-overflow{-webkit-mask-image:linear-gradient(to right,transparent,#000 24px);mask-image:linear-gradient(to right,transparent,#000 24px)}.settings-nav.has-right-overflow{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent)}.settings-nav.has-left-overflow.has-right-overflow{-webkit-mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 24px),transparent)}.settings-nav button{flex:0 0 auto;white-space:nowrap}.privacy-notice{right:auto;bottom:calc(84px + env(safe-area-inset-bottom));left:50%;width:calc(100vw - 64px);max-width:none;transform:translate(-50%)}}@media(max-width:760px){:root{--radius: 23px}h1{font-size:38px}.page{min-height:calc(100vh - 62px);padding:24px 16px 96px}.page-head{display:block}.page-head .btn{margin-top:16px}.auth-panel{min-height:100vh;padding:28px 20px}.auth-logo{margin-bottom:46px}.btn.sm{min-height:44px}.form-grid{grid-template-columns:1fr}.lessons-form-grid .timezone-field{grid-column:auto}.form-actions .btn{width:100%}.privacy-notice{flex-direction:column;align-items:stretch;gap:12px;padding:15px 16px}.privacy-notice .btn{width:100%}.settings-content{padding:20px}.section-heading{align-items:stretch;flex-direction:column}.section-heading .btn{width:100%}.profile-header-row{align-items:flex-start}.profile-header-row .spacer{display:none}.subject-create .color-popover{right:0;left:auto}.subject-setting .color-popover{right:auto;left:0}.subject-create{grid-template-columns:minmax(0,1fr) auto}.subject-create .btn{grid-column:1 / -1}.subject-setting{grid-template-columns:46px minmax(0,1fr)}.subject-actions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.subject-setting.archived{grid-template-columns:24px minmax(0,1fr) auto}.subject-setting.archived .btn{grid-column:3;grid-row:1 / 3}.toast{right:16px;bottom:88px;max-width:calc(100vw - 32px)}dialog.dialog{padding:22px}}@media(max-width:420px){.wordmark{font-size:21px}.profile-header-row .btn{flex:1}.calendar-navigation h2{font-size:13px}}.page-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.searchbar{position:relative;width:min(360px,100%)}.searchbar:before{content:"⌕";position:absolute;z-index:1;top:7px;left:14px;color:var(--muted);font-size:22px}.searchbar .input{padding-left:40px}.segmented{display:inline-flex;gap:3px;padding:4px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.segment{min-height:36px;border:0;border-radius:10px;padding:7px 13px;background:transparent;color:var(--muted);font-size:13px;font-weight:650}.segment.active{background:var(--surface);color:var(--ink);box-shadow:0 3px 12px #32323214}.people-tabs{margin-bottom:18px}.student-grid,.group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.student-card,.group-card{display:block;padding:21px;color:inherit;text-decoration:none;transition:transform .18s,box-shadow .18s}.student-card:hover,.group-card:hover{transform:translateY(-2px);box-shadow:0 22px 60px #63461726}.student-card.has-debt{border-color:color-mix(in srgb,var(--danger) 55%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--danger-soft) 60%,var(--surface)),var(--surface) 64%)}.student-top{display:flex;align-items:center;gap:12px}.student-top h3{margin:0 0 4px;font-size:17px}.student-top p{margin:0;color:var(--muted);font-size:12px}.student-subjects{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}.student-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.student-stat{min-width:0;padding:12px;border-radius:14px;background:var(--surface-2)}.student-stat.debt-stat{outline:1px solid color-mix(in srgb,var(--danger) 24%,transparent);background:var(--danger-soft)}.student-stat small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase}.student-stat b{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;font-size:14px;white-space:nowrap}.student-balance{display:block;margin-top:3px;font-size:11px;font-weight:700}.danger-text{color:var(--danger)}.success-text{color:var(--success)}.group-card{min-height:238px;display:flex;flex-direction:column}.avatar.group-avatar{width:54px;height:54px;flex-basis:54px;border-radius:17px}.avatar.group-avatar.lg{width:72px;height:72px;flex-basis:72px;border-radius:22px}.avatar.group-avatar .avatar-emoji{font-size:32px}.avatar.group-avatar.lg .avatar-emoji{font-size:44px}.group-card h3{margin:18px 0 6px;font-size:21px}.group-card p{margin-bottom:14px;color:var(--muted);font-size:13px}.member-stack{display:flex;margin-top:auto;padding-top:16px}.member-stack .avatar{margin-left:-8px;border:3px solid var(--surface)}.member-stack .avatar:first-child{margin-left:0}.pager{display:flex;align-items:center;justify-content:center;gap:14px;margin:24px 0 4px}.pager-label{color:var(--muted);font-size:13px}.profile-person{align-items:flex-start}.profile-person h1{margin:14px 0 6px;font-size:clamp(32px,4vw,48px)}.profile-person .student-subjects{margin-top:0}.profile-resources{margin-top:16px}.profile-bottom-actions{display:flex;justify-content:flex-end;margin-top:16px}.contact-icons{display:flex;flex:0 0 auto;gap:6px}.contact-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid color-mix(in srgb,currentColor 25%,var(--line));border-radius:12px;background:var(--surface);color:var(--ink);text-decoration:none;transition:.16s}.contact-icon:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,currentColor 16%,transparent)}.contact-icon svg{width:20px;height:20px;fill:currentColor;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.contact-icon.telegram{color:#168ccc}.contact-icon.whatsapp{color:#168b55}.contact-icon.discord{color:#5865f2}.contact-icon.max{color:#471aff}.contact-icon.phone{color:var(--ink)}.contact-icon.disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed;opacity:.52}.contact-icon.disabled.max svg path{fill:currentColor}.profile-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.fact{padding:16px;border:1px solid var(--line);border-radius:17px;background:var(--surface-2)}.fact small{display:block;margin-bottom:5px;color:var(--muted);font-size:11px}.fact b{font-size:14px}.profile-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.section-card{min-width:0;padding:24px}.section-card h2{margin-bottom:17px;font-size:20px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.section-heading h2,.section-heading h3{margin:0 0 6px}.section-heading p{margin:0;color:var(--muted);font-size:13px}.note{min-height:64px;padding:15px;border-radius:16px;background:var(--surface-2);color:var(--muted);line-height:1.55;font-size:14px;white-space:pre-wrap}.subject-detail-list{display:grid;gap:8px}.subject-detail{display:grid;grid-template-columns:20px 1fr auto;gap:8px;align-items:center;padding:11px 12px;border-radius:14px;background:var(--surface-2)}.subject-detail small{grid-column:2 / -1;color:var(--muted);font-size:11px}.history-list{display:grid}.history-row{display:grid;grid-template-columns:100px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.history-row time{color:var(--muted);font-size:12px}.history-row strong,.history-row small{display:block}.history-row small{margin-top:3px;color:var(--muted);font-size:11px}.history-row .price{text-align:right;font-size:13px;font-weight:650}.history-row.status-conducted{border-left:3px solid var(--success);padding-left:10px}.history-row.status-cancelled{border-left:3px solid var(--danger);padding-left:10px;opacity:.72}.history-row.status-scheduled{border-left:3px solid var(--warning);padding-left:10px}.history-status{width:max-content;display:inline-flex;align-items:center;gap:5px;margin-top:5px;padding:4px 7px;border-radius:999px;font-size:11px;font-weight:750}.history-status.conducted{background:var(--success-soft);color:var(--success)}.history-status.cancelled{background:var(--danger-soft);color:var(--danger)}.history-status.scheduled{background:var(--warning-soft);color:var(--warning)}.resource-block h2{margin:0}.resource-list{display:grid;margin-top:14px}.resource-row{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line)}.resource-row .resource{flex:1;min-width:0}.resource{display:flex;align-items:center;gap:12px;padding:13px 0;color:inherit;text-decoration:none}.resource-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:11px;background:var(--surface-2)}.resource strong,.resource small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource small{margin-top:3px;color:var(--muted);font-size:11px}.resource-actions{display:flex;gap:6px}.resource-form{display:grid;gap:12px;margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}.form-section{display:grid;gap:12px;padding-top:4px}.student-form,.group-form{display:grid;gap:18px}.student-form-dialog,.group-form-dialog{max-height:calc(100vh - 24px);overflow:auto}.avatar-picker{display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--surface-2)}.avatar-preview{width:84px;height:84px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--surface);font-size:42px}.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-preview>.avatar{width:100%;height:100%;flex-basis:100%;border-radius:inherit;font-size:42px}.avatar-preview>.avatar .avatar-emoji{font-size:42px}.avatar-preview-emoji{font-size:42px;line-height:1}.avatar-options{display:grid;gap:9px}.emoji-row{display:flex;flex-wrap:wrap;gap:7px}.emoji-avatar{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:21px}.emoji-avatar.selected{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent);background:var(--soft)}.upload-btn{width:max-content;cursor:pointer}.contact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.8fr);gap:12px;align-items:center;padding:10px 12px;border-top:1px solid var(--line)}.checkbox-label{display:flex;align-items:center;gap:9px;min-height:44px}.checkbox-label input{width:18px;height:18px;accent-color:var(--accent)}.subject-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.member-picker{position:relative}.member-search-results{position:absolute;z-index:10;top:calc(100% + 6px);right:0;left:0;display:grid;max-height:240px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 18px 40px #00000029}.member-search-results>button{display:flex;align-items:center;gap:10px;border:0;border-radius:10px;padding:8px;background:transparent;color:var(--ink);text-align:left}.member-search-results>button:hover,.member-search-results>button:focus-visible{background:var(--surface-2)}.member-search-results small,.member-search-results strong{display:block}.member-search-results small{margin-top:2px;color:var(--muted);font-size:11px}.selected-members{display:flex;flex-wrap:wrap;gap:8px}.selected-member{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:4px 7px 4px 4px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:13px}.selected-member button{width:26px;height:26px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:18px}.form-hint{margin:0;font-size:12px}.member-due{background:var(--danger-soft)!important}.member-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:11px 12px;border-radius:15px;background:var(--surface-2)}.member-name{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.status{color:var(--muted);font-size:12px}.status.due{color:var(--danger)}.back-btn{display:inline-flex;align-items:center;min-height:44px;margin-bottom:14px;color:var(--muted);font-size:13px;font-weight:650;text-decoration:none}.profile-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:16px;margin-bottom:16px}.profile-main-card{min-width:0;padding:24px}.profile-person>div{min-width:0}.profile-person h1{overflow-wrap:anywhere}.contact-panels{display:grid;gap:10px;margin-top:20px}.contact-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;border-top:1px solid var(--line)}.contact-caption{min-width:0;display:grid;gap:3px}.contact-caption small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.contact-row{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.pill{width:max-content;min-height:28px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;background:var(--surface-2);color:var(--ink);font-size:12px;font-weight:650;line-height:1.2}.pill.subject{background:color-mix(in srgb,var(--subject) 13%,var(--surface))}.pill.success{background:var(--success-soft);color:var(--success)}.pill.danger{background:var(--danger-soft);color:var(--danger)}.archived-pill{background:var(--surface-2);color:var(--muted)}.dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--subject)}.section-gap{margin-top:24px}.member-list{display:grid;gap:8px}.schedule-summary{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font-size:13px}.schedule-summary span{color:var(--muted)}.student-card.archived,.group-card.archived{box-shadow:none}.student-card.archived>:not(.student-top),.group-card.archived>:not(.row){opacity:.72}.list-progress{margin:-8px 0 12px;color:var(--muted);font-size:12px}.searchbar .input{padding-right:42px}.search-clear{position:absolute;z-index:2;top:1px;right:2px;width:44px;height:44px;border:0;background:transparent;color:var(--muted);font-size:20px}.member-search-message{margin:0;padding:12px;font-size:13px}.form-section .feedback,.field .feedback,.member-search-results .feedback{min-height:64px;padding:12px}.history-homework{color:var(--ink)!important}dialog.student-form-dialog{width:min(720px,calc(100vw - 32px))}.student-form .dialog-actions,.group-form .dialog-actions{position:sticky;bottom:-22px;z-index:2;margin:2px 0 -2px;padding:14px 0 2px;border-top:1px solid var(--line);background:var(--surface)}.selected-member button{width:36px;height:36px}.schedule-card{position:relative;overflow:visible}.mobile-calendar{display:none}.calendar-toolbar{display:flex;align-items:center;gap:14px;min-height:76px;padding:14px 18px;border-bottom:1px solid var(--line)}.calendar-toolbar h2{min-width:0;margin:0;font-size:19px;text-transform:capitalize}.calendar-navigation{display:flex;align-items:center;gap:8px;min-width:0}.calendar-navigation h2{max-width:min(42vw,420px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-today{margin-left:2px}.calendar-view-controls{display:flex;align-items:center;gap:14px}.calendar-help{width:36px;height:36px;flex:0 0 36px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--muted);font-weight:800}.calendar-help:hover,.calendar-help:focus-visible{border-color:var(--accent);color:var(--accent)}.calendar-progress{position:absolute;top:78px;right:18px;z-index:5;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;box-shadow:var(--shadow)}.calendar-empty{padding:10px 18px;border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:12px}.calendar-tip{min-height:54px;display:flex;align-items:center;gap:11px;padding:9px 18px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--navy) 5%,var(--surface))}.calendar-tip>span:first-child{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:11px;background:color-mix(in srgb,var(--navy) 12%,var(--surface));color:var(--navy);font-size:18px}.calendar-tip>span:nth-child(2){min-width:0;flex:1}.calendar-tip strong,.calendar-tip small{display:block}.calendar-tip strong{font-size:13px}.calendar-tip small{margin-top:2px;color:var(--muted);font-size:12px}.calendar-tip-close{width:36px;height:36px;flex:0 0 36px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:22px;line-height:1}.calendar-tip-close:hover,.calendar-tip-close:focus-visible{background:var(--surface);color:var(--ink)}.mobile-only{display:none!important}.time-grid-scroll{overflow-x:auto}.time-grid-scroll.week>.time-grid-head,.time-grid-scroll.week>.time-grid-body{min-width:920px}.time-grid-head{position:sticky;top:0;z-index:6;display:grid;grid-template-columns:68px repeat(7,minmax(110px,1fr));border-bottom:1px solid var(--line);background:var(--surface)}.time-grid-head>div{min-height:70px;display:grid;place-content:center;border-left:1px solid var(--line);color:var(--muted);text-align:center;font-size:12px;text-transform:capitalize}.time-grid-head>div:first-child{border-left:0}.time-grid-head>div:first-child{position:sticky;left:0;z-index:8;background:var(--surface)}.time-grid-head b{color:var(--ink);font-size:17px}.time-grid-head .today{background:color-mix(in srgb,var(--accent) 5%,var(--surface));color:var(--accent)}.time-grid-head .selected{box-shadow:inset 0 -3px 0 var(--accent)}.time-grid-body{position:relative;display:grid;grid-template-columns:68px repeat(7,minmax(110px,1fr));background:repeating-linear-gradient(to bottom,transparent 0,transparent 71px,var(--line) 72px)}.time-axis{position:sticky;left:0;z-index:3;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;background:var(--surface)}.time-axis span{position:absolute;right:9px;transform:translateY(-50%)}.time-axis span:first-child{transform:translateY(2px)}.time-axis span:last-child{transform:translateY(calc(-100% - 2px))}.time-day-column{position:relative;min-width:0;border-left:1px solid var(--line)}.time-day-column.today{background:color-mix(in srgb,var(--accent) 2.5%,transparent)}.time-day-column.selected,.time-day-column.today.selected{background:color-mix(in srgb,var(--accent) 4%,transparent)}.current-time-indicator{position:absolute;z-index:5;top:var(--current-time-top);right:0;left:0;border-top:2px solid var(--accent);pointer-events:none}.current-time-indicator span{position:absolute;top:-11px;left:5px;border-radius:999px;padding:2px 6px;background:var(--accent);color:#fff;font-size:10px;font-weight:750;line-height:1.2}.calendar-event{--event-left: 0%;--event-width: 100%;position:absolute;z-index:1;top:var(--event-top);left:calc(var(--event-left) + 4px);width:calc(var(--event-width) - 8px);height:var(--event-height);min-height:0;overflow:visible;border:1px solid color-mix(in srgb,var(--subject) 38%,var(--line));border-left:5px solid var(--subject);border-radius:12px;background:color-mix(in srgb,var(--subject) 13%,var(--surface));box-shadow:0 5px 14px #18304714;transition:box-shadow .15s,transform .15s}.calendar-event{container:lesson-card / inline-size}.calendar-event:hover,.calendar-event:focus-within{z-index:4;box-shadow:0 9px 24px #18304729}.calendar-event.dragging{z-index:20;opacity:.9;transform:translate(var(--event-drag-x, 0)) scale(1.02);transition:none}.calendar-event.selected{outline:3px solid color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:1px}.calendar-event.conducted{opacity:.72}.calendar-event.cancelled{opacity:.58;filter:saturate(.35)}.calendar-event.cancelled .calendar-event-main strong,.month-event.cancelled strong{text-decoration:line-through}.calendar-event.unmarked{outline:0}.calendar-event.conflict{border-style:solid;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warning) 70%,transparent),0 5px 14px #18304714}.calendar-event-main{width:100%;height:100%;display:block;overflow:hidden;border:0;padding:6px 28px 6px 8px;background:transparent;color:var(--ink);text-align:left}.calendar-event-time{min-width:0;display:flex;align-items:baseline;gap:2px;overflow:visible;color:var(--ink);font-size:12px;font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}.calendar-event-start,.calendar-event-range{flex:0 0 auto;white-space:nowrap}.calendar-event-range{color:var(--muted)}.calendar-event-separator{display:none;color:var(--muted)}.calendar-event-main strong,.calendar-event-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-main strong{font-size:12px}.calendar-event-main small{color:var(--muted);font-size:10px}.calendar-event.compact .calendar-event-main{padding-top:5px;padding-bottom:5px}.calendar-event-badge{display:block;width:max-content;margin-top:2px;border-radius:999px;padding:1px 5px;background:color-mix(in srgb,var(--navy) 8%,transparent);color:var(--muted);font-size:9px;font-weight:750;line-height:1.25;white-space:nowrap}.calendar-event.conflict .calendar-event-badge{color:var(--warning)}.calendar-event-badge.status-conducted{color:var(--success);background:var(--success-soft)}.calendar-event-badge.status-cancelled,.calendar-event-badge.status-unpaid{color:var(--danger);background:var(--danger-soft)}.calendar-event-badge.status-pending,.calendar-event-badge.status-conflict{color:var(--warning);background:var(--warning-soft)}.status-icon{display:none}@container lesson-card (max-width: 205px){.calendar-event-badge{width:22px;height:22px;display:inline-grid;place-items:center;padding:0;font-size:13px}.calendar-event-badge .status-text{display:none}.calendar-event-badge .status-icon{display:inline}.calendar-event-badge{position:absolute;right:4px;bottom:4px;margin:0}.calendar-event.draggable .calendar-event-badge{right:28px}}@container lesson-card (max-width: 150px){.calendar-event-main small{display:none}}@container lesson-card (max-width: 122px){.calendar-event-range{display:none}}.calendar-event.compact .calendar-event-badge{width:22px;height:22px;display:inline-grid;place-items:center;padding:0;font-size:13px}.calendar-event.compact .calendar-event-badge .status-text{display:none}.calendar-event.compact .calendar-event-badge .status-icon{display:inline}.calendar-event.compact .calendar-event-badge{position:absolute;right:4px;bottom:4px;z-index:2;margin:0}.calendar-event.compact.draggable .calendar-event-badge{right:28px}.calendar-event.micro .calendar-event-badge{right:2px;bottom:1px;width:16px;height:16px;font-size:10px}.calendar-event.micro.draggable .calendar-event-badge{right:22px}.drag-handle{position:absolute;top:50%;right:0;width:44px;height:44px;min-height:44px;transform:translateY(-50%);border:0;background:transparent;color:color-mix(in srgb,var(--subject) 68%,var(--muted));cursor:grab;opacity:0;touch-action:none}.calendar-event:hover .drag-handle,.calendar-event:focus-within .drag-handle,.drag-handle:focus-visible{opacity:1}.drag-handle:active{cursor:grabbing}.collision-cluster{--cluster-top: 0px;--cluster-height: 44px;position:absolute;top:var(--cluster-top);right:4px;left:4px;z-index:3;display:none;height:var(--cluster-height);min-height:44px;align-items:center;gap:7px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-left:5px solid var(--accent);border-radius:12px;padding:6px 9px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--ink);text-align:left;box-shadow:0 5px 14px #1830471a}.collision-cluster:hover,.collision-cluster:focus-visible{box-shadow:0 9px 24px #18304729}.collision-cluster-time{flex:0 0 auto;font-size:11px;font-weight:750;font-variant-numeric:tabular-nums}.collision-cluster strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.collision-cluster-dots{display:flex;flex:0 0 auto;gap:3px;margin-left:auto}.collision-cluster-dots i{width:8px;height:8px;display:block;border-radius:50%}.month-weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));min-width:840px}.month-calendar{overflow-x:auto}.month-weekdays>div{padding:12px;border-right:1px solid var(--line);color:var(--muted);text-align:center;font-size:12px;font-weight:650}.month-day{min-height:126px;padding:8px;border-top:1px solid var(--line);border-right:1px solid var(--line)}.month-day:nth-child(7n){border-right:0}.month-day.today{background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.month-day.muted-day{opacity:.5}.month-day-number{width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--ink);font-weight:700}.month-day.today .month-day-number{background:var(--accent);color:#fff}.month-events{min-width:0}.month-event,.month-more{width:100%;min-height:44px;display:block;overflow:hidden;margin-top:5px;border:1px solid color-mix(in srgb,var(--subject) 32%,var(--line));border-radius:8px;padding:5px 7px;background:color-mix(in srgb,var(--subject) 14%,var(--surface));color:var(--ink);text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:650}.month-event .calendar-event-time{display:inline-flex}.month-event .calendar-event-separator{display:inline;margin:0 3px}.month-event .calendar-event-range,.month-event small{display:none}.month-event .calendar-event-badge{display:inline-grid;width:19px;height:19px;place-items:center;margin:0 0 0 4px;padding:0;vertical-align:middle}.month-event.has-status{position:relative;padding-right:31px}.month-event.has-status strong{display:inline-block;max-width:calc(100% - 42px);overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.month-event.has-status .calendar-event-badge{position:absolute;top:50%;right:6px;margin:0;transform:translateY(-50%)}.month-event .status-text{display:none}.month-event .status-icon{display:inline}.month-event.conducted{opacity:.62}.month-event.cancelled{opacity:.52;text-decoration:line-through}.month-event.conflict{border-style:solid;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warning) 70%,transparent)}.month-event.unmarked{outline:0}.month-more{background:transparent;color:var(--muted)}.month-overview{display:none}.month-overview-dots{display:inline-flex;gap:3px;margin-left:6px;vertical-align:middle}.month-overview-dots i{width:7px;height:7px;display:block;border-radius:50%}.month-overview-unpaid{margin-left:auto;margin-right:3px;color:var(--danger);font-size:11px;font-weight:800}.cluster-sheet-list{display:grid;gap:8px;margin-top:20px}.cluster-sheet-item{min-height:64px;display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;align-items:center;border:1px solid var(--line);border-radius:15px;padding:10px 12px;background:var(--surface-2);color:var(--ink);text-align:left}.cluster-sheet-item:hover,.cluster-sheet-item:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface-2))}.cluster-sheet-item strong,.cluster-sheet-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cluster-sheet-item small{margin-top:3px;color:var(--muted);font-size:11px}.cluster-sheet-item-time{font-size:12px;font-weight:750;font-variant-numeric:tabular-nums}.cluster-sheet-item-time small{font-size:11px;font-weight:650}dialog.lesson-form-dialog,dialog.series-form-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 24px);overflow:auto}.lesson-form,.series-form{display:grid;gap:18px;margin-top:20px}.lesson-form .form-grid{align-items:start}.target-picker{position:relative}.picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;font:inherit}.picker-trigger:after{content:"";width:8px;height:8px;flex:0 0 8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-2px) rotate(45deg)}.picker-target,.subject-choice{display:inline-flex;min-width:0;align-items:center;gap:8px}.picker-target>span:last-child,.subject-choice>span,.subject-choice>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-avatar{width:28px;height:28px;flex-basis:28px;border-radius:9px;font-size:10px}.picker-avatar .avatar-emoji{font-size:17px}.subject-choice i{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:var(--subject)}.duration-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:6px}.duration-options>button{min-height:36px;justify-content:center;padding:4px 6px;border-radius:8px;font-size:12px;font-variant-numeric:tabular-nums}.input-picker{position:relative}.input-picker>.input{padding-right:48px}.input-picker-trigger{position:absolute;z-index:2;top:4px;right:4px;width:38px;height:38px;border:0;border-radius:10px;background:transparent;color:var(--muted)}.input-picker-trigger:after{content:"";position:absolute;top:13px;left:14px;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}.input-picker-trigger:hover,.input-picker-trigger:focus-visible{background:var(--surface-2);color:var(--accent)}.duration-input{appearance:textfield}.duration-input::-webkit-inner-spin-button,.time-input::-webkit-calendar-picker-indicator{display:none}.chosen-target{min-height:46px;display:flex;align-items:center;gap:10px;padding:2px 6px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2)}.chosen-target .btn{margin-left:auto}.target-results{position:absolute;z-index:15;top:calc(100% + 6px);right:0;left:0;display:grid;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 14px 32px #0000001f}.target-results:empty{display:none}.target-results>button{min-height:48px;display:flex;align-items:center;gap:10px;border:0;padding:6px 10px;background:transparent;color:var(--ink);text-align:left}.target-results>button:hover,.target-results>button:focus-visible{background:var(--surface-2)}.target-results>button[aria-selected=true]{background:var(--surface-2)}.target-results>button small{display:block;margin-top:2px;color:var(--muted);font-size:11px}.target-results-message{margin:0;padding:12px;color:var(--muted);font-size:13px}.participant-prices{display:grid;gap:8px}.participant-price{display:grid;grid-template-columns:minmax(0,1fr) 150px 44px;gap:8px;align-items:center}.participant-price>button{width:44px;height:44px;border:0;border-radius:12px;background:var(--surface-2);color:var(--muted);font-size:20px}.series-status{display:flex;align-items:center;gap:10px}.series-paused{color:var(--accent)}.series-finished{color:var(--muted)}dialog.lesson-sheet-dialog{position:fixed;inset:0 0 0 auto;width:min(520px,100vw);max-width:100%;height:100dvh;max-height:none;margin:0;overflow:auto;border:0;border-left:1px solid var(--line);padding:26px;background:var(--surface);color:var(--ink);box-shadow:-24px 0 70px #0003}dialog.lesson-sheet-dialog::backdrop{background:#1830477a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.lesson-sheet-content{display:grid;gap:18px;margin-top:18px}.lesson-sheet-content .textarea{min-height:80px}.sheet-facts{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:9px}.sheet-field{min-width:0;padding:12px 13px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2)}.sheet-fact-date{grid-column:1 / -1}.sheet-field small,.sheet-field b{display:block}.sheet-field small{margin-bottom:4px;color:var(--muted);font-size:11px}.sheet-field b{line-height:1.3}.lesson-status-conducted{color:var(--success)}.lesson-status-cancelled{color:var(--danger)}.lesson-status-pending,.lesson-status-conflict{color:var(--warning)}.lesson-status-scheduled{color:var(--ink)}.series-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:15px;background:var(--surface-2);font-size:12px}.sheet-participants,.completion-form{display:grid;gap:0}.sheet-participants h3,.completion-form h3{margin:0}.sheet-participant{display:grid;gap:13px;padding:16px 0;border-top:1px solid var(--line)}.sheet-participant.is-absent{border-top-color:color-mix(in srgb,var(--warning) 45%,var(--line))}.sheet-participant-head{display:flex;justify-content:space-between;gap:16px}.sheet-participant-head strong:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}.sheet-participant-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.participant-control{display:grid;min-width:0;gap:6px}.participant-control-label-row{display:flex;align-items:center;gap:8px;min-height:18px}.participant-control-label{color:var(--muted);font-size:12px;font-weight:650}.participant-control-status{border:1px solid var(--line);border-radius:999px;padding:2px 7px;color:var(--muted);font-size:11px;font-weight:650;line-height:1.2}.segmented-control{display:flex;min-width:0;gap:2px;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.segmented-control button{min-width:0;min-height:40px;flex:1 1 0;border:0;border-radius:9px;padding:6px 7px;background:transparent;color:var(--muted);font-size:12px;font-weight:650;line-height:1.2}.segmented-control button:hover:not(:disabled),.segmented-control button:focus-visible{color:var(--ink);background:var(--surface)}.segmented-control button.is-selected{border:1px solid currentColor;color:var(--ink);font-weight:800}.segmented-control button.is-selected.present,.segmented-control button.is-selected.paid{border-color:color-mix(in srgb,var(--success) 68%,var(--line));background:var(--success-soft);color:var(--success)}.segmented-control button.is-selected.absent{border-color:color-mix(in srgb,var(--warning) 68%,var(--line));background:var(--warning-soft);color:var(--warning)}.segmented-control button.is-selected.unpaid{border-color:color-mix(in srgb,var(--danger) 58%,var(--line));background:var(--danger-soft);color:var(--danger)}.segmented-control button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 30%,transparent);outline-offset:1px}.segmented-control button:disabled{cursor:default;opacity:1}.participant-status{width:max-content;min-height:40px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:12px;padding:6px 11px;color:var(--muted);font-size:12px;font-weight:650}.participant-status.present{border-color:color-mix(in srgb,var(--success) 38%,var(--line));background:var(--success-soft);color:var(--success)}.participant-status.absent{border-color:color-mix(in srgb,var(--warning) 38%,var(--line));background:var(--warning-soft);color:var(--warning)}.sheet-participant .payment-error{max-width:100%;color:var(--danger)}.completion-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 150px;gap:8px;align-items:center;padding-top:8px;border-top:1px solid var(--line)}.sheet-actions{display:flex;flex-wrap:wrap;gap:8px}.sheet-actions small{width:100%}.sheet-actions .btn.danger{min-height:40px;padding:8px 12px;background:transparent;font-size:13px;box-shadow:none}.sheet-action-overflow{position:relative;display:none}.sheet-overflow-trigger{width:44px;padding:0;font-size:23px;line-height:1}.sheet-overflow-menu{position:absolute;right:0;bottom:calc(100% + 8px);z-index:10;display:grid;min-width:190px;gap:2px;padding:6px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:0 18px 40px #0003}.sheet-overflow-item{min-height:44px;border:0;border-radius:10px;padding:10px 12px;background:transparent;color:var(--ink);text-align:left;font-size:13px;font-weight:650}.sheet-overflow-item:hover:not(:disabled),.sheet-overflow-item:focus-visible{background:var(--surface-2)}.sheet-overflow-item.danger{color:var(--danger)}.notes-status{color:var(--muted);font-size:11px}.notes-status.saving{color:var(--accent)}.notes-status.saved{color:var(--success)}.notes-status.error{color:var(--danger)}.time-picker{display:block}.lesson-form .form-grid>.field,.series-form .form-grid>.field{min-width:0}.time-popover{position:absolute;z-index:25;top:calc(100% + 8px);right:0;width:min(360px,calc(100vw - 64px));box-sizing:border-box;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:0 18px 40px #0003}.time-popover-title{display:block;margin-bottom:10px;font-size:13px}.time-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-height:198px;overflow-y:auto;padding:2px}.time-slot{min-width:0;min-height:36px;border:1px solid var(--line);border-radius:10px;padding:6px;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:650;font-variant-numeric:tabular-nums}.time-slot:hover,.time-slot:focus-visible{border-color:var(--accent);color:var(--accent)}.time-slot.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.time-slot:disabled,.time-slot.selected:disabled{opacity:.48;cursor:not-allowed}.time-slot:disabled:hover,.time-slot:disabled:focus-visible{border-color:var(--line);color:var(--muted)}.time-other{width:100%;min-height:36px;margin-top:8px;border:0;border-radius:10px;padding:6px 8px;background:transparent;color:var(--accent);font-size:12px;font-weight:650;text-align:left}.time-other:hover,.time-other:focus-visible{background:var(--surface-2)}@media(max-width:1080px){.student-grid,.group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.page-actions{align-items:stretch;flex-direction:column;margin:18px 0 0;gap:12px}.page-actions .btn{margin-top:0}.searchbar,.page-actions .btn{width:100%}.student-grid,.group-grid,.profile-columns,.profile-hero{grid-template-columns:1fr}.profile-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-main-card,.section-card{padding:20px}.profile-person{align-items:flex-start}.history-row{grid-template-columns:74px 1fr}.history-row .price{grid-column:2;text-align:left}.contact-panel{align-items:flex-start;flex-direction:column}.contact-icons{width:100%}.contact-icon{min-width:44px;height:44px;flex:1}.avatar-picker{grid-template-columns:1fr}.avatar-preview{margin:0 auto}.subject-form-row,.contact-form-grid{grid-template-columns:1fr}.resource-row{align-items:flex-start;flex-direction:column;gap:0}.resource-actions{width:100%;padding-bottom:12px}.resource-actions .btn{flex:1}dialog.student-form-dialog,dialog.group-form-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);padding:20px}.segment{min-height:44px}.selected-member button{width:44px;height:44px}.schedule-page .page-head{margin-bottom:14px}.schedule-page .page-head p{display:none}.schedule-page .page-actions{position:absolute;top:74px;right:16px;margin:0}.schedule-page .page-actions .btn{width:44px;height:44px;overflow:hidden;padding:0;font-size:0}.schedule-page .page-actions .btn:before{content:"+";font-size:24px;line-height:1}.calendar-toolbar{align-items:stretch;flex-wrap:wrap;gap:8px;padding:10px 12px}.calendar-navigation{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) 44px auto;gap:6px}.calendar-navigation h2{max-width:none;align-self:center;text-align:center;font-size:15px}.calendar-toolbar .spacer{display:none}.calendar-today{margin-left:0}.calendar-progress{top:0;right:14px;left:14px;height:3px;overflow:hidden;border:0;border-radius:0 0 999px 999px;padding:0;background:var(--accent);color:transparent;font-size:0;box-shadow:none}.calendar-view-controls{width:100%;gap:8px}.calendar-help{width:44px;height:44px;flex-basis:44px}.calendar-toolbar .segmented{min-width:0;flex:1}.calendar-toolbar .segment{flex:1}.calendar-tip{align-items:flex-start}.desktop-only{display:none!important}.mobile-only{display:block!important}.desktop-calendar{display:none}.mobile-calendar{display:block}.mobile-week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--surface)}.mobile-week-strip button{min-width:0;min-height:44px;border:1px solid transparent;border-radius:11px;padding:4px 2px;background:transparent;color:var(--muted);font-size:10px;font-weight:650;text-transform:capitalize}.mobile-week-strip button b{display:block;margin-top:2px;color:var(--ink);font-size:14px;font-variant-numeric:tabular-nums}.mobile-week-strip button.active{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--accent)}.mobile-week-strip button.active b{color:var(--accent)}.mobile-week-viewport{overflow-x:hidden;touch-action:pan-y;overscroll-behavior-x:contain}.mobile-week-viewport .time-grid-scroll{max-height:max(240px,calc(100dvh - 430px));overflow-y:auto;overscroll-behavior-y:contain}.mobile-week-grid{overflow-x:hidden}.mobile-week-viewport .time-grid-head{display:none}.time-grid-scroll.week.mobile-week-grid>.time-grid-body{min-width:0;width:100%}.mobile-week-grid>.time-grid-head{grid-template-columns:48px minmax(0,1fr)}.mobile-week-grid>.time-grid-body{grid-template-columns:48px minmax(0,1fr)}.mobile-week-grid .time-grid-head>div:not(:first-child),.mobile-week-grid .time-day-column{min-width:0}.mobile-week-grid .calendar-event.collision-member{display:none}.mobile-week-grid .collision-cluster{display:flex}.time-axis{font-size:10px}.calendar-event-main{padding:6px 46px 6px 7px}.calendar-event-time{font-size:13px}.calendar-event-main strong{font-size:11px}.calendar-event-main small{font-size:10px}.drag-handle{width:44px;opacity:1;font-size:14px}.month-calendar{overflow-x:visible}.month-weekdays,.month-grid{width:100%;min-width:0;grid-template-columns:repeat(7,minmax(0,1fr))}.month-weekdays>div{padding:9px 2px;font-size:10px}.month-day{min-height:76px;padding:4px 0}.month-day-number{width:100%;min-width:0;height:44px;border-radius:0;font-size:12px}.month-day.today .month-day-number{background:radial-gradient(circle,var(--accent) 0 18px,transparent 19px)}.month-events{display:none}.month-overview.mobile-only{display:flex!important;min-height:24px;align-items:center;margin-top:5px;color:var(--ink);font-size:11px;line-height:1.5}.month-overview-dots b{color:var(--muted);font-size:10px;font-weight:700}.month-event,.month-more{display:none}dialog.lesson-form-dialog,dialog.series-form-dialog{width:calc(100vw - 12px);padding:20px}dialog.lesson-sheet-dialog{width:100vw;padding:20px}.participant-price{grid-template-columns:1fr 120px 44px}.completion-row,.sheet-facts{grid-template-columns:1fr}.sheet-fact-date{grid-column:auto}.sheet-participant{gap:12px}.sheet-participant-controls{grid-template-columns:1fr}.sheet-participant .payment-error{max-width:none;text-align:left}.segmented-control button{min-height:44px}.sheet-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-actions .btn.primary{grid-column:1 / -1}.sheet-actions .btn.danger{grid-column:1 / -1;justify-self:start}.sheet-action-cancel-direct,.sheet-action-delete-direct{display:none}.sheet-action-overflow{display:block;justify-self:start}.lesson-form .dialog-actions,.series-form .dialog-actions{position:sticky;z-index:5;bottom:-20px;margin:0 -4px -20px;padding:12px 4px 20px;border-top:1px solid var(--line);background:var(--surface);box-shadow:0 -10px 18px color-mix(in srgb,var(--surface) 92%,transparent)}}@media(max-width:359px){.profile-facts{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.today-workspace{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start;gap:16px}.today-main-column,.today-side-column{display:grid;min-width:0;gap:16px;align-content:start}.today-timeline,.today-finance-card,.today-operational-card{min-width:0;padding:22px}.today-finance-card{align-self:start;padding:18px;background:color-mix(in srgb,var(--surface-2) 28%,var(--surface));box-shadow:none}.today-operational-card{display:grid;min-height:240px;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;padding:0;border-color:color-mix(in srgb,var(--navy) 28%,var(--line))}.today-operational-card.live{border-color:var(--accent)}.today-operational-main{min-height:172px;padding:18px 22px 20px;background:var(--surface)}.today-operational-card.empty .today-operational-main{background:var(--surface)}.today-operational-main>.section-heading{min-height:31px}.today-operational-card h2{display:flex;align-items:center;gap:7px;margin:0;font-size:21px}.today-operational-card.next h2{font-size:17px}.today-operational-card h2 .today-operational-icon{width:18px;height:18px}.today-operational-summary{display:grid;margin-top:10px}.today-focus{min-width:0}.today-person{display:flex;min-width:0;align-items:center;gap:10px}.today-person>div{min-width:0}.today-focus .avatar.today-avatar{width:40px;height:40px;flex-basis:40px}.today-focus-content{min-width:0}.today-focus-title,.today-focus-subject,.today-focus-detail{display:block}.today-focus-title{overflow:hidden;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.today-focus-subject{margin-top:4px;color:var(--muted);font-size:13px}.today-focus-line{display:grid;grid-template-columns:minmax(0,1fr) 104px 196px;align-items:center;gap:14px}.today-focus-action{display:flex;width:196px;min-width:196px;align-items:center;justify-content:flex-end}.today-focus-action .btn{width:100%;white-space:nowrap}.today-focus-content,.today-focus-status,.today-focus-action{align-self:center}.today-focus-detail{display:grid;width:104px;justify-self:end;gap:1px;color:var(--muted);font-size:11px}.today-focus-detail.empty{min-height:20px}.today-focus-detail strong{color:var(--ink);font-size:20px;line-height:1.05;white-space:nowrap}.today-live-status{display:flex;align-items:center;gap:6px;margin-bottom:2px;color:var(--accent);font-size:11px;font-weight:750}.today-live-status i{width:7px;height:7px;border-radius:50%;background:var(--accent)}.today-operational-footer{display:grid;min-height:62px;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 36%,var(--surface))}.today-next-row,.today-free-row{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;min-width:0;gap:10px;padding:13px 18px;color:var(--ink);text-align:left}.today-next-row{border:0;background:transparent}.today-operational-footer>:not(:first-child){border-left:1px solid var(--line)}.today-operational-footer>:only-child{grid-column:1 / -1}.today-next-row>span,.today-free-row>span{display:grid;min-width:0;gap:2px}.today-next-row strong,.today-next-row small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-next-row small{color:var(--muted);font-size:12px}.today-next-row:hover strong,.today-next-row:focus-visible strong{color:var(--accent)}.today-operational-icon{width:21px;height:21px;color:var(--navy)}.today-free-row{margin:0;border:0;color:var(--muted);font-size:12px}.today-free-row small{color:var(--muted);font-size:12px}.today-free-row strong{color:var(--ink);font-size:14px;font-variant-numeric:tabular-nums}.today-empty-message{color:var(--muted);font-size:14px}.today-unmarked-panel{display:flex;min-width:0;min-height:240px;flex-direction:column;padding:18px;border-color:color-mix(in srgb,var(--warning) 52%,var(--line))}.today-unmarked-panel .section-heading{min-height:26px;margin-bottom:10px}.today-unmarked-panel h2{margin:0;font-size:17px}.today-unmarked-panel h2 span{display:inline-grid;min-width:22px;min-height:22px;place-items:center;margin-left:5px;border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:12px;vertical-align:2px}.today-unmarked-subtitle{margin:3px 0 0!important;color:var(--ink)!important;font-size:12px!important}.today-unmarked-panel>div{min-width:0}.today-unmarked-content-zone{min-width:0}.today-unmarked-actions-zone{display:grid;margin-top:auto}.today-unmarked-divider{border-top:1px solid var(--line)}.today-unmarked-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.today-unmarked-item{display:grid;grid-template-columns:minmax(0,1fr) 96px;min-width:0;min-height:72px;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.today-unmarked-item:last-child{border-bottom:0}.today-unmarked-content{display:grid;min-width:0;align-content:center;gap:3px}.today-unmarked-title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.today-unmarked-open{display:inline-flex;width:max-content;max-width:100%;min-width:0;min-height:36px;align-items:center;border:0;border-radius:12px;padding:6px 0;background:transparent;color:var(--muted);font-size:13px;font-weight:700;text-align:left;text-decoration:underline;cursor:pointer}.today-unmarked-open:hover{background:transparent}.today-unmarked-details{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-unmarked-details{color:var(--muted);font-size:13px}.today-unmarked-complete{width:96px;justify-self:end}.today-unmarked-more{align-self:start;justify-self:start;margin-top:10px}.today-marked-panel{border-color:color-mix(in srgb,var(--success) 42%,var(--line));background:color-mix(in srgb,var(--success-soft) 38%,var(--surface))}.today-marked-content{display:flex;flex:1;align-items:center;gap:10px;padding:8px 0}.today-marked-content>span{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:50%;background:var(--success-soft);color:var(--success);font-weight:800}.today-marked-content strong{display:block;font-size:14px}.today-marked-panel p{margin:0;color:var(--muted);font-size:13px}.today-plan-error{margin-bottom:16px}.today-lesson-list{position:relative;display:grid;gap:10px;margin:20px 0 0;padding:0;list-style:none}.today-timeline-wrap{position:relative;min-width:0}.today-lesson{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;min-width:0;overflow:visible;border:1px solid var(--line);border-left:5px solid var(--subject);border-radius:16px;background:var(--surface);cursor:pointer}.today-lesson:focus-within{z-index:5}.today-lesson.live{background:color-mix(in srgb,var(--soft) 48%,var(--surface))}.today-lesson.cancelled{border-left-color:var(--muted)}.today-lesson.conducted,.today-lesson.cancelled{background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}.today-lesson-main{min-width:0;display:grid;grid-template-columns:112px 34px minmax(0,1fr);gap:12px;align-items:center;border:0;padding:16px 14px;background:transparent;color:var(--ink);text-align:left}.today-lesson-main strong,.today-lesson-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-lesson-main small{margin-top:4px;color:var(--muted);font-size:12px}.today-lesson-time{display:grid;gap:2px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}.today-lesson-time strong{font-size:15px;font-weight:650;line-height:1.1}.today-lesson-time small{margin-top:0;color:var(--muted);font-size:11px;font-weight:500;line-height:1.2}.avatar.today-avatar{width:34px;height:34px;flex-basis:34px;font-size:11px}.avatar.today-avatar .avatar-emoji{font-size:20px}.today-group-pill{display:inline-block;margin-left:7px;padding:2px 6px;border-radius:999px;background:var(--soft);color:var(--accent);font-size:10px;font-weight:750;line-height:1.25;vertical-align:middle}.today-status{flex:0 0 auto;border-radius:999px;padding:5px 8px;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:750;white-space:nowrap}.today-status.live{background:var(--soft);color:var(--accent)}.today-status.unmarked{background:var(--warning-soft);color:var(--warning)}.today-status.conducted{background:var(--success-soft);color:var(--success)}.today-status.cancelled{background:var(--surface-2);color:var(--muted)}.today-lesson-meta{display:flex;min-width:0;min-height:44px;align-items:center;align-self:center;gap:8px;padding:10px 12px 10px 0}.today-complete{white-space:nowrap}.today-lesson-overflow{position:relative;flex:0 0 auto}.btn.today-lesson-overflow-trigger{width:36px;min-height:36px;border:0;border-radius:10px;padding:0;background:transparent;color:var(--muted);box-shadow:none;font-size:19px;line-height:1}.btn.today-lesson-overflow-trigger:hover:not(:disabled),.btn.today-lesson-overflow-trigger:focus-visible{transform:none;border:0;background:var(--surface-2);color:var(--ink);box-shadow:none}.btn.today-lesson-overflow-trigger:disabled{border:0}.today-lesson-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:10;display:grid;min-width:170px;gap:2px;padding:6px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:0 18px 40px #0003}.today-lesson-menu-item{min-height:44px;border:0;border-radius:10px;padding:10px 12px;background:transparent;color:var(--ink);text-align:left;font-size:13px;font-weight:650}.today-lesson-menu-item:hover:not(:disabled),.today-lesson-menu-item:focus-visible{background:var(--surface-2)}.today-lesson-menu-item.danger{color:var(--danger)}.today-now-marker{position:absolute;z-index:2;top:-7px;right:0;left:0;border-top:2px solid var(--accent);pointer-events:none;list-style:none}.today-now-marker.after{position:relative;top:auto;margin-top:8px}.today-now-marker span{position:absolute;top:-12px;left:-2px;padding-right:7px;background:var(--surface);color:var(--accent);font-size:10px;font-weight:800}.today-finance-card>.section-heading{align-items:center;gap:10px}.today-finance-card>.section-heading .btn{flex:0 0 auto;white-space:nowrap}.today-finance-card h2{margin:0;font-size:17px}.today-finance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 0}.today-finance-summary>div{min-width:0}.today-finance-summary dt{color:var(--muted);font-size:12px}.today-finance-summary dd{margin:4px 0 0;font-size:18px;font-weight:750}.today-finance-empty{margin:14px 0 0;color:var(--muted);font-size:12px}.today-plan-complete{color:var(--success);font-weight:650}.today-schedule-link{min-height:44px;display:inline-flex;align-items:center;margin:-4px 0;color:var(--accent);font-size:13px;font-weight:700;text-align:right}.today-inline-retry{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--warning) 42%,var(--line));border-radius:14px;background:var(--warning-soft);color:var(--warning);font-size:13px}.today-skeleton{display:grid;align-content:center;gap:10px;min-height:112px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.today-skeleton i{display:block;height:12px;border-radius:999px;background:linear-gradient(90deg,var(--surface-2),var(--surface),var(--surface-2));background-size:200% 100%;animation:today-skeleton 1.3s linear infinite}.today-skeleton i:nth-child(1){width:36%}.today-skeleton i:nth-child(2){width:72%;height:20px}.today-skeleton i:nth-child(3){width:54%}.today-timeline>.today-skeleton,.today-finance-card>.today-skeleton{border:0;background:transparent}.today-plan-skeleton{min-height:298px;margin-top:20px}.today-operational-skeleton,.today-unmarked-skeleton{min-height:192px}@keyframes today-skeleton{to{background-position:-200% 0}}.finance-kpis,.analytics-kpis{display:grid;gap:12px;margin-bottom:16px}.finance-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.analytics-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.finance-kpi,.analytics-kpi{min-width:0;padding:18px}.finance-kpi small,.analytics-kpi small{display:block;color:var(--muted);font-size:11px}.finance-kpi strong,.analytics-kpi strong{display:block;margin-top:8px;overflow-wrap:anywhere;font-size:21px}.finance-kpi em{display:block;margin-top:5px;color:var(--muted);font-size:11px;font-style:normal}.finance-kpi.tone-success strong,.analytics-kpi.tone-success strong{color:var(--success)}.finance-kpi.tone-danger strong,.analytics-kpi.tone-danger strong{color:var(--danger)}.finance-card{overflow:hidden;padding:0}.payments-page-head{align-items:flex-start}.payments-page .page-actions .btn.primary,.payment-dialog .btn.primary{border-color:var(--navy);background:var(--navy);color:#fff;box-shadow:0 10px 24px color-mix(in srgb,var(--navy) 24%,transparent)}html[data-theme=dark] .payments-page .page-actions .btn.primary:not(:disabled){color:#fff}.period-picker-row{display:flex;align-items:center;gap:7px;margin-top:18px}.period-picker{display:grid;min-width:148px;padding:8px 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.period-picker input{min-width:0;border:0;padding:0;outline:0;appearance:none;background:transparent;color:var(--ink);font-weight:750;text-transform:capitalize}.period-picker input::-webkit-calendar-picker-indicator{display:none}.finance-toolbar{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line)}.segmented-primary{border-color:color-mix(in srgb,var(--accent) 20%,var(--line))}.segmented-primary .segment{min-height:40px;padding-inline:16px}.finance-list-controls{display:flex;align-items:center;gap:8px}.payment-search{position:relative;width:min(220px,100%)}.payment-search .input{min-height:40px;padding-block:7px}.payment-search-results{position:absolute;z-index:12;top:calc(100% + 6px);right:0;left:0;display:grid;max-height:240px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 18px 40px #00000029}.payment-search-results>button{display:flex;align-items:center;gap:9px;border:0;border-radius:10px;padding:7px 10px;background:transparent;color:var(--ink);text-align:left}.avatar.payment-search-avatar{width:28px;height:28px;flex-basis:28px;font-size:10px}.avatar.payment-search-avatar .avatar-emoji{font-size:17px}.payment-search-results>button:hover,.payment-search-results>button:focus-visible,.payment-search-results>button[aria-selected=true]{background:var(--surface-2)}.payment-search-message{margin:0;padding:10px;color:var(--muted);font-size:13px}.sort-select{width:184px}.sort-select .select{min-height:40px;padding-block:7px}.finance-subtoolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 18px;border-bottom:1px solid var(--line);background:var(--surface)}.finance-subtoolbar .segment{min-height:36px}.selection-summary{padding:12px 18px 0;color:var(--muted);font-size:12px}.table-scroll{width:100%;overflow-x:auto}.table-scroll-hint{display:none}.data-table{width:100%;min-width:760px;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.data-table th{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.data-table td>small,.data-table td>strong{display:block}.data-table td>small{margin-top:4px;color:var(--muted);font-size:11px}.data-table tr:last-child td{border-bottom:0}.table-actions{white-space:nowrap}.table-actions .btn{margin-right:5px}.payment-student{display:flex;align-items:center;gap:8px;min-width:0}.payment-student>span:last-child{min-width:0}.payment-student strong,.payment-student small{display:block}.payment-student small{margin-top:4px;color:var(--muted);font-size:11px}.payment-attendance{display:inline-flex;align-items:center;width:fit-content;margin-top:5px;padding:3px 7px;border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:11px;font-weight:750}.payment-attendance:before{content:"•";margin-right:4px}.payment-row-absent td:first-child{box-shadow:inset 3px 0 0 var(--warning)}.avatar.payment-avatar{width:28px;height:28px;flex-basis:28px;font-size:10px}.avatar.payment-avatar .avatar-emoji{font-size:17px}.payment-student-large .avatar.payment-avatar{width:36px;height:36px;flex-basis:36px;font-size:12px}.payment-student-large .avatar.payment-avatar .avatar-emoji{font-size:21px}.table-link{border:0;padding:4px 0;background:transparent;color:var(--muted);font-size:13px;font-weight:650}.table-link:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.payment-lesson-link{display:flex;margin:0;color:var(--ink);font-size:inherit;font-weight:inherit;text-align:left;cursor:pointer}.payment-lesson strong,.payment-lesson small{display:block}.payment-subject{display:flex;align-items:center;gap:7px;width:fit-content;max-width:100%;padding:5px 8px;border:1px solid color-mix(in srgb,var(--subject) 28%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--subject) 9%,var(--surface))}.payment-subject-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--subject);box-shadow:0 0 0 3px color-mix(in srgb,var(--subject) 14%,transparent)}.payment-subject strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted{color:var(--muted)}.finance-form,.payment-form{display:grid;gap:16px;margin-top:20px}.payment-dialog,.history-dialog,.payment-detail-dialog{width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}.payment-detail-dialog{width:min(460px,calc(100vw - 24px))}.payment-detail-content{display:grid;gap:18px;margin-top:20px}.payment-detail-student{display:flex;align-items:center;gap:10px;font-size:18px}.avatar.payment-detail-avatar{width:36px;height:36px;flex-basis:36px}.avatar.payment-detail-avatar .avatar-emoji{font-size:21px}.payment-detail-lesson strong,.payment-detail-lesson small{display:block}.payment-detail-subject{display:flex!important;align-items:center;gap:8px;width:fit-content;color:var(--subject)}.payment-detail-lesson small{margin-top:4px;color:var(--muted)}.payment-detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:16px;border-top:1px solid var(--line)}.payment-detail-fact small,.payment-detail-fact strong{display:block}.payment-detail-fact small{color:var(--muted);font-size:11px}.payment-detail-fact strong{margin-top:5px;font-size:15px}.payment-detail-success{color:var(--success)}.payment-detail-comment{padding-top:14px;border-top:1px solid var(--line)}.payment-detail-comment small{display:block;color:var(--muted);font-size:11px}.payment-detail-comment p{margin:6px 0 0;color:var(--ink);font-size:14px}.payment-detail-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.payment-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.payment-balance-summary,.payment-impact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.payment-impact{grid-template-columns:repeat(3,minmax(0,1fr))}.payment-balance-summary span,.payment-impact span{color:var(--muted);font-size:12px}.payment-balance-summary strong,.payment-impact strong{display:block;margin-top:4px;color:var(--ink);font-size:15px}.payment-allocation-note{margin:-4px 0 0;font-size:12px}.payment-lesson-picker{display:grid;gap:8px;min-width:0;padding:0;border:0}.payment-lesson-picker legend{margin-bottom:8px;font-weight:700}.payment-lesson-option{display:grid;grid-template-columns:auto minmax(0,1fr) 120px;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);cursor:pointer}.payment-lesson-option.selected{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.payment-lesson-option span{display:grid;gap:3px;min-width:0}.payment-lesson-option small{color:var(--muted)}.payment-allocation-input{min-width:0}.payment-control-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.history-payment-list{display:grid;gap:8px;margin-top:20px}.history-payment{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:64px;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;background:var(--surface)}.history-payment-allocated{border-color:color-mix(in srgb,var(--success) 24%,var(--line));border-left-color:var(--success);background:color-mix(in srgb,var(--success) 7%,var(--surface))}.history-payment-balance{border-color:color-mix(in srgb,var(--warning) 28%,var(--line));border-left-color:var(--warning);background:var(--warning-soft)}.history-payment strong,.history-payment small{display:block}.history-payment small{margin-top:4px;color:var(--muted);font-size:11px}.history-payment-amount{color:var(--success);font-weight:750;text-align:right;white-space:nowrap}.history-payment-amount small{color:var(--muted);font-weight:500}.history-scope{margin:6px 0 0;font-size:13px}.balance-cell{font-weight:700}.analytics-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:16px}.analytics-chart-card,.analytics-subjects-card{min-width:0;padding:22px}.analytics-chart-card>.section-heading strong{color:var(--success);font-size:20px}.bar-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(28px,1fr));align-items:end;gap:8px;min-height:260px;margin-top:24px;padding-top:25px;border-bottom:1px solid var(--line)}.bar-column{min-width:0;display:grid;grid-template-rows:18px 190px 30px;align-items:end;gap:6px;text-align:center}.bar-value{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.bar-track{display:flex;align-items:end;height:190px;border-radius:9px 9px 0 0;background:var(--surface-2)}.bar-track i{display:block;width:100%;min-height:2px;border-radius:8px 8px 0 0;background:var(--accent)}.bar-column small{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.analytics-data-table{margin-top:20px;overflow-x:auto}.analytics-data-table table{width:100%;border-collapse:collapse;font-size:12px}.analytics-data-table th,.analytics-data-table td{padding:7px;border-top:1px solid var(--line);text-align:left}.analytics-data-table th{color:var(--muted);font-size:10px;text-transform:uppercase}.donut-layout{display:grid;justify-items:center;gap:24px;margin-top:25px}.donut{width:min(240px,70vw);aspect-ratio:1;border-radius:50%;position:relative}.donut:after{position:absolute;inset:26%;content:"";border-radius:50%;background:var(--surface)}.donut-legend{width:100%;display:grid;gap:10px}.donut-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:13px}.donut-row .dot{width:10px;height:10px}.analytics-kpi span{display:block;margin-top:6px;color:var(--muted);font-size:11px}.charge-decision-control{grid-column:1 / -1}@media(max-width:900px){.today-workspace,.analytics-grid{grid-template-columns:1fr}.today-main-column,.today-side-column{display:contents}.today-operational-card,.today-operational-skeleton,.today-plan-error{order:1}.today-unmarked-panel,.today-unmarked-skeleton{order:2}.today-timeline{order:3}.today-finance-card{order:4}}@media(max-width:760px){.payment-lesson-option{grid-template-columns:auto minmax(0,1fr)}.payment-allocation-input{grid-column:2}.finance-kpis,.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.today-timeline,.today-finance-card,.today-unmarked-panel,.analytics-chart-card,.analytics-subjects-card{padding:18px}.finance-toolbar{align-items:stretch;flex-direction:column}.finance-toolbar .segmented{width:100%}.finance-toolbar .segment{flex:1}.today-page .page-head{margin-bottom:16px}.today-page .page-actions{display:grid;grid-template-columns:1fr;width:100%;margin-top:12px}.today-page .page-actions .btn.primary{width:100%}.today-page .page-actions{margin-top:8px}.today-workspace{gap:8px}.today-operational-card{min-height:326px;margin:0}.today-operational-main{min-height:202px;padding:16px 18px}.today-operational-card h2{margin:0;font-size:18px}.today-operational-summary{grid-template-columns:1fr;margin-top:3px}.today-focus-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:17px;line-height:1.15;text-overflow:clip;white-space:normal}.today-focus .today-person{align-items:flex-start;gap:8px}.today-focus .avatar.today-avatar{width:30px;height:30px;flex-basis:30px}.today-focus-subject{margin-top:3px;font-size:12px;white-space:nowrap}.today-focus-detail{font-size:11px}.today-focus-line{grid-template-columns:minmax(0,1fr);gap:8px}.today-focus-detail{width:auto;min-height:0;justify-self:start}.today-focus-action{display:grid;width:100%;min-width:0;gap:6px}.today-focus-action .btn{width:100%;min-height:44px}.today-operational-footer{grid-template-columns:1fr}.today-operational-footer>:not(:first-child){border-top:1px solid var(--line);border-left:0}.today-next-row,.today-free-row{padding:11px 18px}.today-next-row small{font-size:11px}.today-free-row{gap:8px;margin-top:10px;padding-top:10px;font-size:12px}.today-free-row strong{font-size:12px}.today-unmarked-panel{gap:8px}.today-unmarked-panel>div>span{white-space:nowrap}.today-unmarked-panel .btn{min-height:44px}.today-timeline .section-heading{flex-direction:row;align-items:center;gap:8px}.today-timeline .section-heading p{font-size:12px}.today-lesson-list{margin-top:12px}.today-lesson{grid-template-columns:minmax(0,1fr) auto}.today-lesson-main{grid-template-columns:72px 34px minmax(0,1fr);gap:8px;padding:12px 10px}.today-lesson-main strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}.today-lesson.unmarked{grid-template-columns:1fr}.today-lesson.unmarked .today-lesson-meta{grid-column:1 / -1;justify-content:space-between;min-height:44px;padding:8px 10px;border-top:1px solid var(--line)}.today-lesson:not(.unmarked) .today-lesson-meta{padding:8px 10px 8px 0}.today-status{align-self:center}.today-complete{min-height:44px}.today-finance-summary{grid-template-columns:1fr;gap:10px}.today-finance-summary>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.today-finance-summary dd{margin-top:0;text-align:right}.bar-chart{gap:4px}.bar-value{font-size:8px}.bar-column small{font-size:9px}}@media(max-width:420px){.finance-kpis,.analytics-kpis{gap:8px}.finance-kpi,.analytics-kpi{padding:13px}.finance-kpi strong,.analytics-kpi strong{font-size:17px}.payment-dialog,.history-dialog,.payment-detail-dialog{width:calc(100vw - 12px);padding:20px}.payment-detail-facts{grid-template-columns:1fr;gap:10px}}@media(max-width:760px){.payments-page-head{display:block}.payments-page-head .page-actions{margin-top:14px}.payments-page-head .page-actions .btn{width:100%}.period-picker-row{margin-top:14px}.period-picker{flex:1}.finance-toolbar{align-items:stretch}.finance-view-control,.finance-list-controls{width:100%}.finance-list-controls{align-items:stretch}.payments-page .table-scroll{overflow:visible}.payments-page .table-scroll-hint{display:none}.payments-page .data-table{min-width:0;border-collapse:separate}.payments-page .data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);white-space:nowrap}.payments-page .data-table tbody{display:grid;gap:10px;padding:12px}.payments-page .data-table tr{display:grid;gap:10px 12px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.payments-page .data-table td{min-width:0;padding:0;border:0}.payments-page .data-table td:before{display:block;margin-bottom:3px;color:var(--muted);font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.04em}.payment-lessons-table tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"student status" "date amount" "lesson lesson" "action action"}.payment-lessons-table td:nth-child(1){grid-area:date;color:var(--muted);font-size:12px}.payment-lessons-table td:nth-child(2){grid-area:student}.payment-lessons-table td:nth-child(3){grid-area:lesson}.payment-lessons-table td:nth-child(4){grid-area:amount;text-align:right}.payment-lessons-table td:nth-child(4):before{content:"Начислено"}.payment-lessons-table td:nth-child(5){grid-area:status;text-align:right}.payment-lessons-table td:nth-child(6){grid-area:action}.payment-lessons-table .table-actions .btn,.payment-lessons-table .table-actions .table-link{width:100%;min-height:44px}.payment-students-table tr{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"student student" "charged received" "debt balance" "action action"}.payment-students-table td:nth-child(1){grid-area:student;padding-bottom:4px}.payment-students-table td:nth-child(2){grid-area:charged}.payment-students-table td:nth-child(2):before{content:"Начислено"}.payment-students-table td:nth-child(3){grid-area:received}.payment-students-table td:nth-child(3):before{content:"Получено"}.payment-students-table td:nth-child(4){grid-area:debt}.payment-students-table td:nth-child(4):before{content:"Долг"}.payment-students-table td:nth-child(5){grid-area:balance}.payment-students-table td:nth-child(5):before{content:"Баланс"}.payment-students-table td:nth-child(6){grid-area:action;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.payment-students-table .table-actions .btn{width:100%;margin:0}.payment-search,.sort-select{flex:1;width:auto}.finance-subtoolbar{align-items:stretch;flex-direction:column}.finance-subtoolbar .segmented{width:100%}.finance-subtoolbar .segment{flex:1}.payment-fields-row,.payment-impact{grid-template-columns:1fr}}@media(max-width:420px){.finance-list-controls{flex-direction:column}.payment-search,.sort-select{width:100%}.period-picker{min-width:0}}
