:root{--bg-page: #050505;--bg-frame: #090909;--bg-sidebar: #101010;--bg-main: #090909;--bg-card: #080808;--bg-card-soft: #101010;--bg-card-hover: #151515;--bg-control: #111111;--bg-control-hover: #181818;--border-subtle: rgba(255, 255, 255, .07);--border-default: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .14);--text-primary: #f5f5f5;--text-secondary: #b6b6b6;--text-muted: #7d7d7d;--text-faint: #565656;--accent: #6c4cff;--accent-secondary: #9f7aea;--accent-soft: rgba(108, 76, 255, .16);--success: #37d45a;--warning: #f6b84b;--rose: #ff6b9d;--info: #4da3ff;--radius-sm: 8px;--radius-md: 10px;--radius-xl: 18px;--radius-2xl: 22px;--ease-premium: cubic-bezier(.22, 1, .36, 1);--shadow-frame: 0 24px 80px rgba(0, 0, 0, .55);--shadow-card: 0 18px 40px rgba(0, 0, 0, .28)}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{background:radial-gradient(circle at 50% -20%,rgba(108,76,255,.12),transparent 32%),var(--bg-page);color:var(--text-primary);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}button,input{font:inherit}button{cursor:pointer}button:active{transform:translateY(1px)}:focus-visible{outline:none;box-shadow:0 0 0 3px #6c4cff47}.app-frame{min-height:calc(100vh - 28px);margin:14px;display:grid;grid-template-columns:300px minmax(0,1fr);overflow:hidden;border-radius:26px;background:var(--bg-sidebar);border:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow-frame)}.sidebar{min-height:100%;background:var(--bg-sidebar);border-right:1px solid var(--bg-sidebar);padding:24px 22px;display:flex;flex-direction:column;min-width:0}.workspace-header{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center}.studio-mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,rgba(108,76,255,.25),transparent 60%),#1b1b1b;border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;color:#f3f3f3;position:relative}.online-dot{width:8px;height:8px;border-radius:999px;background:var(--success);position:absolute;right:-2px;bottom:-2px;box-shadow:0 0 0 4px #37d45a1f}.workspace-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.workspace-copy strong{color:#f5f5f5;font-size:16px;font-weight:700;line-height:1.1}.workspace-copy span{color:#777;font-size:12px;font-weight:450;overflow:hidden;text-overflow:ellipsis}.nav-section-heading{margin-top:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#a4a4a4;font-size:13px;font-weight:500}.integration-chips{display:inline-flex;gap:5px}.integration-chips span{height:24px;display:inline-flex;align-items:center;padding:0 8px;border-radius:8px;background:#1b1b1b;color:#bfbfbf;border:1px solid rgba(255,255,255,.08);font-size:10px;font-weight:700}.sidebar-divider{height:1px;background:#ffffff12;margin:54px 0 14px}.primary-nav,.secondary-nav{display:flex;flex-direction:column;gap:6px}.nav-item{width:100%;height:40px;border:0;border-radius:10px;padding:0 14px;background:transparent;color:#9b9b9b;display:grid;grid-template-columns:19px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;font-size:14px;font-weight:500;transition:background .16s var(--ease-premium),color .16s var(--ease-premium)}.nav-item span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item.active{background:#202020;color:#f4f4f4;box-shadow:inset 0 1px #ffffff0a}.nav-item:hover{background:#171717;color:#eee}.nav-badge{min-width:20px;height:20px;padding:0 7px;border-radius:999px;background:#37d45a29;color:var(--success);font-size:11px;font-weight:650;display:inline-flex;align-items:center;justify-content:center}.promo-card{position:relative;margin-top:auto;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 15% 0%,rgba(108,76,255,.16),transparent 38%),#121212;border-radius:18px;padding:16px;box-shadow:var(--shadow-card)}.promo-close{position:absolute;right:14px;top:14px;width:24px;height:24px;border:0;padding:0;display:grid;place-items:center;color:#777;background:transparent}.promo-badge{height:24px;display:inline-flex;align-items:center;border-radius:7px;padding:0 8px;color:var(--success);background:#37d45a24;font-size:11px;font-weight:700}.promo-card h2{margin:20px 0 6px;color:#f2f2f2;font-size:15px;font-weight:650;line-height:1.2}.promo-card p{margin:0;color:#898989;font-size:12px;line-height:1.45}.promo-button{height:30px;margin-top:14px;padding:0 11px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#171717;color:#e7e7e7;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.secondary-nav{margin-top:28px}.main-panel{min-width:0;background:var(--bg-main);display:flex;flex-direction:column;border-top-left-radius:32px;overflow:hidden;border-left:1px solid rgba(255,255,255,.08);margin-left:-1px}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.08)}.page-title-wrap{display:inline-flex;align-items:center;gap:8px;color:#9a9a9a}.page-title-wrap h1{margin:0;color:var(--text-primary);font-size:22px;line-height:1.1;font-weight:650;letter-spacing:0}.primary-action,.toolbar-button{border:1px solid rgba(255,255,255,.1);background:#1a1a1a;color:#f3f3f3;display:inline-flex;align-items:center;justify-content:center;transition:background .16s var(--ease-premium),border-color .16s var(--ease-premium),color .16s var(--ease-premium)}.primary-action{height:38px;padding:0 15px;border-radius:10px;font-size:14px;font-weight:600;gap:8px}.primary-action:hover,.toolbar-button:hover,.promo-button:hover{background:#222;border-color:#ffffff29}.content-area{padding:22px 24px 28px;display:flex;flex-direction:column;gap:20px;flex:1;min-height:0}.toolbar-row{min-height:38px;display:flex;align-items:center;justify-content:flex-end;gap:18px}.toolbar-actions{display:inline-flex;align-items:center;gap:10px}.toolbar-button{height:36px;padding:0 13px;border-radius:9px;background:transparent;font-size:14px;font-weight:500;gap:8px}.search-box{width:min(360px,44vw);height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#0c0c0c;color:#8d8d8d;display:grid;grid-template-columns:18px 1fr;align-items:center;gap:10px;padding:0 14px}.search-box input{min-width:0;border:0;outline:0;background:transparent;color:#f4f4f4;font-size:14px}.search-box input::placeholder{color:#8d8d8d}.primary-list-card,.analytics-card{border-radius:22px;border:1px solid rgba(255,255,255,.1);background:var(--bg-card);overflow:hidden;box-shadow:var(--shadow-card)}.primary-list-card{flex:1 1 390px;min-height:340px}.family-finder-card{display:grid;grid-template-rows:42px repeat(6,1fr)}.families-directory-table{flex:1;grid-template-rows:42px;min-height:0;border-radius:0 0 22px 22px;box-shadow:none}.family-finder-head,.family-finder-row{display:grid;grid-template-columns:minmax(220px,1.45fr) 78px minmax(220px,1.35fr) 142px 126px 90px;align-items:center;gap:16px;padding:0 18px}.family-finder-head{color:#6f6f6f;font-size:11px;font-weight:750;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.08)}.family-finder-head span:last-child,.family-balance{text-align:right}.family-finder-row{min-height:64px;width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:transparent;text-align:left;transition:background .16s var(--ease-premium)}.family-finder-row:last-child{border-bottom:0}.family-finder-row:hover{background:#ffffff06}.family-finder-empty{min-height:160px;display:grid;place-items:center;padding:24px;color:#8d8d8d;font-size:13px;font-weight:620}.family-finder-name{min-width:0;display:flex;align-items:center;gap:14px;color:#f4f4f4;font-size:15px;font-weight:700}.family-finder-name span{min-width:0;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .16s var(--ease-premium)}.family-finder-row:hover .family-finder-name span{color:#d8d0ff}.family-classes{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-count,.family-classes,.family-date{color:#9a9a9a;font-size:13px;font-weight:550}.family-status{width:fit-content;height:32px;padding:0 11px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#0e0e0e;color:#efefef;font-size:13px;font-weight:650;display:inline-flex;align-items:center;gap:8px}.family-status.status-active{--dot: var(--success)}.family-status.status-trialling{--dot: var(--accent)}.family-balance{color:var(--warning);font-size:13px;font-weight:750}.family-balance.settled{color:var(--success)}.family-modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:24px;background:#0000009e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.family-modal{width:min(1120px,calc(100vw - 48px));max-height:min(720px,calc(100vh - 48px));overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at 8% 0%,rgba(108,76,255,.16),transparent 32%),#0b0b0b;box-shadow:0 28px 90px #000000b8}.family-modal-header{height:72px;display:grid;grid-template-columns:42px minmax(0,1fr) auto auto 34px;align-items:center;gap:14px;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.12)}.family-modal-mark{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;color:#d9d1ff;border:1px solid rgba(108,76,255,.34);background:radial-gradient(circle at 50% 15%,rgba(159,122,234,.42),transparent 58%),linear-gradient(135deg,#6c4cff4d,#6c4cff1a),#15121f}.family-modal-header h2{margin:0;color:#f5f5f5;font-size:24px;font-weight:760;letter-spacing:.02em;text-transform:uppercase}.family-modal-status{height:28px;padding:0 10px;border-radius:8px;border:1px solid rgba(255,255,255,.11);background:#111;color:var(--success);display:inline-flex;align-items:center;font-size:12px;font-weight:800;text-transform:uppercase}.family-modal-status.status-trialling{color:var(--accent-secondary)}.family-modal-edit,.family-modal-close{border:1px solid rgba(255,255,255,.12);background:#151515;color:#f3f3f3;display:inline-flex;align-items:center;justify-content:center;transition:background .16s var(--ease-premium),border-color .16s var(--ease-premium)}.family-modal-edit{height:36px;padding:0 13px;border-radius:9px;gap:8px;font-size:12px;font-weight:760;text-transform:uppercase}.family-modal-close{width:34px;height:34px;border-radius:9px}.family-modal-edit:hover,.family-modal-close:hover{background:#202020;border-color:#ffffff2e}.family-modal-body{display:grid;grid-template-columns:240px minmax(0,1fr) 300px;min-height:360px}.guardian-panel,.children-panel,.billing-summary-panel{padding:20px 22px}.guardian-panel,.children-panel{border-right:1px solid rgba(255,255,255,.12)}.family-modal h3,.enrolled-classes h4{margin:0;color:#f0f0f0;font-size:11px;font-weight:820;letter-spacing:.04em;text-transform:uppercase}.guardian-panel h3,.children-panel h3,.billing-summary-panel h3{margin-bottom:20px}.guardian-line{display:grid;grid-template-columns:18px minmax(0,1fr);gap:11px;align-items:start;margin-bottom:16px;color:#d9d9d9;font-size:13px;font-weight:550;line-height:1.35}.guardian-line svg{color:#f3f3f3;margin-top:1px}.child-row{display:grid;grid-template-columns:58px minmax(120px,.8fr) minmax(210px,1.2fr);gap:14px;align-items:start;padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1)}.child-row:last-child{margin-bottom:0;border-bottom:0}.child-photo{width:58px;height:58px;border-radius:10px;display:grid;place-items:center;border:1px solid rgba(108,76,255,.34);background:radial-gradient(circle at 50% 18%,rgba(159,122,234,.46),transparent 60%),linear-gradient(135deg,#6c4cff52,#6c4cff1f),#15121f;color:#d9d1ff}.child-summary{display:flex;flex-direction:column;gap:7px}.child-summary strong{color:#f5f5f5;font-size:14px;font-weight:760}.child-summary span{color:#9a9a9a;font-size:12px;font-weight:550}.child-summary .child-allergy{width:fit-content;margin-top:1px;padding:3px 7px;border-radius:7px;border:1px solid rgba(246,184,75,.24);background:#f6b84b1a;color:var(--warning);font-size:11px;font-weight:720}.enrolled-classes h4{margin-bottom:10px}.enrolled-classes ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.enrolled-classes li{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:12px;align-items:center;color:#e8e8e8;font-size:12px;font-weight:650}.enrolled-classes li:before{content:"";width:5px;height:5px;border-radius:999px;background:#f5f5f5;grid-column:1;position:absolute}.enrolled-classes li span{min-width:0;padding-left:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enrolled-classes time{color:#b7b7b7;font-size:12px;font-weight:550;text-align:right}.summary-line{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:13px;color:#d8d8d8;font-size:13px;font-weight:600}.summary-line strong{color:#f4f4f4;font-size:13px;font-weight:760}.summary-line.strong{margin:18px 0 16px;text-transform:uppercase}.summary-line.strong span{color:#f4f4f4;font-size:15px;font-weight:820}.summary-line.strong strong{color:#f5f5f5;font-size:27px;font-weight:820;letter-spacing:0}.summary-divider{height:1px;margin:17px 0 6px;background:#ffffff1f}.autopay-card{min-height:48px;margin-top:18px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#101010;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;color:#dcdcdc;font-size:11px;font-weight:760;text-transform:uppercase}.autopay-card strong{color:#f5f5f5;font-size:12px;font-weight:800;text-transform:none}.autopay-dot{width:20px;height:20px;border-radius:999px;display:grid;place-items:center;color:var(--warning);background:#f6b84b24}.autopay-dot.active{color:var(--success);background:#37d45a24}.student-modal-header{grid-template-columns:42px minmax(0,1fr) auto 34px}.student-modal-body{display:grid;grid-template-columns:260px minmax(0,1fr) 340px;min-height:390px}.student-profile-panel,.student-classes-panel{padding:20px 22px}.student-profile-panel{border-right:1px solid rgba(255,255,255,.12)}.student-modal-body h3{margin:0 0 20px;color:#f0f0f0;font-size:11px;font-weight:820;letter-spacing:.04em;text-transform:uppercase}.student-profile-card{min-height:72px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#101010;display:flex;align-items:center;gap:14px;padding:14px;margin-bottom:18px}.student-profile-card .student-avatar{width:44px;height:44px}.student-profile-card strong{display:block;color:#f5f5f5;font-size:16px;font-weight:760}.student-profile-card span:last-child{display:block;margin-top:4px;color:#9a9a9a;font-size:12px;font-weight:560}.student-detail-grid{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-detail-grid div{border-radius:12px;border:1px solid rgba(255,255,255,.09);background:#0f0f0f;padding:12px}.student-detail-grid div:last-child{grid-column:1 / -1}.student-detail-grid dt{color:#777;font-size:10px;font-weight:820;letter-spacing:.04em;text-transform:uppercase}.student-detail-grid dd{margin:6px 0 0;color:#f0f0f0;font-size:13px;font-weight:620;line-height:1.35}.student-class-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}.student-class-list li{border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#101010;padding:13px}.student-class-list strong{display:block;color:#f5f5f5;font-size:14px;font-weight:760}.student-class-list time{display:block;margin-top:5px;color:#a8a8a8;font-size:12px;font-weight:560}.student-class-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.list-row{height:calc(100% / 6);min-height:64px;display:grid;grid-template-columns:minmax(250px,2.1fr) minmax(190px,1.35fr) minmax(150px,1fr) auto;align-items:center;gap:18px;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.08);transition:background .16s var(--ease-premium)}.list-row:last-child{border-bottom:0}.list-row:hover{background:#ffffff06}.identity-cell{min-width:0;display:flex;align-items:center;gap:14px}.person-avatar,.student-avatar,.bar-avatar{flex:0 0 auto;border-radius:999px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);color:#fff;font-weight:750}.person-avatar{width:38px;height:38px;color:var(--accent);border:1px solid rgba(255,255,255,.12);background:#111;box-shadow:inset 0 1px #ffffff0a}.student-avatar{width:38px;height:38px;font-size:12px}.avatar-violet,.bar-violet{background:linear-gradient(135deg,#6c4cfff2,#9f7aea7a)}.avatar-gold,.bar-gold{background:linear-gradient(135deg,#f6b84bf2,#f6b84b4d)}.avatar-rose,.bar-rose{background:linear-gradient(135deg,#ff6b9df2,#ff6b9d4d)}.avatar-blue,.bar-blue{background:linear-gradient(135deg,#4da3ffeb,#4da3ff47)}.avatar-green,.bar-green{background:linear-gradient(135deg,#37d45ae6,#37d45a3d)}.avatar-silver{background:linear-gradient(135deg,#8a8a8af2,#56565659)}.row-title{margin:0;color:#f4f4f4;font-size:15px;line-height:1.1;font-weight:700;letter-spacing:0}.row-meta{margin:5px 0 0;color:#858585;font-size:12px;font-weight:450;display:flex;align-items:center;gap:6px}.row-description,.row-note{color:#9a9a9a;font-size:13px;font-weight:450;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-note{color:#737373}.status-pill{height:34px;min-width:126px;padding:0 12px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#0e0e0e;color:#efefef;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.status-dot{width:8px;height:8px;border-radius:999px;background:var(--dot, var(--success));box-shadow:0 0 0 4px color-mix(in srgb,var(--dot, var(--success)) 22%,transparent)}.status-enrolled{--dot: var(--success)}.status-pending-payment{--dot: var(--warning)}.status-needs-review{--dot: var(--rose)}.status-waitlist{--dot: #8a8a8a}.status-trial-booked{--dot: var(--accent)}.analytics-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;min-height:260px}.analytics-card{min-height:260px;padding:18px 18px 16px}.analytics-card-header{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:18px}.analytics-card h2{margin:0;color:#f4f4f4;font-size:15px;font-weight:600}.analytics-card h2 strong{margin-left:8px;font-size:18px;font-weight:750}.segmented-control{height:31px;padding:3px;border-radius:10px;background:#0e0e0e;border:1px solid rgba(255,255,255,.1);display:inline-flex;align-items:center}.segmented-item{height:23px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:#9a9a9a;font-size:12px;font-weight:550}.segmented-item.active{background:#2b2b2b;color:#f4f4f4}.metric-switcher{height:31px;padding:3px;border-radius:10px;background:#0e0e0e;border:1px solid rgba(255,255,255,.1);display:inline-flex;align-items:center;gap:2px}.metric-switcher-item{width:27px;height:23px;border:0;border-radius:7px;background:transparent;color:#9a9a9a;display:inline-grid;place-items:center;transition:background .16s var(--ease-premium),color .16s var(--ease-premium)}.metric-switcher-item:hover{color:#f0f0f0;background:#ffffff0f}.metric-switcher-item.active{background:#2b2b2b;color:#f4f4f4}.trend-chart{position:relative;height:194px;margin-top:16px;padding:8px 20px 22px 40px}.trend-chart svg{width:100%;height:100%;display:block;overflow:visible}.lead-tracking-list{height:194px;margin-top:16px;display:grid;gap:10px;overflow:auto;padding-right:4px}.lead-tracking-row{border-radius:14px;border:1px solid rgba(255,255,255,.1);background:radial-gradient(circle at 4% 0%,rgba(108,76,255,.18),transparent 42%),#0d0d0d;padding:13px}.lead-tracking-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.lead-tracking-topline div{min-width:0;display:flex;flex-direction:column;gap:4px}.lead-tracking-topline strong{color:#f5f5f5;font-size:14px;font-weight:760}.lead-tracking-topline span,.lead-tracking-row p{color:#878787;font-size:12px;font-weight:550}.lead-tracking-topline a{height:28px;flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;border-radius:9px;border:1px solid rgba(55,212,90,.2);background:#37d45a17;color:var(--success);padding:0 9px;font-size:12px;font-weight:750;text-decoration:none}.lead-class-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.lead-class-list span{border-radius:999px;border:1px solid rgba(108,76,255,.24);background:#6c4cff1f;color:#d9d1ff;padding:5px 8px;font-size:11px;font-weight:720}.lead-tracking-row p{margin:11px 0 0}.chart-grid{stroke:#ffffff0e;stroke-width:1}.chart-area{fill:url(#enrolmentFill)}.chart-line{fill:none;stroke:#6454ff;stroke-width:5;stroke-linecap:round;filter:drop-shadow(0 0 12px rgba(100,84,255,.35))}.chart-axis{position:absolute;color:#6f6f6f;font-size:11px;font-weight:600}.y-axis{left:4px;top:22px;bottom:46px;display:flex;flex-direction:column;justify-content:space-between}.x-axis{left:86px;right:38px;bottom:0;display:flex;justify-content:space-between}.analytics-tabs{display:flex;align-items:center;gap:18px}.analytics-tab{position:relative;border:0;padding:0 0 12px;background:transparent;color:#a5a5a5;font-size:14px;font-weight:600;white-space:nowrap}.analytics-tab.active{color:#f5f5f5}.analytics-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#f5f5f5cc}.monthly-revenue-card{min-height:194px;margin-top:16px;border-top:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:18px;padding:22px 4px 4px}.monthly-revenue-card>div:first-child{min-width:0}.revenue-eyebrow{display:block;color:#777;font-size:11px;font-weight:780;letter-spacing:.04em;text-transform:uppercase}.monthly-revenue-card strong{display:block;margin-top:8px;color:#f5f5f5;font-size:clamp(34px,5vw,54px);line-height:.95;font-weight:820;letter-spacing:-.05em}.monthly-revenue-card p{margin:13px 0 0;color:#8d8d8d;font-size:13px;font-weight:570}.revenue-change{min-height:112px;border-radius:18px;display:grid;place-items:center;align-content:center;gap:5px;border:1px solid color-mix(in srgb,var(--change-color) 26%,transparent);background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--change-color) 22%,transparent),transparent 62%),#0e0e0e;color:var(--change-color)}.revenue-change.positive{--change-color: var(--success)}.revenue-change.negative{--change-color: var(--rose)}.revenue-change span{color:#f5f5f5;font-size:24px;line-height:1;font-weight:820}.revenue-change small{color:color-mix(in srgb,var(--change-color) 74%,#ffffff);font-size:11px;font-weight:740;text-transform:uppercase}.new-billing-panel{margin-top:16px;border-top:1px solid rgba(255,255,255,.08);padding-top:10px}.billing-cycle-card{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;border-radius:13px;border:1px solid rgba(108,76,255,.22);background:radial-gradient(circle at 10% 0%,rgba(108,76,255,.22),transparent 46%),#0d0d0d;padding:8px 11px 9px}.billing-cycle-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;border:1px solid rgba(108,76,255,.28);background:#6c4cff1f;color:#d9d1ff}.billing-cycle-copy{min-width:0}.billing-cycle-copy strong{display:block;color:#f5f5f5;font-size:14px;font-weight:780}.billing-cycle-copy p{margin:3px 0 0;color:#8d8d8d;font-size:12px;font-weight:560;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.billing-cycle-percent{color:#f5f5f5;font-size:16px;font-weight:820}.billing-cycle-progress{grid-column:1 / -1;height:6px;border-radius:999px;overflow:hidden;background:#ffffff14}.billing-cycle-progress span{display:block;width:var(--progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--success));box-shadow:0 0 14px #37d45a38}.billing-table{margin-top:16px;border-top:1px solid rgba(255,255,255,.08)}.new-billing-panel .billing-table{margin-top:10px}.billing-table-head,.billing-table-row{display:grid;grid-template-columns:minmax(0,1.5fr) 122px 88px;align-items:center;gap:14px}.billing-table-head{height:34px;color:#6f6f6f;font-size:11px;font-weight:700;text-transform:uppercase}.billing-table-head span:last-child,.billing-amount{text-align:right}.billing-table-row{min-height:37px;border-top:1px solid rgba(255,255,255,.055);color:#e8e8e8;font-size:13px;font-weight:600;transition:background .16s var(--ease-premium)}.new-billing-panel .billing-table-head{height:26px}.new-billing-panel .billing-table-row{min-height:32px}.billing-table-row:hover{background:#ffffff06}.billing-family{min-width:0;display:flex;align-items:center;gap:10px}.billing-family span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.billing-family small{color:#8d8d8d;overflow:hidden;text-overflow:ellipsis;font-size:10px;font-weight:620;line-height:1.1}.billing-avatar{width:24px;height:24px;border-radius:999px;display:inline-grid;place-items:center;flex:0 0 auto;background:radial-gradient(circle at 50% 18%,rgba(159,122,234,.48),transparent 58%),linear-gradient(135deg,#6c4cff57,#6c4cff1f),#15121f;border:1px solid rgba(108,76,255,.34);color:#d9d1ff}.billing-date{color:#9a9a9a;font-size:12px;font-weight:550}.billing-amount{color:#f4f4f4;font-size:13px;font-weight:750}.billing-table-payments .billing-amount{color:var(--success)}.billing-table-follow-up .billing-amount{color:var(--warning)}.billing-table-upcoming .billing-amount{color:#f4f4f4}.enrolments-page{padding:22px 24px 28px;display:flex;flex-direction:column;gap:20px;min-height:0;flex:1}.enrolments-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);align-items:center;gap:24px}.enrolments-hero p{margin:0;max-width:560px;color:#8d8d8d;font-size:14px;line-height:1.5;font-weight:520}.enrolment-search{height:54px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#0c0c0c;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:12px;padding:0 18px;color:#a8a8a8;box-shadow:inset 0 1px #ffffff08}.enrolment-search input{min-width:0;border:0;outline:0;background:transparent;color:#f3f3f3;font-size:14px;font-weight:500}.families-page{padding:22px 24px 28px;display:flex;flex-direction:column;gap:20px;min-height:0;flex:1}.families-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);align-items:center;gap:24px}.families-hero p{margin:0;max-width:560px;color:#8d8d8d;font-size:14px;line-height:1.5;font-weight:520}.families-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.family-stat-card{min-height:118px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:#0b0b0b;box-shadow:var(--shadow-card);padding:16px;display:grid;grid-template-columns:minmax(0,1fr) 36px;grid-template-areas:"label icon" "value icon" "meta meta";align-content:center;gap:7px 12px}.family-stat-card>span{grid-area:label;color:#a4a4a4;font-size:11px;font-weight:750;letter-spacing:.035em;text-transform:uppercase}.family-stat-card strong{grid-area:value;color:#f5f5f5;font-size:30px;line-height:1;font-weight:750;letter-spacing:-.025em}.family-stat-card p{grid-area:meta;margin:4px 0 0;display:inline-flex;align-items:center;gap:5px;color:#9a9a9a;font-size:12px;font-weight:550}.family-stat-card p svg{color:var(--success)}.family-stat-icon{grid-area:icon;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;justify-self:end;border:1px solid rgba(255,255,255,.1);background:#111;color:#d9d1ff}.family-stat-card.stat-green .family-stat-icon{color:var(--success)}.family-stat-card.stat-blue .family-stat-icon{color:#86a8ff}.family-stat-card.stat-gold .family-stat-icon{color:var(--warning)}.families-table-shell{min-height:0;flex:1;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:var(--bg-card);box-shadow:var(--shadow-card)}.families-table-toolbar{min-height:46px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;color:#a3a3a3;font-size:12px;font-weight:580;border:1px solid rgba(255,255,255,.1);border-bottom:0;border-radius:22px 22px 0 0;background:var(--bg-card)}.create-family-modal{position:relative;width:min(980px,calc(100vw - 48px));max-height:min(760px,calc(100vh - 48px));display:flex;flex-direction:column;border-radius:28px;background:radial-gradient(circle at 0% 0%,rgba(108,76,255,.2),transparent 32%),radial-gradient(circle at 78% 12%,rgba(159,122,234,.14),transparent 30%),#0a0a0d;overflow:hidden}.create-family-header{min-height:116px;display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:start;gap:18px;padding:24px 24px 10px}.create-family-header h2{margin:6px 0 0;color:#f5f5f5;font-size:30px;line-height:1.12;font-weight:780;letter-spacing:0}.create-family-header p{max-width:520px;margin:9px 0 0;color:#a5a0b8;font-size:13px;line-height:1.48;font-weight:560}.create-family-header span,.create-family-field span{color:#9a93af;font-size:11px;font-weight:820;letter-spacing:.04em;text-transform:uppercase}.create-family-steps{width:fit-content;display:flex;flex-direction:column;gap:8px;padding:0 24px 22px}.create-family-progress-bars{display:flex;align-items:center;gap:9px}.create-family-progress-bars button{width:32px;height:5px;border:0;border-radius:999px;background:#ffffff1a;padding:0}.create-family-progress-bars button.active{background:#9f7aea}.create-family-progress-bars button.complete{background:#4a2fb4}.create-family-progress-bars button:disabled{cursor:default;opacity:1}.create-family-steps>span{color:#d7d2eb;font-size:11px;line-height:1;font-weight:780}.create-family-body{flex:1;min-height:420px;overflow-y:auto;padding:0 24px 22px}.create-family-main{min-width:0;display:grid;align-content:center;min-height:420px}.create-family-step{display:flex;flex-direction:column;gap:18px}.create-step-intro h3{margin:0;color:#f4f4f4;font-size:18px;font-weight:760}.create-step-intro p{margin:7px 0 0;max-width:620px;color:#8f8f8f;font-size:13px;line-height:1.5;font-weight:540}.create-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.create-family-wide{grid-column:1 / -1}.create-family-field{min-width:0;display:flex;flex-direction:column;gap:8px}.create-family-field input,.create-family-field select{width:100%;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.12);outline:0;background:#101014;color:#f3f3f3;padding:0 12px;font:inherit;font-size:13px;font-weight:580;color-scheme:dark}.create-family-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#9f7aea 50%),linear-gradient(135deg,#9f7aea 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}.create-family-field select option{background:#101014;color:#f3f3f3}.create-family-field input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(68%) sepia(44%) saturate(933%) hue-rotate(213deg) brightness(98%) contrast(88%);opacity:.9}.create-family-field input::placeholder{color:#626262}.create-family-field input:focus,.create-family-field select:focus{border-color:#6c4cff85;box-shadow:0 0 0 3px #6c4cff29}.create-family-stack{display:flex;flex-direction:column;gap:14px}.create-child-card{border-radius:18px;border:1px solid rgba(255,255,255,.1);background:#ffffff09;padding:18px}.create-child-card{overflow:hidden;transition:border-color .42s cubic-bezier(.16,1,.3,1),background .42s cubic-bezier(.16,1,.3,1),box-shadow .52s cubic-bezier(.16,1,.3,1),padding .42s cubic-bezier(.16,1,.3,1)}.create-child-card.expanded{border-color:#9f7aea42;background:linear-gradient(150deg,rgba(108,76,255,.1),transparent 36%),#ffffff0a;box-shadow:0 18px 50px #0000002e}.create-child-card.collapsed{cursor:pointer;padding:14px 16px}.create-child-card.collapsed:hover{border-color:#9f7aea3d;background:#9f7aea12}.create-child-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:0;transition:margin-bottom .42s cubic-bezier(.16,1,.3,1)}.create-child-card.expanded .create-child-head{margin-bottom:14px}.create-child-head strong{color:#f4f4f4;font-size:14px;font-weight:800}.create-child-summary-button{min-width:0;border:0;background:transparent;color:inherit;display:grid;gap:4px;padding:0;text-align:left}.create-child-summary-button span{color:#9f98b7;font-size:12px;line-height:1.2;font-weight:650;transition:color .3s ease}.create-child-card.expanded .create-child-summary-button span{color:#bcaeff}.create-child-card-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .56s cubic-bezier(.16,1,.3,1),opacity .32s ease,transform .52s cubic-bezier(.16,1,.3,1)}.create-child-card-body>div{min-height:0;overflow:hidden}.create-child-card.collapsed .create-child-card-body{grid-template-rows:0fr;opacity:0;transform:translateY(-6px);pointer-events:none}.create-child-card.expanded .create-child-card-body{opacity:1;transform:translateY(0)}.create-child-head button:not(.create-child-summary-button),.create-class-row>button{width:34px;height:34px;border-radius:9px;border:1px solid rgba(255,107,157,.22);background:#ff6b9d14;color:var(--rose);display:grid;place-items:center}.create-class-list{margin-top:14px;display:flex;flex-direction:column;gap:10px}.create-class-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.5fr) minmax(104px,.32fr) 34px;gap:10px;align-items:end}.create-class-row:not(:has(>button)){grid-template-columns:minmax(0,1fr) minmax(130px,.5fr) minmax(104px,.32fr)}.create-family-price-field input{color:#f4f4f4;background:#ffffff0b;cursor:default}.create-family-add{width:fit-content;min-height:34px;border-radius:9px;border:1px solid rgba(255,255,255,.12);background:#6c4cff1f;color:#d7d0ff;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;font-size:11px;font-weight:850;text-transform:uppercase}.create-family-add-child{align-self:flex-start}.create-billing-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:28px;align-items:stretch}.create-billing-class-summary,.create-billing-payment-panel{min-width:0}.create-billing-payment-panel{border-left:1px solid rgba(255,255,255,.08);padding-left:28px}.create-billing-panel-heading,.create-billing-total-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.create-billing-panel-heading{margin-bottom:16px}.create-billing-panel-heading span,.create-billing-total-row span,.create-billing-child footer span{color:#9a93af;font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.create-billing-panel-heading strong,.create-billing-total-row strong{color:#f7f4ff;font-size:16px;font-weight:850}.create-billing-child-list{display:grid;gap:0}.create-billing-child{padding:0;border-top:1px solid rgba(255,255,255,.07)}.create-billing-child:first-child{border-top:0}.create-billing-child header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0 10px}.create-billing-child header strong{color:#f3efff;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.create-billing-child header span,.create-billing-child p,.create-billing-child time{color:#9892a9;font-size:12px;font-weight:620}.create-billing-child ul{list-style:none;margin:0;padding:0}.create-billing-child li{display:grid;grid-template-columns:minmax(0,1fr) minmax(86px,auto) minmax(72px,auto);align-items:center;gap:14px;border-top:1px solid rgba(255,255,255,.055);padding:11px 0}.create-billing-child li div{min-width:0;position:relative;padding-left:14px}.create-billing-child li div:before{content:"";position:absolute;left:0;top:.58em;width:4px;height:4px;border-radius:999px;background:#f4f1ff}.create-billing-child li div strong{color:#e9e4ff;font-size:13px;font-weight:780}.create-billing-child li div small{display:block;margin-top:3px;color:#bdaeff;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.create-billing-child li.create-billing-once-off div:before{background:#9f7aea}.create-billing-child li>span{color:#f4f1ff;font-size:13px;font-weight:850;text-align:right;white-space:nowrap}.create-billing-child p{margin:0;border-top:1px solid rgba(255,255,255,.055);padding:11px 0}.create-billing-total-row{margin-top:0;border-top:1px solid rgba(159,122,234,.24);padding:13px 0 0}.create-billing-total-row+.create-billing-total-row{margin-top:12px}.create-billing-total-row strong{font-size:15px;text-align:right}.create-billing-total-row.total-monthly{align-items:baseline;padding-top:18px}.create-billing-total-row.total-monthly span{color:#f4f1ff;font-size:15px;letter-spacing:0;text-transform:none}.create-billing-total-row.total-monthly strong{font-size:34px;line-height:1;letter-spacing:-.02em}.create-family-footer{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 22px;border-top:1px solid rgba(255,255,255,.12)}.create-family-error{margin:0 24px;color:#fca5a5;font-size:12px;font-weight:700}.create-family-primary,.create-family-secondary{height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;font-size:12px;font-weight:850;text-transform:uppercase}.create-family-primary{border:1px solid rgba(159,122,234,.5);background:#9f7aea;color:#09070f}.create-family-secondary{border:1px solid rgba(255,255,255,.12);background:#151515;color:#f2f2f2}.create-family-secondary:disabled{cursor:not-allowed;opacity:.42}.create-family-primary:disabled{cursor:wait;opacity:.58}.enrolments-shell{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:stretch;flex:1;min-height:0}.enrolments-main{min-width:0;display:flex;flex-direction:column;gap:20px;min-height:0}.enrolment-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.enrolment-stat-card{min-height:108px;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:#0b0b0b;box-shadow:var(--shadow-card);padding:16px;display:flex;flex-direction:column;justify-content:center}.enrolment-stat-card span{display:block;color:#a4a4a4;font-size:11px;font-weight:750;letter-spacing:.035em;text-transform:uppercase}.enrolment-stat-card strong{display:block;margin-top:6px;color:#f5f5f5;font-size:30px;line-height:1;font-weight:750;letter-spacing:-.025em}.enrolment-stat-card p{margin:8px 0 0;display:inline-flex;align-items:center;gap:5px;color:#9a9a9a;font-size:12px;font-weight:550}.enrolment-stat-card .change-up{color:var(--success)}.enrolment-stat-card .change-down{color:var(--rose)}.enrolments-table-card,.side-panel{border-radius:22px;border:1px solid rgba(255,255,255,.1);background:var(--bg-card);box-shadow:var(--shadow-card)}.enrolments-table-card{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.enrolment-table-toolbar,.enrolment-table-footer{min-height:46px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#a3a3a3;font-size:12px;font-weight:580}.enrolment-table-toolbar button{border:0;background:transparent;color:#f2f2f2;display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:850;text-transform:uppercase}.enrolment-table-count{min-width:0;display:inline-flex;align-items:center;gap:12px}.enrolment-delete-toolbar-button{width:30px;height:30px;border-radius:8px;border:0;background:transparent;color:var(--rose);display:inline-flex;align-items:center;justify-content:center;padding:0;box-shadow:none}.enrolment-delete-toolbar-button:hover{background:#ff6b9d1a}.enrolments-table{flex:1;min-width:0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.enrolments-table-head,.enrolments-table-row{display:grid;grid-template-columns:22px minmax(96px,1fr) minmax(90px,.9fr) minmax(110px,1.1fr) 82px 70px 86px 82px 58px;align-items:center;gap:6px;padding:0 10px}.enrolments-table-head{height:34px;color:#747474;font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.enrolments-table-row{min-height:54px;border-top:1px solid rgba(255,255,255,.07);color:#e9e9e9;font-size:12px;font-weight:610;transition:background .16s var(--ease-premium);cursor:pointer}.enrolments-table-row:hover{background:#ffffff06}.enrolment-check input{width:14px;height:14px;accent-color:var(--accent)}.enrolment-student-cell,.enrolment-family-cell{min-width:0;display:flex;align-items:center;gap:8px}.enrolment-student-cell>div,.enrolment-family-cell{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}.enrolment-student-cell strong,.enrolment-family-cell strong{display:block;width:100%;max-width:100%;color:#f4f4f4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enrolments-table-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enrolment-student-cell span:last-child,.enrolment-family-cell span{color:#8d8d8d;font-size:12px;font-weight:560}.enrolment-pill{width:fit-content;min-width:52px;height:25px;border-radius:8px;border:1px solid rgba(255,255,255,.12);display:inline-flex;align-items:center;justify-content:center;padding:0 7px;font-size:10.5px;font-weight:850;text-transform:uppercase}.pill-active,.pill-current{color:var(--success);border-color:#37d45a47;background:#37d45a14}.pill-trial{color:#d9d1ff;border-color:#6c4cff57;background:#6c4cff1a}.pill-waitlist{color:var(--warning);border-color:#f6b84b52;background:#f6b84b17}.pill-past-due{color:var(--rose);border-color:#ff6b9d52;background:#ff6b9d17}.pill-none{min-width:34px;color:#777;border-color:transparent;background:transparent}.next-billing-cell{color:#adadad}.enrolment-action-cell{display:inline-flex;align-items:center;gap:4px}.enrolment-action-cell button{height:28px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#151515;color:#f2f2f2;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;font-size:11px;font-weight:850;text-transform:uppercase}.enrolment-action-cell button:last-child{width:22px;padding:0;border-color:transparent;background:transparent;color:#8b8b8b}.enrolment-table-footer{justify-content:flex-start}.enrolment-table-footer>button{height:30px;min-width:132px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#101010;color:#777;font-size:11px;font-weight:760;text-transform:uppercase}.enrolment-pagination{margin-left:auto;display:inline-flex;align-items:center;gap:7px}.enrolment-pagination button{width:28px;height:28px;border-radius:8px;border:0;background:transparent;color:#cfcfcf;font-size:12px;font-weight:760}.enrolment-pagination button.active{background:var(--accent);color:#fff}.enrolments-side-rail{display:flex;flex-direction:column;gap:16px}.new-enrolment-panel-button{height:58px;border:0;border-radius:16px;background:#f3f3f3;color:#090909;font-size:13px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 18px 34px #00000047}.side-panel{padding:16px}.side-panel h3{margin:0 0 18px;color:#f2f2f2;font-size:13px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.side-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.side-panel-heading h3{margin:0}.side-panel-heading button,.side-panel-heading span{border:0;background:transparent;color:#a0a0a0;font-size:10px;font-weight:850;text-transform:uppercase}.side-metric-row{min-height:31px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#dbdbdb;font-size:13px;font-weight:630}.side-metric-row strong{color:#f4f4f4;font-size:13px;font-weight:850}.side-metric-row .tone-success{color:var(--success)}.side-metric-row .tone-accent{color:var(--accent-secondary)}.side-metric-row .tone-warning{color:var(--warning)}.side-metric-row .tone-muted{color:#8d8d8d}.side-panel-divider{height:1px;margin:12px 0;background:#ffffff1f}.side-metric-row.total{color:#f2f2f2}.trend-summary{display:flex;align-items:center;gap:7px;color:var(--success)}.trend-summary strong{color:var(--success);font-size:34px;line-height:1;font-weight:860;letter-spacing:-.04em}.trend-summary span{color:#a4a4a4;font-size:12px;font-weight:620}.mini-bar-chart{height:92px;margin-top:14px;display:grid;grid-template-columns:repeat(6,1fr);align-items:end;gap:11px;border-top:1px solid rgba(255,255,255,.08);padding-top:10px}.mini-bar-chart span{height:calc(var(--bar) * 2.1);min-height:16px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--accent-secondary),var(--accent))}.mini-bar-chart span.muted{background:#303030}.ranked-list{display:flex;flex-direction:column;gap:11px;margin-top:27px}.bar-row{display:grid;grid-template-columns:30px minmax(0,1fr) 42px;align-items:center;gap:10px;height:30px}.bar-avatar{width:26px;height:26px;font-size:12px}.bar-track{min-width:0;height:30px;border-radius:7px;background:transparent}.bar-fill{height:100%;min-width:88px;border-radius:7px;background:linear-gradient(90deg,#4d34d9,#6c4cff);display:flex;align-items:center;padding-left:10px;color:#f4f4f4;font-size:12px;font-weight:600;white-space:nowrap;box-shadow:0 0 18px #6c4cff2e}.bar-value{text-align:right;color:#f4f4f4;font-size:14px;font-weight:650}@media(max-width:1100px){.app-frame{grid-template-columns:84px minmax(0,1fr)}.sidebar{padding:22px 14px}.workspace-copy,.nav-section-heading,.nav-item span:nth-child(2),.nav-badge,.promo-card,.secondary-nav{display:none}.workspace-header{display:flex;justify-content:center}.nav-item{grid-template-columns:1fr;justify-items:center;padding:0}.sidebar-divider{margin-top:28px}.analytics-grid,.enrolments-hero,.families-hero,.enrolments-shell{grid-template-columns:1fr}.families-stat-grid,.enrolment-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.enrolments-side-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.new-enrolment-panel-button{grid-column:1 / -1}}@media(max-width:860px){.content-area{padding:18px}.toolbar-row{align-items:stretch;flex-direction:column}.search-box{width:100%}.primary-list-card{height:auto}.enrolments-page,.families-page{padding:18px}.enrolments-hero,.families-hero{gap:16px}.create-family-modal{width:calc(100vw - 28px);max-height:calc(100vh - 28px)}.create-family-header{grid-template-columns:minmax(0,1fr) 34px}.create-family-steps{grid-column:1 / -1;grid-row:2}.enrolment-search{min-width:0}.enrolment-filter-grid{grid-template-columns:1fr}.enrolments-table-card{overflow-x:auto}.enrolments-side-rail,.families-stat-grid,.enrolment-stat-grid{grid-template-columns:1fr}.create-family-body{min-height:360px;padding:18px}.create-family-grid,.create-billing-layout,.create-class-row{grid-template-columns:1fr}.create-billing-payment-panel{border-left:0;border-top:1px solid rgba(255,255,255,.08);padding-left:0;padding-top:22px}.create-class-row>button{width:100%}.list-row{height:auto;grid-template-columns:1fr;gap:10px;padding:16px}.status-pill{justify-self:start}}.classes-page{padding:22px 24px 28px;display:flex;flex:1;min-height:0;flex-direction:column;gap:20px}.classes-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,430px);align-items:end;gap:24px}.classes-kicker{display:inline-flex;align-items:center;min-height:26px;border-radius:8px;border:1px solid rgba(108,76,255,.28);background:#6c4cff1c;color:#d9d1ff;padding:0 10px;font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.classes-hero p{max-width:560px;margin:12px 0 0;color:#8d8d8d;font-size:14px;line-height:1.5;font-weight:520}.classes-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.classes-summary-metric{min-height:74px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#0b0b0b;padding:13px;color:#9f9f9f}.classes-summary-metric svg{color:#d9d1ff}.classes-summary-metric span,.classes-card-header span{display:block;margin-top:6px;color:#8d8d8d;font-size:11px;font-weight:760;letter-spacing:.035em;text-transform:uppercase}.classes-summary-metric strong{display:block;margin-top:4px;color:#f5f5f5;font-size:22px;line-height:1;font-weight:820}.classes-timetable-card{flex:1;min-height:0;border-radius:22px;border:1px solid rgba(255,255,255,.1);background:var(--bg-card);overflow:hidden;box-shadow:var(--shadow-card)}.classes-view-bar{min-height:72px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.08)}.classes-view-tabs{display:inline-flex;align-items:flex-end;gap:22px}.classes-view-tabs button{position:relative;height:48px;border:0;padding:0 0 13px;background:transparent;color:#a5a5a5;font-size:14px;font-weight:720;white-space:nowrap}.classes-view-tabs button.active{color:#f5f5f5}.classes-view-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#f5f5f5e0}.classes-view-count{margin-bottom:16px;color:#8d8d8d;font-size:11px;font-weight:820;letter-spacing:.04em;text-transform:uppercase}.classes-view-actions{display:inline-flex;align-items:flex-end;gap:12px}.classes-import-timetable-button{height:34px;margin-bottom:14px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#151515;color:#f2f2f2;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;font-size:11px;font-weight:850;text-transform:uppercase;white-space:nowrap}.classes-import-timetable-button:hover{background:#202020;border-color:#ffffff2e}.classes-calendar-switch{height:34px;margin-bottom:14px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#101010;display:inline-flex;align-items:center;padding:3px}.classes-calendar-switch button{height:26px;min-width:64px;border:0;border-radius:8px;background:transparent;color:#9a9a9a;font-size:11px;font-weight:820;text-transform:uppercase}.classes-calendar-switch button.active{background:#f2f2f2;color:#090909}.classes-card-header{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.08)}.classes-card-header h2{margin:0;color:#f5f5f5;font-size:15px;font-weight:850;letter-spacing:.035em;text-transform:uppercase}.classes-card-header span{margin-top:5px}.classes-table-wrap{width:100%;overflow-x:auto}.classes-table{width:100%;min-width:940px;border-collapse:collapse}.classes-table th{position:sticky;top:0;z-index:1;height:42px;border-bottom:1px solid rgba(255,255,255,.08);background:#0d0d0d;color:#747474;font-size:10px;font-weight:850;letter-spacing:.04em;text-align:left;text-transform:uppercase}.classes-table th,.classes-table td{padding:0 16px}.classes-table th:first-child,.classes-table td:first-child{width:138px}.classes-table th:nth-child(2),.classes-table td:nth-child(2){width:118px}.classes-table th:nth-child(3),.classes-table td:nth-child(3){width:118px}.classes-table th:last-child,.classes-table td:last-child{width:104px}.classes-table th:nth-child(5),.classes-table td:nth-child(5){width:102px}.classes-table th:nth-child(6),.classes-table td:nth-child(6){width:150px}.classes-table td{height:54px;border-top:1px solid rgba(255,255,255,.065);color:#dcdcdc;font-size:13px;font-weight:600}.classes-table tr.classes-day-start td{border-top-color:#ffffff29;background:#ffffff05}.classes-day-label{color:#f4f4f4;font-size:13px;font-weight:820}.studio-badge,.new-class-badge,.classes-note{width:fit-content;min-height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;font-size:11px;font-weight:850;white-space:nowrap}.studio-badge.studio-one{border:1px solid rgba(77,163,255,.3);background:#4da3ff1a;color:#9ccdff}.studio-badge.studio-two{border:1px solid rgba(246,184,75,.3);background:#f6b84b1a;color:#ffd58a}.classes-name-cell{min-width:0;display:flex;align-items:center;gap:9px}.classes-name-cell strong,.classes-mobile-card strong{color:#f3f3f3;font-size:14px;font-weight:760;line-height:1.25}.new-class-badge{border:1px solid rgba(55,212,90,.3);background:#37d45a1a;color:var(--success);text-transform:uppercase}.classes-cost{color:#f3f3f3;font-size:13px;font-weight:650;white-space:nowrap}.classes-note{border:1px solid rgba(255,255,255,.1);background:#101010;color:#a8a8a8;font-weight:700}.classes-note-empty{color:#545454}.classes-edit-button{width:74px;height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#151515;color:#f2f2f2;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0;font-size:11px;font-weight:850;text-transform:uppercase;transition:background .16s var(--ease-premium),border-color .16s var(--ease-premium)}.classes-edit-button:hover{background:#202020;border-color:#ffffff2e}.classes-state{min-height:150px;display:flex;align-items:center;gap:14px;padding:24px;color:#d8d8d8}.classes-state svg{color:#d9d1ff;flex:0 0 auto}.classes-state-warning svg{color:var(--warning)}.classes-state strong{display:block;color:#f4f4f4;font-size:15px;font-weight:780}.classes-state p{margin:5px 0 0;color:#8d8d8d;font-size:13px;line-height:1.45}.classes-mobile-list{display:none}.classes-calendar-week{display:grid;grid-template-columns:repeat(6,minmax(180px,1fr));overflow-x:auto}.classes-calendar-day-view{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:520px}.classes-day-selector{border-right:1px solid rgba(255,255,255,.08);background:#0a0a0a;padding:12px;display:flex;flex-direction:column;gap:8px}.classes-day-selector button{min-height:54px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:transparent;color:#a4a4a4;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;text-align:left}.classes-day-selector button.active{border-color:#6c4cff57;background:#6c4cff1f;color:#f5f5f5}.classes-day-selector button span{font-size:13px;font-weight:780}.classes-day-selector button strong{min-width:30px;height:26px;border-radius:8px;background:#161616;color:#f4f4f4;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;font-size:12px;font-weight:850}.classes-attendance-list{min-width:0;padding:14px;display:flex;flex-direction:column;gap:12px}.classes-attendance-header{min-height:70px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#101010;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 16px}.classes-attendance-header h3{margin:0;color:#f5f5f5;font-size:22px;font-weight:820}.classes-attendance-title{display:flex;align-items:baseline;gap:10px}.classes-attendance-title time{color:#f5f5f5;font-size:13px;font-weight:820}.classes-attendance-header span{display:block;margin-top:4px;color:#898989;font-size:12px;font-weight:650}.classes-attendance-header strong{display:block;color:#f5f5f5;font-size:28px;line-height:1;font-weight:850;text-align:right}.attendance-class-panel{border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#0d0d0d;overflow:hidden;transition:border-color .16s var(--ease-premium),background .16s var(--ease-premium)}.attendance-class-panel.is-drop-target{border-color:#6c4cff7a;background:linear-gradient(#6c4cff14,#6c4cff14),#0d0d0d}.attendance-class-panel>header{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.attendance-class-panel time{color:#8d8d8d;font-size:12px;font-weight:760}.attendance-class-panel h4{margin:4px 0 0;color:#f4f4f4;font-size:15px;line-height:1.2;font-weight:780}.attendance-panel-meta{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.attendance-panel-meta>span{min-height:26px;border-radius:8px;border:1px solid rgba(55,212,90,.22);background:#37d45a14;color:var(--success);display:inline-flex;align-items:center;padding:0 8px;font-size:11px;font-weight:850}.attendance-student-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-student-row{width:100%;min-height:54px;border:0;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 14px;background:transparent;border-bottom:1px solid rgba(255,255,255,.065);text-align:left;cursor:grab;transition:background .16s var(--ease-premium),opacity .16s var(--ease-premium)}.attendance-student-row:hover{background:#ffffff06}.attendance-student-row:active{cursor:grabbing}.attendance-student-row:nth-child(odd){border-right:1px solid rgba(255,255,255,.065)}.attendance-student-row strong{min-width:0;color:#ededed;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-status{min-width:62px;height:25px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;font-size:10px;font-weight:850;text-transform:uppercase}.attendance-status.status-present{border:1px solid rgba(55,212,90,.28);background:#37d45a14;color:var(--success)}.attendance-status.status-absent{border:1px solid rgba(255,107,157,.3);background:#ff6b9d14;color:var(--rose)}.attendance-status.status-trial{border:1px solid rgba(108,76,255,.34);background:#6c4cff1a;color:#d9d1ff}.classes-calendar-day{min-width:0;border-right:1px solid rgba(255,255,255,.08)}.classes-calendar-day:last-child{border-right:0}.classes-calendar-day header{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.08);background:#0d0d0d}.classes-calendar-day h3{margin:0;color:#f5f5f5;font-size:13px;font-weight:850}.classes-calendar-day header span{color:#777;font-size:11px;font-weight:760}.classes-calendar-events{display:flex;flex-direction:column;gap:10px;padding:12px}.calendar-class-card{min-height:128px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#101010;padding:12px}.calendar-class-card.is-new{border-color:#37d45a3d;background:#37d45a0e}.calendar-class-topline{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:10px;color:#cfcfcf;font-size:12px;font-weight:760}.calendar-class-card>strong{display:block;color:#f3f3f3;font-size:13px;line-height:1.25;font-weight:760}.calendar-students{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;margin-top:12px}.calendar-student-avatars{display:inline-flex;align-items:center;padding-left:6px}.calendar-student-avatars .student-avatar{width:24px;height:24px;margin-left:-6px;border:2px solid #101010;font-size:10px}.calendar-student-copy{min-width:0}.calendar-student-copy span{display:inline-flex;align-items:center;gap:5px;color:#d9d1ff;font-size:11px;font-weight:780}.calendar-student-copy p{margin:3px 0 0;color:#7f7f7f;font-size:11px;line-height:1.3;font-weight:560;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classes-calendar-month-view{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:520px}.classes-month-selector{border-right:1px solid rgba(255,255,255,.08);background:#0a0a0a;padding:12px;display:flex;flex-direction:column;gap:8px}.classes-month-selector button{min-height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:transparent;color:#a4a4a4;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;text-align:left}.classes-month-selector button.active{border-color:#6c4cff57;background:#6c4cff1f;color:#f5f5f5}.classes-month-selector button:disabled:not(.active){color:#555;cursor:not-allowed}.classes-month-selector button span{font-size:13px;font-weight:780}.classes-month-selector button strong{min-width:30px;height:26px;border-radius:8px;background:#161616;color:#f4f4f4;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;font-size:12px;font-weight:850}.classes-calendar-month{min-width:0;overflow-x:auto}.classes-month-head,.classes-month-grid{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr))}.classes-month-head{min-height:38px;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);background:#0d0d0d}.classes-month-head span{padding:0 12px;color:#747474;font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.classes-month-cell{min-height:172px;border-right:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);padding:10px;background:#0a0a0a}.classes-month-cell:nth-child(7n){border-right:0}.classes-month-cell.is-muted{background:#080808}.classes-month-cell.is-selectable{cursor:pointer;transition:background .16s var(--ease-premium),border-color .16s var(--ease-premium)}.classes-month-cell.is-selectable:hover,.classes-month-cell.is-selectable:focus-visible{border-color:#ffffff24;background:#101010;outline:none}.classes-month-date{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.classes-month-date span{color:#f5f5f5;font-size:14px;font-weight:820}.classes-month-date strong{color:#696969;font-size:10px;font-weight:850;text-transform:uppercase}.classes-month-events{display:flex;flex-direction:column;gap:6px}.classes-month-event{border-radius:9px;border:1px solid rgba(255,255,255,.1);background:#101010;padding:7px}.classes-month-event.studio-one{border-color:#4da3ff38}.classes-month-event.studio-two{border-color:#f6b84b38}.classes-month-event time,.classes-month-event span{display:block;color:#858585;font-size:10px;font-weight:760}.classes-month-event strong{display:block;margin:3px 0;color:#ededed;font-size:11px;line-height:1.2;font-weight:760;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classes-month-more{color:#8d8d8d;font-size:11px;font-weight:760}.classes-edit-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:24px;background:#000000a3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.classes-edit-dialog{width:min(980px,calc(100vw - 40px));max-height:min(760px,calc(100vh - 40px));border-radius:28px;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at 76% 12%,rgba(184,244,92,.13),transparent 30%),radial-gradient(circle at 4% 8%,rgba(112,214,255,.12),transparent 28%),#0a0c0b;box-shadow:0 28px 90px #000000b8;overflow:auto}.classes-edit-header{min-height:92px;display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:14px;padding:22px 24px 14px}.classes-edit-header span,.classes-edit-grid label>span,.classes-field-heading span,.classes-new-toggle span{color:#898989;font-size:11px;font-weight:820;letter-spacing:.04em;text-transform:uppercase}.classes-edit-header h2{margin:5px 0 0;color:#f5f5f5;font-size:30px;line-height:1.15;font-weight:780}.classes-edit-header p{max-width:440px;margin:8px 0 0;color:#a6aaa7;font-size:13px;line-height:1.45;font-weight:560}.classes-icon-button{width:34px;height:34px;border-radius:9px;border:1px solid rgba(255,255,255,.12);background:#151515;color:#f3f3f3;display:inline-flex;align-items:center;justify-content:center;padding:0}.classes-onboarding-progress{width:fit-content;display:flex;flex-direction:column;gap:8px;padding:0 24px 20px}.classes-progress-bars{display:flex;align-items:center;gap:9px}.classes-progress-bars button{width:32px;height:5px;border:0;border-radius:999px;background:#ffffff1a;padding:0}.classes-progress-bars button.active{background:#b8f45c}.classes-progress-bars button.complete{background:#0c3f28}.classes-progress-bars button:disabled{cursor:default;opacity:1}.classes-onboarding-progress>span{color:#d2d7d0;font-size:11px;line-height:1;font-weight:780}.classes-step-icon{width:30px;height:30px;border-radius:11px;display:grid;place-items:center}.accent-mint{--step-color: #75f0c1;--step-soft: rgba(117, 240, 193, .14)}.accent-lime{--step-color: #b8f45c;--step-soft: rgba(184, 244, 92, .15)}.accent-blue{--step-color: #70d6ff;--step-soft: rgba(112, 214, 255, .14)}.accent-rose{--step-color: #ff9fbd;--step-soft: rgba(255, 159, 189, .14)}.classes-step-icon{background:var(--step-soft);color:var(--step-color)}.classes-onboarding-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:18px;padding:0 24px 20px}.classes-onboarding-main{min-width:0;display:grid;align-content:center;min-height:376px}.classes-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:0}.classes-edit-grid label{min-width:0;display:flex;flex-direction:column;gap:8px}.classes-edit-grid label>span{min-height:22px;display:inline-flex;align-items:center}.classes-edit-wide,.classes-new-toggle{grid-column:1 / -1}.classes-edit-grid input,.classes-edit-grid select{width:100%;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#101411;color:#f3f3f3;padding:0 12px;outline:0;font-size:14px;font-weight:570;color-scheme:dark}.classes-edit-grid select,.classes-time-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#b8f45c 50%),linear-gradient(135deg,#b8f45c 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}.classes-edit-grid select option{background:#101411;color:#f3f3f3}.classes-edit-grid input[type=date]{background:#101411;color-scheme:dark}.classes-edit-grid input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(88%) sepia(27%) saturate(1024%) hue-rotate(31deg) brightness(105%) contrast(94%);opacity:.88}.classes-edit-grid input:focus,.classes-edit-grid select:focus{border-color:#b8f45c85;box-shadow:0 0 0 3px #b8f45c29}.classes-time-field{display:grid;grid-template-columns:minmax(0,1fr) 76px}.classes-time-field input{border-radius:12px 0 0 12px}.classes-time-field select{border-left:0;border-radius:0 12px 12px 0;padding:0 28px 0 8px;font-size:12px;font-weight:850;text-align:center}.classes-time-field:focus-within input,.classes-time-field:focus-within select{border-color:#b8f45c85}.classes-field-heading{min-height:22px;display:flex;align-items:center;justify-content:space-between;gap:10px}.classes-field-add-button{height:22px;border-radius:7px;border:1px solid rgba(255,255,255,.12);background:#b8f45c1c;color:#d7ff8d;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 7px;font-size:10px;font-weight:850;text-transform:uppercase}.classes-add-toggle{--toggle-ease: cubic-bezier(.16, 1, .3, 1);position:relative;width:26px;height:24px;border-radius:999px;overflow:hidden;isolation:isolate;padding:0;transition:border-color .42s var(--toggle-ease),background .42s var(--toggle-ease),color .42s var(--toggle-ease),box-shadow .52s var(--toggle-ease),transform .42s var(--toggle-ease)}.classes-add-toggle:before{content:"";position:absolute;inset:1px;z-index:-1;border-radius:inherit;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.18) 42%,transparent 58%),linear-gradient(180deg,rgba(255,255,255,.1),transparent);opacity:0;transform:translate(-70%) scaleX(.78);transition:opacity .36s var(--toggle-ease),transform .72s var(--toggle-ease)}.classes-add-toggle:hover{transform:translateY(-1px)}.classes-add-toggle.is-cancel{width:26px}.classes-add-toggle.is-cancel:before{opacity:1;transform:translate(72%) scaleX(.9)}.classes-toggle-icon{position:relative;width:12px;height:12px;flex:0 0 12px}.classes-toggle-icon svg{position:absolute;inset:0;transition:opacity .28s var(--toggle-ease),transform .56s var(--toggle-ease),filter .42s var(--toggle-ease)}.classes-toggle-x{opacity:0;transform:rotate(-135deg) scale(.45);filter:blur(1px)}.classes-add-toggle.is-cancel .classes-toggle-plus{opacity:0;transform:rotate(135deg) scale(.45);filter:blur(1px)}.classes-add-toggle.is-cancel .classes-toggle-x{opacity:1;transform:rotate(0) scale(1);filter:blur(0)}.classes-field-add-button:hover{background:#b8f45c2e}.classes-field-add-button.is-cancel{border-color:#ff9fbd57;background:radial-gradient(circle at 20% 0%,rgba(255,255,255,.16),transparent 35%),#ff9fbd1f;color:#ffb8cd;box-shadow:0 0 0 1px #ff9fbd0f,0 10px 26px #ff9fbd1a}.classes-field-add-button.is-cancel:hover{background:#ff9fbd2e}.classes-studio-new-row{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:8px}.classes-studio-new-row button{height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#b8f45c;color:#11160e;font-size:11px;font-weight:850;text-transform:uppercase}.classes-new-toggle{min-height:42px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0b;flex-direction:row;align-items:center;padding:0 12px}.classes-new-toggle input{width:15px;height:15px;accent-color:#b8f45c}.classes-new-toggle span{color:#dcdcdc}.classes-edit-error{margin:0 24px 16px;border-radius:10px;border:1px solid rgba(255,107,157,.28);background:#ff6b9d14;color:#ff9fbd;padding:10px 12px;font-size:13px;font-weight:620}.classes-onboarding-art{position:relative;min-height:376px;border-radius:26px;overflow:hidden;background:radial-gradient(circle at 50% 72%,rgba(184,244,92,.34),transparent 24%),linear-gradient(150deg,#dbffc0,#201d30 42%,#0b1110);box-shadow:inset 0 0 0 1px #ffffff1f}.class-art-card{position:absolute;border-radius:22px;border:1px solid rgba(255,255,255,.2);background:#ebdcffeb;box-shadow:0 18px 40px #00000038}.class-art-board{top:28px;left:30px;right:26px;height:188px;padding:16px;transform:rotate(4deg)}.class-art-window{height:46px;border-radius:16px;background:#f6e9ff;display:flex;align-items:center;gap:12px;padding:0 16px}.class-art-window span{width:12px;height:12px;border-radius:999px;background:#ff8aa8}.class-art-window span:nth-child(2){background:#ffd166}.class-art-window span:nth-child(3){background:#8bd450}.class-art-chart{position:absolute;left:18px;bottom:16px;width:116px;height:76px;border-radius:18px;background:#dac5ef}.class-art-chart i{position:absolute;bottom:16px;width:12px;border-radius:999px;background:#6c4cff}.class-art-chart i:nth-child(1){left:22px;height:28px}.class-art-chart i:nth-child(2){left:50px;height:44px;background:#70d6ff}.class-art-chart i:nth-child(3){left:78px;height:34px;background:#b8f45c}.class-art-picture{position:absolute;right:18px;bottom:16px;width:96px;height:76px;border-radius:18px;background:#5e7cf0}.class-art-picture span{position:absolute;left:18px;right:14px;bottom:18px;height:34px;border-radius:10px 10px 8px 8px;background:#9be057;clip-path:polygon(0 100%,42% 18%,62% 48%,78% 20%,100% 100%)}.class-art-dial{left:78px;bottom:32px;width:152px;height:152px;border-radius:999px;background:#ded1fb;display:grid;place-items:center}.class-art-dial:before,.class-art-dial:after{content:"";position:absolute;border-radius:999px}.class-art-dial:before{inset:20px;border:14px solid #6c4cff;background:#2d254f}.class-art-dial:after{inset:51px;background:#9be057;box-shadow:0 0 0 7px #ffffff38}.class-art-dial svg{position:absolute;top:24px;right:24px;z-index:2;color:#6c4cff}.class-art-dial>span{position:absolute;inset:8px;border-radius:999px;border:2px dashed rgba(25,25,35,.26)}.class-art-hand{position:absolute;left:-18px;bottom:-18px;width:150px;height:176px;border-radius:64px 64px 36px 22px;background:linear-gradient(145deg,#ffc3d6,#f5a4be);transform:rotate(-18deg);box-shadow:16px 20px 38px #0000002e}.class-art-hand span{position:absolute;top:-24px;width:31px;height:88px;border-radius:999px;background:linear-gradient(145deg,#ffd7e5,#f3a4bd)}.class-art-hand span:nth-child(1){left:20px;transform:rotate(-15deg)}.class-art-hand span:nth-child(2){left:50px;top:-36px}.class-art-hand span:nth-child(3){left:82px;top:-30px;transform:rotate(12deg)}.class-art-hand span:nth-child(4){left:108px;top:-10px;height:74px;transform:rotate(30deg)}.classes-edit-actions{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 24px;border-top:1px solid rgba(255,255,255,.12)}.classes-secondary-button,.classes-save-button{height:38px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;font-size:13px;font-weight:780}.classes-secondary-button{border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#d8d8d8}.classes-save-button{min-width:92px;border:1px solid rgba(184,244,92,.38);background:#b8f45c;color:#11160e}.classes-save-button:disabled,.classes-secondary-button:disabled{cursor:wait;opacity:.68}.attendance-page{padding:22px 24px 28px;display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;min-height:0;flex:1}.attendance-class-sidebar,.attendance-add-card,.attendance-roll-card{border-radius:22px;border:1px solid rgba(255,255,255,.1);background:var(--bg-card);box-shadow:var(--shadow-card)}.attendance-class-sidebar{min-height:0;overflow:hidden;display:flex;flex-direction:column}.attendance-panel-heading,.attendance-roll-toolbar{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.08)}.attendance-panel-heading span,.attendance-roll-toolbar span{color:#898989;font-size:11px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.attendance-panel-heading strong,.attendance-roll-toolbar strong{color:#f4f4f4;font-size:12px;font-weight:820}.attendance-class-list{min-height:0;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.attendance-class-list button{min-height:82px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#101010;color:#f2f2f2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:12px;text-align:left}.attendance-class-list button.active{border-color:#6c4cff6b;background:#6c4cff1f}.attendance-class-list button span{color:#9a9a9a;font-size:11px;font-weight:760}.attendance-class-list button strong{color:#f4f4f4;font-size:14px;font-weight:780}.attendance-class-list button small{color:var(--success);font-size:11px;font-weight:760}.attendance-runner{min-width:0;min-height:0;display:flex;flex-direction:column;gap:18px}.attendance-runner-header{min-height:116px;border-radius:22px;border:1px solid rgba(255,255,255,.1);background:#0b0b0b;box-shadow:var(--shadow-card);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px}.attendance-runner-header>div:first-child span{color:#8f8f8f;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.attendance-runner-header h2{margin:6px 0 0;color:#f5f5f5;font-size:30px;line-height:1.1;font-weight:780}.attendance-count-card{min-width:128px;min-height:76px;border-radius:16px;border:1px solid rgba(55,212,90,.24);background:#37d45a14;color:var(--success);display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:4px 8px;padding:12px}.attendance-count-card strong{color:#f5f5f5;font-size:26px;line-height:1;font-weight:850}.attendance-count-card span{grid-column:1 / -1;color:#a8a8a8;font-size:11px;font-weight:800;text-transform:uppercase}.attendance-add-card{position:relative;padding:14px}.attendance-sheet-handle,.attendance-mobile-student-list{display:none}.attendance-search{height:48px;border-radius:13px;border:1px solid rgba(255,255,255,.12);background:#0c0c0c;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:11px;padding:0 14px;color:#a8a8a8}.attendance-search input{min-width:0;border:0;outline:0;background:transparent;color:#f3f3f3;font-size:14px;font-weight:560}.attendance-search-results{margin-top:10px;display:grid;gap:8px}.attendance-search-results button{min-height:54px;border-radius:13px;border:1px solid rgba(255,255,255,.08);background:#101010;color:#f2f2f2;display:grid;grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:10px;padding:9px 12px;text-align:left}.attendance-search-results strong,.attendance-roll-row strong{color:#f4f4f4;font-size:14px;font-weight:780}.attendance-search-results span,.attendance-student-copy span{color:#8d8d8d;font-size:12px;font-weight:560}.attendance-roll-card{min-height:0;flex:1;overflow:hidden;display:flex;flex-direction:column}.attendance-roll-list{min-height:0;overflow-y:auto}.attendance-roll-row{min-height:66px;display:grid;grid-template-columns:36px minmax(0,1fr) 82px 104px 36px;align-items:center;gap:12px;padding:0 14px;border-top:1px solid rgba(255,255,255,.075)}.attendance-roll-row:first-child{border-top:0}.attendance-student-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.attendance-source,.attendance-present{min-height:27px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 8px;font-size:10px;font-weight:850;text-transform:uppercase;white-space:nowrap}.attendance-source.enrolled{color:#d9d1ff;background:#6c4cff1a}.attendance-source.added{color:var(--warning);background:#f6b84b1a}.attendance-present{color:var(--success);background:#37d45a1a}.attendance-roll-row>button{width:34px;height:34px;border-radius:9px;border:1px solid rgba(255,107,157,.22);background:#ff6b9d14;color:var(--rose);display:grid;place-items:center}.attendance-empty{min-height:170px;display:flex;align-items:center;justify-content:center;gap:10px;color:#8d8d8d;font-size:13px;font-weight:650}@media(max-width:1100px){.attendance-page{grid-template-columns:1fr}.attendance-class-sidebar{min-height:auto}.attendance-class-list{flex-direction:row;overflow-x:auto}.attendance-class-list button{min-width:220px}}@media(max-width:860px){.attendance-page{padding:18px;gap:14px}.attendance-panel-heading{min-height:48px}.attendance-class-list{padding:10px}.attendance-class-list button{min-width:190px;min-height:74px}.attendance-runner{gap:14px}.attendance-runner-header{min-height:0;align-items:stretch;flex-direction:column;padding:16px}.attendance-runner-header h2{font-size:23px}.attendance-count-card{min-width:0;width:100%}.attendance-roll-row{min-height:92px;grid-template-columns:36px minmax(0,1fr) 36px;gap:10px;padding:12px}.attendance-source,.attendance-present{justify-self:start}.attendance-source,.attendance-present{grid-column:2}.attendance-roll-row>button{grid-column:3;grid-row:1 / span 3}}@media(max-width:520px){.app-frame.page-attendance{min-height:100dvh;margin:0;grid-template-columns:1fr;border:0;border-radius:0}.page-attendance .sidebar{display:none}.page-attendance .main-panel{min-height:100dvh;border-left:0;border-radius:0;margin-left:0}.page-attendance .topbar{height:58px;padding:0 16px}.page-attendance .page-title-wrap h1{font-size:18px}.page-attendance .primary-action{display:none}.attendance-page{position:relative;min-height:0;height:calc(100dvh - 58px);padding:12px 12px 104px;display:flex;flex-direction:column;gap:10px;overflow:hidden}.attendance-class-sidebar{flex:0 0 auto;border-radius:16px;box-shadow:none}.attendance-panel-heading{display:none}.attendance-class-list{padding:8px;flex-direction:row;gap:8px;overflow-x:auto;scrollbar-width:none}.attendance-class-list::-webkit-scrollbar{display:none}.attendance-class-list button{min-width:154px;min-height:62px;border-radius:12px;gap:3px;padding:10px}.attendance-class-list button strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.attendance-runner{flex:1;min-height:0;gap:10px}.attendance-runner-header{min-height:72px;border-radius:16px;display:grid;grid-template-columns:minmax(0,1fr) 86px;align-items:center;padding:12px;box-shadow:none}.attendance-runner-header h2{margin-top:3px;font-size:19px}.attendance-count-card{width:auto;min-width:0;min-height:48px;grid-template-columns:18px minmax(0,1fr);border-radius:12px;padding:9px}.attendance-count-card strong{font-size:20px}.attendance-count-card span{font-size:9px}.attendance-add-card{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:30;max-height:min(68dvh,520px);border-radius:22px 22px 18px 18px;padding:10px;box-shadow:0 -18px 52px #00000075;transform:translateY(calc(100% - 78px));transition:transform .26s var(--ease-premium),border-color .18s var(--ease-premium)}.attendance-add-card.is-mobile-sheet-open{border-color:#6c4cff57;transform:translateY(0)}.attendance-sheet-handle{width:54px;height:22px;margin:0 auto 4px;border:0;background:transparent;display:grid;place-items:center}.attendance-sheet-handle:before{content:"";width:38px;height:4px;border-radius:999px;background:#ffffff47}.attendance-search{height:42px;border-radius:13px}.attendance-search input{font-size:13px}.attendance-search input:focus-visible{box-shadow:none}.attendance-search-results{display:none}.attendance-mobile-student-list{min-height:0;max-height:calc(min(68dvh,520px) - 80px);margin-top:10px;overflow-y:auto;display:grid;gap:8px;padding-bottom:4px}.attendance-mobile-student-list button{min-height:54px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#101010;color:#f2f2f2;display:grid;grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:10px;padding:9px 11px;text-align:left}.attendance-mobile-student-list button>div{min-width:0;display:flex;flex-direction:column;gap:3px}.attendance-mobile-student-list strong{color:#f4f4f4;font-size:13px;font-weight:780;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-mobile-student-list span{color:#8d8d8d;font-size:12px;font-weight:560;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-mobile-empty{min-height:110px;border-radius:14px;border:1px dashed rgba(255,255,255,.13);color:#8d8d8d;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:700}.attendance-roll-card{flex:1;border-radius:16px;box-shadow:none}.attendance-roll-toolbar{min-height:44px;padding:0 12px}.attendance-roll-list{padding-bottom:10px}.attendance-roll-row{min-height:76px;grid-template-columns:34px minmax(0,1fr) 34px;gap:8px;padding:10px 11px}.attendance-roll-row strong{font-size:13px}.attendance-source,.attendance-present{min-height:24px;border-radius:7px;font-size:9px}.attendance-present{display:none}.attendance-roll-row>button{width:32px;height:32px;border-radius:9px}}@media(max-width:1100px){.classes-hero{grid-template-columns:1fr;align-items:stretch}}@media(max-width:860px){.classes-page{padding:18px}.classes-summary{grid-template-columns:1fr}.classes-view-bar{min-height:118px;align-items:stretch;flex-direction:column;justify-content:flex-end;padding-top:16px}.classes-calendar-switch{width:fit-content;margin-bottom:14px}.classes-table-wrap{display:none}.classes-mobile-list{display:flex;flex-direction:column}.classes-mobile-day{padding:14px;border-top:1px solid rgba(255,255,255,.08)}.classes-mobile-day h3{margin:0 0 10px;color:#f5f5f5;font-size:13px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.classes-mobile-card{border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#101010;padding:13px}.classes-mobile-card+.classes-mobile-card{margin-top:10px}.classes-mobile-card.is-new{border-color:#37d45a3d;background:#37d45a0e}.classes-mobile-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:9px;color:#cfcfcf;font-size:12px;font-weight:760}.classes-mobile-meta .classes-edit-button{margin-left:auto}.classes-mobile-card .classes-note,.classes-mobile-card .classes-note-empty{margin-top:10px}.classes-calendar-week,.classes-calendar-month-view,.classes-calendar-month{min-width:0;overflow-x:visible}.classes-calendar-day-view,.classes-calendar-month-view{grid-template-columns:1fr}.classes-day-selector,.classes-month-selector{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);flex-direction:row;overflow-x:auto}.classes-day-selector button,.classes-month-selector button{min-width:148px}.classes-attendance-header,.attendance-class-panel>header{align-items:flex-start;flex-direction:column;justify-content:center;padding:14px}.classes-attendance-header strong{text-align:left}.attendance-student-list{grid-template-columns:1fr}.attendance-student-row:nth-child(odd){border-right:0}.classes-calendar-week,.classes-month-grid,.classes-month-head{grid-template-columns:1fr}.classes-calendar-day,.classes-month-cell{border-right:0}.classes-month-head,.classes-month-cell.is-muted{display:none}.classes-edit-grid{grid-template-columns:1fr}.classes-edit-dialog{width:min(720px,calc(100vw - 28px))}.classes-onboarding-progress,.classes-onboarding-body{padding-left:16px;padding-right:16px}.classes-onboarding-body{grid-template-columns:1fr}.classes-onboarding-art{min-height:220px}.class-art-board{height:150px}.class-art-dial{left:auto;right:38px;width:116px;height:116px}.class-art-hand{width:120px;height:132px}.classes-edit-header h2{font-size:18px}}
