:root{--bg:#f9f8fb;--surface:#fff;--text:#252139;--muted:#9690a4;--line:#eeeaf3;--purple:#8d68d8;--purple-dark:#7954c7;--soft-purple:#f1eafb;--shadow:0 8px 30px #3b28580b;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}a{color:inherit;text-decoration:none}html[data-theme=dark]{--bg:#17141f;--surface:#211d2b;--text:#f4f0f7;--muted:#a9a0b4;--line:#36303f;--soft-purple:#342747;--shadow:0 8px 30px #00000026}.studio-shell{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--line);z-index:30;flex-direction:column;flex:0 0 252px;width:252px;height:100vh;min-height:100vh;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;height:92px;padding:0 27px;display:flex}.brand-icon{color:#fff;background:linear-gradient(140deg,#b893f6,#8565d6);border-radius:15px;place-items:center;width:43px;height:43px;display:grid;box-shadow:0 8px 18px #8e65dc40}.brand strong{letter-spacing:-.7px;font-size:19px;line-height:1.2;display:block}.brand small{color:var(--muted);letter-spacing:.3px;margin-top:3px;font-size:10px;display:block}.sidebar-label{color:#b1abb9;letter-spacing:1.25px;padding:32px 27px 13px;font-size:10px;font-weight:750}.side-nav{gap:5px;padding:0 13px;display:grid}.nav-item{color:#777187;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:15px;width:100%;padding:13px 15px;font-size:13px;font-weight:650;transition:all .2s;display:flex}.nav-item:hover{color:var(--purple);background:#f8f5fd}.nav-item.active{color:#7955c6;background:#f0e9fb}.nav-item i{background:#e8dcfa;border-radius:20px;margin-left:auto;padding:3px 7px;font-size:10px;font-style:normal}.sidebar-bottom{margin-top:auto;padding:18px 13px 16px}.sidebar-note{color:#8a63d6;background:linear-gradient(135deg,#f5eeff,#fff0f7);border-radius:17px;flex-direction:column;gap:8px;padding:19px 17px;display:flex}.sidebar-note strong{color:#4e3f67;font-size:12px}.sidebar-note span{color:#9b91a7;font-size:11px;line-height:1.5}.profile-mini{border-top:1px solid var(--line);align-items:center;gap:9px;margin:20px 3px 0;padding:14px 2px 0;display:flex}.profile-mini>div:nth-child(2){flex:1;min-width:0}.profile-mini strong,.profile-mini small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.profile-mini strong{font-size:11px}.profile-mini small{color:var(--muted);margin-top:3px;font-size:10px}.profile-mini>svg{color:#aba5b4}.main{flex:1;min-width:0}.topbar{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:76px;padding:0 37px;display:flex}.topbar-left,.topbar-right,.breadcrumb,.today-chip{align-items:center;display:flex}.breadcrumb{color:#aaa3b1;gap:8px;font-size:12px}.breadcrumb strong{color:#5e566d;font-weight:650}.topbar-right{gap:19px}.today-chip{border:1px solid var(--line);color:#716a80;border-radius:11px;gap:8px;padding:9px 12px;font-size:11px;font-weight:650}.today-chip svg{color:var(--purple)}.icon-btn{color:#797184;background:0 0;border:0;border-radius:10px;place-items:center;width:36px;height:36px;display:inline-grid;position:relative}.icon-btn:hover{background:var(--soft-purple);color:var(--purple)}.dot{background:#ef8ba6;border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:6px}.avatar{color:#805cbf;background:#eadff6;border-radius:50%;place-items:center;font-weight:750;display:grid}.avatar.small{width:36px;height:36px;font-size:12px}.avatar.tiny{flex:none;width:36px;height:36px;font-size:11px}.top-avatar{background:#ead8f5;border:2px solid #fff;width:36px;height:36px;font-size:11px;box-shadow:0 2px 9px #d9c9e6}.page-content{max-width:1550px;margin:auto;padding:35px 36px 70px}.page-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:29px;display:flex}.eyebrow{letter-spacing:1.5px;color:#a385d7;text-transform:uppercase;margin-bottom:10px;font-size:10px;font-weight:800}.page-heading h1{letter-spacing:-1.15px;margin:0 0 8px;font-size:30px;font-weight:750;line-height:1.2}.page-heading p{color:var(--muted);margin:0;font-size:13px}.wave{color:#b79aeb}.primary-btn,.secondary-btn,.danger-btn{white-space:nowrap;border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:12px;font-weight:700;transition:all .2s;display:inline-flex}.primary-btn{color:#fff;background:#9069da;box-shadow:0 6px 16px #8a60d833}.primary-btn:hover{background:#8059d0;transform:translateY(-1px)}.secondary-btn{background:var(--surface);border:1px solid var(--line);color:#665c74}.secondary-btn:hover{color:var(--purple);border-color:#bda6e4}.danger-btn{color:#d45d76;background:#fff0f3}.heading-actions{gap:9px;display:flex}.heading-count{vertical-align:middle;color:#875fcf;letter-spacing:0;background:#ede4fb;border-radius:9px;padding:4px 9px;font-size:14px;display:inline-block}.hero-grid{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:20px;display:grid}.hero-card{color:#fff;background:linear-gradient(120deg,#9f7fe8 0%,#aa80df 58%,#e3a7cc 100%);border-radius:20px;min-height:242px;padding:28px 32px;position:relative;overflow:hidden;box-shadow:0 15px 30px #9067d529}.hero-glow{background:#ffffff21;border-radius:50%;width:310px;height:310px;position:absolute;bottom:-100px;right:-35px}.hero-content{z-index:2;position:relative}.hero-tag{letter-spacing:1px;background:#ffffff35;border-radius:30px;align-items:center;gap:7px;padding:7px 11px;font-size:9px;font-weight:750;display:inline-flex}.hero-time{letter-spacing:-1px;margin-top:21px;font-size:27px;font-weight:800}.hero-time span{opacity:.85;font-size:14px;font-weight:500}.hero-card h2{letter-spacing:-.6px;margin:4px 0 3px;font-size:23px}.hero-card p{color:#faf3ff;margin:0;font-size:12px}.hero-card button{color:#7b59c3;background:#fff;border:0;border-radius:9px;align-items:center;gap:7px;margin-top:20px;padding:9px 13px;font-size:11px;font-weight:750;display:inline-flex}.hero-art{color:#ffffff85;border-radius:50%;place-items:center;width:178px;height:178px;display:grid;position:absolute;top:34px;right:35px;transform:rotate(-15deg)}.vinyl{border:19px solid #fff2;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 0 18px #ffffff13,0 0 0 35px #ffffff0c}.quick-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:18px 20px}.section-mini{justify-content:space-between;align-items:center;padding:2px 4px 12px;font-size:13px;font-weight:750;display:flex}.section-mini svg{color:#b18be4}.quick-card>button{border:0;border-top:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:12px;width:100%;padding:10px 4px;display:flex}.quick-card>button>span:nth-child(2){flex:1}.quick-card strong,.quick-card small{display:block}.quick-card strong{font-size:11px}.quick-card small{color:var(--muted);margin-top:3px;font-size:10px}.quick-card button>svg{color:#aaa2b1}.quick-icon,.stat-icon{border-radius:11px;flex:none;place-items:center;display:grid}.quick-icon{width:35px;height:35px}.lavender{color:#956fdd;background:#efe8fc}.pink{color:#e380a6;background:#fff0f5}.peach{color:#e6a278;background:#fff2e9}.mint{color:#58b498;background:#eaf8f3}.stats-grid,.finance-stats{grid-template-columns:repeat(4,1fr);gap:17px;margin-top:20px;display:grid}.stat-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:17px;min-height:145px;padding:18px 20px}.stat-icon{width:37px;height:37px;margin-bottom:13px}.stat-title{color:#8f8998;font-size:11px;font-weight:600}.stat-card strong{letter-spacing:-.7px;margin-top:4px;font-size:23px;display:block}.stat-card small{color:#aaa4b0;font-size:10px}.dashboard-bottom{grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:20px;margin-top:20px;display:grid}.panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;padding:22px}.panel-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:22px;display:flex}.panel-head h3{letter-spacing:-.25px;margin:0 0 4px;font-size:15px}.panel-head p{color:var(--muted);margin:0;font-size:10px}.text-link{color:#8c65d5;white-space:nowrap;background:0 0;border:0;align-items:center;gap:3px;font-size:10px;font-weight:750;display:inline-flex}.text-link:hover{text-decoration:underline}.today-list{min-height:190px}.timeline-row{border:0;border-top:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:15px;width:100%;min-height:64px;padding:9px 0;display:flex}.timeline-row:hover .timeline-detail strong{color:var(--purple)}.time-col{color:#6b6278;width:42px;font-size:11px;font-weight:700}.timeline-line{background:#b79aeb;border-radius:5px;width:3px;height:39px}.timeline-line.done{background:#6dc9ac}.timeline-line.cancel{background:#d9d3dc}.timeline-line.missed{background:#eeaa95}.timeline-detail{flex:1}.timeline-detail strong,.timeline-detail span{display:block}.timeline-detail strong{font-size:11px}.timeline-detail span{color:var(--muted);margin-top:3px;font-size:10px}.status-pill{white-space:nowrap;border-radius:6px;padding:5px 7px;font-size:9px;font-weight:750}.status-pill.planned{color:#8b62ce;background:#f0e9fc}.status-pill.done{color:#3aa780;background:#e7f8f0}.status-pill.cancel{color:#9a94a0;background:#f0eef2}.status-pill.missed{color:#d78c6f;background:#fff0e8}.count-bubble{color:#e482a0;background:#fff0f5;border-radius:8px;padding:5px 8px;font-size:10px;font-weight:750}.attention-item{border:0;border-top:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:10px;width:100%;padding:11px 0;display:flex}.attention-item>div:nth-child(2){flex:1}.attention-item strong,.attention-item span{display:block}.attention-item strong{font-size:11px}.attention-item span{color:var(--muted);margin-top:3px;font-size:10px}.attention-item b{font-size:11px}.at-bottom{margin-top:12px}.empty{text-align:center;color:#ae9bcc;flex-direction:column;align-items:center;gap:7px;padding:27px 12px;display:flex}.empty strong{color:#746a80;font-size:11px}.empty span{color:var(--muted);font-size:10px;line-height:1.5}.calendar-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;overflow:hidden}.calendar-top{justify-content:space-between;align-items:center;gap:15px;padding:20px 22px;display:flex}.calendar-period{align-items:center;gap:6px;display:flex}.calendar-period h2{letter-spacing:-.5px;min-width:210px;margin:0 6px;font-size:17px}.today-button{border:1px solid var(--line);background:var(--surface);color:#7f768d;border-radius:8px;margin-left:9px;padding:8px 10px;font-size:10px;font-weight:650}.view-tabs{background:#f6f3f9;border-radius:9px;gap:2px;padding:3px;display:inline-flex}.view-tabs button{color:#958a9e;background:0 0;border:0;border-radius:7px;align-items:center;gap:5px;padding:8px 12px;font-size:10px;font-weight:700;display:flex}.view-tabs button.active{background:var(--surface);color:#7856c0;box-shadow:0 2px 7px #25163913}.view-tabs.small button{padding:6px 8px}.calendar-filters{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:11px 22px;display:flex}.calendar-filters>svg{color:#aaa0b4}.calendar-filters select,.payments-panel select{border:1px solid var(--line);background:var(--surface);color:#756c81;border-radius:8px;max-width:170px;padding:8px 9px;font-size:10px}.calendar-legend{color:#928a9d;white-space:nowrap;align-items:center;gap:5px;margin-left:auto;font-size:9px;display:flex}.legend-dot{border-radius:50%;width:7px;height:7px;margin-left:9px;display:inline-block}.legend-dot.planned{background:#a987ed}.legend-dot.done{background:#61c9a7}.legend-dot.cancel{background:#c9c3ce}.month-head,.month-cells{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-head{border-bottom:1px solid var(--line)}.month-head span{text-align:center;color:#aca3b5;padding:12px 0;font-size:10px;font-weight:700}.month-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;min-width:0;height:125px;padding:8px}.month-cell:hover,.hour-cell:hover{background:#faf7fe}.month-cell.outside{color:#c9c4ce;background:#fcfbfd}.day-number{place-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:grid}.month-cell.current .day-number,.time-day.current strong{color:#fff;background:#906bdd;border-radius:50%}.month-events{gap:3px;display:grid}.lesson-chip{text-align:left;color:#7353ba;background:#f0e9fb;border:0;border-left:3px solid #a480e2;border-radius:5px;flex-direction:column;gap:2px;width:100%;min-width:0;padding:6px 7px;display:flex;overflow:hidden}.lesson-chip span,.lesson-chip strong,.lesson-chip small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson-chip span{font-size:9px;font-weight:800}.lesson-chip strong{font-size:10px}.lesson-chip small{opacity:.75;font-size:8px}.lesson-chip.done{color:#318f69;background:#eaf8f1;border-color:#61c49e}.lesson-chip.cancel{color:#88818e;background:#f2f0f3;border-color:#cac4d0}.lesson-chip.missed{color:#ca8067;background:#fff0e8;border-color:#e9ab91}.month-cell .lesson-chip{flex-direction:row;gap:5px;padding:4px 5px}.month-cell .lesson-chip strong{font-size:9px}.month-cell .lesson-chip small{display:none}.more-events{color:#8e78aa;padding-left:3px;font-size:9px}.time-cal{overflow:auto}.time-head{border-bottom:1px solid var(--line);grid-template-columns:65px repeat(7,minmax(110px,1fr));min-width:830px;display:grid}.time-cal.single .time-head,.time-cal.single .time-row{grid-template-columns:65px minmax(350px,1fr);min-width:0}.time-corner{color:#aaa4af;padding:15px 8px;font-size:9px}.time-day{text-align:center;border-left:1px solid var(--line);padding:9px}.time-day span{color:#aca5b3;font-size:9px;display:block}.time-day strong{place-items:center;width:27px;height:27px;margin:3px auto 0;font-size:12px;display:grid}.time-scroll{max-height:690px;overflow:auto}.time-grid{min-width:830px}.time-cal.single .time-grid{min-width:0}.time-row{grid-template-columns:65px repeat(7,minmax(110px,1fr));min-height:70px;display:grid}.hour-label{color:#a9a3af;text-align:right;padding:3px 10px;font-size:10px}.hour-cell{border-left:1px solid var(--line);border-top:1px solid var(--line);cursor:pointer;min-height:70px;padding:3px;position:relative}.hour-cell .lesson-chip{justify-content:center;min-height:52px;margin-bottom:2px}.now-line{z-index:1;pointer-events:none;background:#e879a0;height:2px;position:absolute;top:50%;left:0;right:0}.now-line i{background:#e879a0;border-radius:50%;width:7px;height:7px;display:block;transform:translate(-3px,-3px)}.list-toolbar{justify-content:space-between;align-items:center;margin:4px 0 18px;display:flex}.search-box{background:var(--surface);border:1px solid var(--line);color:#a39bab;border-radius:10px;flex:1;align-items:center;gap:10px;max-width:400px;height:40px;padding:0 12px;display:flex}.search-box input{color:var(--text);background:0 0;border:0;outline:0;width:100%;font-size:11px}.check-label{color:#827a8d;align-items:center;gap:6px;font-size:11px;display:flex}.check-label input{accent-color:#9169d9}.student-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.student-card{border:1px solid var(--line);background:var(--surface);text-align:left;box-shadow:var(--shadow);border-radius:16px;gap:14px;min-height:140px;padding:20px;transition:all .2s;display:flex}.student-card:hover{border-color:#cbb7eb;transform:translateY(-2px)}.student-avatar{color:#8865c4;background:#eee4f9;border-radius:15px;flex:none;place-items:center;width:46px;height:46px;font-size:13px;font-weight:750;display:grid}.student-avatar.tone-1{color:#d783aa;background:#fce7ef}.student-avatar.tone-2{color:#df9b75;background:#fff0e5}.student-avatar.tone-3{color:#57ad9a;background:#e9f7f2}.student-card-body{flex:1;min-width:0}.student-title{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.student-title strong{font-size:12px}.demo-badge{color:#a78bc5;background:#f4eff9;border-radius:5px;padding:4px 5px;font-size:8px;font-weight:750}.student-card p{color:#a09aab;margin:4px 0 14px;font-size:10px}.student-meta{gap:7px;display:grid}.student-meta span{color:#82798b;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:10px;display:flex;overflow:hidden}.student-meta svg{color:#b29bd4;flex:none}.student-card>svg{color:#b8b0c2;flex:none}.drawer-overlay,.modal-overlay{z-index:80;background:#20182f61;position:fixed;inset:0}.student-drawer{background:var(--surface);width:min(440px,100%);padding:24px 26px;position:absolute;top:0;bottom:0;right:0;overflow:auto;box-shadow:-20px 0 70px #2b193d20}.drawer-head{color:#8b8295;justify-content:space-between;align-items:center;font-size:11px;font-weight:750;display:flex}.drawer-person{text-align:center;flex-direction:column;align-items:center;margin:20px 0;display:flex}.student-avatar.large{border-radius:22px;width:76px;height:76px;font-size:22px}.drawer-person h2{margin:12px 0 8px;font-size:20px}.level-pill{color:#9167d2;background:#f0e8fb;border-radius:30px;margin-bottom:8px;padding:6px 10px;font-size:10px;font-weight:700}.drawer-actions{justify-content:center;gap:8px;display:flex}.drawer-section{border-top:1px solid var(--line);margin-top:20px;padding:20px 0 6px}.drawer-section h3{margin:0 0 16px;font-size:12px}.detail-row,.history-row{justify-content:space-between;gap:10px;margin-bottom:13px;font-size:10px;display:flex}.detail-row span,.history-row span{color:var(--muted)}.detail-row strong{text-align:right;font-weight:650}.notes-box{color:#756b83;background:#f8f5fc;border-radius:10px;padding:13px;font-size:10px;line-height:1.5}.muted-text{color:var(--muted);font-size:11px}.archive-link{color:#d2748d;background:0 0;border:0;margin:18px 0;font-size:10px;font-weight:700}.finance-stats{grid-template-columns:repeat(3,1fr);margin:0 0 20px}.finance-grid{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:20px;margin-bottom:20px;display:grid}.chart-total{letter-spacing:-.8px;font-size:25px;font-weight:800}.chart-total small{color:var(--muted);letter-spacing:0;margin-left:8px;font-size:10px;font-weight:500}.chart-wrap{width:100%;height:208px;margin-top:10px}.package-row,.teacher-row,.notice-row{border-top:1px solid var(--line);align-items:center;gap:10px;padding:12px 0;display:flex}.package-row>div:nth-child(2),.teacher-row>div:nth-child(2),.notice-row>div:nth-child(2){flex:1;min-width:0}.package-row strong,.package-row span,.teacher-row strong,.teacher-row span,.notice-row strong,.notice-row span{display:block}.package-row strong,.teacher-row strong,.notice-row strong{font-size:10px}.package-row span,.teacher-row span,.notice-row span{color:var(--muted);margin-top:4px;font-size:9px}.remaining{text-align:right}.remaining strong{color:#8a63d1}.payments-panel{min-height:200px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:550px;font-size:11px}th{text-align:left;color:#a69ead;border-bottom:1px solid var(--line);padding:12px;font-size:9px;font-weight:700}td{border-bottom:1px solid var(--line);color:#877e90;padding:13px 12px}td strong,td b{color:var(--text)}.row-actions{gap:4px;display:flex}.row-actions button{color:#9b8eac;background:0 0;border:0;padding:5px}.row-actions button:hover{color:#8c65d5}.integration-banner{background:linear-gradient(100deg,#f6efff,#fff8fc);border:1px solid #e5dbf2;border-radius:15px;align-items:center;gap:13px;margin-bottom:18px;padding:17px;display:flex}.integration-banner>div:nth-child(2){flex:1}.integration-banner strong{font-size:12px}.integration-banner p{color:#9487a3;margin:4px 0 0;font-size:10px;line-height:1.5}.outline-pill{color:#9b85b2;white-space:nowrap;border:1px solid #e7ddf0;border-radius:7px;padding:5px 7px;font-size:9px}.notice-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.notice-row .quick-icon{width:32px;height:32px}.notice-row>div:nth-child(2) span{line-height:1.4}.settings-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.settings-panel{min-height:250px}.settings-panel .panel-head>svg{color:#b89fd7}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.form-grid label{color:#736a80;flex-direction:column;gap:7px;font-size:10px;font-weight:700;display:flex}.form-grid label.full,.form-note.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{background:var(--surface);width:100%;color:var(--text);resize:vertical;border:1px solid #e8e2ed;border-radius:9px;outline:0;min-height:39px;padding:10px 11px;font-size:11px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#ac8de3;box-shadow:0 0 0 3px #e9ddfb88}.form-grid input[readonly]{color:#aaa3af;background:#faf8fc}.work-days{flex-wrap:wrap;gap:6px;margin-bottom:19px;display:flex}.work-days button{border:1px solid var(--line);background:var(--surface);color:#9e96aa;border-radius:9px;width:35px;height:35px;font-size:10px;font-weight:700}.work-days button.active{color:#8964d1;background:#eee6fb;border-color:#d5c2f0}.theme-choice{justify-content:space-between;align-items:center;margin-top:22px;display:flex}.theme-choice>span{color:#736a80;font-size:10px;font-weight:700}.save-settings{margin-top:23px}.settings-description{color:var(--muted);font-size:11px;line-height:1.6}.settings-footnote{color:#a197ab;gap:7px;margin:15px 0 0;font-size:9px;line-height:1.4;display:flex}.settings-footnote svg{flex:none}.signout{color:#8b6bba;margin-top:22px;font-size:10px;font-weight:700;display:block}.modal-overlay{place-items:center;padding:18px;display:grid}.editor-modal{background:var(--surface);border-radius:19px;width:min(570px,100%);max-height:min(91vh,900px);overflow:auto;box-shadow:0 25px 80px #21142e44}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:22px 25px 18px;display:flex}.modal-head h2{letter-spacing:-.5px;margin:0;font-size:20px}.modal-body{padding:22px 25px}.modal-footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:16px 25px;display:flex}.profile-link{color:#8c65d5;background:0 0;border:0;align-items:center;gap:5px;margin-right:auto;font-size:10px;font-weight:750;display:inline-flex}.form-note{color:#9b90a6;background:#f8f4fc;border-radius:9px;margin:0;padding:10px;font-size:10px;line-height:1.5}.form-error{color:#d15372;background:#fff0f2;border-radius:9px;align-items:center;gap:8px;margin-top:15px;padding:10px;font-size:11px;display:flex}.toast,.error-toast{z-index:110;color:#fff;background:#2d2840;border-radius:10px;align-items:center;gap:9px;padding:11px 14px;font-size:11px;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 10px 30px #251a3544}.error-toast{background:#a5405d}.error-toast button{color:#fff;background:0 0;border:0}.loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:60vh;display:flex}.loading h2{margin:6px 0 0;font-size:18px}.loading p{color:var(--muted);font-size:12px}.mobile-nav,.mobile-menu,.mobile-scrim{display:none}html[data-theme=dark] .sidebar-note,html[data-theme=dark] .integration-banner{background:#2b2438}html[data-theme=dark] .nav-item.active,html[data-theme=dark] .view-tabs,html[data-theme=dark] .notes-box,html[data-theme=dark] .form-note{background:#342747}html[data-theme=dark] .month-cell.outside{background:#1d1925}html[data-theme=dark] .form-grid input[readonly]{background:#27212e}@media (width<=1200px){.sidebar{flex-basis:216px;width:216px}.brand{padding-left:19px}.page-content{padding:30px 26px 65px}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-legend{display:none}}@media (width<=900px){.sidebar{width:245px;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.mobile-menu,.mobile-scrim{display:block}.mobile-scrim{z-index:25;background:#241a3355;border:0;position:fixed;inset:0}.topbar{padding:0 22px}.topbar-left{gap:9px}.hero-grid,.dashboard-bottom,.finance-grid{grid-template-columns:1fr}.quick-card{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.quick-card .section-mini{grid-column:1/-1}.quick-card>button{border-top:1px solid var(--line)}.stats-grid{grid-template-columns:repeat(2,1fr)}.notice-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr 1fr}.time-cal{overflow:auto}}@media (width<=650px){.page-content{padding:23px 15px 95px}.topbar{height:63px;padding:0 14px}.breadcrumb{font-size:11px}.topbar-right{gap:6px}.today-chip{display:none}.top-avatar{width:31px;height:31px}.page-heading{align-items:flex-start;gap:15px;margin-bottom:20px}.page-heading h1{font-size:24px}.page-heading p{font-size:11px;line-height:1.5}.page-heading>.primary-btn{padding:10px 11px;font-size:0}.page-heading>.primary-btn svg{width:18px;height:18px}.hero-grid{gap:13px}.hero-card{min-height:219px;padding:22px}.hero-art{opacity:.6;top:53px;right:-5px;transform:scale(.78)}.hero-content{max-width:75%}.hero-card h2{font-size:20px}.hero-time{font-size:24px}.quick-card{display:block}.quick-card>button{padding:8px 3px}.stats-grid{gap:10px;margin-top:13px}.stat-card{min-height:125px;padding:15px}.stat-card strong{font-size:20px}.dashboard-bottom{gap:13px;margin-top:13px}.panel{padding:17px}.calendar-top{padding:15px;display:block}.calendar-period h2{min-width:0;font-size:14px}.calendar-top>.view-tabs{margin-top:14px}.calendar-filters{padding:10px;overflow:auto}.calendar-filters select{flex:none;max-width:130px}.month-cell{height:91px;padding:4px}.month-cell .lesson-chip{padding:3px 2px}.month-cell .lesson-chip span{font-size:8px}.month-cell .lesson-chip strong{display:none}.month-head span{font-size:9px}.student-grid{grid-template-columns:1fr;gap:10px}.student-card{min-height:120px;padding:15px}.finance-stats{grid-template-columns:1fr 1fr;gap:10px}.finance-stats .stat-card:last-child{grid-column:1/-1}.finance-grid{gap:13px}.heading-actions{flex-direction:column}.heading-actions .primary-btn,.heading-actions .secondary-btn{padding:9px;font-size:10px}.settings-grid{grid-template-columns:1fr}.form-grid{gap:10px}.integration-banner{align-items:flex-start}.integration-banner>.outline-pill{display:none}.notice-row>.outline-pill{font-size:0}.notice-row>.outline-pill:after{content:"Чернетка";font-size:9px}.mobile-nav{z-index:20;background:var(--surface);border-top:1px solid var(--line);padding:8px 4px max(8px,env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#aaa2af;background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:3px;padding:3px 0;font-size:8px;display:flex}.mobile-nav button.active{color:#8b65d3}.modal-overlay{align-items:end;padding:0}.editor-modal{border-radius:19px 19px 0 0;max-height:94vh}.modal-body{padding:18px}.modal-head{padding:19px}.modal-footer{padding:13px 18px}.toast,.error-toast{bottom:75px;left:15px;right:15px}.drawer-overlay{z-index:80}.student-drawer{padding-bottom:75px}}.login-screen{background:radial-gradient(circle at 20% 10%,#f6e9ff,#f9f8fb 50%,#fff0f5);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:#fff;border:1px solid #eee6f4;border-radius:22px;gap:13px;width:min(400px,100%);padding:38px;display:grid;box-shadow:0 18px 55px #8b6bad20}.login-mark{color:#fff;background:linear-gradient(140deg,#b893f6,#8565d6);border-radius:16px;place-items:center;width:52px;height:52px;font-size:28px;display:grid}.login-card h1{color:#252139;margin:4px 0 0;font-size:27px}.login-card p{color:#8c8198;margin:0 0 11px;font-size:13px}.login-card label{color:#62596c;gap:7px;font-size:12px;font-weight:650;display:grid}.login-card input{color:#252139;background:#fff;border:1px solid #ddd3e8;border-radius:10px;outline:none;padding:12px}.login-card input:focus{border-color:#9069da;box-shadow:0 0 0 3px #e9ddfb}.login-card button{color:#fff;background:#9069da;border:0;border-radius:10px;margin-top:7px;padding:13px;font-weight:750}.login-error{color:#c44568;background:#fff0f4;border-radius:9px;padding:10px;font-size:12px}
