:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--navy-950:#0b1526;--navy-900:#0f172a;--navy-800:#16294a;--navy-700:#1e3a5f;--navy-100:#e7edf5;--yellow:#facc15;--yellow-dark:#eab308;--ink:#e2e8f0;--muted:#b2bfd0;--surface:#1e3a5f;--surface-raised:#274a72;--canvas:#0f172a;--line:#94a3b82e;--card-line:#93c5fd3d;--green:#4ade80;--green-soft:#22c55e24;--red:#fda4af;--red-soft:#f43f5e24;--blue:#93c5fd;--blue-soft:#93c5fd21;--purple:#c4b5fd;--purple-soft:#c4b5fd21;--shadow:0 10px 30px #0000004d;--radius:18px;--radius-sm:12px}*{box-sizing:border-box}html{background:var(--canvas);min-height:100%}body{min-height:100vh;color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}svg{width:20px;height:20px}h1,h2,h3,p{margin-top:0}.app-shell{min-height:100vh}.sidebar{z-index:20;width:264px;color:var(--ink);background:radial-gradient(circle at 20% 0%, #facc151f, transparent 28%), var(--navy-950);border-right:1px solid var(--line);flex-direction:column;padding:24px 18px;display:flex;position:fixed;inset:0 auto 0 0}.admin-brand{color:#f8fafc;align-items:center;gap:12px;margin:0 8px 34px;display:flex}.admin-brand strong,.admin-brand small{display:block}.admin-brand strong{font-size:1.03rem;line-height:1.2}.admin-brand small{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:2px;font-size:.8125rem;font-weight:700}.brand-ball,.auth-logo{background:var(--yellow);border-radius:50%;flex:none;place-items:center;width:42px;height:42px;display:grid;overflow:hidden;box-shadow:0 0 0 5px #facc1517}.brand-ball img,.auth-logo img{object-fit:cover;width:100%;height:100%}.side-nav{gap:7px;display:grid}.side-nav a{color:var(--muted);border-radius:12px;align-items:center;gap:13px;padding:12px 14px;font-weight:650;transition:all .15s;display:flex}.side-nav a:hover{color:#f8fafc;background:#ffffff0f}.side-nav a.active{color:var(--navy-950);background:var(--yellow)}.sidebar-footer{gap:14px;margin-top:auto;display:grid}.admin-identity{border:1px solid var(--line);background:#ffffff0a;border-radius:14px;align-items:center;gap:10px;min-width:0;padding:12px;display:flex}.admin-identity>span:last-child{min-width:0}.admin-identity strong,.admin-identity small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-identity strong{color:#f8fafc;font-size:.88rem}.admin-identity small{color:var(--muted);margin-top:2px;font-size:.8125rem}.avatar{width:34px;height:34px;color:var(--navy-950);background:var(--yellow);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.text-button{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;padding:5px;font-size:.8125rem}.text-button:hover{color:#f8fafc}.app-main{min-height:100vh;margin-left:264px}.app-main>main{width:min(1180px,100%);margin:0 auto;padding:54px 48px 80px}.demo-banner{color:#1a2a17;background:var(--yellow);border-bottom:1px solid var(--yellow-dark);justify-content:center;align-items:center;gap:12px;min-height:34px;padding:6px 20px;font-size:.8125rem;font-weight:650;display:flex}.demo-banner button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.bottom-nav{display:none}.page-header{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:34px;display:flex}.page-header h1{color:#f8fafc;letter-spacing:-.045em;margin-bottom:8px;font-size:clamp(2rem,4vw,3rem);line-height:1.06}.page-header p:not(.eyebrow){max-width:650px;color:var(--muted);margin-bottom:0;font-size:1rem}.page-header-action{flex:none}.eyebrow{color:var(--yellow);letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px;font-size:.8125rem;font-weight:850}.button{min-height:44px;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:750;line-height:1;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.button:hover{border-color:#facc1561;transform:translateY(-1px);box-shadow:0 8px 18px #00000038}.button:disabled{cursor:wait;opacity:.6;transform:none}.button.primary{color:#172100;background:var(--yellow);border-color:var(--yellow)}.button.primary:hover{background:var(--yellow-dark)}.button.secondary{background:var(--surface-raised)}.button.success{min-height:38px;color:var(--green);background:var(--green-soft);border-color:#4ade804d;padding:8px 14px;font-size:.83rem}.button.small{min-height:36px;padding:7px 13px;font-size:.82rem}.button.block{width:100%}.icon-button{width:42px;height:42px;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:all .12s;display:inline-grid}.icon-button:hover{background:#315781;border-color:#facc1561;transform:translateY(-1px)}.icon-button:disabled{cursor:wait;opacity:.5}.icon-button.danger{color:var(--red);background:var(--red-soft);border-color:#fb71854d}.action-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:48px;display:grid}.action-card{background:var(--surface);border:1px solid var(--card-line);border-radius:var(--radius);min-height:164px;box-shadow:var(--shadow);flex-direction:column;justify-content:space-between;gap:18px;padding:22px;transition:transform .14s,box-shadow .14s;display:flex;position:relative;overflow:hidden}.action-card:hover{border-color:#facc1552;transform:translateY(-3px);box-shadow:0 18px 42px #0006}.action-card strong,.action-card small{display:block}.action-card strong{margin-bottom:6px;font-size:1.05rem}.action-card small{color:var(--muted);font-size:.8125rem;line-height:1.4}.action-icon{border-radius:15px;place-items:center;width:48px;height:48px;display:grid}.action-icon svg{width:25px;height:25px}.action-card .action-icon{color:#1a2a17;background:var(--yellow)}.action-arrow{width:18px;height:18px;color:var(--muted);position:absolute;top:20px;right:20px}.content-section{margin-top:42px}.dashboard-schedule{margin-top:0}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px;display:flex}.section-heading.compact{margin-bottom:16px}.section-heading h2{letter-spacing:-.025em;color:#f8fafc;margin-bottom:0;font-size:1.45rem}.section-heading .eyebrow{margin-bottom:5px}.section-count{color:var(--muted);background:var(--surface-raised);border-radius:999px;padding:6px 11px;font-size:.8125rem;font-weight:750}.lesson-list{gap:12px;display:grid}.lesson-row{background:var(--surface);border:1px solid var(--card-line);border-radius:16px;grid-template-columns:105px minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:18px 20px;display:grid;box-shadow:0 5px 18px #0000002e}.lesson-row.completed{background:#22c55e12;border-color:#4ade803d}.lesson-row.compact{grid-template-columns:90px minmax(0,1fr) auto}.lesson-time strong,.lesson-time span{display:block}.lesson-time strong{font-size:1.05rem}.lesson-time span{color:var(--muted);margin-top:3px;font-size:.8125rem}.lesson-main{min-width:0}.lesson-title-line{align-items:center;gap:10px;display:flex}.lesson-main a{text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.lesson-main a:hover{text-decoration:underline}.lesson-main>p{color:var(--muted);margin:4px 0 0;font-size:.86rem}.done-pill{color:var(--green);background:var(--green-soft);border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:.8125rem;font-weight:800;display:inline-flex}.done-pill svg{width:13px;height:13px}.lesson-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.lesson-date-label{color:var(--muted);margin:18px 0 7px 3px;font-size:.8125rem;font-weight:750}.inline-error,.form-error{color:var(--red)!important}.inline-error{font-size:.8125rem!important}.form-error,.form-success{border-radius:10px;padding:10px 12px;font-size:.84rem}.form-error{background:var(--red-soft)}.form-success{color:var(--green);background:var(--green-soft)}.balance-badge{white-space:nowrap;border-radius:10px;align-items:baseline;gap:5px;padding:7px 10px;display:inline-flex}.balance-badge strong{font-size:1rem}.balance-badge span{font-size:.8125rem;font-weight:750}.balance-badge.positive{color:var(--green);background:var(--green-soft)}.balance-badge.low{color:var(--yellow);background:#facc151f}.balance-badge.zero{color:var(--muted);background:#94a3b81f}.balance-badge.negative{color:var(--red);background:var(--red-soft)}.balance-badge.large{background:0 0;align-items:flex-end;width:fit-content;padding:0;display:flex}.balance-badge.large strong{letter-spacing:-.07em;font-size:4rem;line-height:.9}.balance-badge.large span{padding-bottom:5px;font-size:.85rem}.empty-state,.loading-state{min-height:210px;color:var(--muted);border-radius:var(--radius);text-align:center;background:#1e3a5f9e;border:1px dashed #b2bfd061;flex-direction:column;justify-content:center;align-items:center;padding:34px;display:flex}.empty-state h3{color:#f8fafc;margin-bottom:7px}.empty-state p{max-width:430px;margin-bottom:18px}.loading-state{gap:12px}.spinner{border:3px solid #b2bfd047;border-top-color:var(--yellow);border-radius:50%;width:25px;height:25px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.search-box{background:var(--surface);border:1px solid var(--line);border-radius:13px;align-items:center;gap:10px;max-width:520px;margin-bottom:24px;padding:0 15px;display:flex}.search-box svg{color:var(--muted)}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;padding:13px 0}.client-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.client-card{background:var(--surface);border:1px solid var(--card-line);border-radius:var(--radius);min-width:0;padding:20px;transition:all .14s;box-shadow:0 7px 22px #0003}.client-card:hover{box-shadow:var(--shadow);border-color:#facc1552;transform:translateY(-2px)}.client-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.client-initial,.profile-avatar{color:var(--navy-950);background:var(--yellow);border-radius:14px;place-items:center;font-weight:850;display:grid}.client-initial{width:42px;height:42px}.client-card h2{text-overflow:ellipsis;white-space:nowrap;margin-bottom:5px;font-size:1.08rem;overflow:hidden}.client-card>p{color:var(--muted);margin-bottom:17px;font-size:.85rem}.client-meta{flex-wrap:wrap;gap:6px;display:flex}.client-meta span{color:var(--ink);background:var(--surface-raised);border-radius:7px;padding:5px 8px;font-size:.8125rem;font-weight:700}.form-card,.card{background:var(--surface);border:1px solid var(--card-line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.form-card{max-width:780px}.field-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.field{gap:7px;margin-bottom:19px;display:grid}.field>span{color:var(--ink);font-size:.82rem;font-weight:780}.field>span small{color:var(--muted);font-size:.8125rem;font-weight:600}.field input,.field select,.field textarea{width:100%;min-height:47px;color:var(--ink);background:var(--navy-800);border:1px solid #b2bfd04d;border-radius:11px;outline:0;padding:11px 13px;transition:all .12s}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{background:var(--navy-800);border-color:var(--yellow);box-shadow:0 0 0 3px #facc1524}.field>small{color:var(--muted);margin-top:-1px;font-size:.8125rem}.field-span{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.profile-overview{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:18px;display:grid}.profile-contact{grid-template-columns:auto 1fr;align-items:center;gap:18px;display:grid}.profile-avatar{width:68px;height:68px;font-size:1.6rem}.profile-contact a{width:fit-content;color:var(--ink);align-items:center;gap:7px;margin:4px 0;font-weight:700;display:flex}.profile-contact a:hover{text-decoration:underline}.profile-contact>p{color:var(--muted);border-top:1px solid var(--line);white-space:pre-wrap;grid-column:1/-1;margin:4px 0 0;padding-top:17px}.balance-panel{flex-direction:column;justify-content:space-between;gap:20px;display:flex}.button-stack{gap:8px;display:grid}.ledger-table{display:grid}.ledger-row{border-bottom:1px solid var(--line);grid-template-columns:54px minmax(0,1fr);align-items:center;gap:13px;padding:14px 3px;display:grid}.ledger-row:last-child{border-bottom:0}.ledger-row>span:last-child{min-width:0}.ledger-row strong,.ledger-row small{display:block}.ledger-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.ledger-row small{color:var(--muted);margin-top:3px;font-size:.8125rem}.ledger-row small a{color:var(--yellow);font-weight:700}.ledger-delta{border-radius:10px;place-items:center;width:46px;height:38px;font-weight:850;display:grid}.ledger-delta.plus{color:var(--green);background:var(--green-soft)}.ledger-delta.minus{color:var(--red);background:var(--red-soft)}.split-layout{grid-template-columns:minmax(310px,.75fr) minmax(0,1.25fr);align-items:start;gap:22px;display:grid}.split-layout .form-card{width:100%}.sticky-card{position:sticky;top:24px}.selected-balance,.booking-summary{background:var(--navy-800);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:19px;padding:13px 15px;display:flex}.selected-balance>span{color:var(--muted);font-size:.8125rem;font-weight:700}.booking-summary span>strong,.booking-summary span{display:block}.booking-summary span{color:var(--muted);font-size:.8125rem}.booking-summary span>strong{color:var(--ink);margin-bottom:3px;font-size:.9rem}.schedule-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;margin-bottom:18px;display:grid}.schedule-label-row{display:contents}.schedule-label-row .eyebrow{grid-area:1/1;justify-self:start;margin-bottom:0}.schedule-label-row .section-count{grid-area:1/3;justify-self:end}.day-switcher{grid-area:1/2;grid-template-columns:38px minmax(0,auto) 38px;align-items:center;gap:10px;width:fit-content;margin-inline:auto;display:grid}.day-switcher .icon-button{width:38px;height:38px}.day-title{color:#f8fafc;text-align:center;background:0 0;min-width:190px;padding:0}.day-title h2,.day-title span{display:block}.day-title h2{margin-bottom:0;font-size:1.25rem}.day-title span,.day-title button{color:var(--yellow);margin-top:3px;font-size:.8125rem;font-weight:750}.day-title button{cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.calendar-sync-note,.calendar-sync-warning{margin-top:5px;font-size:.75rem;font-weight:750}.calendar-sync-note{color:var(--muted)}.calendar-sync-warning{color:#fca5a5}.calendar-list{max-width:920px;margin:0 auto}.auth-page{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 20% 15%, #facc152b, transparent 24%), linear-gradient(145deg, var(--navy-950), #132b4c);place-items:center;padding:24px;display:grid}.auth-card{text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1e3a5fc7;border:1px solid #ffffff1f;border-radius:24px;width:min(440px,100%);padding:38px;box-shadow:0 30px 70px #00000059}.auth-logo{width:68px;height:68px;margin:0 auto 26px}.auth-card h1{color:#f8fafc;margin-bottom:12px;font-size:2rem}.auth-card>p:not(.eyebrow){color:var(--muted);margin-bottom:28px}.google-button{color:#202124;cursor:pointer;background:#fff;border:0;border-radius:13px;justify-content:center;align-items:center;gap:11px;width:100%;min-height:50px;font-weight:750;display:flex}.google-mark{color:#4285f4;font-size:1.1rem;font-weight:900}.setup-message{color:#f9e698;background:#facc151a;border:1px solid #facc1540;border-radius:12px;padding:13px;font-size:.85rem}@media (max-width:1080px){.action-grid,.client-grid{grid-template-columns:1fr 1fr}}@media (max-width:820px){.sidebar{display:none}.app-main{margin-left:0}.app-main>main{padding:38px 20px 110px}.bottom-nav{z-index:30;min-height:68px;padding:7px max(8px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#08111ff7;border-top:1px solid #ffffff1a;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-nav a{color:#8192a9;border-radius:10px;align-content:center;place-items:center;gap:3px;font-size:.8125rem;font-weight:750;display:grid}.bottom-nav a svg{width:21px;height:21px}.bottom-nav a.active{color:var(--yellow)}.profile-overview,.split-layout{grid-template-columns:1fr}.sticky-card{position:static}}@media (max-width:640px){.demo-banner{justify-content:space-between;font-size:.8125rem}.page-header{align-items:start;margin-bottom:26px;display:grid}.page-header h1{font-size:2.25rem}.page-header-action,.page-header-action .button{width:100%}.action-grid,.client-grid,.field-grid{grid-template-columns:1fr}.action-grid{gap:12px;margin-bottom:28px}.action-card{flex-direction:row;justify-content:flex-start;align-items:center;min-height:100px;padding:17px}.action-card .action-arrow{top:50%;right:17px;transform:translateY(-50%)}.action-card:hover .action-arrow{transform:translateY(-50%)}.action-icon{flex:none}.lesson-row,.lesson-row.compact{grid-template-columns:72px minmax(0,1fr);gap:10px;padding:15px}.lesson-row>.balance-badge{display:none}.lesson-actions{grid-column:1/-1;width:100%}.lesson-actions .button{flex:1;min-width:0}.lesson-title-line{flex-direction:column;align-items:flex-start;gap:4px}.profile-contact{grid-template-columns:54px 1fr}.profile-avatar{width:54px;height:54px}.form-card,.card{padding:20px}.form-actions{grid-template-columns:1fr 1fr;display:grid}.form-actions .button{width:100%}.field-span{grid-column:auto}.balance-badge.large strong{font-size:3.3rem}.schedule-header{grid-template-columns:1fr 1fr;row-gap:12px}.schedule-label-row .eyebrow{grid-area:2/1}.schedule-label-row .section-count{grid-area:2/2}.day-switcher{grid-area:1/1/auto/-1;max-width:100%}.day-title{width:min(190px,100vw - 148px);min-width:0}.day-title h2{font-size:1.05rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
