:root{--pink:#e84a8a;--pink-deep:#c93673;--pink-soft:#fff0f6;--ink:#25242a;--muted:#777781;--line:#e8e7eb;--panel:#fff;--bg:#f6f6f8;--grey:#94939c;--success:#2e9d68;--warning:#d58b22;--danger:#d94b5d;--shadow:0 12px 35px rgba(37,36,42,.08);--radius:18px}*{box-sizing:border-box}html,body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 13px;outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:#ef9abd;box-shadow:0 0 0 4px rgba(232,74,138,.1)}textarea{min-height:90px;resize:vertical}label{font-size:13px;font-weight:650;color:#55545d;display:grid;gap:7px}.muted{color:var(--muted)}.small{font-size:12px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,var(--pink),#f67bac);color:#fff;font-weight:850;font-size:22px;box-shadow:0 10px 24px rgba(232,74,138,.25)}.brand strong{display:block;font-size:15px}.brand small{display:block;color:var(--muted);margin-top:2px}.btn{border:0;border-radius:12px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:750;cursor:pointer;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--pink);color:#fff;box-shadow:0 8px 18px rgba(232,74,138,.18)}.btn.primary:hover{background:var(--pink-deep)}.btn.secondary{background:#fff;border:1px solid var(--line);color:#4a4951}.btn.ghost{background:var(--pink-soft);color:var(--pink-deep)}.btn.danger{background:#fff0f2;color:#bf3148}.btn.small-btn{padding:7px 10px;font-size:12px;border-radius:9px}.wide{width:100%}.auth-body{min-height:100vh;background:linear-gradient(135deg,#fff 0%,#fff3f8 48%,#f1f1f4 100%)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.auth-hero{padding:54px 7vw;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 22% 28%,rgba(232,74,138,.15),transparent 30%),linear-gradient(145deg,#fff,#f8f7f9)}.hero-copy{max-width:690px;margin:auto 0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:var(--pink-deep)}.hero-copy h1{font-size:clamp(42px,5.7vw,76px);line-height:.98;letter-spacing:-.055em;margin:18px 0 20px;max-width:680px}.hero-copy p{font-size:17px;color:#6e6d75;line-height:1.75;max-width:590px}.hero-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.hero-pills span{padding:9px 13px;border:1px solid #ead8e0;background:#fff;border-radius:999px;font-size:13px;font-weight:700}.auth-panel{display:flex;flex-direction:column;justify-content:center;padding:40px 7vw;background:rgba(255,255,255,.72);backdrop-filter:blur(12px)}.auth-card{background:#fff;border:1px solid rgba(232,231,235,.9);border-radius:22px;padding:28px;box-shadow:var(--shadow);display:grid;gap:17px}.auth-card h1,.auth-card h2{margin:0}.auth-tabs{display:flex;background:#f0eff2;padding:4px;border-radius:14px;margin-bottom:16px}.tab-btn{flex:1;border:0;background:transparent;border-radius:10px;padding:10px;font-weight:750;color:#77757d;cursor:pointer}.tab-btn.active{background:#fff;color:var(--pink-deep);box-shadow:0 4px 14px rgba(0,0,0,.05)}.tab-pane{display:none}.tab-pane.active{display:grid}.install-wrap{max-width:850px;margin:auto;padding:45px 20px}.auth-brand{margin-bottom:22px}.install-card{max-width:850px}.callout{padding:13px 15px;background:var(--pink-soft);border-radius:12px;color:#78445b;font-size:13px}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}.app-shell{min-height:100vh;display:grid;grid-template-columns:255px 1fr}.sidebar{background:#fff;border-right:1px solid var(--line);padding:22px 17px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:22px}.sidebar-nav{display:grid;gap:5px;overflow:auto}.nav-group{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#aaa8b0;font-weight:800;margin:15px 10px 6px}.nav-item{padding:10px 11px;border-radius:11px;color:#64636c;font-size:13px;font-weight:680;display:flex;align-items:center;gap:10px}.nav-item:hover{background:#f7f5f7}.nav-item.active{background:var(--pink-soft);color:var(--pink-deep)}.nav-dot{width:8px;height:8px;border-radius:50%;border:2px solid currentColor}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:15px}.user-mini{display:flex;align-items:center;gap:10px}.avatar{width:35px;height:35px;border-radius:11px;background:#f0e8ec;color:var(--pink-deep);display:grid;place-items:center;font-weight:800}.user-mini b{font-size:13px;display:block}.user-mini small{font-size:11px;color:var(--muted)}.main{min-width:0}.topbar{height:74px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(246,246,248,.88);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}.page-title h1{margin:0;font-size:21px;letter-spacing:-.02em}.page-title p{margin:3px 0 0;font-size:12px;color:var(--muted)}.content{padding:27px;max-width:1600px;margin:auto}.flash-stack{display:grid;gap:9px;margin-bottom:18px}.alert{padding:12px 14px;border-radius:12px;font-size:13px;font-weight:650}.alert.success{background:#eaf8f1;color:#267b55}.alert.danger{background:#fff0f2;color:#a93245}.alert.warning{background:#fff6e7;color:#986617}.grid{display:grid;gap:18px}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 20px rgba(37,36,42,.035);padding:20px}.card h2,.card h3{margin-top:0}.metric{position:relative;overflow:hidden}.metric:after{content:"";position:absolute;right:-20px;top:-28px;width:92px;height:92px;border-radius:50%;background:var(--pink-soft)}.metric-label{font-size:12px;color:var(--muted);font-weight:700}.metric-value{font-size:29px;font-weight:850;letter-spacing:-.04em;margin-top:8px}.metric-note{font-size:11px;color:#aaa8b0;margin-top:6px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 15px}.section-head h2{margin:0;font-size:17px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}.table th{background:#faf9fb;color:#777680;font-size:11px;text-transform:uppercase;letter-spacing:.05em;text-align:left;padding:11px 13px;white-space:nowrap}.table td{padding:12px 13px;border-top:1px solid #f0eff2;vertical-align:middle}.table tr:hover td{background:#fffafd}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.badge.success{background:#e9f7ef;color:#2c805a}.badge.warning{background:#fff5df;color:#a76b16}.badge.danger{background:#fff0f2;color:#b8394d}.badge.neutral{background:#f1f1f4;color:#6e6c75}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.split{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:18px}.sticky-card{position:sticky;top:94px}.class-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;gap:10px}.class-card .top{display:flex;justify-content:space-between;gap:10px}.class-card h3{margin:0;font-size:15px}.class-meta{display:flex;gap:8px;flex-wrap:wrap}.chip{font-size:11px;background:#f3f2f5;border-radius:999px;padding:5px 8px;color:#696870}.price{font-weight:850;color:var(--pink-deep)}.session-list{display:grid;gap:10px}.session-row{display:grid;grid-template-columns:130px 1fr auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #f0eff2}.session-row:last-child{border:0}.session-time b{font-size:13px;display:block}.session-time small{font-size:11px;color:var(--muted)}.progress{height:8px;background:#f0eff2;border-radius:999px;overflow:hidden}.progress i{height:100%;display:block;background:linear-gradient(90deg,var(--pink),#f37cab);border-radius:999px}.wallet-hero{background:linear-gradient(135deg,#27242a 0%,#41343a 60%,#6f3d54 100%);color:#fff;border:0;min-height:190px;display:flex;flex-direction:column;justify-content:space-between}.wallet-hero .metric-label{color:#e7dfe3}.wallet-hero .metric-value{font-size:43px}.wallet-buckets{display:flex;gap:12px;flex-wrap:wrap}.wallet-buckets span{background:rgba(255,255,255,.1);padding:8px 11px;border-radius:10px;font-size:12px}.empty{padding:38px;text-align:center;color:var(--muted);border:1px dashed #dad8de;border-radius:15px}.pos-lines{display:grid;gap:10px}.pos-line{display:grid;grid-template-columns:1fr 100px auto;gap:9px}.mobile-toggle{display:none;border:0;background:#fff;border-radius:10px;width:39px;height:39px}.kpi-pink{color:var(--pink-deep)}.note-box{border-left:3px solid var(--pink);background:#fff7fa;padding:12px 14px;border-radius:0 10px 10px 0;font-size:12px;color:#69525d}.calendar-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day-box{border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff}.day-box strong{font-size:12px}.day-box .count{margin-top:8px;font-size:21px;font-weight:850;color:var(--pink-deep)}@media(max-width:1150px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.sticky-card{position:static}}@media(max-width:820px){.auth-shell{grid-template-columns:1fr}.auth-hero{display:none}.auth-panel{min-height:100vh;padding:28px 18px}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-280px;width:255px;z-index:50;transition:.25s;box-shadow:20px 0 40px rgba(0,0,0,.12)}.sidebar.open{left:0}.mobile-toggle{display:block}.topbar{padding:0 16px}.content{padding:18px}.grid.cols-4,.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}.form-grid.two{grid-template-columns:1fr}.span-2{grid-column:auto}.session-row{grid-template-columns:1fr}.calendar-strip{grid-template-columns:repeat(2,1fr)}}

/* ===== V1.1 PROFESSIONAL ADMIN DASHBOARD + ACCORDION SIDEBAR ===== */
:root{--sidebar-w:268px;--surface:#ffffff;--surface-soft:#fbfafc;--ink-2:#4e4c55;--shadow-soft:0 8px 26px rgba(32,29,35,.045)}
.app-shell{grid-template-columns:var(--sidebar-w) minmax(0,1fr)}
.sidebar{width:var(--sidebar-w);padding:20px 16px 16px;gap:18px;overflow:hidden;background:rgba(255,255,255,.98)}
.brand{padding:2px 4px 16px;border-bottom:1px solid #f0eef1}
.brand-mark{width:40px;height:40px;border-radius:13px;font-size:20px}
.brand strong{font-size:14px;letter-spacing:-.01em}.brand small{font-size:11px}
.sidebar-nav{display:flex;flex-direction:column;gap:7px;overflow:visible;min-height:0}
.nav-section{border:0;margin:0;padding:0}.nav-section summary{list-style:none;cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:space-between;padding:10px 11px;border-radius:11px;color:#88858e;font-size:10px;text-transform:uppercase;letter-spacing:.115em;font-weight:850;transition:.18s}.nav-section summary::-webkit-details-marker{display:none}.nav-section summary:hover{background:#faf8fa;color:#5b5861}.nav-section[open] summary{color:#4a4750;background:#faf9fb}.nav-chevron{font-size:16px;line-height:1;transition:transform .2s;color:#aaa7af}.nav-section[open] .nav-chevron{transform:rotate(180deg)}.nav-section-body{display:grid;gap:4px;padding:5px 0 2px}.nav-item{min-height:39px;padding:9px 11px 9px 14px;border-radius:10px;font-size:12.5px;font-weight:700;color:#625f68;position:relative}.nav-item:hover{background:#f8f6f8;color:#39363e}.nav-item.active{background:linear-gradient(90deg,#fff0f6,#fff5f9);color:var(--pink-deep);box-shadow:inset 3px 0 0 var(--pink)}.nav-dot{width:6px;height:6px;border-width:1.5px}.nav-item.active .nav-dot{background:var(--pink);border-color:var(--pink)}
.sidebar-foot{padding-top:14px;background:#fff}.user-mini{padding:4px}.avatar{width:34px;height:34px;border-radius:10px}
.sidebar-backdrop{display:none}
.main{background:#f7f7f9;min-height:100vh}.topbar{height:72px;background:rgba(247,247,249,.92);padding:0 30px}.topbar-meta{gap:8px;background:#fff;border:1px solid var(--line);padding:7px 10px;border-radius:999px}.today-dot{width:7px;height:7px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 4px rgba(232,74,138,.1)}.top-date{font-size:11px;font-weight:750;color:#66636d}.content{padding:26px 30px 38px;max-width:1720px}.card{box-shadow:var(--shadow-soft);border-color:#e9e7eb}

.dashboard-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px;padding:3px 2px 0}.dashboard-welcome h2{font-size:26px;line-height:1.15;letter-spacing:-.035em;margin:5px 0 7px}.dashboard-welcome p{margin:0;color:var(--muted);font-size:12.5px}.dashboard-actions{display:flex;gap:9px;flex-wrap:wrap}.dashboard-kpis{gap:14px}.pro-metric{min-height:154px;padding:18px 19px}.pro-metric:after{display:none}.metric-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.metric-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:var(--pink-soft);color:var(--pink-deep);font-size:10px;font-weight:900;letter-spacing:.04em}.trend{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:850}.trend.up{background:#eaf8f1;color:#257651}.trend.down{background:#fff0f2;color:#b43a4d}.trend.flat{background:#f1f1f4;color:#68656e}.pro-metric .metric-value{font-size:31px;margin-top:7px}.pro-metric .metric-note{font-size:10.5px}
.insight-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:#fff;border:1px solid var(--line);border-radius:15px;margin-top:14px;overflow:hidden;box-shadow:0 6px 20px rgba(37,36,42,.025)}.insight-strip>div{padding:14px 15px;border-right:1px solid #efedf0}.insight-strip>div:last-child{border-right:0}.insight-strip span{display:block;font-size:10px;color:#95929b;font-weight:750;margin-bottom:5px}.insight-strip strong{font-size:16px;letter-spacing:-.02em}
.dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.dashboard-span-4{grid-column:span 4}.dashboard-span-5{grid-column:span 5}.dashboard-span-7{grid-column:span 7}.dashboard-span-8{grid-column:span 8}.dashboard-span-12{grid-column:span 12}.section-kicker{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:9px;font-weight:850;color:#aaa6af;margin-bottom:5px}.chart-head{align-items:flex-start}.chart-legend{display:flex;align-items:center;gap:13px;font-size:10px;font-weight:750;color:#77747d}.chart-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:3px;display:inline-block}.legend-dot.pink{background:var(--pink)}.legend-dot.dark{background:#39353d}.legend-dot.grey{background:#c5c2c8}.text-link{font-size:11px;font-weight:800;color:var(--pink-deep)}.text-link:hover{text-decoration:underline}
.bar-chart{height:260px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:end;padding:12px 4px 0;border-top:1px solid #f3f1f4;background:linear-gradient(to bottom,transparent 24%,#f5f3f6 25%,transparent 25%,transparent 49%,#f5f3f6 50%,transparent 50%,transparent 74%,#f5f3f6 75%,transparent 75%)}.bar-day{height:100%;display:grid;grid-template-rows:24px 1fr 17px 14px;gap:4px;text-align:center;min-width:0}.bar-values{font-size:9px;color:#918e97;display:flex;justify-content:center;gap:9px;white-space:nowrap}.bar-columns{display:flex;align-items:end;justify-content:center;gap:6px;min-height:0}.bar{display:block;width:min(22px,32%);height:max(3px,var(--bar-h));border-radius:6px 6px 3px 3px;transition:height .35s ease}.bar.pink{background:linear-gradient(180deg,#f17dab,var(--pink))}.bar.dark{background:linear-gradient(180deg,#615b65,#36323a)}.bar.grey{background:linear-gradient(180deg,#d8d5da,#aaa6ad)}.bar-day>b{font-size:10.5px}.bar-day>small{font-size:9px;color:#aaa7af}.money-chart{height:250px}.money-values{font-size:8px;gap:5px;transform:scale(.96)}
.compact-sessions{max-height:300px;overflow:auto;padding-right:4px}.compact-sessions .session-row{grid-template-columns:78px 1fr;padding:11px 0}.compact-sessions::-webkit-scrollbar{width:5px}.compact-sessions::-webkit-scrollbar-thumb{background:#ddd9de;border-radius:99px}.dashboard-empty{padding:31px 16px}
.hbar-list{display:grid;gap:17px;padding-top:4px}.hbar-row>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px}.hbar-row span{font-size:11.5px;font-weight:720;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbar-row b{font-size:11px;color:#7a767f}.hbar-track{height:8px;background:#f0eef1;border-radius:99px;overflow:hidden}.hbar-track i{display:block;height:100%;background:linear-gradient(90deg,var(--pink),#f487b3);border-radius:99px;min-width:2px}
.health-summary{display:flex;gap:8px;flex-wrap:wrap}.health-summary span{padding:6px 9px;border-radius:999px;background:#f5f3f5;color:#716e77;font-size:10px;font-weight:750}.health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.health-item{border:1px solid #eeecef;border-radius:14px;padding:14px;background:#fdfcfd}.health-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.health-title b{font-size:13px}.health-title small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.health-score{font-size:10px;font-weight:850;padding:5px 7px;border-radius:999px}.health-score.good{background:#e8f7ef;color:#2a7956}.health-score.warning{background:#fff5df;color:#9b681c}.health-score.danger{background:#fff0f2;color:#ad3548}.health-track{margin-top:12px;height:7px}.health-meta{display:flex;justify-content:space-between;gap:8px;margin-top:8px;color:#9b979f;font-size:9.5px}
.mobile-toggle{padding:0;place-items:center;gap:4px}.mobile-toggle span{display:block;width:17px;height:2px;border-radius:2px;background:#514e56}

@media(max-width:1280px){.insight-strip{grid-template-columns:repeat(3,1fr)}.insight-strip>div:nth-child(3){border-right:0}.insight-strip>div:nth-child(-n+3){border-bottom:1px solid #efedf0}.dashboard-span-8,.dashboard-span-7{grid-column:span 7}.dashboard-span-4,.dashboard-span-5{grid-column:span 5}}
@media(max-width:1040px){.dashboard-grid{grid-template-columns:1fr}.dashboard-span-4,.dashboard-span-5,.dashboard-span-7,.dashboard-span-8,.dashboard-span-12{grid-column:auto}.health-grid{grid-template-columns:1fr}.dashboard-welcome{align-items:flex-start;flex-direction:column}.bar-chart{height:235px}}
@media(max-width:820px){.app-shell{display:block}.sidebar{position:fixed;left:calc(-1 * var(--sidebar-w) - 20px);width:var(--sidebar-w);height:100dvh;z-index:60;transition:left .22s ease}.sidebar.open{left:0}.sidebar-backdrop{display:block;position:fixed;inset:0;border:0;background:rgba(28,25,31,.35);z-index:55;opacity:0;pointer-events:none;transition:.22s}.sidebar.open~.sidebar-backdrop{opacity:1;pointer-events:auto}.mobile-toggle{display:grid}.topbar{padding:0 15px}.content{padding:17px 15px 28px}.topbar-meta{display:none}.insight-strip{grid-template-columns:repeat(2,1fr)}.insight-strip>div{border-right:1px solid #efedf0!important;border-bottom:1px solid #efedf0}.insight-strip>div:nth-child(2n){border-right:0!important}.insight-strip>div:nth-last-child(-n+2){border-bottom:0}.dashboard-kpis{grid-template-columns:1fr!important}.bar-chart{gap:5px;overflow-x:auto}.bar-values{display:none}.bar{width:16px}.dashboard-welcome h2{font-size:23px}.health-summary{display:none}}


/* V1.2 POS refresh */
.pos-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.72fr);gap:18px;align-items:start}.pos-builder-card{padding:24px}.pos-head p{max-width:720px}.pos-form-pro{display:grid;gap:18px}.pos-customer-shell{display:grid;gap:12px}.pos-customer-field select{min-height:52px;font-size:15px}.pos-customer-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:linear-gradient(135deg,#fff7fa,#fff);border:1px solid #f1dbe5;border-radius:16px;padding:14px}.pos-customer-overview div{background:#fff;border:1px solid #f2e6ec;border-radius:14px;padding:12px 13px}.pos-customer-overview span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#9a8791;margin-bottom:6px}.pos-customer-overview strong{font-size:18px;letter-spacing:-.02em}.pos-quick-picks{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fcfbfc}.pos-quick-title{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:12px}.pos-quick-title h3{margin:0}.quick-pick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quick-pick{border:1px solid #f0dbe4;background:#fff;padding:13px 12px;border-radius:16px;display:grid;gap:4px;text-align:left;cursor:pointer;transition:.18s}.quick-pick:hover{transform:translateY(-1px);border-color:#ef9abd;box-shadow:0 10px 22px rgba(232,74,138,.08)}.quick-pick b{font-size:13px;line-height:1.25}.quick-pick span{font-size:12px;font-weight:800;color:var(--pink-deep)}.quick-pick small{font-size:10px;color:#8e8a92}.pos-lines-block{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.pos-lines-pro{gap:12px}.pos-line-pro{grid-template-columns:minmax(0,1fr) 110px 145px 54px;align-items:end;border:1px solid #f0edf1;border-radius:16px;padding:12px;background:#fcfcfd}.pos-line-product select,.pos-line-qty input{min-height:48px}.pos-line-totalbox{height:48px;border-radius:14px;background:#fff0f6;border:1px solid #f3d8e4;padding:8px 12px;display:grid;align-content:center}.pos-line-totalbox span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#96727f}.pos-line-totalbox strong{font-size:18px;color:var(--pink-deep);letter-spacing:-.03em}.pos-remove-btn{width:44px;height:48px;padding:0;font-size:22px;border-radius:14px}.pos-summary-card{display:grid;gap:14px}.pos-summary-box{display:grid;gap:12px;padding:16px;border:1px solid #f0dfe7;border-radius:18px;background:linear-gradient(135deg,#fff,#fff7fa)}.pos-summary-box>div{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.pos-summary-box span{color:#7f7a83;font-weight:650}.pos-summary-box strong{font-size:18px;letter-spacing:-.03em}.pos-summary-box .grand{padding-top:12px;margin-top:4px;border-top:1px dashed #ebd2de}.pos-summary-box .grand strong{font-size:28px;color:var(--pink-deep)}.pos-charge-btn{min-height:52px;font-size:15px}.recent-sales-list{display:grid;gap:10px;max-height:620px;overflow:auto;padding-right:4px}.recent-sale-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border:1px solid #f1eef2;border-radius:15px;background:#fcfcfd}.sale-amount-box{padding:8px 10px;border-radius:12px;background:#fff0f6;color:var(--pink-deep);font-weight:850;white-space:nowrap}.pos-kpis .metric-note{max-width:220px}.pos-sidebar-stack{display:grid;gap:18px}
@media(max-width:1280px){.quick-pick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-customer-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1040px){.pos-layout{grid-template-columns:1fr}.pos-sidebar-stack{grid-template-columns:1fr}.pos-line-pro{grid-template-columns:1fr 100px 130px 52px}}
@media(max-width:820px){.pos-builder-card{padding:18px}.pos-customer-overview{grid-template-columns:1fr 1fr}.quick-pick-grid{grid-template-columns:1fr 1fr}.pos-line-pro{grid-template-columns:1fr 86px}.pos-line-totalbox{grid-column:1/span 1}.pos-remove-btn{grid-column:2}.pos-summary-box .grand strong{font-size:24px}}
@media(max-width:560px){.pos-customer-overview{grid-template-columns:1fr}.quick-pick-grid{grid-template-columns:1fr}.pos-line-pro{grid-template-columns:1fr}.pos-remove-btn{width:100%;height:42px}.pos-line-totalbox{order:3}}


/* V1.2.1 POS customer search */
.pos-customer-search-row{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);gap:12px;align-items:end}.pos-search-input-wrap{position:relative}.pos-search-input-wrap input{min-height:52px;padding-left:43px;padding-right:42px;font-size:15px;background:#fff}.pos-search-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:22px;line-height:1;color:var(--pink-deep);font-weight:800;pointer-events:none}.pos-search-clear{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;border-radius:10px;background:#f5f2f4;color:#77717a;font-size:20px;cursor:pointer;display:grid;place-items:center}.pos-search-clear:hover{background:var(--pink-soft);color:var(--pink-deep)}.pos-customer-search-meta{display:flex;justify-content:space-between;gap:10px;color:#98949c;font-size:10.5px;font-weight:650;padding:0 2px}.pos-customer-overview small{display:block;color:#918b93;font-size:10.5px;margin-top:3px}.pos-customer-field select.pos-no-match{border-color:#e0a43c;box-shadow:0 0 0 4px rgba(213,139,34,.09)}
@media(max-width:1040px){.pos-customer-search-row{grid-template-columns:1fr}}
@media(max-width:560px){.pos-customer-search-meta{display:grid;gap:3px}.pos-search-input-wrap input{font-size:16px}}


/* V1.2.2 POS empty-cart behaviour */
.pos-empty-cart{min-height:112px;border:1px dashed #e3d7dd;border-radius:16px;background:#fdfcfd;display:grid;place-items:center;align-content:center;gap:6px;text-align:center;padding:22px;color:#77727a}.pos-empty-cart strong{font-size:14px;color:#4b474e}.pos-empty-cart span{font-size:11px;color:#9a959d}.pos-charge-btn:disabled{cursor:not-allowed;opacity:.45;box-shadow:none;transform:none}.pos-charge-btn:disabled:hover{background:var(--pink);transform:none}

/* V1.3 Reservation Desk / Booking & Attendance */
.booking-desk-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.72fr);gap:18px;align-items:start}.booking-main-stack{display:grid;gap:18px}.booking-frontdesk-card{padding:23px}.booking-section-head{align-items:flex-start}.booking-section-head p{margin:5px 0 0;max-width:700px}.booking-attendance-list{display:grid;gap:10px}.booking-attendance-row{display:grid;grid-template-columns:88px minmax(150px,1.1fr) minmax(170px,1.3fr) 90px 105px minmax(126px,auto);align-items:center;gap:12px;border:1px solid #efedf1;border-radius:16px;padding:12px 13px;background:#fff;transition:.16s}.booking-attendance-row:hover{border-color:#ead6df;box-shadow:0 7px 18px rgba(37,36,42,.04)}.booking-time-block{border-right:1px solid #f0edf1;padding-right:11px}.booking-time-block b{display:block;font-size:14px}.booking-time-block small,.booking-member-block span,.booking-class-block span{display:block;color:var(--muted);font-size:10.5px;margin-top:4px}.booking-member-block strong,.booking-class-block strong{display:block;font-size:12.5px}.booking-paid-block span{display:block;color:#9b969f;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.booking-paid-block strong{display:block;font-size:14px;margin-top:3px}.booking-actions-block{display:flex;align-items:center;gap:6px;justify-content:flex-end;flex-wrap:wrap}.booking-actions-block form{margin:0}.booking-empty{display:grid;gap:5px}.booking-empty b{color:#4b4850}.compact-empty{padding:20px;grid-column:1/-1}.today-session-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.today-session-card{border:1px solid #efedf1;background:#fcfbfc;border-radius:15px;padding:13px;text-align:left;cursor:pointer;display:grid;gap:7px;transition:.16s;color:inherit}.today-session-card:hover{border-color:#ecadc7;background:#fff8fb;transform:translateY(-1px)}.today-session-card>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.today-session-card b{font-size:12px;color:var(--pink-deep)}.today-session-card span{font-size:11px;font-weight:750}.today-session-card small{font-size:10px;color:var(--muted)}.today-session-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f0edf1;padding-top:7px}.today-session-meta span{font-size:11px;color:#74707a}.today-session-meta strong{font-size:10px;background:#eaf8f1;color:#267852;padding:4px 7px;border-radius:999px}.booking-list-search{width:min(280px,100%)}.booking-list-search input{min-height:40px}.booking-table-wrap{max-height:520px}.booking-table th{position:sticky;top:0;z-index:2}.reservation-builder-card{padding:22px}.reservation-builder-head h2{margin:3px 0 5px;font-size:21px}.reservation-builder-head p{margin:0}.reservation-form{display:grid;gap:2px;margin-top:15px}.reservation-step{display:grid;grid-template-columns:35px 1fr;gap:11px;position:relative;padding-bottom:17px}.reservation-step:not(:last-of-type):before{content:"";position:absolute;left:17px;top:36px;bottom:0;width:1px;background:#eadfe4}.step-no{width:35px;height:35px;border-radius:11px;background:var(--pink-soft);color:var(--pink-deep);display:grid;place-items:center;font-size:12px;font-weight:900;border:1px solid #f3d6e2}.step-body{min-width:0}.step-title{font-size:12px;font-weight:850;margin:8px 0 10px}.booking-search-wrap{display:grid;grid-template-columns:1fr 38px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;margin-bottom:8px}.booking-search-wrap:focus-within{border-color:#ef9abd;box-shadow:0 0 0 4px rgba(232,74,138,.1)}.booking-search-wrap input{border:0;border-radius:0;box-shadow:none!important;min-width:0}.booking-search-wrap button{border:0;background:#fff;color:#aaa4ac;font-size:18px;cursor:pointer}.reservation-member-mini{display:grid;grid-template-columns:1.35fr .65fr;gap:8px;margin-top:9px}.reservation-member-mini>div{border:1px solid #f0edf1;border-radius:13px;padding:10px 11px;background:#fcfbfc}.reservation-member-mini span,.reservation-session-preview span,.reservation-payment-summary span{display:block;font-size:8.5px;text-transform:uppercase;letter-spacing:.08em;color:#9c969e;font-weight:850;margin-bottom:4px}.reservation-member-mini strong{display:block;font-size:13px}.reservation-member-mini small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.reservation-session-preview{display:grid;grid-template-columns:1.15fr 1fr .75fr;gap:8px;margin-top:9px}.reservation-session-preview>div{border:1px solid #f0edf1;border-radius:13px;padding:10px;background:#fcfbfc}.reservation-session-preview strong{display:block;font-size:11px;line-height:1.3}.reservation-session-preview small{display:block;color:var(--muted);font-size:9.5px;margin-top:3px}.reservation-payment-summary{display:grid;gap:9px;border:1px solid #f0dfe7;border-radius:14px;padding:12px;background:linear-gradient(135deg,#fff,#fff8fb);margin-top:10px}.reservation-payment-summary>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.reservation-payment-summary>div span{margin:0}.reservation-payment-summary strong{font-size:14px}.reservation-payment-summary .grand{border-top:1px dashed #ead6df;padding-top:9px}.reservation-payment-summary .grand strong{font-size:18px;color:var(--pink-deep)}.reservation-actions{display:grid;gap:8px;border-top:1px solid #f0edf1;padding-top:16px;margin-top:2px}.reservation-main-btn{min-height:49px}.reservation-actions .btn.secondary{min-height:45px}.reservation-actions small{text-align:center;font-size:9.5px}.reservation-form select{min-height:45px}.reservation-form button:disabled{opacity:.45;cursor:not-allowed;transform:none}.booking-kpis .pro-metric{min-height:145px}
@media(max-width:1360px){.booking-attendance-row{grid-template-columns:76px 1fr 1fr 85px 95px}.booking-actions-block{grid-column:2/-1;justify-content:flex-start;border-top:1px solid #f2eff2;padding-top:8px}.today-session-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1120px){.booking-desk-layout{grid-template-columns:1fr}.reservation-builder-card{position:static;order:-1}.reservation-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.reservation-step{grid-template-columns:32px 1fr;padding-bottom:0}.reservation-step:before{display:none}.reservation-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;padding-top:13px}.reservation-actions small{grid-column:1/-1}.reservation-session-preview{grid-template-columns:1fr}.reservation-member-mini{grid-template-columns:1fr}.booking-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:820px){.booking-frontdesk-card,.reservation-builder-card{padding:17px}.reservation-form{grid-template-columns:1fr}.reservation-actions{grid-template-columns:1fr}.booking-attendance-row{grid-template-columns:72px 1fr}.booking-time-block{grid-row:1/3}.booking-class-block,.booking-paid-block,.booking-status-block{grid-column:2}.booking-actions-block{grid-column:1/-1}.today-session-grid{grid-template-columns:1fr}.booking-section-head{flex-direction:column}.booking-list-search{width:100%}.booking-kpis{grid-template-columns:1fr!important}}


/* V1.4 Class → Schedule → Booking clarity */
.workflow-guide-card{background:linear-gradient(135deg,#fff,#fff7fa);border:1px solid #efdce5;border-radius:20px;padding:20px 22px;box-shadow:0 8px 28px rgba(37,36,42,.035)}.workflow-guide-head h2{margin:3px 0 5px;font-size:20px}.workflow-guide-head p{margin:0;color:var(--muted);font-size:12.5px}.workflow-guide-steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:center;margin-top:17px}.workflow-guide-step{display:flex;align-items:center;gap:11px;border:1px solid #ece8ec;background:#fff;border-radius:15px;padding:13px 14px;min-width:0}.workflow-guide-step>span{width:30px;height:30px;border-radius:10px;background:#f1eff2;color:#77737b;display:grid;place-items:center;font-weight:900}.workflow-guide-step b{display:block;font-size:12px}.workflow-guide-step small{display:block;color:#8c8991;font-size:10px;margin-top:3px}.workflow-guide-step.active{border-color:#efbad0;background:#fff8fb}.workflow-guide-step.active>span{background:var(--pink);color:#fff}.workflow-guide-step.done>span{background:#e8f7ef;color:#2a7956}.workflow-guide-arrow{font-weight:900;color:#c1bdc3}.class-card-pro{gap:12px}.class-bookability{display:grid;grid-template-columns:1fr 1fr;gap:8px}.class-bookability>div{border:1px solid #f0edf1;border-radius:12px;padding:9px 10px;background:#fbfafb}.class-bookability span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#99959d;font-weight:800}.class-bookability strong{display:block;font-size:17px;margin-top:4px}.class-action-hint{border-left:3px solid var(--warning);background:#fff9ec;border-radius:0 10px 10px 0;padding:9px 11px}.class-action-hint b,.class-action-hint span{display:block}.class-action-hint b{font-size:11px;color:#936119}.class-action-hint span{font-size:10px;color:#8a7c65;margin-top:2px}.schedule-empty-state{text-align:center;padding:52px 24px;border:1px dashed #dfd9df;border-radius:18px;background:#fcfbfc}.schedule-empty-icon,.booking-no-session-icon{width:42px;height:42px;border-radius:14px;background:var(--pink-soft);color:var(--pink-deep);display:grid;place-items:center;font-weight:900;margin:0 auto 12px}.schedule-empty-state h3{margin:0 0 6px}.schedule-empty-state p{max-width:560px;margin:0 auto;color:var(--muted);font-size:12.5px}.workflow-mini{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:18px}.workflow-mini span{padding:7px 10px;border-radius:999px;background:#f1eff2;color:#77737b;font-size:10px;font-weight:800}.workflow-mini .current{background:var(--pink-soft);color:var(--pink-deep)}.schedule-builder-card .field-help{font-size:10px;color:#8f8b93;font-weight:500}.schedule-mode-switch{display:grid;grid-template-columns:1fr 1fr;background:#f4f2f4;border-radius:14px;padding:4px;gap:4px}.schedule-mode-switch label{display:flex;grid-template-columns:auto 1fr;align-items:center;background:#fff;border:1px solid #ebe7eb;padding:10px;border-radius:11px;font-size:11px}.schedule-mode-switch input{width:auto}.weekday-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekday-grid label{display:flex;grid-template-columns:auto 1fr;align-items:center;justify-content:center;border:1px solid #ebe7eb;background:#fff;border-radius:9px;padding:8px 5px;font-size:10px}.weekday-grid input{width:auto}.booking-no-session-state{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:start;border:1px solid #f0d9e3;background:#fff8fb;border-radius:15px;padding:14px}.booking-no-session-icon{margin:0;width:40px;height:40px}.booking-no-session-state b{font-size:12px}.booking-no-session-state p{font-size:10.5px;color:#77727a;line-height:1.5;margin:4px 0 10px}.booking-no-session-state .btn{width:max-content}.reservation-actions button:disabled{opacity:.45;cursor:not-allowed;transform:none}.schedule-builder-card select option[hidden]{display:none}
@media(max-width:1040px){.workflow-guide-steps{grid-template-columns:1fr}.workflow-guide-arrow{display:none}.weekday-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:560px){.workflow-guide-card{padding:16px}.class-bookability{grid-template-columns:1fr}.schedule-mode-switch{grid-template-columns:1fr}.weekday-grid{grid-template-columns:repeat(3,1fr)}.booking-no-session-state{grid-template-columns:1fr}.booking-no-session-icon{margin:0}}
