@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{color:#25233a;font-synthesis:none;text-rendering:optimizelegibility;--ink:#25233a;--muted:#75748a;--line:#eae9f0;--surface:#fff;--violet:#6759db;--violet-dark:#5043c5;--violet-soft:#eeeafd;--coral:#ff806f;--coral-soft:#fff0ed;--mint:#49bfa5;--mint-soft:#e8f8f3;--blue:#4a9bdc;--blue-soft:#eaf4fc;--gold:#e8a93d;--gold-soft:#fff7de;--shadow-sm:0 2px 8px #2c284c0a;--shadow-md:0 14px 34px #2c284c17;background:#f7f7fb;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{background:#f7f7fb;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #6759db33}button:disabled{opacity:.55;cursor:not-allowed}h1,h2,h3,p{margin:0}h1,h2,h3,.logo-word{font-family:Manrope,DM Sans,sans-serif}.app-shell{min-height:100vh}.sidebar{z-index:50;border-right:1px solid var(--line);background:#fff;flex-direction:column;width:244px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-head{justify-content:space-between;align-items:center;height:76px;padding:0 24px;display:flex}.logo{align-items:center;gap:10px;display:inline-flex}.logo-mark{background:var(--violet);border-radius:10px;place-items:center;width:32px;height:32px;display:grid;position:relative;transform:rotate(-7deg);box-shadow:0 5px 14px #6759db3d}.logo-mark:before,.logo-mark:after,.logo-mark span{content:"";background:#fff;border-radius:3px;width:14px;height:3px;position:absolute;left:9px}.logo-mark:before{width:9px;top:9px}.logo-mark span{width:14px;top:14px}.logo-mark:after{width:11px;top:19px}.logo-word{letter-spacing:-.8px;font-size:23px;font-weight:800}.main-nav{flex:1;padding:22px 14px}.nav-caption{color:#aaa9b6;letter-spacing:1.5px;padding:0 12px 10px;font-size:10px;font-weight:700;display:block}.nav-item{color:#737186;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:13px;width:100%;min-height:44px;padding:0 12px;font-size:14px;font-weight:600;transition:all .18s;display:flex}.nav-item:hover{color:var(--ink);background:#f7f6fb}.nav-item.active{color:var(--violet-dark);background:var(--violet-soft)}.nav-count{background:var(--coral);color:#fff;border-radius:50%;place-items:center;min-width:21px;height:21px;margin-left:auto;font-size:11px;display:grid}.sidebar-bottom{border-top:1px solid var(--line);padding:12px 14px 18px}.sidebar-profile{align-items:center;gap:10px;margin-top:13px;padding:13px 8px 2px;display:flex}.sidebar-profile>div{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-profile strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.sidebar-profile span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:10px;overflow:hidden}.sidebar-profile>svg{color:#aaa9b6}.avatar{border-radius:12px;flex:none;place-items:center;width:37px;height:37px;font-size:12px;font-weight:700;display:inline-grid}.avatar-small{border-radius:9px;width:30px;height:30px;font-size:10px}.avatar-large{border-radius:17px;width:54px;height:54px;font-size:15px}.avatar-violet{color:#5d4dc7;background:#e9e4fc}.avatar-coral{color:#d85e4e;background:#ffe5e0}.avatar-mint{color:#218b74;background:#ddf6ef}.avatar-blue{color:#367bb2;background:#e1f0fb}.avatar-gold{color:#a97720;background:#fff1c5}.avatar-light{color:#fff;background:#fff3}.app-main{min-height:100vh;margin-left:244px}.topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:30;background:#ffffffe6;justify-content:space-between;align-items:center;height:76px;padding:0 4.3%;display:flex;position:sticky;top:0}.breadcrumb{color:#9a98a8;align-items:center;gap:8px;font-size:13px;display:flex}.breadcrumb strong{color:#4a485c}.topbar-actions{align-items:center;gap:12px;display:flex}.search-box{color:#9a98a8;background:#f5f5f8;border:1px solid #0000;border-radius:11px;align-items:center;gap:10px;width:min(290px,28vw);height:40px;padding:0 11px;display:flex}.search-box:focus-within{background:#fff;border-color:#d9d5f5;box-shadow:0 0 0 3px #6759db14}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13px}.search-box kbd{color:#9391a1;background:#fff;border:1px solid #dfdee6;border-radius:5px;padding:2px 5px;font-size:10px}.icon-button{cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;width:38px;height:38px;display:inline-grid}.icon-button:hover{background:#f3f2f7}.notification-button{border:1px solid var(--line);background:#fff;position:relative}.notification-button>.notification-count{background:var(--coral);color:#fff;box-sizing:border-box;border:2px solid #fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:7px;font-weight:800;display:grid;position:absolute;top:-6px;right:-7px}.notification-wrap{position:relative}.notifications-popover{border:1px solid var(--line);width:390px;box-shadow:var(--shadow-md);z-index:60;background:#fff;border-radius:16px;padding:8px;animation:.18s ease-out pop;position:absolute;top:48px;right:0}@keyframes pop{0%{opacity:0;transform:translateY(-5px)scale(.98)}}.popover-title{justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.popover-title>div{flex-direction:column;gap:2px;display:flex}.popover-title>div>strong{font-size:13px}.popover-title>div>span{color:var(--coral);font-size:8px}.popover-title button{color:var(--violet);cursor:pointer;background:0 0;border:0;font-size:9px}.notifications-list{max-height:min(470px,65vh);overflow:auto}.notification-row{text-align:left;cursor:pointer;background:#fff;border:0;border-radius:11px;align-items:flex-start;gap:11px;width:100%;padding:12px;display:flex;position:relative}.notification-row:hover{background:#f8f7fb}.notification-row.unread{background:#fbfaff}.notification-row.read{opacity:.72}.notification-row>i{background:var(--violet);border-radius:50%;width:7px;height:7px;position:absolute;top:14px;right:11px}.notification-dot{background:var(--violet);border-radius:50%;flex:none;width:9px;height:9px;margin-top:4px}.notification-dot.notification-payment_approved,.notification-dot.notification-homework_reviewed{background:var(--mint)}.notification-dot.notification-payment_rejected,.notification-dot.notification-homework_overdue{background:var(--coral)}.notification-dot.notification-homework_submitted,.notification-dot.notification-homework_due{background:var(--gold)}.notification-row div{flex-direction:column;flex:1;gap:3px;min-width:0;padding-right:10px;display:flex}.notification-row strong{font-size:11px}.notification-row p{color:#656375;font-size:9px;line-height:1.45}.notification-row span{color:var(--muted);font-size:8px}.notification-empty{color:#aaa8b5;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:170px;display:flex}.notification-empty .spinner{border-color:#d8d4f5;border-top-color:var(--violet)}.notification-empty strong{color:var(--ink);font-size:11px}.notification-empty p{font-size:8px}.mobile-only,.mobile-menu{display:none}.page-content{max-width:1480px;margin:0 auto;padding:38px 4.3% 110px}.page-heading{justify-content:space-between;align-items:flex-start;gap:20px;min-height:74px;margin-bottom:28px;display:flex}.page-heading h1{letter-spacing:-1.2px;font-size:clamp(26px,2.4vw,34px);line-height:1.2}.page-heading p{color:var(--muted);margin-top:8px;font-size:14px}.eyebrow{color:var(--violet);letter-spacing:1.4px;margin-bottom:7px;font-size:10px;font-weight:800;display:block}.primary-button,.outline-button{cursor:pointer;white-space:nowrap;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:13px;font-weight:700;transition:all .18s;display:inline-flex}.primary-button{background:var(--violet);color:#fff;border:1px solid var(--violet);box-shadow:0 7px 15px #6759db2e}.primary-button:hover{background:var(--violet-dark);transform:translateY(-1px)}.outline-button{color:#58566b;border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff}.outline-button:hover{background:#faf9fc;border-color:#d3d0dd}.light-button{color:var(--violet-dark);background:#fff;border-color:#fff;box-shadow:0 8px 24px #3124832e}.light-button:hover{background:#f8f6ff}.compact-button{min-height:38px;padding:0 13px}.hero-card{min-height:262px;box-shadow:var(--shadow-md);border-radius:24px;position:relative;overflow:hidden}.student-hero{color:#fff;background:linear-gradient(120deg,#6858d8 0%,#7868e6 68%,#8b7dec 100%);align-items:center;padding:34px 40px;display:flex}.hero-copy{z-index:2;position:relative}.hero-tag{letter-spacing:1.1px;opacity:.84;align-items:center;gap:7px;font-size:10px;font-weight:800;display:inline-flex}.hero-copy h2{letter-spacing:-1.1px;margin:15px 0 6px;font-size:clamp(25px,3vw,35px)}.hero-copy p{opacity:.83;font-size:14px}.teacher-line{opacity:.9;align-items:center;gap:8px;margin:17px 0;font-size:12px;display:flex}.hero-illustration{width:42%;height:100%;position:absolute;top:0;right:6%}.planet{background:linear-gradient(145deg,#ffd176,#ffae5b);border-radius:50%;place-items:center;width:142px;height:142px;display:grid;position:absolute;top:64px;right:24%;transform:rotate(9deg);box-shadow:inset -18px -15px #d75b521f,0 20px 50px #31248338}.planet:before{content:"";border:10px solid #ffe4a0d9;border-radius:50%;width:205px;height:40px;position:absolute;transform:rotate(-15deg)}.planet span{color:#9d5f31;font:800 30px Manrope}.planet i{background:#b0553029;border-radius:50%;width:18px;height:18px;position:absolute;top:30px;left:29px}.shape{color:#ffffff59;font:800 24px Manrope;position:absolute}.shape-one{top:30px;right:7%;transform:rotate(15deg)}.shape-two{bottom:25px;right:6%}.shape-three{bottom:35px;left:12%}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:22px 0 34px;display:grid}.stat-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:17px;align-items:flex-start;gap:13px;min-width:0;padding:19px;display:flex}.stat-icon,.feed-icon{border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.icon-violet{color:var(--violet);background:var(--violet-soft)}.icon-coral{color:var(--coral);background:var(--coral-soft)}.icon-mint{color:var(--mint);background:var(--mint-soft)}.icon-blue{color:var(--blue);background:var(--blue-soft)}.icon-gold{color:var(--gold);background:var(--gold-soft)}.stat-copy{flex-direction:column;min-width:0;display:flex}.stat-copy>span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.stat-copy strong{margin:2px 0;font-family:Manrope;font-size:22px}.stat-copy small{color:#9b99a8;font-size:10px}.two-column-layout{grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);align-items:start;gap:22px;display:grid}.content-section{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;padding:21px}.section-title{justify-content:space-between;align-items:flex-start;gap:15px;min-height:34px;margin-bottom:15px;display:flex}.section-title h2{letter-spacing:-.4px;font-size:17px}.section-title>button{color:var(--violet);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:3px 0;font-size:11px;font-weight:700;display:inline-flex}.course-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.course-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;transition:all .2s;overflow:hidden}.course-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.course-compact{border-radius:14px;grid-template-columns:92px 1fr;display:grid}.course-cover{flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:130px;padding:17px;display:flex}.course-cover>span{font:800 35px Manrope}.course-cover small{background:#ffffff94;border-radius:6px;padding:4px 8px;font-weight:700}.cover-violet{color:#5d4fc1;background:linear-gradient(145deg,#e8e3fb,#cfc5f5)}.cover-coral{color:#d55d4f;background:linear-gradient(145deg,#ffe7e2,#ffc9bf)}.cover-mint{color:#268d76;background:linear-gradient(145deg,#ddf6ee,#b9eadc)}.cover-blue{color:#367eb8;background:linear-gradient(145deg,#e0f0fc,#b9dbf5)}.course-compact .course-cover{min-height:142px}.course-content{min-width:0;padding:17px}.course-kicker{letter-spacing:1px;text-transform:uppercase;font-size:9px;font-weight:800;display:inline-block}.text-violet{color:var(--violet)}.text-coral{color:var(--coral)}.text-mint{color:var(--mint)}.text-blue{color:var(--blue)}.course-content h3{white-space:nowrap;text-overflow:ellipsis;margin:5px 0 4px;font-size:15px;overflow:hidden}.course-content p{color:var(--muted);font-size:10px}.course-schedule{color:#666477;align-items:center;gap:6px;margin:16px 0;font-size:11px;display:flex}.course-progress-head{color:#8b8999;justify-content:space-between;margin:13px 0 6px;font-size:9px;display:flex}.course-progress-head strong{color:#535164}.progress-track{background:#eeedf2;border-radius:9px;height:7px;overflow:hidden}.progress-track>span{border-radius:inherit;height:100%;display:block}.progress-violet{background:var(--violet)}.progress-coral{background:var(--coral)}.progress-mint{background:var(--mint)}.progress-blue{background:var(--blue)}.progress-gold{background:var(--gold)}.course-content>.outline-button{width:100%;margin-top:18px}.mini-task-list{flex-direction:column;display:flex}.mini-task{border-bottom:1px solid #f0eff4;align-items:center;gap:11px;padding:11px 0;display:flex}.mini-task:last-child{border:0}.mini-task>div{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.mini-task strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.mini-task span{color:var(--muted);font-size:9px}.subject-dot{border-radius:11px;flex:none;place-items:center;width:37px;height:37px;font-weight:800;display:grid}.bg-violet{color:var(--violet);background:var(--violet-soft)}.bg-coral{color:var(--coral);background:var(--coral-soft)}.bg-mint{color:var(--mint);background:var(--mint-soft)}.bg-blue{color:var(--blue);background:var(--blue-soft)}.bg-gold{color:var(--gold);background:var(--gold-soft)}.urgent-badge{background:var(--coral-soft);border-radius:7px;padding:4px 6px;font-weight:700;color:var(--coral)!important}.weekly-card{color:#fff;background:#232238;border-radius:20px;grid-template-columns:1fr 1fr;align-items:center;gap:30px;min-height:185px;margin-top:22px;padding:27px 32px;display:grid;overflow:hidden}.weekly-card .eyebrow{color:#aaa1ff}.weekly-card h2{margin-bottom:6px;font-size:21px}.weekly-card p{color:#afadbd;font-size:12px}.weekly-summary{gap:20px;margin-top:18px;display:flex}.weekly-summary span{color:#d0ceda;align-items:center;gap:6px;font-size:11px;display:flex}.weekly-summary svg{color:#eec25a}.bar-chart{justify-content:space-around;align-items:flex-end;gap:8px;height:120px;display:flex}.bar-chart>div{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;max-width:30px;height:100%;display:flex}.bar-chart span{background:#48465e;border-radius:6px 6px 3px 3px;width:100%;max-width:20px;min-height:14px}.bar-chart .highlight{background:linear-gradient(#9c8cff,#695ada)}.bar-chart small{color:#8d8b9b;font-size:8px}.filter-row{gap:8px;margin:-4px 0 22px;display:flex}.filter-pill{border:1px solid var(--line);cursor:pointer;color:#716f81;background:#fff;border-radius:999px;min-height:36px;padding:0 14px;font-size:11px;font-weight:600}.filter-pill.active{color:var(--violet);background:var(--violet-soft);border-color:#d9d3fa}.filter-pill span{margin-left:5px}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.course-grid .course-cover{min-height:145px}.course-grid .course-content{padding:20px}.course-grid .course-content h3{font-size:18px}.tip-card{background:#fffae9;border:1px solid #f0e1ab;border-radius:16px;align-items:center;gap:13px;margin-top:22px;padding:17px 20px;display:flex}.tip-card>span{width:42px;height:42px;color:var(--gold);background:#fff;border-radius:12px;place-items:center;display:grid}.tip-card strong{font-size:13px}.tip-card p{color:#7e755d;margin-top:3px;font-size:11px}.activity-overview{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;grid-template-columns:repeat(3,1fr) 2fr;margin-bottom:24px;padding:18px 22px;display:grid}.activity-overview>div:not(.overview-message){border-right:1px solid var(--line);flex-direction:column;padding:0 20px;display:flex}.activity-overview>div:first-child{padding-left:0}.big-number{font:800 25px Manrope}.activity-overview div>span:last-child{color:var(--muted);font-size:10px}.overview-message{color:var(--violet);align-items:center;gap:12px;padding-left:25px;display:flex}.overview-message div{flex-direction:column;display:flex}.overview-message strong{font-size:12px}.overview-message span{color:var(--muted);font-size:10px}.task-list{flex-direction:column;gap:12px;display:flex}.task-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:17px;align-items:center;gap:16px;padding:18px 20px;display:flex}.task-icon{border-radius:14px;flex:none;place-items:center;width:48px;height:48px;display:grid}.task-main{flex:1;min-width:0}.task-main>div{align-items:center;gap:9px;display:flex}.task-type{color:var(--muted);border-left:1px solid var(--line);padding-left:9px;font-size:9px}.task-main h3{margin:5px 0;font-size:15px}.task-main p{color:var(--muted);align-items:center;gap:5px;font-size:10px;display:flex}.task-main p strong{color:#5c5a6c}.task-submitted{background:#fbfefc;border-color:#ccebe2}.submitted-label{color:var(--mint);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:15px;height:15px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.calendar-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,.6fr);gap:22px;display:grid}.calendar-card,.agenda-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:19px;padding:22px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.calendar-header h2{font-size:17px}.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays span{text-align:center;letter-spacing:.8px;color:#aaa8b5;padding-bottom:12px;font-size:8px;font-weight:700}.calendar-days button{cursor:pointer;color:#454356;background:#fff;border:0;border-top:1px solid #f0eff4;flex-direction:column;align-items:center;gap:10px;min-height:76px;padding-top:10px;display:flex;position:relative}.calendar-days button:hover{background:#faf9fc}.calendar-days button.faded{color:#c8c6cf}.calendar-days button.today span{background:var(--violet);color:#fff;border-radius:50%;place-items:center;width:29px;height:29px;margin-top:-6px;font-weight:700;display:grid}.calendar-days button i{gap:3px;display:flex}.calendar-days button b{border-radius:50%;width:5px;height:5px}.event-purple{background:var(--violet)}.event-coral{background:var(--coral)}.event-mint{background:var(--mint)}.agenda-card>.eyebrow{margin-top:4px}.agenda-card>h2{margin-bottom:22px;font-size:19px}.agenda-item{grid-template-columns:40px 3px 1fr;gap:12px;min-height:85px;display:grid}.agenda-time{text-align:right;font-size:12px;font-weight:700}.agenda-time small{color:var(--muted);font-size:8px}.agenda-line{border-radius:9px;height:62px}.agenda-line.violet{background:var(--violet)}.agenda-line.coral{background:var(--coral)}.agenda-item div{flex-direction:column;gap:3px;display:flex}.agenda-item div small{letter-spacing:1px;color:var(--muted);font-size:8px;font-weight:800}.agenda-item div strong{font-size:12px}.agenda-item div span{color:var(--muted);font-size:9px}.empty-time{background:var(--mint-soft);color:var(--mint);border-radius:12px;align-items:center;gap:9px;padding:13px;font-size:10px;font-weight:700;display:flex}.progress-hero{background:linear-gradient(115deg,#fff8dd,#fffdf5);border:1px solid #f0dfad;border-radius:21px;align-items:center;gap:28px;min-height:210px;padding:30px 40px;display:flex;position:relative;overflow:hidden}.level-orbit{border:1px dashed #dec36c;border-radius:50%;flex:none;place-items:center;width:132px;height:132px;display:grid}.level-orbit>div{color:#8b611f;background:linear-gradient(145deg,#ffe590,#efb548);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100px;height:100px;display:flex;box-shadow:0 10px 27px #cb922a2e}.level-orbit strong{font:800 25px Manrope}.level-orbit span{font-size:9px}.level-copy{flex:1;max-width:500px}.level-copy h2{font-size:23px}.level-copy p{color:#77705e;margin:7px 0 18px;font-size:11px}.level-copy>.progress-track{background:#f1e5bd}.level-copy>div:last-child{color:#98885c;justify-content:space-between;margin-top:6px;font-size:9px;display:flex}.trophy-mark{color:#deb64b38;position:absolute;bottom:-5px;right:4%;transform:rotate(-11deg)}.progress-courses{margin-top:22px}.course-progress-row{border-bottom:1px solid #f0eff4;grid-template-columns:40px minmax(150px,.8fr) minmax(160px,1.4fr) 45px;align-items:center;gap:14px;padding:13px 0;display:grid}.course-progress-row:last-child{border:0}.course-progress-row>div:nth-child(2){flex-direction:column;gap:3px;display:flex}.course-progress-row strong{font-size:11px}.course-progress-row div span{color:var(--muted);font-size:9px}.parent-banner{color:#fff;background:linear-gradient(120deg,#29273e,#403c65);border-radius:22px;justify-content:space-between;align-items:center;min-height:190px;margin-bottom:28px;padding:31px 36px;display:flex;position:relative;overflow:hidden}.parent-banner:after{content:"";background:#7667e257;border-radius:50%;width:260px;height:260px;position:absolute;top:-110px;right:-70px}.parent-banner>div:first-child{z-index:1;max-width:580px;position:relative}.parent-banner h2{margin:12px 0 6px;font-size:25px}.parent-banner p{color:#c3c0d0;font-size:12px;line-height:1.6}.parent-score{z-index:1;background:#ffffff17;border:1px solid #ffffff24;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:108px;height:108px;margin-right:6%;display:flex;position:relative}.parent-score strong{font:800 31px Manrope}.parent-score span{color:#cbc8d9;font-size:9px}.children-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 28px;display:grid}.child-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:19px;padding:21px}.child-header{align-items:center;gap:13px;display:flex}.child-header>div:nth-child(2){flex:1}.child-header h3{font-size:17px}.child-header span{color:var(--muted);font-size:10px}.child-metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:20px 0 17px;padding:15px 0;display:grid}.child-metrics div{border-right:1px solid var(--line);flex-direction:column;align-items:center;display:flex}.child-metrics div:last-child{border:0}.child-metrics span,.child-progress span{color:var(--muted);font-size:9px}.child-metrics strong{margin-top:3px;font:700 17px Manrope}.child-progress>div{justify-content:space-between;margin-bottom:7px;display:flex}.child-progress strong{font-size:10px}.parent-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-item{border-bottom:1px solid #f0eff4;align-items:center;gap:12px;padding:10px 0;display:flex}.timeline-item:last-child{border:0}.timeline-date{border-radius:11px;flex-direction:column;justify-content:center;align-items:center;width:40px;height:43px;display:flex}.timeline-date strong{font:700 15px Manrope}.timeline-date small{font-size:7px;font-weight:700}.timeline-item>div{flex-direction:column;flex:1;gap:3px;display:flex}.timeline-item>div strong{font-size:11px}.timeline-item>div span{color:var(--muted);font-size:9px}.timeline-item>svg{color:#aaa8b5}.payment-summary{background:#f9fbfa;border-radius:13px;align-items:center;gap:12px;padding:14px;display:flex}.payment-ok{background:var(--mint-soft);width:37px;height:37px;color:var(--mint);border-radius:50%;place-items:center;display:grid}.payment-summary div{flex:1}.payment-summary div strong{font-size:11px}.payment-summary p{color:var(--muted);margin-top:3px;font-size:9px}.payment-summary>strong{font:700 16px Manrope}.next-payment{color:var(--muted);align-items:center;gap:7px;margin:15px 4px 2px;font-size:10px;display:flex}.family-activity{margin-top:20px}.feed-row{align-items:center;gap:12px;padding:11px 0;display:flex}.feed-row>div{flex-direction:column;gap:3px;display:flex}.feed-row strong{font-size:11px}.feed-row span{color:var(--muted);font-size:9px}.payment-hero{color:#fff;box-shadow:var(--shadow-md);background:linear-gradient(120deg,#6658d5,#8173e4);border-radius:20px;justify-content:space-between;align-items:center;margin-bottom:22px;padding:27px 30px;display:flex}.payment-hero .eyebrow{color:#dad6fb}.payment-hero h2{margin-bottom:4px;font-size:22px}.payment-hero p{color:#dfdcf8;font-size:10px}.payment-hero .primary-button{color:var(--violet);background:#fff;border-color:#fff}.payment-table-card{padding:0;overflow:hidden}.payment-table-card .section-title{padding:21px 21px 0}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{letter-spacing:.6px;text-transform:uppercase;color:#9a98a7;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fafafd;padding:12px 17px;font-size:9px;font-weight:700}td{color:#5a586a;white-space:nowrap;border-bottom:1px solid #f0eff4;padding:14px 17px;font-size:11px}tbody tr:last-child td{border-bottom:0}.status{border-radius:7px;align-items:center;gap:5px;padding:5px 8px;font-size:9px;font-weight:700;display:inline-flex}.status.paid,.status.active{color:#268f77;background:var(--mint-soft)}.status.pending{color:#c57b22;background:var(--gold-soft)}.status.live{color:var(--violet);background:var(--violet-soft)}.table-person{align-items:center;gap:9px;display:flex}.table-person>div{flex-direction:column;gap:3px;display:flex}.table-person strong{color:var(--ink);font-size:11px}.table-person span{color:var(--mint);font-size:8px}.payment-metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:20px;display:grid}.payment-metrics-grid article{border:1px solid var(--line);min-height:105px;box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;align-items:flex-start;gap:11px;padding:17px;display:flex}.payment-metric-icon{border-radius:11px;flex:none;place-items:center;width:37px;height:37px;display:grid}.payment-metric-icon.violet{background:var(--violet-soft);color:var(--violet)}.payment-metric-icon.mint{background:var(--mint-soft);color:var(--mint)}.payment-metric-icon.gold{background:var(--gold-soft);color:#b17823}.payment-metric-icon.coral{background:var(--coral-soft);color:var(--coral)}.payment-metrics-grid article>div{flex-direction:column;min-width:0;display:flex}.payment-metrics-grid small{color:var(--muted);font-size:8px}.payment-metrics-grid strong{color:var(--ink);margin:3px 0;font:800 20px Manrope}.payment-metrics-grid p{color:var(--muted);font-size:8px}.payment-hourly-banner{color:#fff;min-height:132px;box-shadow:var(--shadow-md);background:linear-gradient(120deg,#6658d5,#8173e4);border-radius:19px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:23px 27px;display:flex}.payment-hourly-banner .eyebrow{color:#dedafb}.payment-hourly-banner h2{margin:5px 0 3px;font-size:21px}.payment-hourly-banner p{color:#e2dff7;font-size:9px}.payment-hourly-banner .primary-button{color:var(--violet);background:#fff;border-color:#fff}.real-payments-card{margin-bottom:22px;padding:0;overflow:hidden}.real-payments-head{justify-content:space-between;align-items:flex-end;gap:18px;padding:21px 21px 16px;display:flex}.real-payments-head h2{margin-top:3px;font-size:18px}.payment-filter-tabs{flex-wrap:wrap;gap:4px;display:flex}.payment-filter-tabs button{color:#777481;cursor:pointer;background:#f3f2f6;border:0;border-radius:8px;height:31px;padding:0 10px;font-size:8px;font-weight:800}.payment-filter-tabs button.active{background:var(--violet);color:#fff}.payment-toolbar{border-top:1px solid var(--line);background:#fafafd;align-items:center;gap:8px;padding:13px 20px;display:flex}.payment-toolbar .inline-search{background:#fff;flex:1}.payment-toolbar select,.payment-toolbar input[type=month]{border:1px solid var(--line);color:#656375;background:#fff;border-radius:10px;height:39px;padding:0 10px;font-size:9px}.payment-toolbar .outline-button{min-height:39px;padding:0 11px;font-size:8px}.real-payments-table td>strong:first-child{color:var(--ink);font-size:10px}.payment-class-date{color:var(--muted);margin-top:3px;font-size:7px;display:block}.payment-amount{font:800 13px Manrope!important}.receipt-date,.receipt-none{font-size:8px}.receipt-date{color:#5d5971}.receipt-none{color:#aaa8b5}.status.payment-history-paid{color:#278b74;background:var(--mint-soft)}.status.payment-history-pending,.status.payment-history-review{color:#a56b1d;background:var(--gold-soft)}.status.payment-history-review{color:#3f79a8;background:var(--blue-soft)}.status.payment-history-rejected{color:#b85247;background:var(--coral-soft)}.status.payment-history-refunded{color:#777481;background:#efedf2}.payment-rejection-copy{white-space:normal;color:#b85247;max-width:180px;margin-top:4px;font-size:7px;line-height:1.35;display:block}.payment-row-action{min-height:31px;padding:0 9px;font-size:8px}.payments-state{color:#aaa8b5;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:255px;display:flex}.payments-state .spinner{border-color:#d8d4f5;border-top-color:var(--violet)}.payments-state strong{color:var(--ink);font-size:12px}.payments-state p{font-size:9px}.payment-table-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:13px 20px;font-size:9px;display:flex}.payment-table-footer strong{color:var(--ink);font-size:10px}.payment-page-error{margin:12px 20px}.payment-page-error button{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:8px;font-weight:800;text-decoration:underline}.admin-main-grid{grid-template-columns:minmax(0,1.3fr) minmax(320px,.8fr);gap:22px;margin-bottom:22px;display:grid}.attendance-overview{grid-template-columns:140px 1fr;align-items:center;gap:25px;min-height:180px;display:grid}.attendance-overview>div:first-child{flex-direction:column;display:flex}.attendance-overview>div:first-child strong{font:800 30px Manrope}.attendance-overview>div:first-child span{color:var(--muted);font-size:10px}.attendance-overview>div:first-child small{color:var(--mint);margin-top:9px;font-size:9px}.admin-bars{align-items:flex-end;gap:16px;height:150px;display:flex}.admin-bars>div{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:7px;height:100%;display:flex}.admin-bars span{background:linear-gradient(#8f80e9,#6759db);border-radius:6px 6px 2px 2px;width:100%;max-width:26px}.admin-bars small{color:var(--muted);font-size:8px}.class-row{border-bottom:1px solid #f0eff4;grid-template-columns:35px 3px 1fr auto;align-items:center;gap:10px;padding:11px 0;display:grid}.class-row:last-child{border:0}.class-time{font-size:11px;font-weight:700}.class-row>i{border-radius:4px;height:35px}.class-row>i.violet{background:var(--violet)}.class-row>i.coral{background:var(--coral)}.class-row>i.mint{background:var(--mint)}.class-row>div{flex-direction:column;gap:3px;display:flex}.class-row strong{font-size:10px}.class-row div span{color:var(--muted);font-size:8px}.admin-feed-grid{grid-template-columns:repeat(3,1fr);gap:25px;display:grid}.admin-feed-grid .feed-row{border-right:1px solid var(--line)}.admin-feed-grid .feed-row:last-child{border:0}.table-toolbar{justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.inline-search{border:1px solid var(--line);color:#9a98a7;border-radius:10px;align-items:center;gap:8px;width:260px;height:39px;padding:0 11px;display:flex}.inline-search input{border:0;outline:0;width:100%;min-width:0;font-size:11px}.student-table-card{padding:0;overflow:hidden}.table-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:13px 20px;display:flex}.table-footer>span,.table-footer>small{color:var(--muted);font-size:9px}.table-footer>div{align-items:center;gap:4px;display:flex}.page-button{background:var(--violet);color:#fff;border:0;border-radius:8px;width:31px;height:31px;font-size:10px}.admin-course-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.admin-course-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;overflow:hidden}.admin-course-top{justify-content:space-between;align-items:flex-start;height:105px;padding:14px 17px;display:flex}.admin-course-top>span{font:800 32px Manrope}.admin-course-card>div:last-child{padding:18px}.admin-course-card h3{margin:11px 0 3px;font-size:15px}.admin-course-card p{color:var(--muted);font-size:9px}.admin-course-metrics{gap:12px;margin:17px 0;display:flex}.admin-course-metrics span{color:#737183;align-items:center;gap:5px;font-size:9px;display:flex}.admin-course-card .outline-button{width:100%}.empty-feature-card{border:1px solid var(--line);min-height:360px;box-shadow:var(--shadow-sm);background:#fff;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;display:flex}.feature-visual{background:var(--violet-soft);width:92px;height:92px;color:var(--violet);border-radius:30px;place-items:center;margin-bottom:22px;display:grid;transform:rotate(-3deg)}.empty-feature-card>strong{font:800 35px Manrope}.empty-feature-card>p{color:var(--muted);margin:3px 0 20px;font-size:11px}.table-filter{border:1px solid var(--line);color:#656375;background:#fff;border-radius:10px;height:39px;padding:0 34px 0 12px;font-size:10px;font-weight:700}.status.inactive{color:#777481;background:#efedf2}.student-email{color:var(--muted)!important}.table-subcopy,.table-alert{margin-top:3px;font-size:7px;display:block}.table-subcopy{color:var(--muted)}.table-alert{color:#b85247}.student-row-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.student-row-actions .outline-button{min-height:31px;padding:0 10px;font-size:8px}.student-table-state{color:#aaa8b5;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:290px;font-size:9px;display:flex}.student-table-empty strong{color:var(--ink);font-size:11px}.student-page-error{background:var(--coral-soft);color:#a94d42;border-radius:10px;align-items:center;gap:7px;margin:0 20px 13px;padding:10px 12px;font-size:9px;display:flex}.student-page-error button{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:8px;font-weight:800}.subjects-info-banner{background:var(--violet-soft);color:var(--violet);border:1px solid #d9d4f5;border-radius:14px;align-items:flex-start;gap:11px;margin-bottom:18px;padding:14px 16px;display:flex}.subjects-info-banner>div{flex-direction:column;gap:3px;display:flex}.subjects-info-banner strong{color:var(--ink);font-size:10px}.subjects-info-banner p{color:#6d6885;font-size:9px;line-height:1.5}.subjects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.subject-card{border:1px solid var(--line);border-top:4px solid var(--violet);min-height:315px;box-shadow:var(--shadow-sm);background:#fff;border-radius:19px;flex-direction:column;align-items:flex-start;padding:22px;transition:all .18s;display:flex}.subject-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.subject-card.subject-coral{border-top-color:var(--coral)}.subject-card.subject-blue{border-top-color:var(--blue)}.subject-card.subject-disabled{opacity:.62}.subject-card-top{justify-content:space-between;align-items:flex-start;width:100%;display:flex}.subject-card-top>span{background:var(--violet-soft);width:62px;height:62px;color:var(--violet);border-radius:18px;place-items:center;font:800 25px Manrope;display:grid}.subject-coral .subject-card-top>span{background:var(--coral-soft);color:var(--coral)}.subject-blue .subject-card-top>span{background:var(--blue-soft);color:var(--blue)}.subject-card-top>i{font-style:normal}.subject-card h2{margin:18px 0 6px;font-size:19px}.subject-card>p{color:var(--muted);min-height:49px;font-size:10px;line-height:1.65}.subject-metrics{background:var(--line);border-radius:11px;grid-template-columns:1fr 1fr;gap:1px;width:100%;margin:18px 0;display:grid;overflow:hidden}.subject-metrics>span{min-height:58px;color:var(--muted);background:#fafafd;flex-direction:column;justify-content:center;padding:10px;font-size:8px;display:flex}.subject-metrics strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.subject-card>button{width:100%;margin-top:auto}.subject-disable-button{color:#a14e43;border-color:#efd3cf}.topic-picker>small{color:var(--muted);font-size:8px;line-height:1.4}.student-form-modal{width:min(690px,100%);max-height:calc(100vh - 30px);overflow-y:auto}.form-row.equal{grid-template-columns:1fr 1fr}.field-help{color:var(--muted);font-size:8px;font-weight:500;line-height:1.5}.student-parent-toggle{border:1px solid var(--line);cursor:pointer;border-radius:12px;min-height:58px;padding:11px 13px;flex-direction:row!important;align-items:center!important;gap:10px!important;display:flex!important}.student-parent-toggle>input{accent-color:var(--violet);width:17px!important;height:17px!important}.student-parent-toggle>span{flex-direction:column;gap:3px;display:flex}.student-parent-toggle strong{color:var(--ink);font-size:10px}.student-parent-toggle small{color:var(--muted);font-size:8px;font-weight:500}.student-parent-fields{background:#faf9ff;border:1px solid #dcd7f6;border-radius:13px;flex-direction:column;gap:12px;padding:14px;display:flex}.student-parent-fields legend{color:var(--violet);letter-spacing:.7px;padding:0 7px;font-size:8px;font-weight:800}.student-detail-modal{width:min(900px,100%);max-height:calc(100vh - 30px);overflow-y:auto}.student-detail-state{min-height:330px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:9px;font-size:9px;display:flex}.student-detail-state strong{color:var(--ink);font-size:12px}.student-detail-head{background:#f8f7fb;border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px;display:grid}.student-detail-head>div:nth-child(2){flex-direction:column;align-items:flex-start;gap:4px;display:flex}.student-detail-head>div:nth-child(2)>span{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.student-detail-head>div:nth-child(2)>span i{font-style:normal}.student-detail-head>div:nth-child(2)>strong{font-size:13px}.student-detail-head>div:nth-child(2)>small{color:var(--muted);font-size:9px}.student-detail-actions{align-items:center;gap:6px;display:flex}.student-detail-actions .outline-button{min-height:35px;padding:0 10px;font-size:8px}.student-detail-metrics{border:1px solid var(--line);border-radius:15px;grid-template-columns:repeat(4,1fr);margin:17px 0;display:grid;overflow:hidden}.student-detail-metrics>div{border-right:1px solid var(--line);flex-direction:column;justify-content:center;min-height:86px;padding:15px;display:flex}.student-detail-metrics>div:last-child{border:0}.student-detail-metrics span,.student-detail-metrics small{color:var(--muted);font-size:8px}.student-detail-metrics strong{margin:3px 0;font:800 19px Manrope}.student-detail-grid{grid-template-columns:minmax(250px,.75fr) minmax(340px,1.25fr);gap:22px;display:grid}.student-detail-grid section>h3{margin-bottom:10px;font-size:12px}.student-info-list{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:9px;display:grid}.student-info-list>span{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:3px;padding:10px;display:flex}.student-info-list small,.student-parent-card span,.student-parent-card small{color:var(--muted);font-size:8px}.student-info-list strong,.student-parent-card strong{font-size:9px}.student-parent-card{border:1px solid var(--line);color:var(--violet);border-radius:11px;align-items:flex-start;gap:9px;margin-top:7px;padding:10px;display:flex}.student-parent-card>div{flex-direction:column;flex:1;gap:3px;display:flex}.student-parent-card strong{color:var(--ink)}.student-parent-card .temporary-access-label{color:#b77a22}.student-no-parent{color:#aaa8b5;border:1px dashed #dad7e2;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:80px;font-size:8px;display:flex}.student-booking-history{border-top:1px solid var(--line)}.student-booking-history article{border-bottom:1px solid var(--line);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0;display:grid}.student-booking-history article>div{flex-direction:column;gap:3px;display:flex}.student-booking-history article>div strong{font-size:9px}.student-booking-history article>div small{color:var(--muted);font-size:8px}.nested-modal{z-index:115}.reset-password-modal{width:min(510px,100%)}.reset-warning{background:var(--gold-soft);color:#9b6a28;border-radius:13px;align-items:flex-start;gap:12px;padding:14px;display:flex}.reset-warning>div{flex-direction:column;gap:4px;display:flex}.reset-warning strong{color:#75501e;font-size:10px}.reset-warning p{font-size:9px;line-height:1.55}.temporary-password-result{text-align:center;flex-direction:column;align-items:center;padding:5px 0;display:flex}.temporary-password-result>span{background:var(--mint-soft);width:52px;height:52px;color:var(--mint);border-radius:50%;place-items:center;display:grid}.temporary-password-result h3{margin-top:11px;font-size:17px}.temporary-password-result p{max-width:370px;color:var(--muted);margin:5px 0 15px;font-size:9px;line-height:1.6}.temporary-password-result>div{background:#f7f6fa;border-radius:12px;grid-template-columns:1fr auto;gap:7px;width:100%;padding:8px;display:grid}.temporary-password-result code{letter-spacing:.5px;color:var(--ink);-webkit-user-select:all;user-select:all;align-items:center;padding:0 8px;font-size:14px;font-weight:800;display:flex}.temporary-password-result>small{color:#a36f26;margin:11px 0 17px;font-size:8px}.temporary-password-result>.primary-button{width:100%}.account-settings-layout{grid-template-columns:minmax(250px,.65fr) minmax(390px,1.35fr);gap:22px;display:grid}.account-profile-card{text-align:center;flex-direction:column;align-items:center;padding:30px;display:flex}.account-profile-card h2{margin:10px 0 7px;font-size:18px}.account-profile-card>div{border-top:1px solid var(--line);text-align:left;flex-direction:column;align-items:flex-start;gap:4px;width:100%;margin-top:24px;padding-top:18px;display:flex}.account-profile-card>div small{color:var(--muted);font-size:8px}.account-profile-card>div strong{font-size:10px}.account-profile-card>p{color:var(--muted);text-align:left;margin-top:18px;font-size:9px;line-height:1.65}.account-password-card{padding:27px}.account-password-card>.section-title{margin-bottom:5px}.account-password-card>p{color:var(--muted);margin-bottom:18px;font-size:9px}.password-change-form{flex-direction:column;gap:13px;display:flex}.password-change-form>label{color:#5e5c6d;flex-direction:column;gap:6px;font-size:9px;font-weight:700;display:flex}.password-change-form input{border:1px solid var(--line);width:100%;height:43px;color:var(--ink);background:#fff;border-radius:10px;padding:0 12px}.password-change-form .password-field input{padding-right:44px}.password-rules{background:var(--violet-soft);color:var(--violet);border-radius:10px;align-items:center;gap:7px;padding:10px 12px;font-size:8px;display:flex}.password-submit{width:100%;margin-top:2px}.password-gate{background:linear-gradient(145deg,#f5f3ff,#fbfbfd);place-items:center;min-height:100vh;padding:20px;display:grid}.password-gate>section{border:1px solid var(--line);width:min(510px,100%);box-shadow:var(--shadow-md);background:#fff;border-radius:24px;padding:31px}.password-gate .logo{margin-bottom:28px}.password-gate-icon{background:var(--violet-soft);width:62px;height:62px;color:var(--violet);border-radius:19px;place-items:center;margin-bottom:18px;display:grid}.password-gate h1{margin:5px 0 8px;font-size:27px}.password-gate>section>p{color:var(--muted);margin-bottom:20px;font-size:10px;line-height:1.7}.password-gate-logout{width:100%;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;margin-top:15px;font-size:9px;display:flex}.booking-layout{grid-template-columns:minmax(0,1.45fr) minmax(310px,.62fr);align-items:start;gap:22px;display:grid}.booking-main{padding:26px}.student-picker{background:#f8f7fb;border-radius:13px;justify-content:space-between;align-items:center;margin-bottom:23px;padding:11px 14px;display:flex}.student-picker span,.topic-picker>span{color:#656375;font-size:10px;font-weight:700}.student-picker select,.topic-picker select{border:1px solid var(--line);height:37px;color:var(--ink);background:#fff;border-radius:9px;padding:0 28px 0 10px;font-size:11px}.booking-step{align-items:flex-start;gap:12px;display:flex}.booking-step>span{background:var(--violet);color:#fff;border-radius:8px;flex:none;place-items:center;width:27px;height:27px;font-size:11px;font-weight:800;display:grid}.booking-step>div{flex-direction:column;gap:3px;display:flex}.booking-step strong{font:700 14px Manrope}.booking-step p{color:var(--muted);font-size:10px}.second-step{margin-top:29px}.date-strip{grid-template-columns:repeat(6,1fr);gap:8px;margin:18px 0 4px;display:grid}.date-strip button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;height:78px;transition:all .18s;display:flex}.date-strip button:hover{border-color:#cbc5f2}.date-strip button.selected{border-color:var(--violet);background:var(--violet);color:#fff;box-shadow:0 8px 18px #6759db33}.date-strip small,.date-strip span{letter-spacing:.7px;color:#9a98a8;font-size:8px;font-weight:700}.date-strip button.selected small,.date-strip button.selected span{color:#ddd9fb}.date-strip strong{margin:3px 0;font:800 20px/1.1 Manrope}.slot-legend{justify-content:flex-end;align-items:center;gap:13px;margin:-21px 0 15px;display:flex}.slot-legend span{color:var(--muted);align-items:center;gap:5px;font-size:8px;display:flex}.slot-legend i{border-radius:3px;width:8px;height:8px}.legend-available{background:#fff;border:1px solid #cfcdd7}.legend-selected{background:var(--violet)}.legend-busy{background:#e6e4eb}.legend-blocked{background:var(--coral)}.time-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.time-slots button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:20px 1fr;align-items:center;min-height:69px;padding:11px;display:grid;position:relative}.time-slots button:hover:not(:disabled){background:#faf9ff;border-color:#bbb3ef}.time-slots button>svg:first-child{color:#9a98a8;grid-row:1/3}.time-slots button strong{font-size:11px}.time-slots button span{color:var(--muted);font-size:8px}.time-slots button>svg:last-child{position:absolute;top:8px;right:8px}.time-slots button.selected{background:var(--violet-soft);border-color:var(--violet);color:var(--violet-dark)}.time-slots button.selected>svg{color:var(--violet)}.time-slots button:disabled{color:#aaa8b4;background:#f5f4f7;border-color:#efedf2}.booking-note{color:#806e3e;background:#fff9e7;border-radius:11px;align-items:flex-start;gap:9px;margin-top:17px;padding:12px;font-size:9px;line-height:1.5;display:flex}.booking-note svg{color:var(--gold);flex:none}.booking-summary{padding:25px;position:sticky;top:98px}.booking-summary h2{font-size:20px}.summary-empty{text-align:center;color:#aaa8b5;flex-direction:column;justify-content:center;align-items:center;min-height:215px;display:flex}.summary-empty strong{color:#777586;margin:11px 0 4px;font-size:11px}.summary-empty p{max-width:190px;font-size:9px;line-height:1.5}.summary-line{border-bottom:1px solid var(--line);color:var(--violet);align-items:flex-start;gap:11px;padding:16px 0;display:flex}.summary-line>div{flex-direction:column;gap:3px;display:flex}.summary-line span{color:var(--muted);font-size:8px}.summary-line strong{color:var(--ink);font-size:11px}.summary-line small{color:var(--violet);font-size:8px}.topic-picker{flex-direction:column;gap:7px;margin:17px 0;display:flex}.topic-picker select{width:100%}.summary-price{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:12px;padding-top:16px;display:flex}.summary-price span{color:var(--muted);font-size:10px}.summary-price strong{font:800 22px Manrope}.reserve-button{width:100%;margin-top:17px}.summary-help{color:#9a98a8;text-align:center;margin-top:10px;font-size:8px;line-height:1.5;display:block}.booking-success{border:1px solid var(--line);max-width:680px;box-shadow:var(--shadow-md);text-align:center;background:#fff;border-radius:24px;flex-direction:column;align-items:center;margin:20px auto;padding:48px;display:flex}.success-check{color:#fff;background:var(--mint);border-radius:50%;place-items:center;width:70px;height:70px;margin-bottom:21px;display:grid;box-shadow:0 10px 24px #49bfa53b}.booking-success h2{font-size:24px}.booking-success>strong{color:var(--violet);margin:8px 0;font:800 25px Manrope}.booking-success p{color:var(--muted);font-size:11px}.booking-success>div{gap:9px;margin-top:25px;display:flex}.save-toast{background:var(--mint-soft);color:#237d69;border:1px solid #bfe5da;border-radius:12px;align-items:center;gap:8px;margin:-10px 0 18px;padding:12px 15px;font-size:10px;font-weight:700;display:flex}.schedule-admin-layout{grid-template-columns:minmax(0,1.25fr) minmax(310px,.7fr);align-items:start;gap:22px;display:grid}.weekly-settings,.blocked-card{padding:24px}.settings-head{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.settings-head h2{font-size:17px}.settings-head p{color:var(--muted);margin-top:4px;font-size:9px}.timezone-badge{background:var(--blue-soft);color:var(--blue);border-radius:8px;align-items:center;gap:5px;padding:6px 8px;font-size:8px;font-weight:700;display:flex}.availability-list{border-top:1px solid var(--line);margin-top:18px}.availability-row{border-bottom:1px solid var(--line);grid-template-columns:38px 105px 105px 20px 105px 1fr;align-items:center;gap:10px;min-height:61px;display:grid}.availability-row>strong{font-size:11px}.availability-row input,.block-form input{border:1px solid var(--line);height:36px;color:var(--ink);background:#fff;border-radius:9px;padding:0 8px;font-size:10px}.availability-row.disabled{color:#a6a4af}.toggle{cursor:pointer;background:#d8d6df;border:0;border-radius:999px;align-items:center;width:32px;height:19px;padding:2px;transition:all .18s;display:flex}.toggle span{background:#fff;border-radius:50%;width:15px;height:15px;transition:all .18s;box-shadow:0 1px 4px #00000029}.toggle.on{background:var(--violet)}.toggle.on span{transform:translate(13px)}.time-separator{text-align:center;color:var(--muted);font-size:9px}.slot-count{color:var(--muted);background:#f5f4f8;border-radius:7px;justify-self:end;padding:5px 7px;font-size:8px}.day-off{color:#aaa8b5;grid-column:3/-1;font-size:9px}.settings-footer{justify-content:space-between;align-items:center;margin-top:20px;display:flex}.settings-footer>span{color:var(--muted);align-items:center;gap:6px;font-size:9px;display:flex}.settings-footer>span svg{color:var(--violet)}.blocked-card{min-height:300px}.block-form{background:#f8f7fb;border-radius:13px;flex-direction:column;gap:10px;margin-top:17px;padding:14px;display:flex}.block-form label{color:#656375;flex-direction:column;gap:5px;font-size:8px;font-weight:700;display:flex}.block-form>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.block-form>div:last-child{justify-content:flex-end;margin-top:3px;display:flex}.block-form .outline-button,.block-form .primary-button{min-height:35px;padding:0 11px;font-size:9px}.blocked-list{margin-top:15px}.blocked-item{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:13px 0;display:flex}.blocked-item>span{background:var(--coral-soft);width:31px;height:31px;color:var(--coral);border-radius:9px;flex:none;place-items:center;display:grid}.blocked-item>div{flex-direction:column;flex:1;gap:3px;display:flex}.blocked-item strong{font-size:9px}.blocked-item p{color:var(--muted);font-size:8px}.no-blocks{min-height:190px;color:var(--mint);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.no-blocks p{color:var(--muted);font-size:9px}.rotate-45{transform:rotate(45deg)}.schedule-preview{margin-top:22px}.schedule-preview .slot-legend{margin:0}.preview-timeline{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.preview-timeline>div{border:1px solid var(--line);border-radius:11px;flex-direction:column;gap:4px;min-height:63px;padding:11px;display:flex}.preview-timeline strong{font-size:10px}.preview-timeline span{color:var(--muted);font-size:8px}.preview-timeline .available{background:#f7fcfa;border-color:#c7e9df}.preview-timeline .available span{color:var(--mint)}.preview-timeline .reserved{background:#f3f0fd;border-color:#d8d2f7}.preview-timeline .reserved span{color:var(--violet)}.preview-timeline .blocked{background:var(--coral-soft);border-color:#ffd3cc}.preview-timeline .blocked span{color:var(--coral)}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a182a78;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:21px;width:min(500px,100%);padding:25px;animation:.2s ease-out pop;box-shadow:0 24px 70px #16142840}.modal-head{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.modal-head h2{font-size:22px}.modal-card form{flex-direction:column;gap:15px;display:flex}.modal-card label{color:#656375;flex-direction:column;gap:6px;font-size:10px;font-weight:700;display:flex}.modal-card input,.modal-card select{border:1px solid var(--line);width:100%;height:43px;color:var(--ink);background:#fff;border-radius:10px;padding:0 12px;font-size:12px}.form-row{grid-template-columns:1fr 2fr;gap:12px;display:grid}.modal-actions{justify-content:flex-end;gap:9px;margin-top:8px;display:flex}.success-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;display:flex}.success-state>span{background:var(--mint-soft);width:62px;height:62px;color:var(--mint);border-radius:50%;place-items:center;margin-bottom:15px;display:grid}.success-state h3{font-size:20px}.success-state p{color:var(--muted);margin:6px 0 20px;font-size:11px}.demo-switcher{z-index:45;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#232238f2;border-radius:15px;align-items:center;gap:8px;padding:6px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 32px #1f1d3440}.demo-switcher>span{color:#c7c4d4;white-space:nowrap;align-items:center;gap:5px;padding:0 7px;font-size:9px;display:flex}.demo-switcher>div{gap:2px;display:flex}.demo-switcher button{color:#aaa7b8;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 11px;font-size:9px;font-weight:700}.demo-switcher button.selected{color:#353246;background:#fff}.date-strip{grid-template-columns:repeat(7,1fr)}.capitalize{text-transform:capitalize}.booking-error{background:var(--coral-soft);color:#b74d3f;border-radius:9px;margin-top:12px;padding:9px;font-size:9px}.payment-methods{flex-direction:column;gap:7px;margin:16px 0;display:flex}.payment-methods>span{color:#656375;font-size:9px;font-weight:700}.payment-methods button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:11px;align-items:center;gap:9px;width:100%;min-height:53px;padding:9px 11px;display:flex}.payment-methods button>svg{color:#9a98a8}.payment-methods button>div{flex-direction:column;flex:1;gap:2px;display:flex}.payment-methods button strong{font-size:10px}.payment-methods button small{color:var(--muted);font-size:8px}.payment-methods button>i{border:1px solid #cbc9d3;border-radius:50%;width:14px;height:14px}.payment-methods button.selected{border-color:var(--violet);background:var(--violet-soft)}.payment-methods button.selected>svg{color:var(--violet)}.payment-methods button.selected>i{border:4px solid var(--violet);background:#fff}.summary-price>div{flex-direction:column;gap:3px;display:flex}.summary-price>div small{color:var(--muted);font-size:8px}.payment-result{border-radius:10px;margin-top:15px;padding:10px 13px;font-size:9px;font-weight:700}.payment-result.yape{background:var(--mint-soft);color:#277f6c}.payment-result.card{background:var(--violet-soft);color:var(--violet)}.yape-payment{background:#f7f3ff;border:1px solid #d7c9f3;border-radius:11px;align-items:center;gap:10px;margin:16px 0;padding:11px;display:flex}.yape-mark{color:#fff;background:#6f35a5;border-radius:9px;place-items:center;width:32px;height:32px;font:800 14px Manrope;display:grid}.yape-payment>div{flex-direction:column;gap:2px;display:flex}.yape-payment strong{font-size:10px}.yape-payment small{color:var(--muted);font-size:8px}.logout-item{color:#a7554d}.logout-item:hover{color:#c34f43;background:var(--coral-soft)}.children-empty{color:#aaa8b5;border:1px dashed #d8d5e0;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:130px;font-size:10px;display:flex}.auth-page{background:#fff;grid-template-columns:minmax(390px,.9fr) minmax(520px,1.1fr);min-height:100vh;display:grid}.auth-showcase{color:#fff;background:linear-gradient(145deg,#2d2949 0%,#423b72 58%,#6153ba 100%);flex-direction:column;padding:42px clamp(35px,5vw,76px);display:flex;position:relative;overflow:hidden}.auth-showcase .logo{z-index:2;position:relative}.auth-showcase .logo-mark{background:#fff}.auth-showcase .logo-mark:before,.auth-showcase .logo-mark:after,.auth-showcase .logo-mark span{background:var(--violet)}.auth-showcase .logo-word{color:#fff}.showcase-copy{z-index:2;max-width:560px;margin:auto 0;position:relative}.showcase-badge{color:#d8d4ee;letter-spacing:1px;background:#ffffff14;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:9px;font-weight:800;display:inline-flex}.showcase-copy h1{letter-spacing:-2.7px;margin:20px 0;font-size:clamp(36px,4vw,58px);line-height:1.08}.showcase-copy h1 em{color:#c5baff;font-style:normal}.showcase-copy>p{color:#c7c3d9;max-width:470px;font-size:13px;line-height:1.75}.showcase-points{flex-direction:column;gap:11px;margin-top:31px;display:flex}.showcase-points span{color:#e5e2ed;align-items:center;gap:9px;font-size:11px;display:flex}.showcase-points svg{color:#8cdbca}.auth-showcase>small{z-index:2;color:#aaa5c3;font-size:9px;position:relative}.showcase-orbit{border:1px solid #ffffff1c;border-radius:50%;place-items:center;width:350px;height:350px;display:grid;position:absolute;bottom:1%;right:-110px}.showcase-orbit:before,.showcase-orbit:after{content:"";border:1px solid #ffffff14;border-radius:50%;position:absolute}.showcase-orbit:before{width:250px;height:250px}.showcase-orbit:after{background:#ffffff0a;width:150px;height:150px}.showcase-orbit strong{color:#ffffff1f;font:800 52px Manrope}.showcase-orbit span,.showcase-orbit i{color:#fff3;font:800 25px Manrope;position:absolute}.showcase-orbit span{top:30px;left:25px}.showcase-orbit i{bottom:30px;right:40px}.auth-panel{background:#fbfbfd;justify-content:center;align-items:center;min-height:100vh;padding:40px clamp(30px,7vw,110px);display:flex;overflow-y:auto}.auth-card{width:100%;max-width:510px;padding:25px 0}.auth-kicker{color:var(--violet);letter-spacing:1.5px;margin-bottom:8px;font-size:9px;font-weight:800;display:block}.auth-card>h2{letter-spacing:-1px;font-size:30px}.auth-card>p{color:var(--muted);margin-top:7px;font-size:11px}.auth-tabs{background:#efeff4;border-radius:11px;grid-template-columns:1fr 1fr;margin:24px 0 21px;padding:4px;display:grid}.auth-tabs button{color:#898795;cursor:pointer;background:0 0;border:0;border-radius:8px;height:37px;font-size:10px;font-weight:700}.auth-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #24213914}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form label{color:#5e5c6d;flex-direction:column;gap:6px;font-size:9px;font-weight:700;display:flex}.auth-form input,.auth-form select{width:100%;height:43px;color:var(--ink);background:#fff;border:1px solid #dedde6;border-radius:10px;padding:0 12px;font-size:11px}.auth-form input:focus,.auth-form select:focus{border-color:#aaa1e7;outline:3px solid #6759db14}.password-field{position:relative}.password-field input{padding-right:43px}.password-field button{color:#9492a1;cursor:pointer;background:0 0;border:0;place-items:center;width:37px;height:37px;display:grid;position:absolute;top:3px;right:4px}.form-options{justify-content:space-between;align-items:center;display:flex}.check-label{flex-direction:row!important;align-items:center!important;gap:7px!important;font-weight:500!important;display:flex!important}.check-label input{width:15px;height:15px;accent-color:var(--violet)}.form-options>button{color:var(--violet);cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:700}.auth-error{background:var(--coral-soft);color:#ae4e41;border:1px solid #f2c9c3;border-radius:10px;padding:10px 12px;font-size:9px;line-height:1.5}.auth-submit{width:100%;min-height:46px;margin-top:2px}.demo-access{border-top:1px solid var(--line);margin-top:4px;padding-top:15px}.demo-access>span{text-align:center;color:#aaa8b5;margin-bottom:9px;font-size:8px;display:block}.demo-access>div{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.demo-access button{border:1px solid var(--line);color:#747182;cursor:pointer;background:#fff;border-radius:8px;height:31px;font-size:8px;font-weight:700}.demo-access button:hover{color:var(--violet);border-color:#bbb4ed}.account-types{grid-template-columns:1fr 1fr;gap:9px;display:grid}.account-types>button{border:1px solid var(--line);text-align:left;cursor:pointer;color:#848291;background:#fff;border-radius:11px;align-items:center;gap:9px;min-height:65px;padding:10px;display:flex}.account-types button.selected{border-color:var(--violet);background:var(--violet-soft);color:var(--violet)}.account-types button>span{flex-direction:column;gap:3px;display:flex}.account-types strong{color:var(--ink);font-size:9px}.account-types small{color:var(--muted);font-size:7px}.auth-form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.child-fields{border:1px solid var(--line);border-radius:13px;margin:3px 0 0;padding:13px}.child-fields legend{color:var(--violet);letter-spacing:.6px;padding:0 6px;font-size:8px;font-weight:800}.terms-check{color:var(--muted)!important;font-size:8px!important}.auth-mobile-logo,.sidebar-backdrop{display:none}.booking-page-error{margin:-8px 0 18px;padding:12px 14px;font-size:10px}.reservations-card{padding:0;overflow:hidden}.reservations-list{flex-direction:column;display:flex}.reservation-item{border-bottom:1px solid var(--line);grid-template-columns:58px 1fr;gap:17px;padding:21px 23px;transition:all .18s;display:grid}.reservation-item:last-child{border-bottom:0}.reservation-item:hover{background:#fdfcff}.reservation-cancelled,.reservation-completed{background:#fbfbfc}.reservation-date{background:var(--violet-soft);width:55px;height:61px;color:var(--violet);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;display:flex}.reservation-date strong{font:800 21px/1 Manrope}.reservation-date span{letter-spacing:.8px;margin-top:5px;font-size:8px;font-weight:800}.reservation-cancelled .reservation-date,.reservation-completed .reservation-date{color:#9997a4;background:#f0eff3}.reservation-main{min-width:0}.reservation-title{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.reservation-title h3{margin-bottom:4px;font-size:15px}.reservation-title>div:first-child>span{color:var(--muted);font-size:9px}.reservation-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.status.booking-confirmed{color:var(--violet);background:var(--violet-soft)}.status.booking-pending,.status.payment-pending{color:#ad701c;background:var(--gold-soft)}.status.booking-completed,.status.payment-paid{color:#278b74;background:var(--mint-soft)}.status.booking-cancelled,.status.payment-refunded{color:#8a8896;background:#f0eff3}.reservation-details{flex-wrap:wrap;align-items:center;gap:18px;margin-top:14px;display:flex}.reservation-details>span{color:#696779;align-items:center;gap:6px;font-size:10px;display:flex}.reservation-details svg{color:#9a93da}.reservation-actions{border-top:1px solid #f0eff4;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding-top:14px;display:flex}.reservation-actions .outline-button{min-height:35px;padding:0 11px;font-size:9px}.reservation-actions small{color:var(--muted);font-size:9px}.action-paid{color:#278b74;border-color:#c4e6dc}.text-danger-button{color:#c35c50;cursor:pointer;background:0 0;border:0;min-height:35px;padding:0 8px;font-size:9px;font-weight:700}.text-danger-button:hover{background:var(--coral-soft);border-radius:9px}.reservations-empty{text-align:center;color:#aaa8b5;flex-direction:column;justify-content:center;align-items:center;min-height:330px;padding:35px;display:flex}.reservations-empty h3{color:var(--ink);margin:13px 0 5px;font-size:17px}.reservations-empty p{max-width:360px;font-size:10px;line-height:1.6}.reservations-empty .primary-button{margin-top:18px}.reservations-empty .spinner{border-color:#d8d4f5;border-top-color:var(--violet);margin-bottom:10px}.reschedule-modal>p{color:var(--muted);margin:-10px 0 19px;font-size:10px}.reschedule-modal form>small{color:var(--muted);font-size:9px;line-height:1.5}.booking-page-error{justify-content:space-between;align-items:center;gap:12px;display:flex}.booking-page-error button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:800;text-decoration:underline}.calendar-header h2{text-align:center;min-width:180px}.calendar-days button{border-radius:9px;gap:9px;min-height:84px;padding:9px 4px 6px}.calendar-days button.selected-day{background:var(--violet-soft);box-shadow:inset 0 0 0 1px #d7d1fa}.calendar-days button.selected-day:not(.today)>span{color:var(--violet);font-weight:800}.calendar-days button i{justify-content:center;align-items:center;min-height:10px}.calendar-days button i small{color:var(--muted);font-size:7px;font-style:normal;font-weight:700}.calendar-days button b.event-pending,.event-pending{background:var(--gold)}.calendar-days button b.event-confirmed,.event-confirmed{background:var(--violet)}.calendar-days button b.event-completed,.event-completed{background:var(--mint)}.calendar-days button b.event-cancelled,.event-cancelled{background:#aaa8b5}.agenda-card{min-height:410px}.day-events{flex-direction:column;display:flex}.agenda-booking{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #f0eff4;grid-template-columns:62px 4px 1fr 18px;align-items:center;gap:11px;width:100%;min-height:78px;padding:9px 3px;display:grid}.agenda-booking:hover{background:#faf9fc}.agenda-booking:last-child{border-bottom:0}.agenda-booking>.agenda-time{text-align:right;font-size:10px}.agenda-booking>.agenda-line{height:52px}.agenda-line.pending{background:var(--gold)}.agenda-line.confirmed{background:var(--violet)}.agenda-line.completed{background:var(--mint)}.agenda-line.cancelled{background:#aaa8b5}.agenda-booking>div{flex-direction:column;gap:3px;min-width:0;display:flex}.agenda-booking>div small{letter-spacing:.9px;color:var(--muted);font-size:7px;font-weight:800}.agenda-booking>div strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.agenda-booking>div span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:8px;overflow:hidden}.agenda-booking>svg{color:#aaa8b5}.agenda-cancelled{opacity:.68}.calendar-empty{text-align:center;color:#aaa8b5;flex-direction:column;justify-content:center;align-items:center;min-height:270px;display:flex}.calendar-empty .spinner{border-color:#d8d4f5;border-top-color:var(--violet);margin-bottom:10px}.calendar-empty strong{color:var(--ink);margin:10px 0 4px;font-size:12px}.calendar-empty p{max-width:220px;font-size:9px;line-height:1.5}.calendar-empty .outline-button{min-height:36px;margin-top:15px;font-size:9px}.calendar-legend{justify-content:flex-end;gap:16px;margin-top:12px;display:flex}.calendar-legend span{color:var(--muted);align-items:center;gap:6px;font-size:8px;display:flex}.calendar-legend i{border-radius:3px;width:8px;height:8px}.calendar-detail-status{gap:7px;margin:-8px 0 21px;display:flex}.calendar-detail-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;padding:7px 0;display:flex}.calendar-detail-list>div{align-items:flex-start;gap:12px;padding:10px 3px;display:flex}.calendar-detail-list>div>svg{color:var(--violet);margin-top:1px}.calendar-detail-list>div>span{flex-direction:column;gap:3px;display:flex}.calendar-detail-list small,.calendar-detail-notes small{color:var(--muted);font-size:8px}.calendar-detail-list strong{font-size:11px}.calendar-detail-notes{padding:14px 3px 2px}.calendar-detail-notes p{color:#5f5d6e;margin-top:4px;font-size:10px}.calendar-detail-action{width:100%;margin-top:20px}.status.payment-review{color:#3f79a8;background:var(--blue-soft)}.status.payment-rejected{color:#b85247;background:var(--coral-soft)}.action-review{color:#3f79a8;border-color:#c9e0f2}.action-yape{color:#6f35a5;border-color:#d9c6ec}.receipt-rejected-note{background:var(--coral-soft);color:#a94e43;border-radius:10px;align-items:flex-start;gap:8px;margin-top:13px;padding:10px 11px;font-size:9px;line-height:1.5;display:flex}.receipt-rejected-note svg{flex:none;margin-top:1px}.receipt-upload-modal,.receipt-review-modal{width:min(540px,100%)}.yape-payment-info{background:#faf7fd;border:1px solid #e0d3ee;border-radius:15px;grid-template-columns:150px 1fr;align-items:center;gap:20px;padding:17px;display:grid}.yape-payment-info>img,.yape-qr-empty{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:12px;width:150px;height:150px}.yape-qr-empty{color:#fff;background:#6f35a5;place-items:center;font:800 42px Manrope;display:grid}.yape-payment-info>div{flex-direction:column;gap:4px;display:flex}.yape-payment-info small{color:var(--muted);font-size:8px}.yape-payment-info strong{font-size:15px}.yape-payment-info span{color:#676477;font-size:12px}.yape-payment-info b{color:#6f35a5;margin-top:8px;font:800 24px Manrope}.receipt-file-picker{cursor:pointer;background:#fbfafd;border:1px dashed #c7c2da;border-radius:14px;justify-content:center;align-items:center;min-height:180px;margin-top:16px;overflow:hidden;color:#8a8799!important;flex-direction:column!important;gap:7px!important;display:flex!important}.receipt-file-picker:hover{border-color:var(--violet);background:#faf8ff}.receipt-file-picker input,.qr-upload-button input{display:none}.receipt-file-picker>img{object-fit:contain;width:100%;max-height:300px}.receipt-file-picker strong{color:var(--ink);font-size:10px}.receipt-file-picker span{font-size:8px}.receipt-submit{width:100%;margin-top:16px}.yape-not-configured{text-align:center;color:#aaa8b5;flex-direction:column;justify-content:center;align-items:center;min-height:260px;display:flex}.yape-not-configured strong{color:var(--ink);margin:12px 0 5px;font-size:13px}.yape-not-configured p{font-size:9px}.receipt-review-summary{background:#f8f7fb;border-radius:11px;justify-content:space-between;align-items:center;margin:-9px 0 13px;padding:11px 13px;display:flex}.receipt-review-summary span{color:var(--muted);text-transform:capitalize;font-size:9px}.receipt-review-summary strong{color:#6f35a5;font:800 18px Manrope}.receipt-image-frame{background:#f1f0f4;border-radius:13px;place-items:center;height:min(410px,45vh);display:grid;overflow:hidden}.receipt-image-frame img{object-fit:contain;width:100%;height:100%}.rejection-field{color:#656375;flex-direction:column;gap:6px;margin-top:14px;font-size:9px;font-weight:700;display:flex}.rejection-field textarea{border:1px solid var(--line);resize:vertical;min-height:68px;color:var(--ink);border-radius:10px;padding:10px 11px;font:11px DM Sans}.receipt-review-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;display:grid}.reject-button{color:#b85247}.approve-button{background:var(--mint);border-color:var(--mint)}.approve-button:hover{background:#35a98f}.yape-settings-card{margin-bottom:22px;padding:25px}.yape-settings-card .settings-head{margin-bottom:20px}.yape-brand{color:#fff;background:#6f35a5;border-radius:12px;place-items:center;width:43px;height:43px;font:800 18px Manrope;display:grid}.yape-settings-card form{grid-template-columns:minmax(0,1fr) 270px;gap:22px;display:grid}.yape-settings-fields{flex-direction:column;gap:13px;display:flex}.yape-settings-card label{color:#656375;flex-direction:column;gap:6px;font-size:9px;font-weight:700;display:flex}.yape-settings-card input{border:1px solid var(--line);height:41px;color:var(--ink);border-radius:10px;padding:0 11px}.qr-settings{background:#f8f7fb;border-radius:13px;grid-area:1/2/4;align-items:center;gap:13px;padding:14px;display:flex}.qr-preview{border:1px solid var(--line);background:#fff;border-radius:11px;flex:none;place-items:center;width:110px;height:110px;display:grid;overflow:hidden}.qr-preview img{object-fit:contain;width:100%;height:100%}.qr-preview span{color:#6f35a5;font:800 32px Manrope}.qr-settings>div:last-child{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.qr-settings strong{font-size:10px}.qr-settings p{color:var(--muted);font-size:8px;line-height:1.4}.qr-upload-button{margin-top:5px;min-height:33px!important;padding:0 10px!important;font-size:8px!important}.remove-qr{color:#b85247;cursor:pointer;background:0 0;border:0;font-size:8px;font-weight:700}.yape-save{justify-self:start}.yape-settings-card .save-toast,.yape-settings-card .booking-error{grid-column:1;margin:0}.yape-settings-loading{min-height:150px;color:var(--muted);justify-content:center;align-items:center;gap:9px;font-size:9px;display:flex}.yape-settings-loading .spinner{border-color:#d8d4f5;border-top-color:var(--violet)}.class-location{text-align:left;background:#faf9ff;border:1px solid #ddd8f7;border-radius:13px;align-items:flex-start;gap:11px;padding:14px;display:flex}.class-location>svg{color:var(--violet);flex:none;margin-top:2px}.class-location>div{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.class-location small{letter-spacing:.8px;color:var(--violet);font-size:7px;font-weight:800}.class-location strong{color:var(--ink);font-size:11px}.class-location p,.class-location span{color:var(--muted);font-size:9px;line-height:1.45}.class-location a{color:var(--violet);align-items:center;gap:4px;margin-top:5px;font-size:9px;font-weight:800;text-decoration:none;display:inline-flex}.class-location a:hover{text-decoration:underline}.class-location.pending{background:#fbfbfc;border-style:dashed}.class-location.pending>svg,.class-location.pending small{color:#9997a5}.class-location.compact{margin-top:13px;padding:11px 12px}.class-location.compact p{font-size:9px}.booking-success>.class-location{flex-direction:row;width:min(100%,500px);margin-top:20px}.booking-success>.class-location+span{margin-top:13px}.calendar-detail>.class-location{margin-top:14px}.location-admin-layout{grid-template-columns:minmax(0,1.1fr) minmax(300px,.72fr);align-items:start;gap:22px;display:grid}.location-settings-card,.location-preview-card{padding:25px}.location-settings-card .settings-head{margin-bottom:20px}.location-private-badge{background:var(--mint-soft);color:#278b74;border-radius:8px;align-items:center;gap:5px;padding:6px 8px;font-size:8px;font-weight:800;display:flex}.location-settings-card form{flex-direction:column;gap:14px;display:flex}.location-settings-card label{color:#656375;flex-direction:column;gap:6px;font-size:9px;font-weight:700;display:flex}.location-settings-card label>small{color:var(--muted);font-size:8px;font-weight:500}.location-settings-card input,.location-settings-card textarea,.location-settings-card select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:0 11px;font:11px DM Sans}.location-settings-card input,.location-settings-card select{height:42px}.location-settings-card textarea{resize:vertical;min-height:88px;padding:11px}.location-settings-card input:focus,.location-settings-card textarea:focus,.location-settings-card select:focus{outline:2px solid var(--violet-soft);border-color:var(--violet)}.location-save{align-self:flex-start;margin-top:3px}.location-loading{min-height:220px;color:var(--muted);justify-content:center;align-items:center;gap:8px;font-size:9px;display:flex}.location-preview-card{position:sticky;top:98px}.location-preview-card h2{margin:3px 0 18px;font-size:18px}.location-privacy-note{background:var(--mint-soft);color:#287f6d;border-radius:11px;align-items:flex-start;gap:9px;margin-top:16px;padding:12px;display:flex}.location-privacy-note svg{flex:none}.location-privacy-note p{font-size:9px;line-height:1.5}.location-history-note{color:var(--muted);margin-top:13px;font-size:8px;line-height:1.55}.booking-location-picker{margin-top:17px}.booking-location-picker>span{color:#656375;margin-bottom:7px;font-size:8px;font-weight:800;display:block}.booking-location-picker>div{grid-template-columns:1fr 1fr;gap:7px;display:grid}.booking-location-picker button{border:1px solid var(--line);min-height:68px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:11px;grid-template-rows:auto auto;grid-template-columns:20px 1fr;column-gap:6px;padding:9px;display:grid}.booking-location-picker button>svg{color:#9995b8;grid-row:1/3}.booking-location-picker button strong{font-size:9px}.booking-location-picker button small{color:var(--muted);font-size:7px;line-height:1.35}.booking-location-picker button.selected{border-color:var(--violet);background:var(--violet-soft)}.booking-location-picker button.selected>svg{color:var(--violet)}.student-location-fields{background:#f8f7fb;border-radius:12px;flex-direction:column;gap:9px;margin-top:10px;padding:12px;display:flex}.student-location-fields label{color:#656375;flex-direction:column;gap:5px;font-size:8px;font-weight:700;display:flex}.student-location-fields label>small{color:var(--muted);font-size:7px;font-weight:500}.student-location-fields input,.student-location-fields textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:9px;padding:0 9px;font:10px DM Sans}.student-location-fields input{height:36px}.student-location-fields textarea{resize:vertical;min-height:62px;padding:9px}.student-location-fields>p{color:#278b74;align-items:flex-start;gap:5px;font-size:8px;line-height:1.4;display:flex}.student-location-fields>p svg{flex:none}.booking-week-navigation{justify-content:center;align-items:center;gap:12px;margin:17px 0 -7px;display:flex}.booking-week-navigation strong{text-align:center;text-transform:capitalize;min-width:105px;font-size:10px}.booking-week-navigation .icon-button:disabled{opacity:.3;cursor:not-allowed}.date-strip button:disabled{cursor:not-allowed;color:#aaa8b4;box-shadow:none;background:#f6f5f8}.date-strip button:disabled small,.date-strip button:disabled span{color:#b0aeba}.date-strip button i{color:#aaa8b5;text-overflow:ellipsis;white-space:nowrap;max-width:65px;margin-top:3px;font-size:6px;font-style:normal;font-weight:800;line-height:1.1;overflow:hidden}.date-strip button.special-date:not(:disabled){background:#f8fcfb;border-color:#bfe5da}.date-strip button.special-date.selected{background:var(--violet);border-color:var(--violet)}.date-strip button.special-date:not(:disabled) i{color:#278b74}.date-strip button.special-date.selected i{color:#e2dcff}.date-strip.loading{opacity:.62}.no-day-slots{border:1px dashed var(--line);text-align:center;color:#aaa8b5;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;min-height:150px;margin-top:10px;display:flex}.no-day-slots strong{color:var(--ink);margin:8px 0 3px;font-size:11px}.no-day-slots p{font-size:8px}.special-dates-card{margin-top:22px;padding:24px}.special-dates-card>.settings-head{align-items:center}.special-date-form{background:#f8f7fb;border-radius:13px;grid-template-columns:1.05fr 1.45fr .8fr .8fr;gap:11px;margin-top:18px;padding:15px;display:grid}.special-date-form label{color:#656375;flex-direction:column;gap:5px;font-size:8px;font-weight:700;display:flex}.special-date-form label>small{color:var(--muted);font-size:7px;font-weight:500}.special-date-form input,.special-date-form select{border:1px solid var(--line);height:38px;color:var(--ink);background:#fff;border-radius:9px;padding:0 9px;font-size:9px}.special-reason{grid-column:1/4}.special-date-actions{justify-content:flex-end;align-items:flex-end;gap:7px;display:flex}.special-date-actions button{min-height:38px;padding:0 12px;font-size:8px}.special-dates-list{flex-direction:column;margin-top:16px;display:flex}.special-dates-list article{border-bottom:1px solid var(--line);grid-template-columns:36px 1fr auto;align-items:center;gap:11px;padding:12px 0;display:grid}.special-dates-list article>span{background:var(--mint-soft);color:#278b74;border-radius:10px;place-items:center;width:35px;height:35px;display:grid}.special-dates-list article.closed>span{background:var(--coral-soft);color:var(--coral)}.special-dates-list article>div{flex-direction:column;gap:3px;display:flex}.special-dates-list strong{font-size:10px}.special-dates-list small{color:var(--muted);font-size:8px}.special-dates-list .outline-button{min-height:33px;padding:0 10px;font-size:8px}.special-dates-empty{color:#aaa8b5;justify-content:center;align-items:center;gap:8px;min-height:110px;display:flex}.special-dates-empty p{font-size:9px}.schedule-guide{margin-top:22px;padding:24px}.schedule-guide>.settings-head{margin-bottom:16px}.schedule-guide>div:last-child{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.schedule-guide article{border:1px solid var(--line);border-radius:12px;grid-template-columns:27px 1fr;column-gap:9px;padding:13px;display:grid}.schedule-guide article>span{background:var(--violet-soft);width:27px;height:27px;color:var(--violet);border-radius:8px;grid-row:1/3;place-items:center;font-size:9px;font-weight:800;display:grid}.schedule-guide strong{font-size:9px}.schedule-guide p{color:var(--muted);margin-top:3px;font-size:8px;line-height:1.4}.approval-pending-note{background:var(--gold-soft);color:#9a651d;border-radius:9px;align-items:center;gap:6px;margin-top:13px;padding:9px 12px;font-size:9px;font-weight:800;display:flex}.travel-result-note{color:var(--muted);margin-top:8px;font-size:8px}.approval-waiting-note,.approval-rejected-note{border-radius:10px;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 11px;font-size:9px;line-height:1.45;display:flex}.approval-waiting-note{background:var(--gold-soft);color:#94631e}.approval-rejected-note{background:var(--coral-soft);color:#a94e43}.approval-waiting-note svg,.approval-rejected-note svg{flex:none}.action-approve-home{background:var(--mint);border-color:var(--mint);min-height:35px;padding:0 12px;font-size:9px}.action-reject-home{color:#b85247;border-color:#efc7c2}.approval-modal{width:min(540px,100%)}.approval-modal>.class-location{margin-bottom:16px}.approval-modal form>label{color:#656375;flex-direction:column;gap:6px;font-size:9px;font-weight:700;display:flex}.approval-modal textarea{border:1px solid var(--line);resize:vertical;min-height:92px;color:var(--ink);border-radius:10px;padding:10px 11px;font:11px DM Sans}.approval-modal .booking-error{margin-top:12px}.reject-confirm-button{background:var(--coral);border-color:var(--coral)}.modal-payment-error{margin:12px 0 0}.status.attendance-attended{color:#278b74;background:var(--mint-soft)}.status.attendance-absent{color:#b85247;background:var(--coral-soft)}.action-close-class{color:#278b74;border-color:#c4e6dc}.action-class-report{color:var(--violet);border-color:#d8d3f3}.class-close-modal,.class-report-modal{width:min(590px,100%);max-height:calc(100vh - 40px);overflow:auto}.class-close-date{color:var(--muted);text-transform:capitalize;margin:-12px 0 20px;font-size:10px}.class-close-modal form>label{flex-direction:column;gap:6px;display:flex}.class-close-modal form>label>small{color:var(--muted);font-weight:500}.class-close-modal textarea{border:1px solid var(--line);resize:vertical;width:100%;min-height:82px;color:var(--ink);background:#fff;border-radius:10px;padding:11px 12px;font:12px DM Sans}.class-close-modal input:disabled,.class-close-modal textarea:disabled{color:#aaa8b5;cursor:not-allowed;background:#f4f3f6}.attendance-options{border:0;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;display:grid}.attendance-options legend{color:#656375;grid-column:1/-1;margin-bottom:6px;font-size:10px;font-weight:700}.attendance-options label{border:1px solid var(--line);cursor:pointer;border-radius:12px;padding:12px;flex-direction:row!important;align-items:center!important;gap:11px!important;min-height:67px!important;display:flex!important}.attendance-options label.selected.attended{background:var(--mint-soft);color:#278b74;border-color:#9fd9c9}.attendance-options label.selected.absent{background:var(--coral-soft);color:#b85247;border-color:#ebbbb5}.attendance-options input{opacity:0;pointer-events:none;position:absolute}.attendance-options label>span{flex-direction:column;gap:3px;display:flex}.attendance-options strong{color:var(--ink);font-size:11px}.attendance-options small{color:var(--muted);font-size:8px;font-weight:500}.class-report-content{flex-direction:column;gap:13px;display:flex}.attendance-banner{border-radius:12px;align-items:center;gap:12px;padding:13px 15px;display:flex}.attendance-banner.attended{color:#278b74;background:var(--mint-soft)}.attendance-banner.absent{color:#b85247;background:var(--coral-soft)}.attendance-banner>div{flex-direction:column;gap:2px;display:flex}.attendance-banner small{letter-spacing:.8px;font-size:7px;font-weight:800}.attendance-banner strong{color:var(--ink);font-size:12px}.report-completed-at{color:var(--muted);margin:-5px 2px 0;font-size:8px}.class-report-fields{border:1px solid var(--line);border-radius:13px;overflow:hidden}.class-report-fields>div{border-bottom:1px solid var(--line);padding:13px 15px}.class-report-fields>div:last-child{border-bottom:0}.class-report-fields small{color:var(--muted);margin-bottom:4px;font-size:8px;display:block}.class-report-fields strong,.class-report-fields p{color:var(--ink);white-space:pre-wrap;font-size:11px;line-height:1.55}.report-close-button{width:100%;margin-top:18px}.calendar-class-report{border-top:1px solid var(--line);margin-top:15px;padding-top:15px}.status.homework-submitted{color:#ad701c;background:var(--gold-soft)}.status.homework-reviewed{color:#278b74;background:var(--mint-soft)}.exercise-file-picker{cursor:pointer;background:#faf9ff;border:1px dashed #bdb6df;border-radius:12px;padding:11px 12px;min-height:64px!important;color:var(--violet)!important;flex-direction:row!important;align-items:center!important;gap:11px!important;display:flex!important}.exercise-file-picker:hover{border-color:var(--violet)}.exercise-file-picker.disabled{cursor:not-allowed;background:#f4f3f6;color:#aaa8b5!important}.exercise-file-picker>input{display:none}.exercise-file-picker>span{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.exercise-file-picker strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.exercise-file-picker small{color:var(--muted);font-size:8px;font-weight:500}.exercise-file-card{text-align:left;cursor:pointer;width:100%;min-height:64px;color:var(--violet);background:#faf9ff;border:1px solid #d8d3f3;border-radius:12px;align-items:center;gap:11px;padding:10px 12px;display:flex}.exercise-file-card:hover{border-color:var(--violet);background:var(--violet-soft)}.exercise-file-card>span{background:var(--violet-soft);border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}.exercise-file-card>div{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.exercise-file-card small{letter-spacing:.7px;color:var(--violet);font-size:7px;font-weight:800}.exercise-file-card strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.homework-submission-card{background:#fbf9fd;border:1px solid #e0d3ee;border-radius:13px;padding:13px}.homework-submission-card.reviewed{background:#f7fcfa;border-color:#bde1d7}.submission-card-head{align-items:center;gap:10px;margin-bottom:11px;display:flex}.submission-card-head>span{background:var(--gold-soft);color:#ad701c;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.homework-submission-card.reviewed .submission-card-head>span{background:var(--mint-soft);color:#278b74}.submission-card-head>div{flex-direction:column;gap:2px;min-width:0;display:flex}.submission-card-head small{letter-spacing:.7px;color:var(--muted);font-size:7px;font-weight:800}.submission-card-head strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.homework-submission-card>.outline-button{min-height:34px;font-size:8px}.homework-submission-card>p{color:#656375;margin-top:10px;font-size:9px;line-height:1.5}.teacher-homework-feedback{background:var(--mint-soft);border-radius:10px;margin-top:11px;padding:11px}.teacher-homework-feedback small{color:#278b74;font-size:7px;font-weight:800}.teacher-homework-feedback p{white-space:pre-wrap;margin-top:4px;font-size:10px;line-height:1.55}.homework-report-actions{gap:8px;display:flex}.homework-report-actions>button{flex:1}.homework-delivery-modal,.homework-review-modal{width:min(540px,100%);max-height:calc(100vh - 40px);overflow:auto}.homework-delivery-modal>p{color:var(--muted);margin:-11px 0 18px;font-size:10px}.homework-delivery-modal textarea,.homework-review-modal textarea{border:1px solid var(--line);resize:vertical;width:100%;min-height:90px;color:var(--ink);border-radius:10px;padding:11px 12px;font:12px DM Sans}.exercise-upload-box{cursor:pointer;text-align:center;background:#faf9ff;border:1px dashed #bdb6df;border-radius:13px;justify-content:center;padding:18px;min-height:165px!important;color:var(--violet)!important;flex-direction:column!important;align-items:center!important;gap:7px!important;display:flex!important}.exercise-upload-box:hover{border-color:var(--violet)}.exercise-upload-box input{display:none}.exercise-upload-box strong{max-width:100%;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.exercise-upload-box span{color:var(--muted);font-size:8px;font-weight:500}.student-delivery-comment{color:#656375;background:#f8f7fb;border-radius:10px;margin:12px 0;padding:11px 12px;font-size:9px;line-height:1.55}.homework-review-modal form{margin-top:15px}.progress-admin-summary{margin-bottom:22px}.progress-student-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px;display:grid}.progress-student-picker>button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:14px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:72px;padding:11px 12px;display:grid;position:relative}.progress-student-picker>button:hover,.progress-student-picker>button.selected{background:#faf9ff;border-color:#c7c1ee}.progress-student-picker>button.selected{box-shadow:inset 0 0 0 1px #d8d3f3}.progress-student-picker>button>span{flex-direction:column;gap:3px;min-width:0;display:flex}.progress-student-picker>button>span strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.progress-student-picker>button small{color:var(--muted);font-size:8px}.progress-student-picker>button>div{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.progress-student-picker>button>div b{color:var(--violet);font:800 15px Manrope}.progress-student-picker>button>i{background:var(--coral-soft);color:#b85247;letter-spacing:.5px;border-radius:8px;padding:3px 6px;font-size:6px;font-style:normal;font-weight:800;position:absolute;top:-7px;right:9px}.real-progress-hero{margin-bottom:20px}.real-progress-hero .level-orbit>div{color:#6657bc;background:linear-gradient(145deg,#f3edff,#d8cdfb)}.real-progress-columns{margin-top:22px}.monthly-progress-card,.progress-breakdown{min-height:290px}.monthly-progress-chart{justify-content:space-around;align-items:flex-end;gap:13px;height:190px;padding-top:15px;display:flex}.monthly-progress-chart>div{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:5px;height:100%;display:flex}.monthly-progress-chart>div>span{background:#f1eff7;border-radius:8px;align-items:flex-end;width:100%;max-width:34px;height:130px;display:flex;overflow:hidden}.monthly-progress-chart>div>span i{background:linear-gradient(#9c8cff,#695ada);border-radius:8px 8px 4px 4px;width:100%;min-height:3px;display:block}.monthly-progress-chart strong{color:#5d5a70;font-size:8px}.monthly-progress-chart small{color:var(--muted);text-transform:capitalize;font-size:8px}.monthly-chart-legend{justify-content:center;margin-top:8px;display:flex}.monthly-chart-legend span{color:var(--muted);align-items:center;gap:6px;font-size:8px;display:flex}.monthly-chart-legend i{background:var(--violet);border-radius:3px;width:9px;height:9px}.progress-breakdown>div:not(.section-title){margin-top:16px}.progress-breakdown>div>span{color:var(--muted);justify-content:space-between;margin-bottom:6px;font-size:9px;display:flex}.progress-breakdown>div>span strong{color:var(--ink);font-size:10px}.recent-learning{margin-top:22px}.recent-learning>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;display:grid}.recent-learning article{border-bottom:1px solid var(--line);grid-template-columns:38px 1fr;gap:11px;padding:12px 0;display:grid}.recent-learning article>span{background:var(--violet-soft);width:38px;height:38px;color:var(--violet);border-radius:10px;place-items:center;display:grid}.recent-learning article>div{flex-direction:column;gap:3px;display:flex}.recent-learning article strong{font-size:10px}.recent-learning article small{color:var(--muted);font-size:8px}.recent-learning article p{color:#656375;margin-top:3px;font-size:9px;line-height:1.5}.progress-empty-row{color:#aaa8b5;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:130px;font-size:9px;grid-column:1/-1!important;display:flex!important}.homework-center-list{flex-direction:column;gap:12px;display:flex}.homework-center-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:17px;grid-template-columns:50px minmax(0,1fr) auto;align-items:start;gap:15px;padding:19px 20px;display:grid}.homework-center-card.overdue{border-color:#e9b8b2}.homework-card-icon{width:50px;height:50px;color:var(--violet);background:var(--violet-soft);border-radius:14px;place-items:center;display:grid}.homework-card-main{min-width:0}.homework-card-kicker{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.homework-card-kicker>span{letter-spacing:.7px;text-transform:uppercase;color:var(--violet);font-size:8px;font-weight:800}.homework-card-kicker>strong{color:#656375;font-size:9px}.homework-card-kicker>i{font-style:normal}.homework-card-main h3{margin:7px 0 9px;font-size:14px;line-height:1.45}.homework-card-meta{flex-wrap:wrap;align-items:center;gap:15px;display:flex}.homework-card-meta>span{color:var(--muted);align-items:center;gap:5px;font-size:9px;display:flex}.homework-card-meta .overdue-date{color:#b85247;font-weight:700}.homework-card-actions{flex-direction:column;align-items:stretch;gap:7px;min-width:155px;display:flex}.homework-card-actions button{justify-content:center;min-height:35px;padding:0 11px;font-size:8px}.homework-feedback-preview{background:var(--mint-soft);border-radius:10px;margin-top:12px;padding:10px 11px}.homework-feedback-preview strong{color:#278b74;font-size:8px}.homework-feedback-preview p{color:#4f665f;margin-top:3px;font-size:10px;line-height:1.5}.homework-center-empty{text-align:center;color:#aaa8b5;background:#fcfbfd;border:1px dashed #d8d4e2;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:280px;padding:30px;display:flex}.homework-center-empty .spinner{border-color:#d8d4f5;border-top-color:var(--violet)}.homework-center-empty strong{color:var(--ink);font-size:13px}.homework-center-empty p{font-size:9px}.homework-filters{flex-wrap:wrap}.real-activity-overview{margin-bottom:18px}.stat-card-button{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer}.stat-card-button:hover{box-shadow:var(--shadow-md);border-color:#d8d3f3;transform:translateY(-2px)}.stat-arrow{color:#aaa8b5;align-self:center;margin-left:auto}.dashboard-state{text-align:center;min-height:320px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:9px;display:flex}.dashboard-state .spinner{border-color:#d8d4f5;border-top-color:var(--violet)}.dashboard-state-error>svg{color:var(--coral)}.dashboard-state-error strong{color:var(--ink);font-size:14px}.dashboard-state p{font-size:10px}.dashboard-state .outline-button{margin-top:8px}.dashboard-booking-list{flex-direction:column;display:flex}.dashboard-booking-row{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #f0eff4;grid-template-columns:43px minmax(0,1fr) auto 18px;align-items:center;gap:11px;width:100%;min-height:68px;padding:9px 2px;display:grid}.dashboard-booking-row:last-child{border-bottom:0}.dashboard-booking-row:hover{background:#faf9fc}.dashboard-booking-row .timeline-date{width:40px;height:43px}.dashboard-booking-row>div{flex-direction:column;gap:3px;min-width:0;display:flex}.dashboard-booking-row>div strong{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.dashboard-booking-row>div span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:8px;overflow:hidden}.dashboard-booking-row>svg{color:#aaa8b5}.dashboard-list-empty{color:#aaa8b5;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:165px;font-size:9px;display:flex}.dashboard-payment-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:250px;display:flex}.dashboard-payment-card .section-title{align-self:stretch;width:100%}.dashboard-payment-card>.payment-ok{width:48px;height:48px;margin:6px 0 9px}.dashboard-payment-card>strong{color:var(--ink);font:800 29px Manrope}.dashboard-payment-card>p{color:var(--muted);margin:3px 0 17px;font-size:9px}.dashboard-payment-card>div:last-child{width:100%;color:var(--muted);background:#f8f7fb;border-radius:11px;justify-content:space-between;align-items:center;padding:11px 13px;font-size:9px;display:flex}.dashboard-payment-card>div:last-child b{color:var(--ink);font-size:13px}.dashboard-child .child-metrics{margin-bottom:0}.dashboard-totals{background:var(--line);border-radius:13px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:18px;display:grid;overflow:hidden}.dashboard-totals>div{background:#fafafd;justify-content:space-between;align-items:center;padding:14px;display:flex}.dashboard-totals span{color:var(--muted);font-size:9px}.dashboard-totals strong{font:800 17px Manrope}@media (width<=1180px){.stats-grid,.payment-metrics-grid,.admin-course-grid,.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-main-grid{grid-template-columns:1fr}}@media (width<=900px){.auth-page{grid-template-columns:1fr}.auth-showcase{display:none}.auth-panel{align-items:flex-start;padding:35px 22px}.auth-mobile-logo{margin-bottom:30px;display:block}.auth-card{max-width:560px}.sidebar{transition:transform .25s;transform:translate(-105%);box-shadow:15px 0 35px #221f371f}.sidebar.sidebar-open{transform:translate(0)}.sidebar-backdrop{z-index:49;background:#1e1b3059;border:0;display:block;position:fixed;inset:0}.app-main{margin-left:0}.mobile-only,.mobile-menu{display:inline-grid}.topbar{padding:0 4%}.breadcrumb{margin-left:10px;margin-right:auto}.breadcrumb>span,.breadcrumb>svg{display:none}.two-column-layout,.calendar-layout,.booking-layout,.schedule-admin-layout,.location-admin-layout{grid-template-columns:1fr}.booking-summary{position:static}.blocked-card{min-height:auto}.location-preview-card{position:static}.hero-illustration{width:49%;right:-3%}.weekly-card{grid-template-columns:1fr 1fr}.admin-feed-grid{grid-template-columns:1fr}.admin-feed-grid .feed-row{border-right:0;border-bottom:1px solid var(--line)}.subjects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.auth-panel{padding:24px 17px}.auth-card{padding:0}.auth-card>h2{font-size:25px}.auth-form-row,.account-types,.demo-access>div,.child-fields .auth-form-row{grid-template-columns:1fr}.auth-tabs{margin-top:20px}.page-content{padding:25px 16px 105px}.topbar{height:66px;padding:0 13px}.page-heading{align-items:flex-start;min-height:auto;margin-bottom:20px}.page-heading h1{font-size:27px}.page-heading p{font-size:12px}.page-heading>.primary-button{width:42px;padding:0;font-size:0}.page-heading>.primary-button svg{margin:0}.search-box{display:none}.notifications-popover{width:auto;position:fixed;top:70px;left:12px;right:12px}.hero-card{border-radius:19px}.student-hero{align-items:flex-start;min-height:300px;padding:28px 23px}.hero-copy h2{font-size:26px}.hero-copy p{max-width:210px;line-height:1.5}.hero-illustration{width:170px;height:150px;top:140px;right:-10px}.planet{width:95px;height:95px;top:20px;right:34px}.planet:before{border-width:7px;width:135px;height:28px}.planet span{font-size:22px}.booking-main,.booking-summary,.weekly-settings,.blocked-card{padding:17px}.date-strip{grid-template-columns:none;padding-bottom:5px;display:flex;overflow-x:auto}.date-strip button{min-width:72px}.slot-legend{flex-wrap:wrap;justify-content:flex-start;margin:14px 0}.time-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-row{grid-template-columns:35px 1fr 1fr 14px 1fr;gap:6px;padding:9px 0}.availability-row>strong{grid-column:2/-1}.availability-row .toggle{grid-row:1/3}.availability-row .slot-count{display:none}.day-off{grid-column:2/-1}.settings-footer{flex-direction:column;align-items:flex-start;gap:13px}.settings-footer .primary-button{width:100%}.preview-timeline{grid-template-columns:repeat(2,1fr)}.schedule-preview .settings-head{flex-direction:column}.booking-success{padding:35px 20px}.booking-success>div{flex-direction:column;width:100%}.booking-success>.class-location{flex-direction:row}.booking-success button{width:100%}.location-settings-card,.location-preview-card{padding:18px}.location-settings-card .settings-head{flex-direction:column}.location-save{width:100%}.special-dates-card,.schedule-guide{padding:17px}.special-dates-card>.settings-head{flex-direction:column;align-items:stretch}.special-dates-card>.settings-head .outline-button{width:100%}.special-date-form{grid-template-columns:1fr 1fr}.special-reason,.special-date-actions{grid-column:1/-1}.special-dates-list article{grid-template-columns:35px 1fr}.special-dates-list article>.outline-button{grid-column:1/-1;width:100%}.schedule-guide>div:last-child{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:14px 12px;display:block}.stat-icon{width:35px;height:35px;margin-bottom:10px}.stat-copy>span{font-size:9px}.stat-copy strong{font-size:19px}.course-row,.course-grid,.children-grid,.parent-columns,.admin-course-grid{grid-template-columns:1fr}.course-compact{grid-template-columns:82px 1fr}.course-compact .course-cover{min-height:135px;padding:13px}.weekly-card{grid-template-columns:1fr;padding:24px}.bar-chart{height:100px}.activity-overview{grid-template-columns:repeat(3,1fr);padding:14px 10px}.activity-overview>div:not(.overview-message){padding:0 9px}.overview-message{border-top:1px solid var(--line);grid-column:1/-1;margin-top:14px;padding:14px 5px 0}.task-card{flex-wrap:wrap;align-items:flex-start;padding:15px}.task-main{min-width:calc(100% - 65px)}.task-card>.primary-button,.submitted-label{margin-left:64px}.calendar-card,.agenda-card{padding:14px}.calendar-days button{gap:4px;min-height:54px;padding:6px 2px}.calendar-days button.today span{width:26px;height:26px}.calendar-days button i{gap:2px}.calendar-header h2{min-width:0;font-size:15px}.calendar-legend{flex-wrap:wrap;justify-content:flex-start}.agenda-card{min-height:330px}.agenda-booking{grid-template-columns:57px 3px 1fr 16px}.progress-hero{flex-direction:column;align-items:flex-start;padding:25px 20px}.level-orbit{width:100px;height:100px}.level-orbit>div{width:76px;height:76px}.level-orbit strong{font-size:20px}.trophy-mark{display:none}.progress-courses{padding:15px}.course-progress-row{grid-template-columns:35px 1fr 38px}.course-progress-row>.progress-track{grid-column:2/-1}.progress-admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-student-picker,.real-progress-columns{grid-template-columns:1fr}.monthly-progress-card,.progress-breakdown,.recent-learning{padding:16px}.monthly-progress-chart{gap:6px}.recent-learning>div:last-child{grid-template-columns:1fr}.parent-banner{align-items:flex-start;min-height:235px;padding:25px}.parent-score{width:86px;height:86px;position:absolute;bottom:15px;right:10px}.parent-banner>div:first-child{padding-right:20px}.parent-banner h2{font-size:22px}.child-metrics{gap:0}.payment-hero{flex-direction:column;align-items:flex-start;gap:18px}.payment-hero .primary-button{width:100%}.admin-bars{gap:7px}.attendance-overview{grid-template-columns:100px 1fr}.admin-feed-grid{gap:0}.table-toolbar{flex-direction:column;align-items:stretch;gap:9px}.inline-search,.table-toolbar .outline-button{width:100%}.form-row{grid-template-columns:1fr}.demo-switcher>span{display:none}.demo-switcher{bottom:12px}.demo-switcher button{padding:8px 10px}.mobile-menu{margin-left:-5px}.reservation-item{grid-template-columns:46px 1fr;gap:12px;padding:17px 14px}.reservation-date{width:46px;height:53px}.reservation-date strong{font-size:18px}.reservation-title{flex-direction:column;gap:10px}.reservation-badges{justify-content:flex-start}.reservation-details{flex-direction:column;align-items:flex-start;gap:8px;margin-top:12px}.reservation-actions{flex-direction:column;align-items:stretch}.reservation-actions .outline-button,.reservation-actions .text-danger-button{width:100%}.reservations-empty{min-height:280px;padding:25px 18px}.yape-payment-info{grid-template-columns:100px 1fr;gap:13px;padding:12px}.yape-payment-info>img,.yape-qr-empty{width:100px;height:100px}.receipt-review-actions{grid-template-columns:1fr}.yape-settings-card{padding:18px}.yape-settings-card form{grid-template-columns:1fr}.qr-settings{grid-area:auto/1;align-items:flex-start}.qr-preview{width:90px;height:90px}.yape-save{width:100%}.yape-settings-card .save-toast,.yape-settings-card .booking-error{grid-column:1}.dashboard-booking-row{grid-template-columns:41px minmax(0,1fr) 16px}.dashboard-booking-row>.status{display:none}.dashboard-totals{grid-template-columns:1fr}.dashboard-totals>div{min-height:49px}.attendance-options{grid-template-columns:1fr}.class-close-modal,.class-report-modal{padding:20px}.modal-backdrop{padding:10px}.homework-center-card{grid-template-columns:42px minmax(0,1fr);gap:11px;padding:15px}.homework-card-icon{width:42px;height:42px}.homework-card-actions{grid-column:1/-1;min-width:0}.homework-card-actions button{width:100%}.homework-card-meta{flex-direction:column;align-items:flex-start;gap:6px}.homework-card-main h3{font-size:13px}.homework-report-actions{flex-direction:column}.table-filter{width:100%}.student-table-card .table-footer{flex-direction:column;align-items:flex-start;gap:5px}.student-row-actions{justify-content:flex-start}.student-form-modal,.student-detail-modal{padding:19px}.form-row.equal{grid-template-columns:1fr}.student-detail-head{grid-template-columns:auto 1fr}.student-detail-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;width:100%;display:grid}.student-detail-actions .outline-button{width:100%}.student-detail-metrics{grid-template-columns:repeat(2,1fr)}.student-detail-metrics>div:nth-child(2){border-right:0}.student-detail-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.student-detail-grid{grid-template-columns:1fr}.student-booking-history article{grid-template-columns:40px minmax(0,1fr)}.student-booking-history article>.status{grid-column:2;justify-self:start}.student-parent-fields{padding:11px}.account-settings-layout{grid-template-columns:1fr}.password-gate{padding:10px}.password-gate>section{padding:23px}.temporary-password-result>div{grid-template-columns:1fr}.temporary-password-result>div .outline-button{width:100%}.subjects-grid{grid-template-columns:1fr}.subject-card{min-height:290px}.subjects-info-banner{padding:12px}.payment-metrics-grid{grid-template-columns:1fr 1fr;gap:9px}.payment-metrics-grid article{gap:8px;min-height:96px;padding:12px}.payment-metric-icon{width:32px;height:32px}.payment-metrics-grid strong{font-size:16px}.payment-hourly-banner{flex-direction:column;align-items:flex-start;gap:15px;padding:20px}.payment-hourly-banner .primary-button{width:100%}.real-payments-head{flex-direction:column;align-items:flex-start;padding:17px}.payment-filter-tabs{flex-wrap:nowrap;width:100%;padding-bottom:3px;overflow-x:auto}.payment-filter-tabs button{flex:none}.payment-toolbar{flex-direction:column;align-items:stretch;padding:12px}.payment-toolbar .inline-search{flex:none;width:100%;display:flex}.payment-toolbar select,.payment-toolbar input[type=month],.payment-toolbar .outline-button{width:100%}.payment-table-footer{flex-direction:column;align-items:flex-start;gap:5px}}.receipt-upload-modal{width:min(680px,100%);max-height:calc(100vh - 32px);overflow-y:auto}.receipt-upload-modal .yape-payment-info{grid-template-columns:260px minmax(0,1fr);gap:30px;padding:21px}.receipt-upload-modal .yape-payment-info>img,.receipt-upload-modal .yape-qr-empty{border-radius:15px;justify-self:center;width:260px;height:260px}.receipt-upload-modal .yape-payment-info strong{font-size:18px}.receipt-upload-modal .yape-payment-info span{font-size:14px}.receipt-upload-modal .yape-payment-info b{margin-top:12px;font-size:31px}@media (width<=650px){.receipt-upload-modal{max-height:calc(100vh - 20px);padding:19px}.receipt-upload-modal .yape-payment-info{grid-template-columns:1fr;gap:14px;padding:15px}.receipt-upload-modal .yape-payment-info>img,.receipt-upload-modal .yape-qr-empty{width:min(250px,100%);height:250px}.receipt-upload-modal .yape-payment-info>div{text-align:center;align-items:center}.receipt-upload-modal .yape-payment-info b{margin-top:6px;font-size:27px}}.terms-check{flex-wrap:wrap}.terms-check button,.auth-legal-links button{color:var(--violet);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.auth-legal-links{color:var(--muted);justify-content:center;align-items:center;gap:7px;margin-top:18px;font-size:9px;display:flex}.forgot-password-modal>p{color:var(--muted);margin:-11px 0 18px;font-size:10px;line-height:1.6}.local-reset-link{color:var(--violet);border:1px dashed #bdb6df;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:11px;font-size:9px;font-weight:800;display:flex}.legal-page{background:#f7f6fa;min-height:100vh;padding:28px clamp(18px,5vw,70px) 70px}.legal-page>header{justify-content:space-between;align-items:center;max-width:920px;margin:0 auto 28px;display:flex}.legal-page>article{border:1px solid var(--line);max-width:820px;box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;margin:auto;padding:clamp(25px,5vw,58px)}.legal-page h1{letter-spacing:-1.5px;margin:9px 0;font-size:clamp(30px,5vw,45px)}.legal-updated{color:var(--muted)!important;margin-bottom:28px!important;font-size:9px!important}.legal-page article>p{color:#5f5c6e;margin:0 0 17px;font-size:12px;line-height:1.8}.legal-page h2{margin:25px 0 7px;font-size:16px}.legal-page a{color:var(--violet);font-weight:700}.create-activity-modal{width:min(590px,100%);max-height:calc(100vh - 34px);overflow-y:auto}.create-activity-modal textarea{border:1px solid var(--line);resize:vertical;width:100%;min-height:105px;color:var(--ink);border-radius:10px;padding:11px 12px;font:12px DM Sans}.homework-card-kicker>b{letter-spacing:.7px;color:#278b74;background:var(--mint-soft);border-radius:999px;padding:4px 7px;font-size:7px}@media (width<=650px){.legal-page{padding:17px 12px 50px}.legal-page>header{margin-bottom:17px}.legal-page>header .outline-button{width:42px;padding:0;font-size:0}.legal-page>article{border-radius:17px}.create-activity-modal{padding:19px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
