*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--navy:#09013A;--navy-mid:#0E4A6E;--cyan-dark:#0E7490;--cyan-vivid:#06B6D4;--cyan-soft:#22D3EE;--cream:#F6F4F0;--cream2:#EDE9E3;--cream3:#D9D4CC;--gradient:linear-gradient(135deg,#09013A,#0E4A6E 50%,#0E7490);--gradient-btn:linear-gradient(135deg,#09013A,#0E4A6E);--gradient-cyan:linear-gradient(135deg,#0E7490,#06B6D4);--n04:rgba(9,1,58,0.04);--n06:rgba(9,1,58,0.06);--n10:rgba(9,1,58,0.10);--n20:rgba(9,1,58,0.20);--n40:rgba(9,1,58,0.40);--n60:rgba(9,1,58,0.60);--c10:rgba(246,244,240,0.10);--c20:rgba(246,244,240,0.20);--c35:rgba(246,244,240,0.35);--c50:rgba(246,244,240,0.50);--c75:rgba(246,244,240,0.75);--ok-bg:#e8f5ee;--ok-tx:#155c35;--wn-bg:#fef4e0;--wn-tx:#7a4e08;--er-bg:#fce8e8;--er-tx:#8b2020;--radius:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 3px rgba(9,1,58,0.08),0 1px 2px rgba(9,1,58,0.04);--shadow-md:0 4px 12px rgba(9,1,58,0.10),0 2px 4px rgba(9,1,58,0.06);--shadow-lg:0 8px 24px rgba(9,1,58,0.12),0 4px 8px rgba(9,1,58,0.06);--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1)}body,html{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--cream);color:var(--navy);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.serif,h1,h2,h3{font-family:Fraunces,Georgia,serif}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--gradient-btn);color:var(--cream);border:1.5px solid transparent;border-radius:var(--radius);padding:9px 20px;font-size:13px;font-weight:500;font-family:Inter,sans-serif;cursor:pointer;transition:opacity .18s var(--ease-out),transform .16s var(--ease-out);text-decoration:none;white-space:nowrap}.btn:hover{opacity:.88}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-sm{padding:6px 13px;font-size:12px}.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}.btn-outline:hover{background:var(--navy);color:var(--cream);opacity:1}.btn-muted{background:white;color:var(--navy);border-color:var(--cream3)}.btn-muted:hover{background:var(--navy);color:var(--cream);border-color:var(--navy);opacity:1}.btn-ok{background:var(--ok-tx);color:white;border-color:transparent}.btn-ok:hover{opacity:.85}.btn-er{background:var(--er-tx);color:white;border-color:transparent}.btn-er:hover{opacity:.85}.btn-full{width:100%}.btn-cyan{background:var(--gradient-cyan);color:white;border-color:transparent}.input{width:100%;padding:9px 12px;background:#fff;border:1.5px solid var(--cream3);border-radius:var(--radius);font-size:13px;color:var(--navy);outline:none;transition:border-color .18s var(--ease-out),box-shadow .18s var(--ease-out);font-family:Inter,sans-serif}.input::placeholder{color:var(--n40)}.input:focus{border-color:var(--cyan-dark);box-shadow:0 0 0 3px rgba(14,116,144,.12)}select.input{cursor:pointer}.card{background:white;border:1px solid var(--cream3);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm)}.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:500;padding:3px 9px;border-radius:20px}.badge-ok{background:var(--ok-bg);color:var(--ok-tx)}.badge-wn{background:var(--wn-bg);color:var(--wn-tx)}.badge-er{background:var(--er-bg);color:var(--er-tx)}.badge-navy{background:var(--n06);color:var(--navy)}.badge-cyan{background:rgba(6,182,212,.1);color:var(--cyan-dark)}.page{min-height:100vh;background:var(--cream)}.divider{height:1px;background:var(--cream2);margin:12px 0}.sec-label{font-size:10px;color:var(--n40);letter-spacing:.9px;text-transform:uppercase;font-weight:600;margin-bottom:10px}.topnav{background:var(--gradient);height:54px;display:flex;align-items:center;padding:0 20px;gap:4px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.topnav-brand{font-family:Fraunces,serif;font-size:16px;font-weight:600;color:var(--cream);margin-right:20px;text-decoration:none}.topnav-brand span{font-family:Inter,sans-serif;font-size:11px;color:var(--c35);font-weight:400;margin-left:6px}.topnav-link{background:transparent;border:none;padding:6px 13px;border-radius:7px;font-size:12px;font-weight:500;color:var(--c50);cursor:pointer;text-decoration:none;transition:color .15s var(--ease-out),background .15s var(--ease-out);font-family:Inter,sans-serif}.topnav-link.active,.topnav-link:hover{color:var(--cream);background:var(--c10)}.topnav-spacer{flex:1 1}.sidebar{width:200px;flex-shrink:0;background:white;border-right:1px solid var(--cream3);padding:20px 12px;min-height:calc(100vh - 54px);display:flex;flex-direction:column}.sidebar-label{font-size:9px;color:var(--n40);letter-spacing:1px;text-transform:uppercase;font-weight:600;padding:0 10px;margin-bottom:6px;margin-top:4px}.sidebar-item{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;font-size:13px;font-weight:500;color:var(--n60);cursor:pointer;margin-bottom:2px;background:transparent;border:none;width:100%;text-align:left;text-decoration:none;transition:background .15s var(--ease-out),color .15s var(--ease-out);font-family:Inter,sans-serif}.sidebar-item:hover{background:var(--n06);color:var(--navy)}.sidebar-item.active{background:var(--gradient-btn);color:var(--cream)}.sidebar-icon{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--n06);transition:background .15s var(--ease-out)}.sidebar-item.active .sidebar-icon{background:rgba(246,244,240,.14)}.with-sidebar{display:flex}.main-content{flex:1 1;padding:24px 28px;background:var(--cream)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin-bottom:20px}.stat-card{background:white;border:1px solid rgba(9,1,58,.07);border-radius:var(--radius-lg);padding:16px 18px;position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-cyan)}.stat-card.green:before{background:var(--ok-tx)}.stat-card.amber:before{background:var(--wn-tx)}.stat-label{font-size:11px;color:var(--n40);font-weight:500;margin-bottom:6px}.stat-value{font-family:Fraunces,serif;font-size:28px;font-weight:600;color:var(--navy);line-height:1;margin-bottom:4px}.stat-hint{font-size:11px;color:var(--n40)}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{font-size:10px;color:var(--n40);font-weight:600;text-align:left;padding:8px 12px;letter-spacing:.5px;text-transform:uppercase}.tbl td,.tbl th{border-bottom:1px solid var(--cream2)}.tbl td{padding:10px 12px;color:var(--navy);vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl tr:hover td{background:var(--n04)}.tbl-actions{display:flex;gap:5px}.booking-wrap{display:flex;min-height:100vh}.booking-side{width:340px;flex-shrink:0;background:var(--gradient);display:flex;flex-direction:column;padding:36px 28px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:hidden}.booking-main{flex:1 1;background:var(--cream);display:flex;flex-direction:column}.booking-inner{flex:1 1;padding:40px 48px;max-width:580px;animation:fadeUp .3s var(--ease-out)}.booking-steps{display:flex;align-items:center;margin-bottom:32px}.booking-step{flex:1 1;text-align:center;padding:9px 4px;font-size:11px;font-weight:500;color:var(--n40);border-bottom:2px solid var(--cream3);transition:color .2s var(--ease-out),border-color .2s var(--ease-out)}.booking-step.active{color:var(--navy);border-bottom-color:var(--cyan-dark)}.booking-step.done{color:var(--n60);cursor:pointer}.svc-option{background:white;border:1.5px solid var(--cream3);border-radius:var(--radius-lg);padding:14px 16px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;transition:border-color .18s var(--ease-out),box-shadow .18s var(--ease-out),transform .16s var(--ease-out);box-shadow:var(--shadow-sm)}.svc-option:hover{border-color:var(--cyan-dark);box-shadow:0 0 0 3px rgba(14,116,144,.08)}.svc-option:active{transform:scale(.99)}.svc-option.selected{border-color:var(--cyan-dark);background:rgba(14,116,144,.04);box-shadow:0 0 0 3px rgba(14,116,144,.1)}.cal-wrap{background:white;border:1px solid var(--cream3);border-radius:var(--radius-lg);padding:16px;margin-bottom:14px;box-shadow:var(--shadow-sm)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:3px;gap:3px}.cal-dayname{font-size:10px;color:var(--n40);text-align:center;padding:4px 0;font-weight:600}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:12px;border-radius:7px;cursor:default;color:var(--n40);transition:background .15s var(--ease-out),color .15s var(--ease-out),transform .12s var(--ease-out)}.cal-day.avail{color:var(--navy);cursor:pointer;font-weight:500}.cal-day.avail:hover{background:var(--n06)}.cal-day.avail:active{transform:scale(.94)}.cal-day.selected{background:var(--gradient-btn);color:var(--cream);box-shadow:var(--shadow-sm)}.cal-day.today{border:1.5px solid var(--cyan-dark);color:var(--cyan-dark);font-weight:600}.cal-day.today.selected{border-color:transparent;color:var(--cream)}.cal-day.past{opacity:.2}.slots-wrap{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}.slot{padding:7px 15px;border:1.5px solid var(--cream3);border-radius:8px;font-size:12px;font-weight:500;color:var(--navy);cursor:pointer;background:white;transition:border-color .15s var(--ease-out),background .15s var(--ease-out),transform .12s var(--ease-out)}.slot:hover{border-color:var(--cyan-dark);background:rgba(14,116,144,.04)}.slot:active{transform:scale(.95)}.slot.selected{background:var(--gradient-btn);color:var(--cream);border-color:transparent;box-shadow:var(--shadow-sm)}.slot.taken{opacity:.22;pointer-events:none;text-decoration:line-through}.summary-box{background:white;border:1px solid var(--cream3);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.summary-row{display:flex;justify-content:space-between;font-size:12px;margin-bottom:7px}.summary-row:last-child{margin-bottom:0}.summary-label{color:var(--n60)}.summary-value{color:var(--navy);font-weight:600}.btn-row{display:flex;gap:8px}.confirm-wrap{text-align:center;padding:48px 16px;animation:fadeUp .4s var(--ease-out)}.confirm-icon{width:60px;height:60px;background:var(--ok-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:26px;color:var(--ok-tx);animation:popIn .4s var(--ease-out)}.cfg-field{margin-bottom:12px}.cfg-field label{font-size:11px;color:var(--n60);display:block;margin-bottom:4px;font-weight:500}.svc-row{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--cream2)}.svc-row:last-child{border-bottom:none}.day-block{padding:10px 0;border-bottom:1px solid var(--cream2)}.day-block:last-child{border-bottom:none}.day-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.day-name{font-size:12px;font-weight:600;color:var(--navy);width:84px}.range-row{display:flex;align-items:center;gap:6px;margin:5px 0 0 94px}.range-sep{font-size:11px;color:var(--n60)}.time-inp{font-size:11px;padding:5px 9px;border:1.5px solid var(--cream3);border-radius:6px;color:var(--navy);outline:none;background:white;width:90px;font-family:Inter,sans-serif;transition:border-color .15s var(--ease-out)}.time-inp:focus{border-color:var(--cyan-dark)}.toggle{position:relative;width:36px;height:20px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0;position:absolute}.tog-track{position:absolute;inset:0;background:var(--cream3);border-radius:10px;cursor:pointer;transition:background .2s var(--ease-out)}.toggle input:checked+.tog-track{background:var(--gradient-btn)}.tog-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background:white;border-radius:50%;transition:transform .2s var(--ease-out);pointer-events:none;box-shadow:0 1px 3px rgba(9,1,58,.2)}.toggle input:checked~.tog-thumb{transform:translateX(16px)}.blk-form{background:white;border:1px solid var(--cream3);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:12px;box-shadow:var(--shadow-sm)}.blk-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:white;border:1px solid var(--cream3);border-radius:var(--radius);margin-bottom:7px}.blk-badge{display:inline-block;font-size:10px;padding:2px 8px;border-radius:20px;background:var(--er-bg);color:var(--er-tx);margin-left:6px;font-weight:500}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--cream);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-40%;left:-20%;width:70%;height:140%;background:var(--gradient);transform:skewX(-8deg);opacity:.06;pointer-events:none}.login-card{background:white;border:1px solid var(--cream3);border-radius:var(--radius-xl);padding:36px 32px;width:100%;max-width:390px;box-shadow:var(--shadow-lg);animation:fadeUp .4s var(--ease-out);position:relative}.login-logo{width:48px;height:48px;background:var(--gradient-btn);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--cream);margin:0 auto 18px;box-shadow:0 4px 14px rgba(9,1,58,.25)}.login-logo,.login-title{font-family:Fraunces,serif;font-weight:600}.login-title{font-size:22px;color:var(--navy);text-align:center;margin-bottom:4px}.login-sub{font-size:13px;color:var(--n60);text-align:center;margin-bottom:28px}.login-error{background:var(--er-bg);color:var(--er-tx);font-size:12px;padding:9px 12px;border-radius:var(--radius);margin-bottom:14px;border:1px solid rgba(139,32,32,.12)}.input-wrap{margin-bottom:12px}.input-wrap label{font-size:11px;color:var(--n60);display:block;margin-bottom:5px;font-weight:600}.toast{position:fixed;bottom:24px;right:24px;background:var(--navy);font-size:13px;font-weight:500;padding:11px 18px;z-index:1000;box-shadow:var(--shadow-lg);animation:toastIn .25s var(--ease-out)}.biz-logo,.toast{color:var(--cream);border-radius:10px}.biz-logo{width:44px;height:44px;background:var(--gradient-btn);display:flex;align-items:center;justify-content:center;font-family:Fraunces,serif;font-size:16px;font-weight:600;flex-shrink:0}.biz-logo,.section-card{box-shadow:var(--shadow-sm)}.section-card{background:white;border:1px solid rgba(9,1,58,.07);border-radius:var(--radius-lg);padding:16px 18px;margin-bottom:14px}.section-title{font-size:13px;font-weight:600;color:var(--navy);margin-bottom:14px;display:flex;align-items:center;gap:8px}.section-count{font-size:11px;font-weight:500;background:var(--n06);color:var(--n60);padding:2px 8px;border-radius:20px}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.stagger>:first-child{animation:fadeIn .3s var(--ease-out) 0s both}.stagger>:nth-child(2){animation:fadeIn .3s var(--ease-out) 50ms both}.stagger>:nth-child(3){animation:fadeIn .3s var(--ease-out) .1s both}.stagger>:nth-child(4){animation:fadeIn .3s var(--ease-out) .15s both}.stagger>:nth-child(5){animation:fadeIn .3s var(--ease-out) .2s both}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media (max-width:900px){.sidebar{display:none}.main-content{padding:20px 16px}.stats-grid{grid-template-columns:1fr 1fr}.booking-side{display:none}.booking-inner{padding:28px 20px}}