:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#10203e;background:#f3f6fb;font-synthesis:none;font-size:16px;font-weight:400;--blue:#2459da;--muted:#778090;--line:#dce2eb}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:#fff;border:1px solid var(--line);border-radius:10px;min-height:44px;padding:10px 18px}button:disabled{opacity:.6;cursor:wait}button:hover{background:#edf3ff}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid #739aff;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:38px;letter-spacing:-1.2px;margin-bottom:30px;line-height:1.2}h2{font-size:20px;letter-spacing:-.4px;margin-bottom:24px}h3{font-size:21px;letter-spacing:-.4px}p{line-height:1.6}svg{width:23px;height:23px;flex-shrink:0}input,select{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff;color:inherit;min-height:46px;min-width:0}label{display:grid;gap:8px}button.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.muted{color:var(--muted)}.small{font-size:14px}.app{min-height:100dvh;display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100dvh;background:#fff;border-right:1px solid var(--line);padding:34px 16px 20px;display:flex;flex-direction:column}.brand,.login-brand{display:flex;align-items:center;gap:12px;font-size:26px;font-weight:700;letter-spacing:-1px}.brand img,.login-brand img{width:42px;height:56px;object-fit:contain}.sidebar nav{display:grid;gap:8px;margin-top:45px}.sidebar nav button,.logout{display:flex;align-items:center;gap:16px;border:0;background:transparent;text-align:left;min-height:56px;font-size:18px}.sidebar nav button.active{color:#1354df;background:#edf3ff}.sidebar nav button.active svg{stroke-width:2.5}.logout{margin-top:auto;border-top:1px solid var(--line);border-radius:0;padding-top:24px}.content{padding:34px 42px 24px;max-width:1510px;width:100%;min-width:0}.content header{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:52px}.content header>span{font-size:28px;font-weight:650;letter-spacing:-.7px}.child-selector{display:flex;align-items:center;border:1px solid var(--line);background:#fff;border-radius:12px;padding:0 12px;max-width:310px}.child-selector svg{color:var(--blue)}.child-selector select{border:0;width:100%;background:transparent;font-size:18px}.panel{padding:30px;border:1px solid var(--line);background:#fff;border-radius:18px;margin-bottom:26px;min-width:0}.dashboard-top{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}.dashboard-bottom{display:grid;grid-template-columns:1fr 1fr;gap:22px}.balance{background:#205eea;color:#fff;border-color:transparent;min-height:295px}.balance h2{color:#fff}.balance-value{display:flex;gap:23px;align-items:center;margin:14px 0 25px}.balance-value>strong{font-size:110px;font-weight:500;line-height:1;letter-spacing:-5px}.balance-value h3{font-size:28px;margin-bottom:10px}.balance-value p{margin:0;font-size:18px}.balance progress{display:block;width:100%;height:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;margin-top:10px;border-radius:20px;overflow:hidden;background:#719afb}.balance progress::-webkit-progress-bar{background:#719afb}.balance progress::-webkit-progress-value{background:#fff;border-radius:20px}.balance progress::-moz-progress-bar{background:#fff}.next-lesson h3,.next-lesson p{display:flex;align-items:center;gap:16px}.next-lesson h3{margin-top:36px;line-height:1.5;font-size:24px}.next-lesson p{margin-bottom:22px;font-size:18px}.next-lesson svg{color:#1459ee}.teacher-person{display:flex;gap:22px;align-items:flex-start}.avatar{width:78px;height:78px;display:grid;place-items:center;background:#eaf0ff;color:var(--blue);border-radius:50%;font-size:34px;flex-shrink:0}.teacher-person h3{margin:7px 0 5px;overflow-wrap:anywhere}.teacher-person p{margin-bottom:20px}.outline{color:var(--blue);border-color:var(--blue);min-width:180px}.empty{display:grid;justify-items:center;text-align:center;color:#848894;padding:10px 0}.empty svg{width:62px;height:62px;background:#f5f5f5;border-radius:50%;padding:14px}.empty p{margin:16px 0 0}.queued{display:grid;gap:8px;border-top:1px solid var(--line);padding:16px 0}.content footer{font-size:14px;color:var(--muted);padding:8px 5px}.support{max-width:780px}.support a{display:flex;align-items:center;gap:22px;border-top:1px solid var(--line);padding:22px 0}.support a span{color:var(--muted)}.support a strong{display:block;color:var(--blue);font-size:22px;margin-top:6px}.profile{max-width:780px}.profile button{margin:8px 12px 0 0}dl{margin:0 0 24px}dl>div{display:grid;grid-template-columns:110px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:18px 0}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.login-page{min-height:100dvh;display:grid;justify-content:center;align-content:center;gap:28px;padding:24px}.login-brand{justify-content:center}.login{width:min(430px,calc(100vw - 48px));padding:32px}.login h1{font-size:29px;margin-bottom:14px}.login form{display:grid;gap:20px;margin:25px 0}.login-error{position:absolute;top:0;left:0;right:0;text-align:center}.error{color:#a32727;line-height:1.5}.error button{display:block;margin-top:15px}.offline{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.offline p{max-width:460px}.offline svg{width:42px;height:42px;margin-bottom:24px;color:var(--blue)}.calendar{max-width:950px}.calendar-tools{display:flex;align-items:center;justify-content:space-between;gap:14px}.calendar-tools h2{text-transform:capitalize;margin:0}.calendar-tools>div{display:flex;gap:6px}.calendar-tools button{display:grid;place-items:center;padding:10px}.calendar>.small{margin:16px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-grid .weekday{text-align:center;font-size:14px;color:var(--muted);padding:12px}.calendar-grid button{min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-color:transparent;background:#f6f8fc}.calendar-grid button.today{border-color:var(--blue)}.calendar-grid button.selected{background:var(--blue);color:#fff}.dot{width:5px;height:5px;border-radius:50%;background:currentColor}.day-lessons{margin-top:30px;border-top:1px solid var(--line);padding-top:24px}.lesson{display:flex;gap:24px;border-bottom:1px solid var(--line);padding:20px 0}.lesson>div{display:grid;align-content:start;gap:8px}.lesson-time span,.lesson-status{font-size:14px;color:var(--muted)}.status-completed{color:#247246}.status-cancelled{color:#9b4545}.teacher-dialog{width:min(520px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border:1px solid var(--line);border-radius:18px;padding:32px;color:inherit}.teacher-dialog::backdrop{background:#10203e77}.teacher-dialog h2{padding-right:36px}.close{float:right;display:grid;place-items:center;padding:8px;min-height:40px;margin:-12px -12px 12px 12px}@media(min-width:1550px){.content{margin:0 auto}.dashboard-top{grid-template-columns:1.3fr 1fr}}@media(max-width:1150px){.app{grid-template-columns:195px minmax(0,1fr)}.content{padding:30px 24px}.brand{font-size:22px}.panel{padding:24px}.balance-value>strong{font-size:86px}.balance-value h3{font-size:23px}.dashboard-top{grid-template-columns:1fr 1fr}.teacher-person{gap:14px}.avatar{width:56px;height:56px;font-size:24px}.next-lesson h3{font-size:21px}}@media(max-width:820px){.app{display:block}.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;z-index:5;width:100%;height:auto;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line)}.sidebar .brand,.sidebar .logout{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin:0}.sidebar nav button{display:flex;flex-direction:column;gap:5px;justify-content:center;padding:8px 2px;font-size:11px;min-height:54px;border-radius:9px}.sidebar nav svg{width:21px;height:21px}.content{padding:22px 18px 100px}.content header{margin-bottom:30px;gap:16px;align-items:flex-start;flex-wrap:wrap}.content header>span{font-size:24px}.child-selector{width:100%;max-width:none}.child-selector select{font-size:16px}.content h1{font-size:30px;margin-bottom:22px}.dashboard-top,.dashboard-bottom{display:block}.panel{padding:24px;margin-bottom:18px;border-radius:16px}.balance{min-height:260px}.balance-value>strong{font-size:94px}.balance-value h3{font-size:24px}.balance-value p{font-size:16px}.next-lesson h3{margin-top:24px}.next-lesson p{font-size:16px}.teacher-person h3{font-size:19px}.calendar{padding:18px 12px}.calendar-tools{flex-wrap:wrap}.calendar-tools h2{font-size:20px}.calendar-grid{gap:4px}.calendar-grid button{min-height:44px;padding:6px}.calendar-grid .weekday{padding:10px 0}.support a strong{font-size:18px}.lesson{gap:16px}.profile dl>div{grid-template-columns:1fr;gap:8px}.teacher-dialog dl>div{grid-template-columns:1fr;gap:6px}h2{font-size:19px}}@media(min-width:1200px){.app{grid-template-columns:277px minmax(0,1fr)}.sidebar{padding:40px 20px 24px}.brand{font-size:28px;gap:14px}.brand img{width:50px;height:60px}.sidebar nav{margin-top:55px;gap:10px}.sidebar nav button,.logout{font-size:21px;min-height:58px}.sidebar nav svg,.logout svg{width:27px;height:27px}.content{padding:40px 50px 28px}.content header{margin-bottom:60px;min-height:56px}.content header>span{font-size:34px}.child-selector{width:283px}.child-selector select{font-size:21px;min-height:54px}.content h1{font-size:44px;margin-bottom:34px}.panel{padding:36px;margin-bottom:32px}.panel h2{font-size:23px;margin-bottom:30px}.dashboard-top{gap:28px}.balance{min-height:354px}.balance-value{gap:30px;margin:22px 0 28px}.balance-value>strong{font-size:144px}.balance-value h3{font-size:33px}.balance-value p{font-size:21px}.balance .small{font-size:18px}.balance progress{height:18px}.next-lesson h3{font-size:28px;margin-top:42px}.next-lesson p{font-size:21px;margin-bottom:26px}.next-lesson svg{width:28px;height:28px}.dashboard-bottom{gap:24px}.dashboard-bottom .panel{min-height:300px}.teacher-person{gap:28px}.avatar{width:100px;height:100px;font-size:43px}.teacher-person h3{font-size:25px}.teacher-person p{font-size:20px}.outline{font-size:18px;min-width:220px;min-height:56px}.empty svg{width:78px;height:78px;padding:18px}.empty p{font-size:20px;margin-top:24px}.content footer{font-size:17px}}
