:root{--bg:#0e0f11;--panel:#17181b;--line:#2b2c30;--gold:#d2ad66;--muted:#95969e;--text:#f1f0ed}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px 'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a{cursor:pointer}button{border:1px solid var(--line);border-radius:7px;background:#222327;color:var(--text);padding:10px 15px}button:hover{border-color:var(--gold)}button.primary{background:var(--gold);color:#191610;border-color:var(--gold);font-weight:650}button.ghost{background:transparent}button.danger{color:#ee9b9b}aside{position:fixed;width:234px;height:100vh;background:#141517;border-right:1px solid var(--line);padding:35px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:13px;padding:0 14px 40px;letter-spacing:3px;font-size:21px;font-weight:700}.brand b{color:var(--gold);font-size:38px;font-weight:400}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:4px;color:var(--gold)}.navlabel{font-size:9px;letter-spacing:1.7px;color:#72737a;margin:0 13px 17px}nav button{display:flex;gap:13px;align-items:center;text-align:left;background:none;border:0;width:100%;padding:13px 15px;margin-bottom:5px;color:#a9a9b0}nav button.active{background:#d2ad6618;color:var(--gold);border-left:2px solid var(--gold)}nav .ico{width:19px;font-size:18px}.sidebottom{margin-top:auto;border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;gap:10px}.sidebottom small{font-size:10px}.avatar{width:33px;height:33px;display:inline-grid;place-items:center;border:1px solid #d2ad6645;background:#d2ad6614;border-radius:50%;color:var(--gold)}small,.sub{display:block;color:var(--muted);line-height:1.6}.shell{margin-left:234px}header{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px}.crumb{font-size:12px;color:var(--muted)}.crumb span{margin:0 15px;color:#555}.crumb b{color:#d4d4d8;font-weight:400}.headright{display:flex;align-items:center;gap:22px}.demo{font-size:11px;color:var(--gold);background:#d2ad6610;padding:7px 10px;border:1px solid #d2ad6625;border-radius:5px}main{max-width:1500px;margin:auto;padding:36px 40px}.title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}h1{font-size:29px;font-weight:550;letter-spacing:-.8px;margin:0 0 8px}h2{font-size:16px;font-weight:550;margin:0}h3{font-size:15px;font-weight:550}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);margin-bottom:10px}.actions,.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:25px}.stat,.panel{border:1px solid var(--line);background:var(--panel);border-radius:10px}.stat{padding:20px 22px}.stat .label{color:var(--muted);font-size:12px;display:flex;justify-content:space-between}.stat .value{font-size:30px;font-weight:550;letter-spacing:-1px;margin:14px 0 6px}.stat small{font-size:11px}.gold{color:var(--gold)}.green{color:#8ec3a2}.grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:24px}.panelhead{display:flex;justify-content:space-between;align-items:center;padding:22px;border-bottom:1px solid var(--line)}.panelbody{padding:22px}.badge{display:inline-block;border-radius:5px;background:#2d3931;color:#9dceb0;font-size:10px;padding:5px 8px;white-space:nowrap}.badge.pending{background:#3a3221;color:var(--gold)}.badge.cancel{background:#3d292c;color:#dba3a9}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:10px;color:#8b8c95;font-weight:500;text-transform:uppercase;letter-spacing:1px;padding:14px 22px;background:#ffffff02}td{padding:17px 22px;border-top:1px solid #ffffff06;font-size:12px}td small{font-size:11px}td .avatar{margin-right:10px;width:30px;height:30px;font-size:11px}.person{display:flex;align-items:center}.tablebutton{padding:6px 9px;font-size:11px}.chart{height:146px;display:flex;align-items:end;gap:12px;margin:20px 0 8px}.barcol{flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;height:100%;gap:8px;color:var(--muted);font-size:10px}.bar{width:100%;max-width:34px;background:#d2ad6640;border-radius:4px 4px 0 0;min-height:3px}.barcol:last-child .bar{background:var(--gold)}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.callout{border:1px solid #d2ad6630;background:linear-gradient(120deg,#d2ad6615,#17181b);padding:22px;border-radius:10px;margin-top:22px}.callout p{color:var(--muted);font-size:12px;line-height:1.7}.callout button{width:100%;margin-top:8px}.toolbar{margin-bottom:20px}.toolbar .right{margin-left:auto}input,select,textarea{background:#111214;color:var(--text);border:1px solid #37383e;border-radius:6px;padding:11px;min-width:0;color-scheme:dark}label{display:block;color:#bdbdc4;font-size:12px;margin:14px 0 6px}input:not([type=checkbox]),select,textarea{width:100%}.toolbar input,.toolbar select{width:auto}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.notice{padding:12px 15px;background:#d2ad6610;border:1px solid #d2ad6630;color:#c6b38d;border-radius:6px;font-size:12px;line-height:1.6;margin:15px 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{padding:25px}.service .symbol{font-size:25px;color:var(--gold);margin-bottom:25px}.service .price{font-size:25px;margin:18px 0}.service button{width:100%;margin-top:20px}.empty{padding:40px;text-align:center;color:var(--muted)}dialog{width:min(590px,94vw);max-height:90vh;overflow:auto;color:var(--text);background:#191a1e;border:1px solid #444;border-radius:12px;padding:28px}dialog::backdrop{background:#000b;backdrop-filter:blur(3px)}.modalhead{display:flex;justify-content:space-between;align-items:center}.modalfoot{display:flex;justify-content:end;gap:10px;margin-top:25px}#toast{position:fixed;right:25px;bottom:24px;background:var(--gold);color:#17130d;padding:15px 20px;border-radius:8px;display:none;z-index:10}.slots{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.slots button.selected{background:var(--gold);color:#111}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}.daycell{background:var(--panel);min-height:110px;padding:10px;cursor:pointer}.daycell:hover{background:#242321}.daycell small{font-size:10px}.daycell .event{background:#d2ad6618;border-left:2px solid var(--gold);font-size:10px;padding:6px;margin-top:6px}.booking{max-width:760px;margin:auto}.bookinghero{text-align:center;padding:20px 0 30px}.bookinghero .brand{justify-content:center;padding-bottom:22px}.pickrow{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0;gap:10px}.qty{display:flex;align-items:center;gap:13px}.qty button{padding:5px 10px}footer{padding:15px 40px 25px;color:#72737b;font-size:10px;line-height:1.6}.tabs{display:flex;gap:6px}.tabs button.on{background:#d2ad6620;color:var(--gold);border-color:#d2ad6640}a{color:var(--gold)}@media(min-width:1500px){main{padding-top:45px}}@media(max-width:1100px){aside{width:200px;padding:30px 12px}.shell{margin-left:200px}main{padding:28px 24px}header{padding:0 24px}.stats{gap:10px}.stat{padding:18px 14px}.grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){aside{position:static;width:auto;height:auto;padding:18px 14px 5px}.brand{padding:0 4px 15px;font-size:18px}.brand b{font-size:30px}.navlabel,.sidebottom{display:none}nav{display:flex;overflow:auto}nav button{width:auto;white-space:nowrap;padding:10px;font-size:12px}nav .ico{display:none}nav button.active{border-left:0;border-bottom:2px solid var(--gold)}.shell{margin:0}header{height:54px;padding:0 17px}.crumb{font-size:10px}.headright .avatar{display:none}.demo{font-size:9px}main{padding:25px 16px}.title{align-items:start;flex-wrap:wrap}h1{font-size:25px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stat .value{font-size:25px}.stat .label{font-size:11px}.cards{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.calendar{overflow:auto}.daycell{min-width:90px}.calendar.week{display:flex}.calendar.week .daycell{flex:1}.toolbar{gap:8px}.toolbar input{max-width:155px}.toolbar .right{margin-left:0}.panelhead,.panelbody{padding:17px}td,th{padding:14px}footer{padding:10px 18px}.title .actions{width:100%}.title .actions button{flex:1}}
.grid table{white-space:normal}.grid td,.grid th{padding:16px 12px}.grid td small{max-width:170px}.grid .person .avatar{flex-shrink:0}.grid .tablebutton{white-space:nowrap}.calendar.week{display:grid}
.customer-page aside,.customer-page header{display:none}.customer-page .shell{margin:0}.customer-page main{padding:32px 18px;max-width:920px}.customer-page footer{text-align:center;max-width:750px;margin:auto}.customer-page .bookinghero{padding:15px 0 25px}.customer-page .bookinghero .brand{font-size:22px;letter-spacing:2px;flex-direction:column;gap:5px}.customer-page .bookinghero .brand b{font-size:45px}.stepnav{display:flex;justify-content:center;gap:22px;margin:25px 0}.stepnav span{color:#898a91;font-size:12px}.stepnav span.current{color:var(--gold)}.stepnav b{display:inline-grid;place-items:center;border:1px solid #555;border-radius:50%;width:25px;height:25px;margin-right:5px}.stepnav .current b{border-color:var(--gold);background:#d2ad661c}.datechips{display:flex;gap:8px;overflow:auto;padding:12px 0 18px}.datechips button{min-width:84px;padding:12px 8px}.datechips button.selected{border-color:var(--gold);background:#d2ad6620}.datechips strong{display:block;font-size:22px;margin:5px 0}.datechips small{font-size:10px}.datechips button:disabled{opacity:.35;cursor:not-allowed}.booking .pickrow{padding:20px 0}.booking .qty button{width:36px;height:36px}.booksummary{background:#d2ad6610;border:1px solid #d2ad662c;border-radius:8px;padding:17px;margin:20px 0}.booking .nextbtn{width:100%;padding:15px;font-size:15px}.booking .backbtn{margin-bottom:20px}.booking .slots button{min-width:75px;padding:13px}.booking .slots{gap:10px}.booking h1{font-size:31px}.booking .notice{font-size:11px}.booking .formgrid{margin-top:12px}@media(max-width:500px){.booking h1{font-size:26px}.stepnav{gap:11px}.stepnav span{font-size:11px}.customer-page main{padding:22px 14px}.customer-page .bookinghero .brand{font-size:19px}.datechips button{min-width:76px}}
.shop-logo{display:block;object-fit:contain;height:auto;background:#fff;border:1px solid #d2ad6655;border-radius:10px}.brand.brand-original{padding:0 0 26px;justify-content:center}.sidebar-logo{width:145px;max-width:100%}.bookinghero .brand.brand-original{padding:0 0 24px}.booking-logo{width:180px;max-width:55vw}.customer-page .bookinghero .brand.brand-original{padding-bottom:24px}@media(max-width:700px){aside .brand.brand-original{justify-content:flex-start;padding:0 3px 14px}.sidebar-logo{width:72px}.booking-logo{width:150px}}
.attendee-card{border:1px solid var(--line);border-radius:9px;padding:17px;margin:20px 0}.attendee-head{display:flex;justify-content:space-between;align-items:center}.attendee-head h3{margin:0 0 6px}.service-choice{display:flex;align-items:center;gap:12px;padding:17px 2px;margin:0;border-bottom:1px solid var(--line);cursor:pointer;color:var(--text)}.service-choice:last-child{border-bottom:0}.service-choice input{width:20px;height:20px;accent-color:var(--gold);flex-shrink:0}.service-choice span:nth-child(2){flex:1}.service-choice small{font-size:11px}.choice-check{color:var(--gold)}.add-person{width:100%;margin:0 0 14px;padding:14px;border-style:dashed}.summary-person{padding:9px 0}.summary-person b{font-size:12px}
body,button,input,select,textarea{font-family:var(--ui-font,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif)}body{background:var(--bg);color:var(--text)}aside,header{background:var(--panel)}.panel,.stat,.callout,.shop-logo,.attendee-card,.calendar{border-radius:var(--radius,10px)}button,input,select,textarea,.badge,.notice{border-radius:calc(var(--radius,10px) * .65)}input,select,textarea{background:var(--bg);color:var(--text)}dialog{background:var(--panel);color:var(--text)}button{background:var(--panel);color:var(--text)}.crumb b{color:var(--text)}body[data-button-style="outline"] button.primary{background:transparent;color:var(--gold);border:1px solid var(--gold)}.theme-presets{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 24px}.theme-presets button{display:flex;gap:10px;align-items:center}.palette-swatch{width:34px;height:26px;border:2px solid;display:grid;place-items:center;border-radius:4px}.palette-swatch i{width:15px;height:5px;display:block}.service.nextbtn,.panelbody>.nextbtn{width:100%;margin-top:20px}.theme-presets+form .notice{font-size:11px}.slots button.selected{background:var(--gold);color:var(--bg)}
button.primary{color:var(--accent-text,#17130d)}.slots button.selected{color:var(--accent-text,#17130d)}
.dre-total{font-weight:650;border-top:1px solid var(--gold);margin-top:8px;padding-top:18px}.loss{color:#e39c9c}.tabs{flex-wrap:wrap}.panel .row span{line-height:1.5}.panel .row b{white-space:nowrap}.cards .actions{margin-top:16px}
.agenda-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.agenda-controls select{width:auto;max-width:100%}.agenda-datenav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.agenda-datenav .date-open{text-transform:capitalize;background:transparent;font-size:17px;font-weight:600;min-width:185px;border-color:transparent;padding:10px 4px}.agenda-viewbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:20px 0 28px}.agenda-tabs{display:flex;padding:5px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius,10px);gap:3px}.agenda-tabs button{background:transparent;border:0;color:var(--muted);padding:12px 24px;font-size:15px;font-weight:550}.agenda-tabs button.active{background:var(--gold);color:var(--accent-text,#17130d)}.agenda-tabs.compact button{font-size:12px;padding:10px 14px}.agenda-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;max-width:1000px;margin:10px auto}.month-weekday{font-size:11px;color:var(--muted);text-align:center;letter-spacing:1px;padding:12px 0}.month-date{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius,10px);text-align:left;min-height:95px;padding:14px;display:flex;flex-direction:column;justify-content:space-between;gap:10px}.month-date>span:first-child{font-size:20px}.month-date.is-today{border-color:var(--gold)}.month-date.is-selected{box-shadow:inset 0 0 0 1px var(--gold)}.month-date.is-closed{border-style:dashed;background:var(--bg)}.month-count{align-self:flex-start;font-size:12px;border-radius:12px;padding:2px 9px;color:var(--gold);background:color-mix(in srgb,var(--gold) 15%,transparent)}.empty-count{font-size:12px;line-height:18px}.picker-grid{gap:8px}.picker-grid .month-date{min-height:64px;padding:9px}.picker-grid .month-date>span:first-child{font-size:15px}.picker-nav{justify-content:space-between;flex-wrap:nowrap;margin:20px 0}.picker-nav b{text-transform:capitalize}.day-list-section{margin-bottom:18px;overflow:hidden}.day-list-body{padding:0 16px}.appointment-row{display:flex;align-items:center;gap:18px;width:100%;padding:20px 3px;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0}.appointment-row:last-child{border-bottom:0}.appointment-row:hover{background:color-mix(in srgb,var(--gold) 5%,transparent)}.appointment-time{width:56px;flex-shrink:0}.appointment-time b{font-size:16px;color:var(--gold)}.appointment-info{flex:1;min-width:0}.appointment-info strong{display:block;font-size:15px;margin-bottom:4px}.appointment-status{display:flex;align-items:center;gap:18px}.appointment-status>span:last-child{font-size:24px;color:var(--muted)}.schedule-scroll{overflow:auto;max-height:75vh;border:1px solid var(--line);border-radius:var(--radius,10px);background:var(--panel)}.schedule-table{display:grid;grid-template-columns:62px repeat(var(--schedule-columns),minmax(0,1fr));width:max(100%,var(--schedule-width));min-width:100%}.schedule-corner,.schedule-columnhead{position:sticky;top:0;background:var(--panel);z-index:5;border-bottom:1px solid var(--line);min-height:72px;padding:14px;text-align:center}.schedule-corner{left:0;z-index:7;border-right:1px solid var(--line)}.schedule-columnhead{color:var(--muted);font-size:12px;text-transform:capitalize;border-right:1px solid var(--line)}.schedule-columnhead b{display:block;color:var(--text);font-size:19px;margin-top:5px}.schedule-times{position:sticky;left:0;background:var(--panel);z-index:4;border-right:1px solid var(--line)}.schedule-times>span{position:absolute;right:10px;font-size:11px;color:var(--muted);transform:translateY(5px)}.schedule-day{position:relative;border-right:1px solid var(--line);min-width:0}.schedule-line{position:absolute;left:0;right:0;border-top:1px solid var(--line)}.schedule-closed{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,transparent 0,transparent 8px,#00000028 8px,#00000028 16px);pointer-events:none;z-index:1}.schedule-event{position:absolute;z-index:2;text-align:left;overflow:hidden;border:1px solid #718ba75c;border-left:4px solid #87b4eb;border-radius:9px;background:#27313e;color:#edf2f8;padding:7px 9px;display:flex;flex-direction:column;gap:3px;line-height:1.3}.schedule-event b{font-size:11px;color:#a3c6f0;white-space:nowrap}.schedule-event strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-event small{font-size:10px;color:#c0c7d0;line-height:1.4}.schedule-event.pending{background:#392e25;border-color:#99724e88;border-left-color:#e4a976}.schedule-event.pending b{color:#f1bb8b}.schedule-event.done{background:#23392f;border-color:#69a88988;border-left-color:#80c9a6}.schedule-event.done b{color:#a1d6bb}.schedule-event:hover{filter:brightness(1.15)}.schedule-now{position:absolute;left:0;right:0;border-top:2px solid #e98475;z-index:3;pointer-events:none}.schedule-now i{position:absolute;left:-5px;top:-5px;background:#e98475;border-radius:50%;width:8px;height:8px}[hidden]{display:none!important}@media(max-width:700px){.agenda-month{gap:6px}.month-weekday{font-size:10px;letter-spacing:0}.month-date{min-height:76px;padding:9px 6px;border-radius:12px;gap:6px}.month-date>span:first-child{font-size:17px}.month-count{font-size:11px;padding:1px 7px}.agenda-datenav{gap:6px}.agenda-datenav .date-open{min-width:145px;font-size:15px}.agenda-datenav>button{padding:10px 11px}.agenda-tabs button{padding:11px 18px}.agenda-viewbar{margin-bottom:22px}.appointment-row{gap:10px}.appointment-status{gap:8px}.appointment-info small{font-size:11px}.appointment-status .badge{font-size:9px;padding:5px}.appointment-time{width:48px}.appointment-time b{font-size:14px}.agenda-controls select{width:100%}.schedule-event strong{font-size:13px}.schedule-event b{font-size:12px}.schedule-event small{font-size:11px}.picker-grid .month-date{min-height:57px;padding:7px}.schedule-scroll{max-height:70vh}}
.schedule-event{padding:5px 8px}.schedule-event b,.schedule-event strong{flex-shrink:0}.schedule-event strong{min-height:15px}.schedule-event.short{flex-direction:row;align-items:center;gap:5px;padding:3px 5px}.schedule-event.short b{font-size:10px}.schedule-event.short strong{min-width:0;font-size:11px;flex-shrink:1;min-height:0}.schedule-columnhead>small{font-size:10px;margin-top:5px}
.license-nav{display:block;padding:12px 14px;color:var(--gold);text-decoration:none;font-size:12px}button:disabled{opacity:.5;cursor:wait}.license-nav:hover{text-decoration:underline}
.manual-service-row{display:flex;gap:8px;margin-bottom:8px}.manual-service-row select{flex:1;min-width:0}.manual-service-row button{flex:0 0 42px}.manual-client-option{display:block;text-align:left;width:100%;margin:5px 0}.manual-client-option small{display:block}#manual-slots{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;max-height:210px;overflow:auto}#manual-slots button.selected{background:var(--gold);color:#111}
