:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f7f8fa;color:#17181c;--bg: #f7f8fa;--surface: rgba(255, 255, 255, .96);--surface-strong: #ffffff;--ink: #17181c;--muted: #6b7280;--line: rgba(21, 24, 31, .08);--line-strong: rgba(21, 24, 31, .14);--soft: #f2f4f7;--shadow: 0 16px 34px rgba(19, 23, 31, .06);--shadow-press: 0 10px 24px rgba(19, 23, 31, .1);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{min-height:100%;margin:0;background:radial-gradient(circle at 50% -8%,#ffffffeb,#f7f8fa00 230px),var(--bg)}button,input,textarea{font:inherit}button{border:0}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}.app{width:min(100%,760px);min-height:100vh;margin:0 auto;padding:12px 14px 26px}.app-header{position:sticky;top:0;z-index:20;margin:-12px -14px 12px;padding:12px 14px 9px;background:#f7f8faeb;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.app-header h1{color:var(--ink);font-size:23px;font-weight:780;line-height:1.08}.eyebrow{margin-bottom:3px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.screen-stack,.stack,.card-list,.client-layout,.form-surface,.service-card,.booking-card,.surface{display:grid;gap:10px}.screen-stack{animation:screen-in .22s cubic-bezier(.2,.8,.2,1)}@keyframes screen-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.surface,.booking-card,.service-card,.metric,.state-card,.form-surface,.client-row,.note-box,.calendar-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.surface,.form-surface,.calendar-card{padding:13px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.section-heading h2,.surface h2{color:var(--ink);font-size:18px;font-weight:760;line-height:1.18}.section-heading h3,.surface h3,.booking-card h3,.service-card h3,.client-row h3{color:var(--ink);font-size:15px;font-weight:740}.muted{color:var(--muted);font-size:13px;line-height:1.35}.small{font-size:12px}.empty-text,.error-text,.success-text{border-radius:8px;padding:12px;font-size:13px;line-height:1.35}.empty-text{background:#f4f5f7;color:#5f6673}.error-text{background:#fff0f0;color:#a53f3f}.success-text{background:#edf8f4;color:#20735f}.carousel{display:flex;gap:12px;margin:0 -14px;padding:2px 14px 6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.carousel::-webkit-scrollbar{display:none}.hero-card{position:relative;display:grid;flex:0 0 100%;min-height:148px;gap:14px;padding:17px;overflow:hidden;color:#fff;background:#15161a;border-radius:8px;box-shadow:0 18px 42px #13171f26;scroll-snap-align:center;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease}.clickable-card{cursor:pointer}.clickable-card:active{transform:scale(.985)}.hero-card.alt{color:var(--ink);background:var(--surface-strong);border:1px solid var(--line)}.hero-card h2{color:currentColor;font-size:21px;font-weight:780;line-height:1.1}.hero-card .muted{color:#ffffffb8}.hero-card.alt .muted,.hero-card.alt p{color:var(--muted)}.card-kicker{margin-bottom:5px;color:#ffffffa3;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.hero-card.alt .card-kicker{color:var(--muted)}.hero-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hero-card:not(.alt) .hero-metrics span{background:#ffffff1a;border-color:#ffffff1f}.hero-card:not(.alt) .hero-metrics b{color:#fff}.hero-card:not(.alt) .hero-metrics small{color:#ffffffa8}.hero-metrics span{display:grid;gap:2px;min-width:0;padding:9px;background:#f6f7f9;border:1px solid rgba(21,24,31,.06);border-radius:8px}.hero-metrics b{color:var(--ink);font-size:18px}.hero-metrics small{color:var(--muted);font-size:12px}.dots{display:flex;justify-content:center;gap:6px;margin:-2px 0 4px}.dots span{width:7px;height:7px;background:#d7dbe2;border-radius:999px;transition:width .18s ease,background .18s ease}.dots span.active{width:18px;background:var(--ink)}.menu-grid,.stats-grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.menu-card{display:grid;min-height:118px;gap:8px;align-content:start;padding:13px;color:var(--ink);text-align:left;background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 30px #13171f0b;transition:transform .16s cubic-bezier(.2,.8,.2,1),border-color .16s ease,background .16s ease,box-shadow .16s ease}.menu-card:hover,.booking-card:hover,.service-card:hover,.client-row:hover{border-color:var(--line-strong);box-shadow:var(--shadow-press);transform:translateY(-1px)}.menu-card:active{transform:scale(.98);background:#f8fafc;border-color:#15181f2e;box-shadow:0 8px 20px #13171f14}.menu-icon{display:grid;width:38px;height:38px;place-items:center;color:var(--ink);background:var(--soft);border-radius:8px}.menu-icon svg,.icon-button svg,.ghost-button svg,.primary-button svg,.accordion svg{flex:0 0 auto}.menu-card h3{font-size:15px}.menu-card p{color:#66758b;font-size:12px;line-height:1.35}.ghost-button,.icon-button,.primary-button,.secondary-button,.danger-button,.time-chip,.segmented button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 12px;border-radius:8px;font-weight:720;line-height:1.05;transition:transform .14s cubic-bezier(.2,.8,.2,1),background .14s ease,border-color .14s ease,box-shadow .14s ease,opacity .12s ease}.ghost-button,.secondary-button,.segmented button{color:var(--ink);background:var(--surface-strong);border:1px solid rgba(21,24,31,.1)}.ghost-button{min-width:fit-content}.icon-button{width:42px;min-width:42px;padding:0;color:var(--ink);background:var(--surface-strong);border:1px solid rgba(21,24,31,.1)}.primary-button{color:#fff;background:var(--ink);box-shadow:0 10px 22px #13171f29}.secondary-button{color:#17181c}.danger-button{color:#b6434d;background:#fff4f5;border:1px solid rgba(182,67,77,.26)}.ghost-button:active,.icon-button:active,.primary-button:active,.secondary-button:active,.danger-button:active,.time-chip:active,.segmented button:active{transform:scale(.975)}.ghost-button:hover,.icon-button:hover,.secondary-button:hover,.segmented button:hover{border-color:var(--line-strong);background:#fafbfc}.primary-button:hover{background:#23252b;box-shadow:0 12px 26px #13171f33}button:disabled,.time-chip:disabled{cursor:not-allowed;opacity:.45;transform:none}input,textarea{width:100%;color:var(--ink);background:var(--surface-strong);border:1px solid rgba(21,24,31,.1);border-radius:8px;outline:none}input,textarea{padding:12px}input:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px #13171f14}textarea{min-height:92px;resize:vertical}.field-label{display:grid;gap:7px;color:#43536b;font-size:13px;font-weight:720}.day-off-banner{display:grid;gap:12px;padding:14px;color:#6b4b17;background:#fff8e8;border:1px solid rgba(169,119,33,.18);border-radius:8px}.disabled-section{opacity:.55;pointer-events:none}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:7px}.time-chip{position:relative;min-width:0;color:#252a33;background:var(--surface-strong);border:1px solid rgba(21,24,31,.1);box-shadow:inset 0 -1px #15181f0a}.time-chip.selected,.segmented button.active{color:#fff;background:var(--ink);border-color:var(--ink);box-shadow:0 10px 20px #13171f24;animation:soft-pop .18s cubic-bezier(.2,.8,.2,1)}.time-chip.custom:after{position:absolute;top:5px;right:6px;color:inherit;content:"+";font-size:11px;opacity:.72}.time-chip.busy{color:#8a91a0;background:#f1f3f6;border-color:#15181f0f;text-decoration:line-through}.custom-time-button{width:100%}.calendar-card{gap:12px}.calendar{display:grid;gap:11px;padding:3px;background:#f4f5f7;border:1px solid rgba(21,24,31,.05);border-radius:8px}.calendar-top{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;padding:5px 5px 0}.calendar-top strong{min-width:0;color:var(--ink);font-size:17px;font-weight:780;text-align:center;text-transform:capitalize}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays span{color:#8a91a0;font-size:11px;font-weight:760;text-align:center}.calendar-weekdays{padding:0 4px}.calendar-day{position:relative;display:grid;min-width:0;min-height:44px;place-items:center;gap:1px;color:#252a33;background:#ffffff80;border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:720;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s cubic-bezier(.2,.8,.2,1),box-shadow .15s ease}.calendar-day small{color:inherit;font-size:9px;font-weight:760;opacity:.74}.calendar-day:active{transform:scale(.96)}.calendar-day:hover:not(:disabled){background:#fff;border-color:var(--line-strong)}.calendar-day.outside{color:#c5cad3}.calendar-day.today{border-color:#15181f29;background:#fff;box-shadow:inset 0 0 0 1px #15181f08}.calendar-day.selected{color:#fff;background:var(--ink);border-color:var(--ink);box-shadow:0 8px 18px #13171f29;animation:soft-pop .18s cubic-bezier(.2,.8,.2,1)}.calendar-day.day-off{color:#8a4f17;background:#fff3df;border-color:#b46f1f38}.calendar-day.selected.day-off{color:#fff;background:#9a5d21;border-color:#9a5d21}.calendar.selection-mode .calendar-day.day-off{color:#fff;background:var(--ink);border-color:var(--ink)}.calendar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.calendar-actions .secondary-button:only-child{grid-column:1 / -1}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.pill,.status-badge{display:inline-flex;width:fit-content;align-items:center;gap:5px;min-height:26px;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:760}.pill{color:#343941;background:#f1f3f6;border:1px solid rgba(21,24,31,.06)}.status-badge{color:#5a6475;background:#edf1f6}.status-pending{color:#8a5a00;background:#fff1ce}.status-confirmed{color:#146953;background:#e4f7ef}.status-completed{color:#24628c;background:#e6f2fb}.status-declined,.status-cancelled_by_client,.status-cancelled_by_master{color:#9d4149;background:#ffeded}.state-card{min-height:calc(100vh - 28px);align-content:center;padding:20px;text-align:center}.state-card h1{font-size:24px}.state-card p{color:var(--muted);line-height:1.45}.booking-card,.service-card,.client-row,.note-box{padding:13px}.booking-main{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.meta-row{display:flex;flex-wrap:wrap;gap:6px}.meta-row>span:not(.status-badge){display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;color:#555d6a;background:#f5f6f8;border:1px solid rgba(21,24,31,.05);border-radius:999px;font-size:12px;font-weight:680}.actions{display:flex;flex-wrap:wrap;gap:7px}.actions button{flex:1 1 auto}.compact{gap:8px}.client-layout{grid-template-columns:minmax(0,1fr)}.client-row{display:grid;gap:7px;text-align:left}.client-row.active{border-color:#15181f33;box-shadow:0 0 0 3px #15181f0f}.stats-grid{align-items:stretch}.metric{display:grid;gap:5px;padding:13px}.metric.featured{color:#fff;background:var(--ink);border-color:transparent;box-shadow:0 16px 34px #13171f24}.metric.wide{grid-column:1 / -1}.metric p{color:var(--muted);font-size:12px;font-weight:760}.metric.featured p{color:#ffffffbd}.metric strong{color:var(--ink);font-size:21px;line-height:1.05}.metric.featured strong{color:#fff}.form-surface{background:var(--surface)}.form-grid{align-items:end}.service-card.inactive{opacity:.72}.service-state{display:inline-flex;width:fit-content;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:760}.service-state.on{color:#146953;background:#e4f7ef}.service-state.off{color:#7a5260;background:#f4edf1}.segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:3px;background:#eff1f4;border:1px solid rgba(21,24,31,.05);border-radius:8px}.note{color:#26374f;font-size:13px;line-height:1.45}.accordion{display:grid;gap:8px}.accordion>button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:10px 12px;color:var(--ink);text-align:left;background:var(--surface-strong);border:1px solid rgba(21,24,31,.08);border-radius:8px;font-weight:720}.accordion>button span{display:inline-flex;align-items:center;gap:6px}.accordion-body{display:grid;gap:7px;padding:9px;background:#f6f7f9;border-radius:8px;animation:list-open .18s cubic-bezier(.2,.8,.2,1)}.mini-list{display:grid;gap:8px}.mini-list>div{display:grid;gap:5px;padding:10px;background:var(--surface-strong);border:1px solid rgba(21,24,31,.08);border-radius:8px}.widget-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bookings-list{animation:list-open .18s cubic-bezier(.2,.8,.2,1)}.booking-card.highlighted{border-color:#15181f3d;box-shadow:0 0 0 3px #15181f0f,var(--shadow)}.sheet-backdrop{position:fixed;inset:0;z-index:50;display:grid;align-items:end;padding:14px;background:#11121657;animation:fade-in .16s ease}.bottom-sheet{display:grid;gap:12px;width:min(100%,760px);margin:0 auto;padding:10px 14px 14px;background:var(--surface-strong);border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 70px #13171f38;animation:sheet-in .22s cubic-bezier(.2,.8,.2,1)}.sheet-handle{width:42px;height:4px;margin:0 auto 2px;background:#d8dce3;border-radius:999px}@keyframes soft-pop{0%{transform:scale(.96)}to{transform:scale(1)}}@keyframes list-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-in{0%{transform:translateY(18px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}@media(min-width:640px){.app{padding-right:18px;padding-left:18px}.app-header,.carousel{margin-right:-18px;margin-left:-18px;padding-right:18px;padding-left:18px}.client-layout{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);align-items:start}}@media(max-width:500px){.app-header h1{font-size:20px}.menu-grid,.stats-grid,.form-grid{grid-template-columns:1fr}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-main{grid-template-columns:1fr}.booking-main{display:grid}.actions{flex-direction:column}}
