@font-face{font-family:Manrope;src:url(/fonts/manrope.ttf)format("truetype");font-weight:200 800;font-style:normal;font-display:swap}:root{color:#292c39;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--purple:#6256d8;--purple-dark:#5146c5;--purple-soft:#eeebfc;--muted:#858590;--line:#eaeae7;--green:#337b64;--red:#bd5d66;--sidebar:238px;background:#f7f7f4;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;font-size:13px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled,fieldset:disabled button{opacity:.5;cursor:not-allowed}button,input,select,textarea,a{outline-color:var(--purple);outline-offset:3px}button:focus-visible,a:focus-visible{outline:3px solid #c8c1f7}button{background:0 0;border:0}h1,h2,h3,p{margin:0}h1{letter-spacing:-.9px;font-size:29px;font-weight:750;line-height:1.35}h2{letter-spacing:-.25px;font-size:16px;font-weight:750;line-height:1.5}h3{font-size:14px;font-weight:700;line-height:1.5}p{margin:10px 0 16px;line-height:1.8}small{font-size:11px}svg{vertical-align:middle;flex-shrink:0}fieldset{border:0;min-width:0;margin:0;padding:0}input:not([type=checkbox]):not([type=color]),select,textarea{color:#292c39;background:#fff;border:1px solid #e0e0e5;border-radius:9px;width:100%;min-height:42px;padding:10px 12px;transition:border-color .15s,box-shadow .15s;display:block}input:hover,select:hover,textarea:hover{border-color:#bcb9cd}input:focus,select:focus,textarea:focus{border-color:var(--purple);outline:none;box-shadow:0 0 0 3px #6256d811}textarea{resize:vertical;line-height:1.7}input[type=checkbox]{accent-color:var(--purple);flex-shrink:0;width:16px;height:16px}input[type=color]{border:1px solid var(--line);background:#fff;border-radius:9px;width:52px;min-height:41px;padding:5px}input::placeholder,textarea::placeholder{color:#aaa9b2}select{cursor:pointer}hr{border:0;border-top:1px solid var(--line)}details{border:1px solid var(--line);border-radius:10px;margin:14px 0;padding:12px 14px}summary{cursor:pointer;font-size:12px;font-weight:650}details[open] summary{margin-bottom:16px}.row{align-items:center;display:flex}.between{justify-content:space-between}.gap{gap:10px}.wrap{flex-wrap:wrap}.mt{margin-top:24px}.mb{margin-bottom:24px}.full{width:100%}.small-text{font-size:12px}.pre-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.nowrap{white-space:nowrap}.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.button{white-space:nowrap;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 15px;font-size:12px;font-weight:650;line-height:1.5;transition:background .15s,transform .15s,box-shadow .15s;display:inline-flex}.button.primary{background:var(--purple);color:#fff;box-shadow:0 3px 7px #6256d815}.button.primary:hover:not(:disabled){background:var(--purple-dark);box-shadow:0 4px 10px #6256d827}.button.secondary{background:#fff;border-color:#e2e1e7}.button.secondary:hover:not(:disabled){background:#f6f5fb;border-color:#c8c2e8}.button.ghost{color:#74717f;background:0 0;min-height:34px;padding:8px 10px}.button.ghost:hover:not(:disabled){color:var(--purple);background:#f1eff8}.button.danger{color:var(--red);background:#f8e9ec}.icon-button{color:#777883;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;position:relative}.icon-button:hover{color:var(--purple);background:#efedf6}.text-link,.link-button{color:var(--purple);align-items:center;gap:6px;font-size:12px;font-weight:650;display:inline-flex}.text-link:hover,.link-button:hover{color:var(--purple-dark);text-decoration:underline}.badge{white-space:nowrap;color:#7465c9;background:#f0edfc;border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-size:10px;font-weight:650;display:inline-flex}.badge.success{color:#4f8b71;background:#eaf4ed}.badge.danger{color:#bb6d73;background:#fbecef}.badge.neutral{color:#8a8a94;background:#f1f1f2}.avatar{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:750;display:inline-flex}.avatar.large{border-radius:17px;width:53px;height:53px;font-size:18px}.logo{color:var(--purple);align-items:center;gap:10px;display:flex}.logo>span{letter-spacing:-1.8px;color:#302e44;font-size:30px;font-weight:800;line-height:1}.logo-dot{color:var(--purple)}.logo.small svg{width:28px;height:28px}.logo.small>span{font-size:26px}.eyebrow{color:#96939f;letter-spacing:1.1px;text-transform:uppercase;margin-bottom:9px;font-size:10px;font-weight:700}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar);border-right:1px solid var(--line);z-index:30;background:#fdfdfb;flex-direction:column;padding:32px 18px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand-link{margin:0 0 33px;padding-left:14px;display:block}.workspace-switch{background:#fafaf8;border:1px solid #eeedf0;border-radius:11px;align-items:center;gap:9px;margin-bottom:25px;padding:12px 10px;display:flex;overflow:hidden}.workspace-mark{color:#7c6abc;background:#e9e5f7;border-radius:8px;justify-content:center;align-items:center;width:29px;height:29px;font-weight:750;display:flex}.workspace-switch>div{min-width:0;overflow:hidden}.workspace-switch small{color:#92919c;font-size:9px;display:block}.workspace-switch strong{white-space:nowrap;text-overflow:ellipsis;font-size:10px;display:block;overflow:hidden}.workspace-switch select{background:0 0;border:0;max-width:135px;min-height:0;padding:0;font-size:11px}.nav-label{text-transform:uppercase;letter-spacing:1.5px;color:#b2b0ba;margin-bottom:12px;padding-left:14px;font-size:8px;font-weight:700}.sidebar nav{flex-direction:column;gap:5px;display:flex}.sidebar nav a,.sidebar-bottom>a,.sidebar-bottom>button{color:#83828d;text-align:left;border-radius:9px;align-items:center;gap:12px;width:100%;min-height:43px;padding:11px 14px;font-size:11px;font-weight:600;display:flex}.sidebar nav a svg,.sidebar-bottom svg{stroke-width:1.65px}.sidebar nav a:hover,.sidebar-bottom>a:hover,.sidebar-bottom>button:hover{color:var(--purple);background:#f5f3fb}.sidebar nav a.active,.sidebar-bottom>a.active{color:var(--purple);background:#efecfb;font-weight:750}.sidebar-bottom{margin-top:auto;padding-top:30px}.sidebar-note{color:#acaab5;border-top:1px solid var(--line);align-items:center;gap:7px;margin-top:20px;padding:18px 14px 0;font-size:9px;display:flex}.live-dot{background:#89b697;border-radius:50%;width:5px;height:5px}.main-shell{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--line);background:#fdfdfb;flex-shrink:0;justify-content:space-between;align-items:center;height:74px;padding:0 38px;display:flex}.topbar-label{color:#a3a0ac;letter-spacing:.2px;font-size:10px}.topbar-right{align-items:center;gap:13px;display:flex}.topbar-divider{background:var(--line);width:1px;height:23px;margin:0 4px}.user-menu{align-items:center;gap:9px;display:flex}.user-menu strong{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:10px;display:block;overflow:hidden}.user-menu small{color:#aaa7b2;font-size:8px;display:block}.user-menu .avatar{border-radius:50%;width:31px;height:31px;font-size:10px}.notification-dot{background:#bf8c78;border:1.5px solid #fdfdfb;border-radius:50%;width:5px;height:5px;position:absolute;top:5px;right:8px}.mobile-menu{display:none}.page-content{flex:1;width:100%;max-width:1500px;margin:0 auto;padding:34px 38px 42px}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:27px;display:flex}.page-heading p{color:#9a97a2;margin:8px 0 0;font-size:11px}.page-heading .eyebrow{letter-spacing:.8px;margin-bottom:9px;font-size:9px}.heading-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.app-footer{color:#b0adb6;border-top:1px solid var(--line);justify-content:space-between;padding:18px 38px;font-size:8px;display:flex}.panel{border:1px solid var(--line);background:#fff;border-radius:15px;padding:23px;overflow:hidden;box-shadow:0 3px 4px #27222c01}.panel-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px;display:flex}.panel-heading h2{font-size:13px}.panel-heading .text-link{font-size:10px}.panel-heading .button{font-size:11px}.panel>p:first-of-type{margin-top:0}.panel-note{color:#9b98a4;align-items:center;gap:8px;margin:10px 0;font-size:11px;display:flex}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:24px 0;display:grid}.stats-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{border:1px solid var(--line);background:#fff;border-radius:13px;min-height:131px;padding:18px 20px}.stat-top{color:#96929f;justify-content:space-between;align-items:center;gap:8px;font-size:9px;font-weight:600;display:flex}.stat-top svg{color:#b8b2c8;stroke-width:1.5px;width:16px;height:16px}.stat>strong{letter-spacing:-.7px;font-variant-numeric:tabular-nums;margin:10px 0 4px;font-size:25px;font-weight:750;display:block}.stat>small{color:#aaa5b2;font-size:8px;display:block}.stat>small a{color:#9c91bd}.stat.lavender{background:#efedfc;border-color:#e7e2fa}.stat.mint{background:#edf4ee;border-color:#e3ede5}.stat.rose{background:#fbf1ef;border-color:#f2e6e3}.welcome-strip{background:#eeedf3;border:1px solid #e4e1eb;border-radius:15px;justify-content:space-between;align-items:center;gap:15px;min-height:164px;padding:25px 29px;display:flex;position:relative;overflow:hidden}.welcome-strip .eyebrow{color:#9890af;letter-spacing:1.2px;font-size:8px}.welcome-strip h2{letter-spacing:-.6px;font-size:24px;font-weight:700}.welcome-strip p{color:#a29aad;margin:8px 0 14px;font-size:10px}.welcome-strip .text-link{font-size:10px}.rhythm-art{justify-content:center;align-items:center;gap:8px;width:280px;height:135px;margin-right:20px;display:flex;position:relative;transform:rotate(-8deg)}.rhythm-art span{background:#c6bad8;border:1px solid #b6adc88c;border-radius:14px;width:17px;height:52px;transform:rotate(18deg)}.rhythm-art span:nth-child(2){background:#c8c5e9;height:78px}.rhythm-art span:nth-child(3){background:#9383bf;height:102px}.rhythm-art span:nth-child(4){background:#bdb7d8;height:122px}.rhythm-art span:nth-child(5){background:#c7c1d9;height:93px}.rhythm-art span:nth-child(6){background:#9b9fb1;height:65px}.rhythm-art span:nth-child(7){background:#b8c6b7;height:95px}.rhythm-art span:nth-child(8){background:#d5c3b9;height:47px}.rhythm-art i{border:1px solid #d7d0e1;border-radius:50%;position:absolute;inset:-20px -5px;transform:rotate(20deg)}.rhythm-art b{color:#9a8fb0;background:#ffffffd9;border:1px solid #e2dfec;border-radius:20px;padding:6px 13px;font-size:8px;font-weight:600;position:absolute;bottom:8px;right:-24px;transform:rotate(8deg)}.dashboard-columns{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:23px;display:grid}.dashboard-side{flex-direction:column;gap:20px;display:flex}.day-plan-row{text-align:left;border-bottom:1px solid #f2f1f4;align-items:center;gap:17px;width:100%;padding:18px 0;display:flex}.day-plan-row:last-child{border-bottom:0}.plan-time{font-variant-numeric:tabular-nums;flex-shrink:0;width:40px}.plan-time strong{font-size:12px;font-weight:700;display:block}.plan-time small{color:#b2aeb8;font-size:9px;display:block}.plan-line{opacity:.7;border-radius:4px;flex-shrink:0;width:3px;height:43px}.plan-info{flex:1;min-width:0}.plan-info h3{font-size:11px}.plan-info p{color:#a39daa;margin:3px 0;font-size:9px}.plan-info small{color:#b4aeba;font-size:8px}.plan-status{color:#aaa3bc;justify-content:center;align-items:center;width:28px;display:flex}.plan-status.completed{color:#82a18a;border:1px solid #e0ede4;border-radius:50%;width:23px;height:23px}.day-plan-row.cancelled{opacity:.5}.day-plan-row:hover .plan-info h3{color:var(--purple)}.focus-item{align-items:center;gap:11px;margin:19px 0;display:flex}.focus-item:last-child{margin-bottom:0}.focus-icon{color:#9686c4;background:#f0edfa;border-radius:11px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.focus-icon.peach{color:#c49881;background:#fbefea}.focus-icon.mint{color:#8ca18a;background:#eef3ed}.focus-item strong{font-size:9px;font-weight:650;display:block}.focus-item a{color:#aaa2b9;align-items:center;gap:5px;margin-top:3px;font-size:8px;display:flex}.quiet-card{background:#f1f1eb;border:1px solid #e7e8e0;border-radius:14px;padding:22px 24px;position:relative;overflow:hidden}.quiet-card .eyebrow{letter-spacing:1px;color:#aca99a;font-size:7px}.quiet-card p{color:#8d8e80;margin:12px 0 5px;font-size:13px;line-height:1.8}.quiet-card em{color:#a4a394;font-style:normal}.quiet-line{border:1px solid #dcded1;border-radius:50%;width:110px;height:110px;position:absolute;bottom:-50px;right:-40px;box-shadow:0 0 0 12px #e8eadd77,0 0 0 24px #e8eadd44}.student-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.student-shortcuts a{align-items:center;gap:10px;display:flex}.student-shortcuts strong{font-size:10px;display:block}.student-shortcuts small{color:#aaa4b0;font-size:8px;display:block}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:210px;padding:35px 15px;display:flex}.empty-icon{color:#ada1d2;background:#f3f0fc;border-radius:20px;justify-content:center;align-items:center;width:59px;height:59px;margin-bottom:15px;display:flex}.empty-state h3{font-size:14px}.empty-state p{color:#a49daa;max-width:320px;margin:9px auto 18px;font-size:11px}.empty-state>.button{margin-top:8px}.loading{color:#aaa1bc;justify-content:center;align-items:center;gap:12px;padding:55px;font-size:12px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-notice{color:#af5d69;overflow-wrap:anywhere;background:#fcf0f1;border:1px solid #f2dfe3;border-radius:9px;align-items:flex-start;gap:9px;margin:15px 0;padding:12px 14px;font-size:12px;display:flex}.success-notice{color:#548363;background:#eef5ef;border-radius:9px;gap:9px;margin:15px 0;padding:12px 14px;font-size:12px;display:flex}.modal{color:#292c39;border:1px solid #eae7ef;border-radius:18px;width:min(560px,100% - 32px);max-height:calc(100dvh - 48px);padding:0;box-shadow:0 30px 90px #24202e2b}.modal.wide{width:min(760px,100% - 32px)}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#302b4666}.modal-body{padding:27px}.modal header{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:23px;display:flex}.modal header h2{font-size:20px}.modal header p{color:#aaa1b1;margin:7px 0 0;font-size:11px}.modal footer{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:9px;margin-top:23px;padding-top:19px;display:flex}.modal footer>.ghost:first-child{margin-right:auto}.modal p{overflow-wrap:anywhere}.field>label{color:#76727f;margin-bottom:6px;font-size:11px;font-weight:650;display:block}.field small{color:#aaa2b3;margin-top:5px;font-size:10px;line-height:1.6;display:block}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 17px;display:grid}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.check-row{align-items:center;gap:9px;margin:16px 0;font-size:11px;line-height:1.6;display:flex}.check-row input{margin:0}.note-box{background:#f8f7fb;border:1px solid #efedf4;border-radius:10px;margin:16px 0;padding:14px 17px}.note-box small{color:#a399b4;font-size:10px}.note-box p{margin:6px 0 0;font-size:12px}.note-box h3{font-size:12px}.student-picker{border:1px solid var(--line);border-radius:10px;max-height:190px;padding:7px;overflow-y:auto}.student-picker label{cursor:pointer;border-radius:6px;align-items:center;gap:9px;padding:7px;font-size:11px;display:flex}.student-picker label:hover{background:#f6f4fc}.student-picker small{color:#b2aaba;margin-left:auto;font-size:10px}.color-dot{background:#aaa0d2;border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.repeat-box{background:#f8f7fc;border:1px solid #eeebf6;border-radius:10px;margin-bottom:18px;padding:17px}.weekday-picker{gap:7px;margin-bottom:17px;display:flex}.weekday-picker label{text-align:center;cursor:pointer;flex:1}.weekday-picker input{opacity:0;position:absolute}.weekday-picker span{color:#9a90aa;background:#fff;border:1px solid #e6e1f0;border-radius:7px;padding:8px;font-size:11px;display:block}.weekday-picker input:checked+span{background:var(--purple);border-color:var(--purple);color:#fff}.weekday-picker input:focus-visible+span{outline:3px solid #c7bceb}.preview-list{max-height:370px;overflow:auto}.preview-list .row{border-bottom:1px solid var(--line);padding:10px 0}.lesson-students{margin:20px 0}.lesson-students .row{padding:9px 0}.participant-edit{border-bottom:1px solid var(--line);margin:15px 0}.participant-edit>strong{margin-bottom:10px;display:block}.calendar-toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.calendar-toolbar strong{letter-spacing:-.2px;font-size:13px}.segmented{border:1px solid var(--line);background:#efefec;border-radius:8px;padding:3px;display:flex}.segmented button{color:#96909f;border-radius:6px;align-items:center;gap:6px;padding:6px 9px;font-size:10px;display:flex}.segmented button.active{color:#655a8f;background:#fff;box-shadow:0 1px 4px #30283c0a}.timezone-label{color:#a19ba9;align-items:center;gap:5px;font-size:9px;display:inline-flex}.calendar-scroll{border:1px solid var(--line);background:#fff;border-radius:14px;max-height:78vh;overflow:auto}.calendar-grid{min-width:850px}.calendar-days{border-bottom:1px solid var(--line);z-index:8;background:#fff;grid-template-columns:59px repeat(7,minmax(0,1fr));height:77px;display:grid;position:sticky;top:0}.calendar-gutter{color:#b6afbe;justify-content:center;align-items:flex-end;padding-bottom:10px;font-size:8px;display:flex}.calendar-day{border-left:1px solid #f2f0f5;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.calendar-day span{text-transform:uppercase;letter-spacing:.6px;color:#aba3b5;font-size:9px}.calendar-day strong{color:#797184;border-radius:50%;justify-content:center;align-items:center;width:31px;height:31px;font-size:18px;font-weight:650;display:flex}.calendar-day.is-today strong{background:var(--purple);color:#fff}.calendar-day.is-today span{color:var(--purple)}.calendar-body{grid-template-columns:59px repeat(7,minmax(0,1fr));display:grid}.calendar-hours{position:relative}.calendar-hours>div{color:#b0a8b9;font-size:9px;position:absolute;right:10px;transform:translateY(4px)}.calendar-column{border-left:1px solid #efedf3;position:relative}.calendar-column.is-today{background:#faf9fe}.calendar-slot{border-bottom:1px solid #efedf3;width:100%;display:block;position:absolute;left:0;right:0}.calendar-slot:hover{background:#f2effb}.calendar-event{text-align:left;background:color-mix(in srgb, var(--event-color) 11%, white);color:color-mix(in srgb, var(--event-color) 80%, #252335);border-left:3px solid var(--event-color);z-index:3;border-radius:6px;padding:6px 7px;line-height:1.5;position:absolute;left:4px;right:4px;overflow:hidden}.calendar-event:hover{z-index:4;box-shadow:0 3px 10px #4a355220}.calendar-event strong{margin:2px 0;font-size:10px;line-height:1.5;display:block}.calendar-event small{opacity:.65;font-size:8px}.event-time{opacity:.8;justify-content:space-between;align-items:center;gap:2px;font-size:8px;display:flex}.calendar-event.cancelled{opacity:.4;background:#f4f3f5;border-color:#c4bfcb;text-decoration:line-through}.calendar-event.completed{color:#7d9886;background:#eef5ef;border-color:#93b29f}.event-check{position:absolute;bottom:4px;right:5px}.calendar-external{color:#9c93a7;z-index:2;background:repeating-linear-gradient(135deg,#eeedf1,#eeedf1 5px,#f7f6f9 5px 10px);border-left:3px solid #bab2c7;border-radius:5px;padding:6px;font-size:8px;position:absolute;left:4px;right:4px;overflow:hidden}.calendar-external strong{font-size:10px;display:block}.calendar-footer{color:#aaa1b4;align-items:center;gap:19px;padding:14px 2px;font-size:9px;display:flex}.calendar-footer>span{align-items:center;gap:6px;display:flex}.calendar-footer>span:last-child{margin-left:auto}.agenda-list{gap:20px;display:grid}.agenda-list section{border:1px solid var(--line);background:#fff;border-radius:12px;padding:19px}.agenda-list h3{margin-bottom:12px;font-size:12px}.agenda-lesson{text-align:left;border-bottom:1px solid #f1eef5;align-items:center;gap:15px;width:100%;padding:12px 0;display:flex}.agenda-lesson>span:first-child{width:42px;font-size:12px}.agenda-lesson small{color:#aaa1b5;font-size:9px;display:block}.agenda-lesson>div{flex:1}.agenda-lesson strong{font-size:12px}.agenda-lesson.cancelled{opacity:.4}.free-day{color:#b4aabf;align-items:center;gap:7px;padding:10px 0;font-size:10px;display:flex}.search-field{border:1px solid var(--line);color:#b3aaba;background:#fff;border-radius:9px;align-items:center;gap:10px;min-width:260px;padding:0 12px;display:flex}.search-field input:not([type=checkbox]){min-height:39px;box-shadow:none;border:0;padding:8px 0;font-size:11px}.filter-pill{color:#aaa1b6;border-radius:7px;align-items:center;gap:7px;padding:7px 13px;font-size:11px;display:inline-flex}.filter-pill.active{color:var(--purple);background:#ede8fa}.filter-pill span{background:#ffffff75;border-radius:3px;padding:0 5px;font-size:9px}.student-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;display:grid}.student-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:23px;transition:box-shadow .15s,border-color .15s}.student-card:hover{border-color:#d5cde9;box-shadow:0 5px 20px #34254007}.student-card h2{margin:18px 0 5px;font-size:14px}.student-card p{color:#aaa2b2;margin:0 0 22px;font-size:10px}.student-card-bottom{border-top:1px solid #f0edf4;justify-content:space-between;gap:8px;padding-top:17px;font-size:13px;font-weight:650;display:flex}.student-card-bottom span:last-child{text-align:right}.student-card-bottom small{color:#b2a9bc;margin-top:4px;font-size:8px;font-weight:500;display:block}.group-list{flex-wrap:wrap;gap:17px;display:flex}.group-row{border:1px solid var(--line);text-align:left;border-radius:10px;align-items:center;gap:12px;min-width:250px;padding:12px 17px;display:flex}.group-row strong{font-size:11px;display:block}.group-row small{color:#b4aabd;font-size:9px;display:block}.group-row .badge{margin-left:10px}.back-link{color:#a69baf;align-items:center;gap:7px;margin-bottom:23px;font-size:11px;display:inline-flex}.student-profile{align-items:center;gap:18px;display:flex}.student-profile h1{font-size:25px}.student-profile p{color:#aaa0b4;margin:5px 0 0;font-size:11px}.student-profile .heading-actions{margin-left:auto}.tabs{border-bottom:1px solid #e8e4ec;gap:25px;margin:25px 0;display:flex;overflow-x:auto}.tabs>button{white-space:nowrap;color:#a49aac;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:0 0 13px;font-size:11px;display:flex}.tabs>button.active{color:var(--purple);border-bottom-color:var(--purple);font-weight:700}.tabs .count{color:#9a87c4;background:#eee8fa;border-radius:5px;padding:0 5px;font-size:9px}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px;display:grid}.contact-list{grid-template-columns:140px 1fr;gap:13px 15px;margin:10px 0 22px;font-size:11px;display:grid}.contact-list dt{color:#aaa0b4}.contact-list dd{overflow-wrap:anywhere;margin:0}.copy-box{gap:7px;margin-top:17px;display:flex}.copy-box input{color:#a59ab3;font-size:10px}.list-row{text-align:left;border-bottom:1px solid #f1eef4;justify-content:space-between;align-items:center;gap:13px;width:100%;padding:14px 0;display:flex}.list-row:last-child{border-bottom:0}.list-row>div:first-child,.list-row-main{text-align:left;flex:1;min-width:0}.list-row strong{font-size:11px}.list-row small{color:#aaa0b5;margin-top:4px;font-size:9px;display:block}.list-row-main strong,.list-row-main small{display:block}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px}th{color:#aaa1b4;text-align:left;border-bottom:1px solid #eae5ef;padding:13px 10px;font-size:9px;font-weight:600}td{border-bottom:1px solid #f3eff6;padding:15px 10px}tr:last-child td{border-bottom:0}.reversed-entry td{opacity:.45}.reversed-entry td:nth-child(4){text-decoration:line-through}.files h3{color:#8b7a9d;align-items:center;gap:7px;font-size:12px;display:flex}.upload-button{cursor:pointer;min-height:33px;padding:6px 10px;font-size:10px}.file-list{margin-top:10px}.file-row{color:#a291b2;border-bottom:1px solid #f1edf5;align-items:center;gap:10px;padding:10px 0;display:flex}.file-row>div{flex:1;min-width:0}.file-row a,.file-row>div>span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.file-row small{color:#b6a8c4;font-size:8px;display:block}.assignment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.assignment-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:14px;padding:23px}.assignment-card:hover{border-color:#d5cae9}.assignment-icon{color:#a592c8;background:#f1ebfb;border-radius:10px;padding:9px}.assignment-card h2{margin:17px 0 10px;font-size:14px}.assignment-card p{color:#aaa0b3;-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:50px;font-size:10px;display:-webkit-box;overflow:hidden}.assignment-card .row>span,.assignment-card .row>small{color:#aa9cb9;font-size:9px}.assignment-progress{background:#f0ebf6;border-radius:4px;height:4px;margin:15px 0 7px;overflow:hidden}.assignment-progress span{background:#a891cc;height:100%;display:block}.assignment-card>small{font-size:8px}.assignment-content{margin:25px 0}.goal-progress{align-items:center;gap:9px;display:flex}.goal-progress>div{background:#f0ebf7;border-radius:4px;width:70px;height:5px;overflow:hidden}.goal-progress span{background:#a48cc8;height:100%;display:block}.kanban{align-items:flex-start;gap:20px;min-height:60vh;padding-bottom:20px;display:flex;overflow-x:auto}.kanban-column{background:#f0efec;border:1px solid #e9e5e8;border-radius:12px;flex:1;min-width:260px;padding:14px}.kanban-heading{justify-content:space-between;align-items:center;padding-bottom:13px;display:flex}.kanban-heading h2{align-items:center;gap:7px;font-size:11px;display:flex}.kanban-heading h2 small{color:#b2a3bd;font-size:9px;font-weight:500}.kanban-cards{flex-direction:column;gap:12px;display:flex}.task-card{cursor:grab;background:#fff;border:1px solid #e9e2ee;border-radius:10px;padding:15px}.task-card:active{cursor:grabbing}.task-main{text-align:left;width:100%;padding:0;display:block}.task-color{opacity:.65;border-radius:2px;width:26px;height:3px;margin-bottom:11px;display:block}.task-main h3{font-size:12px}.task-main p{color:#ad9eb9;white-space:pre-wrap;max-height:100px;margin:8px 0 10px;font-size:10px;overflow:hidden}.task-main>small{color:#b4a5c0;align-items:center;gap:5px;font-size:9px;display:flex}.task-move{color:#aa96be;background:#faf7fd;border-color:#eee8f4;min-height:25px;margin-top:13px;padding:4px 6px;font-size:9px}.add-task{color:#aa98bb;justify-content:center;align-items:center;gap:7px;width:100%;padding:15px 0 4px;font-size:10px;display:flex}.report-period{align-items:center;gap:17px;margin-bottom:25px;display:flex}.report-period label{color:#a798b6;align-items:center;gap:8px;font-size:10px;display:flex}.report-period input{width:145px!important}.report-bar{margin:19px 0}.report-bar .row{margin-bottom:8px;font-size:11px}.report-bar>div:last-child{background:#f1ecf7;border-radius:5px;height:8px;overflow:hidden}.report-bar span.scheduled{background:#ae99cf}.report-bar span.completed{background:#a1bea9}.report-bar span.cancelled{background:#d6b2b3}.report-bar>div>span{height:100%;display:block}.export-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0;display:grid}.export-options>div{border:1px solid #e9e2ef;border-radius:12px;padding:21px}.export-options svg{color:#a38dbd}.export-options h3{margin-top:13px;font-size:12px}.export-options p{color:#b09fbe;min-height:45px;font-size:10px}.export-options .button{font-size:10px}.info-note{color:#aa97bb;border:1px solid #e8e0ef;border-radius:12px;align-items:flex-start;gap:13px;margin-top:23px;padding:20px;display:flex}.info-note p{margin:0;font-size:10px}.setup-note{color:#ad9677;background:#faf6ee;border-radius:10px;margin-top:22px;padding:16px;font-size:11px}.setup-note p{margin:7px 0 9px}.setup-note a{text-decoration:underline}.conflict-card{border-bottom:1px solid var(--line);padding:18px 0}.conflict-card p{color:#aa98b9;font-size:11px}.conflict-card small{color:#b5a2c3}.upload-progress{color:#a08bb7;align-items:center;gap:8px;font-size:11px;display:flex}.import-preview{background:#f6faf6;border:1px solid #d9e9dc;border-radius:12px;margin-top:23px;padding:20px}.import-preview h3{color:#779780}.import-preview p{font-size:11px}.preview-counts{flex-wrap:wrap;gap:8px;margin:15px 0;display:flex}.preview-counts span{background:#edf2eb;border-radius:5px;padding:5px 9px;font-size:10px}.booking-card{border-bottom:1px solid var(--line);padding:20px 0}.booking-card:first-of-type{padding-top:0}.booking-card p{margin:9px 0 5px;font-size:11px}.booking-card small{color:#aa9ab9;font-size:9px}.portal-lesson{border-bottom:1px solid var(--line);padding:20px 0}.portal-lesson p{font-size:11px}.portal-lesson h3{font-size:13px}.notice-row{border-bottom:1px solid var(--line);margin:0 -12px;padding:17px 12px}.notice-row.unread{background:#faf7fe}.notice-row strong{font-size:12px;display:block}.notice-row small{color:#b39ec4;font-size:9px}.notice-row p{margin:8px 0;font-size:11px}.help-copy h3{margin-top:20px}.help-copy p{color:#9b8caa;font-size:12px}.public-page{background:#f7f6f2;min-height:100vh}.public-page>header{border-bottom:1px solid var(--line);background:#fffdfb;justify-content:space-between;align-items:center;height:85px;padding:0 max(25px,50vw - 475px);display:flex}.public-page>header>span{color:#aaa0b4;font-size:10px}.public-page>main{max-width:950px;margin:0 auto;padding:40px 24px}.public-heading{margin-bottom:35px}.public-heading h1{font-size:35px}.public-heading p{color:#a091ad;font-size:12px}.public-page>footer{text-align:center;color:#b2a4be;padding:25px;font-size:10px}.slot-day{margin:25px 0}.slot-day h3{text-transform:capitalize;margin-bottom:13px;font-size:12px}.slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.slot-grid button{text-align:left;background:#fcfaff;border:1px solid #e5dbee;border-radius:9px;padding:11px}.slot-grid button:hover{background:#f3ecfb;border-color:#b6a0cd}.slot-grid strong{font-size:11px;display:block}.slot-grid span{color:#ae98bd;font-size:9px}.booking-status{text-align:center;padding:35px 10px}.booking-status>svg{color:#86a58b;margin-bottom:20px}.booking-status h1{font-size:26px}.booking-status p{color:#a092ab;max-width:450px;margin:15px auto}.booking-status .text-link{justify-content:center;margin-top:25px;display:flex}.auth-page{grid-template-columns:43% 57%;min-height:100vh;display:grid}.auth-story{color:#f4f1e9;background:#343d36;flex-direction:column;min-height:100vh;padding:48px 55px;display:flex;position:relative;overflow:hidden}.auth-story .logo{color:#c2d2bc}.auth-story .logo>span{color:#f3f0e8}.auth-story .logo-dot{color:#b3c4a8}.auth-story .logo svg path{stroke:#343d36}.auth-story-content{z-index:1;margin:auto 0;padding:65px 0;position:relative}.auth-story .eyebrow{color:#94a18f;letter-spacing:1.7px;font-size:9px}.auth-story h1{letter-spacing:-1.6px;margin:24px 0;font-size:clamp(35px,3.7vw,56px);font-weight:600;line-height:1.25}.auth-story h1 em{color:#a9bca0;font-style:normal}.auth-story p{color:#a2ada0;font-size:13px;line-height:1.9}.auth-benefits{flex-direction:column;gap:18px;margin-top:40px;display:flex}.auth-benefits span{color:#b9c3b6;align-items:center;gap:13px;font-size:11px;display:flex}.auth-benefits svg{color:#839a7d;stroke-width:1.5px}.auth-story>small{color:#7d8c78;font-size:9px}.orbit{border:1px solid #53644c55;border-radius:50%;width:430px;height:430px;position:absolute;bottom:-160px;right:-290px;box-shadow:0 0 0 30px #53644c22,0 0 0 60px #53644c11}.orbit-two{opacity:.3;width:260px;height:260px;inset:30% auto auto -190px}.auth-main{background:#faf9f6;flex-direction:column;justify-content:center;align-items:center;padding:50px 35px 30px;display:flex}.auth-card{width:min(360px,100%);margin:auto 0}.auth-card>.logo{margin-bottom:30px;display:none}.auth-card .eyebrow{color:#b5a8bf;margin-bottom:14px;font-size:8px}.auth-card h1{font-size:29px;font-weight:700}.auth-card>p{color:#a99bb5;margin:13px 0 28px;font-size:11px}.auth-card .field{margin-bottom:20px}.auth-card .field>label{color:#8f7f9e;font-size:11px}.auth-card .button.full{justify-content:space-between;margin-top:8px;padding:13px 17px}.auth-links{text-align:center;margin-top:22px}.auth-links button{color:#a18ab6;padding:0;font-size:10px}.auth-links p{color:#b7a6c2;margin:20px 0;font-size:10px}.auth-links p button{color:var(--purple);font-weight:650}.auth-privacy{color:#c0b3c9;text-align:center;margin-top:35px;font-size:8px;display:block}.auth-footer{color:#c0b5c9;margin-top:50px;font-size:8px}.boot{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.nav-backdrop{display:none}@media (min-width:1500px){.page-content{padding-top:42px}.topbar{padding-left:45px;padding-right:45px}}@media (max-width:1200px){:root{--sidebar:210px}.sidebar{padding-left:13px;padding-right:13px}.page-content{padding:30px 25px}.topbar{padding:0 25px}.stats-grid{gap:12px}.stat{padding:16px}.stat>strong{font-size:22px}.dashboard-columns{grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);gap:17px}.student-grid,.assignment-grid,.student-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.rhythm-art{width:210px;margin-right:0}.calendar-toolbar{flex-wrap:wrap}.calendar-toolbar>.row:last-child{margin-left:auto}.export-options{gap:10px}.export-options>div{padding:16px}}@media (max-width:950px){.sidebar{width:238px;transition:transform .2s;transform:translate(-100%)}.nav-open .sidebar{transform:translate(0)}.nav-open .nav-backdrop{z-index:29;background:#30253b55;display:block;position:fixed;inset:0}.main-shell{width:100%;margin-left:0}.mobile-menu{display:inline-flex}.topbar{height:64px}.topbar-label{font-size:9px}.page-content{padding:25px}.auth-story{padding:35px}.auth-story h1{font-size:36px}.auth-story .eyebrow{font-size:8px}.auth-main{padding:40px 30px}.two-columns{gap:17px}}@media (max-width:700px){body{font-size:13px}.page-content{padding:24px 17px 32px}.page-heading{flex-wrap:wrap;align-items:flex-start;gap:15px;margin-bottom:23px}.page-heading h1{font-size:25px}.page-heading p{font-size:10px}.heading-actions{flex-wrap:wrap}.page-heading .heading-actions{width:100%}.page-heading .heading-actions .button{flex:1}.topbar{padding:0 14px}.topbar-label{display:none}.topbar-right{gap:8px}.user-menu strong{max-width:130px;font-size:10px}.topbar-divider{margin:0}.stats-grid,.stats-grid.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:20px 0}.stat{min-height:119px;padding:14px}.stat>strong{font-size:23px}.stat-top{font-size:9px}.stat>small{font-size:8px}.dashboard-columns,.two-columns{grid-template-columns:1fr}.welcome-strip{min-height:156px;padding:22px}.welcome-strip h2{font-size:22px}.welcome-strip p{max-width:220px}.rhythm-art{opacity:.65;gap:5px;width:120px;margin-right:-60px}.rhythm-art span{flex-shrink:0;width:12px}.rhythm-art b{display:none}.dashboard-side{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.quiet-card{display:none}.panel{border-radius:12px;padding:20px}.panel-heading{margin-bottom:13px}.student-grid,.assignment-grid{grid-template-columns:1fr;gap:13px}.student-card{padding:20px}.student-card h2{margin-top:14px}.student-card p{margin-bottom:17px}.student-shortcuts{grid-template-columns:1fr;gap:16px}.student-profile{flex-wrap:wrap;align-items:flex-start;gap:13px}.student-profile h1{font-size:22px}.student-profile .heading-actions{width:100%;margin-top:7px}.student-profile .heading-actions .button{flex:1}.tabs{gap:22px}.tabs>button{font-size:10px}.contact-list{grid-template-columns:110px 1fr;gap:13px 10px}.search-field{min-width:100%}.calendar-toolbar{gap:14px}.calendar-toolbar .row.gap{gap:6px}.calendar-toolbar strong{font-size:11px}.calendar-toolbar .timezone-label{font-size:8px}.calendar-toolbar>.row:last-child{justify-content:space-between;width:100%}.calendar-scroll{max-height:70vh}.calendar-grid{min-width:810px}.calendar-footer{gap:12px;font-size:8px}.modal{border-radius:15px;width:calc(100% - 20px);max-height:calc(100dvh - 24px)}.modal.wide{width:calc(100% - 20px)}.modal-body{padding:20px}.modal header h2{font-size:19px}.modal footer{flex-wrap:wrap}.modal footer .button{flex:1}.modal footer .button.ghost{flex:auto}.form-grid{gap:0 12px}.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three .field:last-child{grid-column:span 2}.field>label{font-size:11px}.field small{font-size:9px}.export-options{grid-template-columns:1fr}.export-options>div{grid-template-columns:30px 1fr;align-items:center;column-gap:10px;padding:18px;display:grid}.export-options>div>svg{grid-row:span 2}.export-options h3{margin-top:0}.export-options p{min-height:0;margin:5px 0 12px}.export-options .button{grid-column:span 2}.list-row{flex-wrap:wrap;gap:10px}.list-row strong{font-size:11px}.list-row .button{min-height:32px;padding:6px 9px;font-size:10px}.kanban-column{flex:0 0 280px}.report-period{flex-wrap:wrap}.public-page>main{padding:28px 16px}.public-page>header{height:70px;padding:0 20px}.public-heading h1{font-size:28px}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-page{flex-direction:column;display:flex}.auth-story{display:none}.auth-main{min-height:100vh;padding:40px 30px 25px}.auth-card>.logo{display:flex}.auth-card h1{font-size:28px}.auth-card .eyebrow{margin-top:40px}.auth-card .field>label{font-size:12px}.auth-card .field input{min-height:46px}.auth-card>p,.auth-links button,.auth-links p{font-size:12px}.app-footer{padding:17px;font-size:8px}.app-footer span:last-child{display:none}.goal-progress>div{width:50px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}:root{--purple:#2e80e7;--purple-dark:#1768cc;--purple-soft:#e9f3ff;--muted:#606b78;--line:#d7e3ef;--red:#bf3248;--green:#13724c;color:#1c2834;background:#cfdee3;font-family:Arial,Segoe UI,sans-serif}body{font-size:13px;line-height:1.45}h1{letter-spacing:0;font-size:21px}h2{letter-spacing:0;font-size:16px}h3{font-size:14px}small,.small-text{font-size:12px}.eyebrow,.page-title .eyebrow{display:none}.button{border-radius:2px;gap:6px;min-height:32px;padding:6px 13px;font-size:13px}.button.secondary{color:#102940;background:#91c3fb;border:1px solid #8ab6eb}.button.primary{background:#2d80eb}.button.ghost{padding:4px 8px}.icon-button{border-radius:2px;width:32px;height:32px}.badge{border-radius:3px;padding:3px 7px;font-size:11px}.avatar,.avatar.large{flex:0 0 32px;width:32px;height:32px;font-size:14px}.field{margin-bottom:11px}.field label{color:#263c50;font-size:12px}input:not([type=checkbox]):not([type=color]),select,textarea{color:#24384b;background:#fff;border-color:#a8c8e8;border-radius:1px;min-height:33px;padding:7px 9px;font-size:13px}input[type=color]{border:1px solid #a8c8e8;height:33px;padding:2px}input[type=checkbox]{accent-color:#2c7fe7}textarea{line-height:1.45}.text-link,.link-button{color:#216ec9}.text-danger{color:#bd3046}.text-success{color:#167548}.muted{color:#626e7a}.panel{box-shadow:none;background:#fff;border:1px solid #e0e7ee;border-radius:2px;padding:16px}.panel-heading{margin-bottom:12px;padding-bottom:8px}.form-grid{gap:12px}.two-columns{gap:16px}.tabs{border:0;gap:4px;margin:15px 0;overflow-x:auto}.tabs button{white-space:nowrap;color:#163550;background:#87bbf3;border:0;border-radius:0;padding:7px 16px;font-size:13px}.tabs button.active{color:#fff;background:#2e80e7}.page-heading,.page-title{margin-bottom:16px}.page-heading p,.page-title p{margin-top:5px;font-size:12px}.stats-grid{gap:12px;margin-bottom:16px}.stat{box-shadow:none;background:#e4f0ff;border:0;border-radius:2px;padding:16px}.stat>strong{font-size:27px}.stat small{font-size:12px}.list-row{padding:10px 0}.list-row small{font-size:12px}.compact-shell{min-height:100vh;padding:14px 18px;display:block}.workspace-header{background:#fff;border-radius:3px;max-width:1700px;margin:0 auto 20px;padding:12px 22px}.workspace-header-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;display:flex}.logo{color:#2f83e9;font-size:28px}.logo svg{width:32px;height:32px}.workspace-nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px 10px;display:flex}.workspace-nav a{white-space:nowrap;border-radius:1px;align-items:center;gap:5px;padding:6px 9px;font-size:13px;font-weight:600;display:flex}.workspace-nav a:hover{background:#e6f1ff}.workspace-nav a.active{color:#102c49;background:#86bbf8}.account-name{font-size:13px}.workspace-select{max-width:280px;margin-top:10px}.unread-count{color:#fff;background:#2159a4;border-radius:3px;min-width:18px;padding:0 4px}.compact-shell .page-content{max-width:1700px;min-height:70vh;margin:0 auto;padding:0}.compact-shell .page-content>:not(.compact-planner):not(.planner-toolbar):not(.planner-summary):not(.planner-legend):not(.inline-editor):not(.finance-summary):not(.finance-columns){scroll-margin-top:12px}.page-content>form,.student-page-heading{background:#fff;padding:18px}.planner-toolbar{justify-content:space-between;align-items:center;gap:12px;margin:8px 0;display:flex}.segmented{min-width:220px;display:flex}.segmented button{background:#93c4fb;flex:1;padding:7px 20px;font-weight:600}.segmented button.active{color:#fff;background:#2e80e7}.planner-navigation{align-items:center;gap:6px;display:flex}.planner-navigation input{width:145px}.planner-summary{background:#fff;border:1px solid #8eb8e4;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 22px;margin:0 0 6px;padding:7px 12px;font-size:12px;display:flex}.planner-summary small{margin-left:auto}.planner-legend{justify-content:center;align-items:center;gap:10px;margin:8px 0;font-size:12px;display:flex}.planner-legend>a{align-items:center;gap:5px;margin-left:auto;display:flex}.legend-chip{background:#fff;border-radius:0;padding:3px 15px}.cancelled{background:#fbcfd1}.extra{background:#c6f0da}.moved{background:#ffdcaa}.completed{background:#dce9ff}.compact-planner{grid-template-columns:repeat(7,minmax(0,1fr));align-items:start;gap:6px;min-width:0;display:grid}.planner-day{min-width:0}.planner-day>header{text-align:center;background:#eef3f7;border:1px solid #8db4df;flex-direction:column;align-items:center;gap:3px;min-height:59px;padding:8px 3px;display:flex}.planner-day>header strong{text-transform:capitalize;font-size:13px}.planner-day>header small{color:#326db9;font-size:11px}.planner-day.today>header{background:#c3dfff;border-color:#337ed7}.add-in-day{background:#fff;border:1px solid #9cc1e8;border-top:0;justify-content:center;align-items:center;width:100%;min-height:27px;margin:0 0 4px;display:flex}.add-in-day:hover{background:#eaf4ff}.compact-lesson{background:#fff;border:1px solid #a9c5e0;min-width:0}.compact-lesson.cancelled{background:#ffd6d6}.compact-lesson.extra{background:#d4f4e1}.compact-lesson.moved{background:#ffe0b2}.compact-lesson.completed{background:#e7f0ff}.lesson-open{text-align:left;align-items:center;gap:9px;width:100%;min-height:65px;padding:7px 5px;display:flex}.lesson-clock{color:#2971ce;flex-direction:column;flex:0 0 38px;font-size:13px;line-height:1.3;display:flex}.lesson-clock>span{font-weight:400}.lesson-label{flex-direction:column;gap:3px;min-width:0;display:flex}.lesson-label strong{overflow-wrap:anywhere;font-size:13px;font-weight:600;line-height:1.25}.lesson-label small{color:#485c6e;overflow-wrap:anywhere;font-size:11px;line-height:1.3}.lesson-direct-actions{background:#ffffff70;border-top:1px solid #c3d9ee;flex-wrap:wrap;justify-content:center;gap:1px;padding:2px;display:flex}.lesson-direct-actions button{color:#235e9a;align-items:center;gap:2px;padding:4px 3px;font-size:10px;display:flex}.lesson-direct-actions button:hover{background:#cfe6ff}.lesson-gap{text-align:center;background:#93c5fb;min-height:21px;padding:3px;font-size:11px}.day-empty{text-align:center;color:#526d80;padding:17px 0;font-size:11px}.external-busy{background:#e8eef3;border:1px dashed #7297b5;flex-direction:column;gap:3px;margin-top:5px;padding:7px;font-size:12px;display:flex}.external-busy small,.external-busy>span{color:#586e80;font-size:10px}.compact-planner.month{align-items:stretch;gap:4px}.month .planner-day{background:#eaf1f5;border:1px solid #adcae4;min-height:155px}.month .planner-day>header{min-height:43px;padding:4px}.month .planner-day.outside-month{opacity:.6}.month .lesson-clock{flex-basis:31px;font-size:11px}.month .lesson-open{gap:5px;min-height:45px;padding:4px}.month .lesson-label strong{font-size:11px}.month .lesson-label small,.month .lesson-direct-actions{display:none}.month .add-in-day{min-height:20px}.more-lessons{padding:5px;font-size:11px}.schedule-series{text-align:left;background:#fff;border:1px solid #a9c5e0;flex-direction:column;gap:4px;width:100%;margin-bottom:6px;padding:10px 7px;display:flex}.schedule-series>b{color:#2971ce}.schedule-series>span,.schedule-series>small{font-size:11px}.schedule-series:hover{background:#eff7ff}.inline-editor{background:#fff;border:1px solid #a7c5e5;width:100%;max-width:none;margin:18px 0;padding:18px;scroll-margin-top:15px}.editor-heading{border-bottom:1px solid #dce7f1;justify-content:space-between;gap:15px;margin-bottom:16px;padding-bottom:10px;display:flex}.editor-heading h2{outline:none}.editor-heading p{color:#576b7c;margin-top:4px;font-size:12px}.inline-editor footer{border-top:1px solid #dce7f1;flex-wrap:wrap;justify-content:flex-start;gap:9px;margin-top:12px;padding-top:16px;display:flex}.inline-editor form>fieldset{margin:0;padding:0}.inline-editor .preview-list{max-height:340px;overflow:auto}.student-grid{background:#fff;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:18px;display:grid}.student-card{min-height:64px;box-shadow:none;background:#fff;border:1px solid #e0e7ef;border-radius:0;align-items:center;gap:11px;padding:10px;display:flex}.student-card>div{flex-direction:column;gap:3px;min-width:0;display:flex}.student-card strong{font-size:13px;font-weight:600}.student-card small{font-size:11px}.student-card:hover{box-shadow:none;background:#f5faff;border-color:#6faff5;transform:none}.student-edit-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.edit-block{background:#edf5ff;min-width:0;padding:16px}.edit-block>h3{margin-bottom:14px;font-weight:600}.notes-block{margin-top:14px}.student-page-heading{align-items:center;gap:20px;padding:14px 18px;display:flex}.student-page-heading .back-link{margin:0 auto 0 0;font-size:15px;font-weight:600}.student-page-heading>.button{font-size:12px}.sticky-save{background:#fff;align-items:center;gap:14px;padding:15px 0 0;display:flex;position:sticky;bottom:0}.sticky-save .button{min-width:220px}.balance-filters{gap:8px;margin-bottom:14px;display:flex}.balance-filters input{flex:1;min-width:0}.finance-summary{background:#fff;flex-wrap:wrap;align-items:center;gap:15px;margin-bottom:18px;padding:18px;display:flex}.finance-summary h1{margin-right:auto}.balance-total{padding:8px 14px;font-weight:600}.balance-total.advance{background:#c9f1df}.balance-total.debt{background:#ffd0d5}.finance-columns{grid-template-columns:minmax(280px,.8fr) minmax(0,1.5fr);gap:18px;display:grid}.balance-grid{background:#c7defa;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:5px;display:grid}.balance-grid article{background:#fff;border:1px solid #0000;position:relative}.balance-grid article.selected{border-color:#2d7ee0}.balance-person{text-align:center;flex-direction:column;align-items:center;gap:5px;width:100%;padding:13px 20px 13px 8px;display:flex}.balance-person strong,.balance-person span{font-size:12px}.quick-payment{color:#286fc3;padding:3px;position:absolute;bottom:4px;right:1px}.receipt-list{max-height:480px;overflow:auto}.receipt-row{text-align:left;border:1px solid #c6d9ee;justify-content:space-between;align-items:center;gap:10px;width:100%;margin-bottom:4px;padding:8px;display:flex}.receipt-row>span{flex-direction:column;gap:3px;display:flex}.receipt-row small{color:#3879c7;font-size:11px}.receipt-row strong{font-size:12px}.receipt-row>b{color:#2a6bba;font-size:13px}.receipt-row:hover{background:#edf6ff}.receipt-row.reversed-entry{opacity:.65}.receipt-row.reversed-entry>b{text-decoration:line-through}@media (min-width:1800px){.compact-shell{padding-left:30px;padding-right:30px}.lesson-direct-actions button{font-size:11px}}@media (max-width:1100px){.compact-shell{padding:10px}.workspace-header{padding:12px}.workspace-nav{gap:4px}.workspace-nav a{padding:6px;font-size:12px}.student-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.student-edit-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.student-edit-columns>section:last-child{grid-column:1/-1}.balance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-direct-actions button{font-size:10px}.planner-toolbar{flex-wrap:wrap}.planner-day>header strong{font-size:11px}.lesson-label strong{font-size:12px}.lesson-label small{font-size:10px}.planner-legend{flex-wrap:wrap;gap:5px}}@media (max-width:760px){.workspace-header-top{gap:6px}.workspace-header-top .button{padding:5px 7px;font-size:11px}.account-name{display:none}.workspace-nav{flex-wrap:nowrap;justify-content:flex-start;padding-bottom:3px;overflow:auto}.workspace-nav a{flex:none;font-size:12px}.workspace-nav a>svg{display:none}.planner-navigation{flex-wrap:wrap;order:3}.planner-navigation .button{font-size:11px}.planner-summary{justify-content:flex-start;gap:5px 12px}.planner-summary>strong{width:100%}.planner-legend>a{margin-left:0}.compact-planner.week{scroll-snap-type:x mandatory;align-items:stretch;gap:8px;padding-bottom:10px;display:flex;overflow-x:auto}.compact-planner.week>.planner-day{scroll-snap-align:start;background:#e6eff4;flex:0 0 72%;min-height:200px}.planner-day>header strong,.lesson-label strong{font-size:14px}.lesson-label small,.lesson-direct-actions button{font-size:12px}.lesson-direct-actions{justify-content:space-around}.compact-planner.month{grid-template-columns:repeat(7,minmax(105px,1fr));overflow:auto}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px}.student-card{gap:8px;padding:8px}.student-card strong{font-size:12px}.student-edit-columns,.finance-columns{grid-template-columns:1fr}.student-edit-columns>section:last-child{grid-column:auto}.student-page-heading{flex-wrap:wrap;gap:8px}.student-page-heading .back-link{width:100%}.balance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-summary{gap:10px;padding:13px}.finance-summary h1{width:100%}.inline-editor{padding:13px}.page-content>form,.edit-block{padding:12px}.balance-filters{flex-wrap:wrap}.balance-filters input{flex-basis:100%}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:420px){.student-grid{grid-template-columns:1fr}.balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-navigation input{width:135px}.compact-shell{padding:7px}}.report-controls{background:#fff;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;padding:15px;display:flex}.report-controls .field{margin:0}.report-controls .field label{display:block}.report-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.report-metric-grid article{background:#dceaff;flex-direction:column;gap:12px;min-height:145px;padding:20px 18px;display:flex}.report-metric-grid article:nth-child(3n+1){background:#acd4ff}.report-metric-grid article>strong{font-size:28px;line-height:1.15}.report-metric-grid article>span{font-size:13px}.report-metric-grid article>small{margin-top:auto;font-size:12px}@media (max-width:1100px){.report-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.report-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.report-metric-grid article{min-height:135px;padding:14px 11px}.report-metric-grid article>strong{font-size:22px}.report-controls{padding:12px}.report-controls .button{font-size:11px}}
