:root{--white:#fff;--black:#000;--ink:#171513;--muted:#6f6b68;--soft:#f5f5f5;--rose:#d4a574;--rose-dark:#9b6a3c;--rose-soft:#f7eee6;--line:#e7e3df;--success:#277557;--success-bg:#e8f5ef;--danger:#a43c3c;--danger-bg:#faecec;--warning:#8a641d;--warning-bg:#fbf3df;--radius:18px;--shadow:0 18px 60px rgba(24,18,13,.08);--sidebar:260px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--soft);color:var(--ink);font:400 15px/1.55 "DM Sans",sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(212,165,116,.55)}a{color:inherit}.skip-link{position:fixed;z-index:1000;top:-60px;left:12px;padding:12px 18px;background:#000;color:#fff}.skip-link:focus{top:12px}.brand{display:inline-flex;align-items:center}.brand img{display:block;width:154px;max-height:52px;object-fit:contain}.brand-light img{filter:brightness(0) invert(1)}h1,h2,.display{font-family:"Playfair Display",serif}h1{font-size:clamp(2rem,4vw,3.35rem);line-height:1.08;letter-spacing:-.035em;margin:0 0 10px}h2{font-size:clamp(1.45rem,2.4vw,2.1rem);line-height:1.15;margin:0}h3{margin:0;font-size:1.05rem}.eyebrow{color:var(--rose);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.muted{color:var(--muted)}.small{font-size:.83rem}.text-link{color:var(--rose-dark);font-weight:700;text-decoration:none}.stack{display:grid;gap:18px}.cluster{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{display:flex;align-items:center;justify-content:space-between;gap:18px}.page-head{margin-bottom:28px}.page-head p{margin:8px 0 0;color:var(--muted);max-width:680px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:34px 0 18px}.section-head p{margin:4px 0 0}.divider{height:1px;background:var(--line);margin:24px 0}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 18px rgba(24,18,13,.025)}.card-pad{padding:24px}.soft-card{padding:20px;border-radius:15px;background:var(--soft)}.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 20px;border:1px solid transparent;border-radius:12px;background:var(--black);color:#fff;font-weight:700;text-decoration:none;cursor:pointer;transition:.18s transform,.18s opacity,.18s background}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--black);color:#fff}.btn-accent{background:var(--rose);color:#21160d}.btn-secondary{background:#fff;color:var(--ink);border-color:var(--line)}.btn-danger{background:var(--danger-bg);color:var(--danger)}.btn-block{width:100%}.btn-sm{min-height:40px;padding:0 14px;border-radius:10px;font-size:.86rem}.icon-button,.avatar-button{position:relative;min-width:48px;min-height:48px;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:inherit;cursor:pointer}.icon-button:hover,.avatar-button:hover{background:var(--soft)}.avatar,.avatar-button span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--rose-soft);color:var(--rose-dark);font-weight:800}.field{display:grid;gap:7px}.field label,.field-label{font-size:.86rem;font-weight:700}.field input,.field select,.field textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid #d9d4cf;border-radius:11px;background:#fff;color:var(--ink)}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--rose)}.field-error{font-size:.8rem;color:var(--danger)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.check-row{min-height:48px;display:flex;align-items:center;gap:10px}.check-row input{width:20px;height:20px;accent-color:var(--rose-dark)}.badge{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 10px;border-radius:999px;background:var(--soft);font-size:.73rem;font-weight:700;text-transform:capitalize}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-dark{background:#161513;color:#fff}.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.app-shell{min-height:100vh}.app-sidebar{position:fixed;z-index:40;inset:0 auto 0 0;width:var(--sidebar);display:flex;flex-direction:column;padding:28px 18px 18px;background:#fff;border-right:1px solid var(--line)}.sidebar-brand{padding:0 12px 32px}.side-nav{display:grid;gap:4px}.nav-link{min-height:48px;display:flex;align-items:center;gap:12px;padding:0 14px;border-radius:11px;color:#5d5955;text-decoration:none;font-weight:600}.nav-link:hover{background:var(--soft);color:#000}.nav-link.active{background:var(--rose-soft);color:#7b4e29}.nav-icon{width:22px;text-align:center;font-size:1.1rem}.sidebar-account{margin-top:auto;padding:15px 8px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:40px 1fr 48px;gap:10px;align-items:center}.sidebar-account strong,.sidebar-account span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-account span{font-size:.75rem;color:var(--muted)}.app-header{display:none}.app-main{min-height:100vh;margin-left:var(--sidebar);padding:42px}.view-container{width:min(1180px,100%);margin:auto}.bottom-nav{display:none}.sidebar-backdrop{display:none}.header-actions{display:flex;align-items:center}.mobile-menu span{display:block;width:20px;height:2px;margin:3px;background:#222}.hero-panel{padding:36px;background:linear-gradient(120deg,#171513,#2c211b);color:#fff;border:0;overflow:hidden;position:relative}.hero-panel:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(212,165,116,.35);border-radius:50%;right:-90px;top:-110px}.hero-panel p{color:#d6d0ca;max-width:580px}.hero-actions{margin-top:24px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric{padding:21px}.metric strong{display:block;font:700 2rem "Playfair Display",serif}.metric span{color:var(--muted);font-size:.83rem}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.salon-card{overflow:hidden}.salon-cover{height:180px;background:linear-gradient(135deg,#eee7e0,#d8b99a);display:grid;place-items:center;color:#76502f}.salon-cover img{width:100%;height:100%;object-fit:cover}.salon-body{padding:19px}.salon-title{display:flex;justify-content:space-between;gap:12px}.salon-title h3{font-family:"Playfair Display",serif;font-size:1.25rem}.salon-meta{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0;color:var(--muted);font-size:.82rem}.salon-actions{display:flex;align-items:center;justify-content:space-between;margin-top:16px}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;padding:14px;margin-bottom:22px}.filter-bar .field{min-width:150px;flex:1}.filter-bar .btn{align-self:end}.chip-row{display:flex;gap:9px;overflow:auto;padding:2px 2px 10px;scrollbar-width:thin}.chip{white-space:nowrap;min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;font-weight:600}.chip.active{background:#171513;color:#fff;border-color:#171513}.detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:24px}.gallery{height:360px;border-radius:var(--radius);overflow:hidden;background:#e9e3dd}.gallery img{width:100%;height:100%;object-fit:cover}.gallery-empty{height:100%;display:grid;place-items:center;color:var(--muted)}.service-list{display:grid;gap:10px}.service-row{min-height:76px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center}.service-row input{width:21px;height:21px;accent-color:var(--rose-dark)}.service-price{font-weight:800}.sticky-basket{position:sticky;top:24px}.basket-lines{display:grid;gap:10px;margin:18px 0}.basket-line{display:flex;justify-content:space-between;gap:10px;font-size:.88rem}.basket-total{display:flex;justify-content:space-between;padding-top:15px;border-top:1px solid var(--line);font-weight:800;font-size:1.08rem}.booking-card{padding:20px;display:grid;gap:14px}.booking-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.booking-services{color:var(--muted);font-size:.86rem}.booking-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.fact{padding:12px;border-radius:10px;background:var(--soft)}.fact span,.fact strong{display:block}.fact span{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.empty-state,.error-state,.page-loading{min-height:260px;display:grid;place-items:center;text-align:center;padding:40px}.empty-state div,.error-state div{max-width:420px}.empty-icon{width:62px;height:62px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--rose-soft);color:var(--rose-dark);font-size:1.5rem}.spinner{width:32px;height:32px;border:3px solid #e4ded8;border-top-color:var(--rose-dark);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{height:150px;border-radius:16px;background:linear-gradient(90deg,#eee 25%,#f7f7f7 45%,#eee 65%);background-size:300% 100%;animation:shimmer 1.3s infinite}@keyframes shimmer{to{background-position:-100% 0}}.toast-region{position:fixed;z-index:200;right:20px;top:20px;display:grid;gap:10px}.toast{max-width:380px;padding:14px 18px;border-radius:12px;background:#171513;color:#fff;box-shadow:var(--shadow)}.toast.error{background:#7f2929}.dialog{border:0;border-radius:18px;padding:0;width:min(520px,calc(100% - 30px));box-shadow:var(--shadow)}.dialog::backdrop{background:rgba(0,0,0,.55)}.dialog-body{padding:26px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.queue-hero{text-align:center;padding:34px}.token{width:116px;height:116px;margin:20px auto;border-radius:50%;display:grid;place-items:center;background:#171513;color:#fff;font:700 2.3rem "Playfair Display",serif}.progress-track{height:8px;border-radius:99px;background:#e6e1dc;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--rose);border-radius:inherit}.timeline{display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:28px 1fr;gap:12px;min-height:64px}.timeline-dot{width:14px;height:14px;margin-top:4px;border-radius:50%;background:#ddd;box-shadow:0 0 0 5px #fff}.timeline-item.done .timeline-dot{background:var(--success)}.timeline-item:not(:last-child) .timeline-dot:after{content:"";display:block;width:2px;height:50px;background:#ddd;margin:14px 0 0 6px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:650px}.data-table th,.data-table td{padding:15px;border-bottom:1px solid var(--line);text-align:left}.data-table th{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.toggle{position:relative;width:54px;height:30px}.toggle input{opacity:0;width:0;height:0}.toggle span{position:absolute;inset:0;border-radius:99px;background:#ccc;cursor:pointer}.toggle span:after{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.toggle input:checked+span{background:var(--success)}.toggle input:checked+span:after{transform:translateX(24px)}.stepper{display:flex;gap:8px;margin-bottom:26px}.stepper span{height:5px;flex:1;border-radius:99px;background:#e3dfda}.stepper span.active{background:var(--rose)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-brand{padding:58px clamp(30px,6vw,90px);display:flex;flex-direction:column;justify-content:space-between;background:#151311;color:#fff}.auth-brand h1{max-width:560px;font-size:clamp(2.8rem,5vw,5rem)}.auth-brand p:not(.eyebrow){max-width:550px;color:#cfc9c4;font-size:1.04rem}.auth-foot{font-size:.78rem!important}.auth-panel{padding:50px 24px;display:grid;place-items:center;background:#fff}.auth-card{width:min(480px,100%)}.auth-card h2{margin:28px 0 8px}.auth-mobile-logo{display:none}.segmented{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:var(--soft);border-radius:13px}.segment{min-height:44px;border:0;border-radius:10px;background:transparent;font-weight:700;cursor:pointer}.segment.active{background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.06)}.auth-switch{text-align:center;color:var(--muted);margin-top:26px}.auth-switch a{color:var(--rose-dark);font-weight:700}.alert{padding:13px 15px;border-radius:11px;background:var(--danger-bg);color:var(--danger);font-size:.87rem}.notice{padding:15px;border-radius:12px;background:var(--warning-bg);color:#694a13}.photo-drop{padding:30px;border:2px dashed #d6cec6;border-radius:14px;text-align:center;background:#faf9f8}.hours-grid{display:grid;gap:8px}.hour-row{display:grid;grid-template-columns:110px 1fr 1fr auto;gap:10px;align-items:center}.analytics-bars{display:grid;gap:16px}.analytics-row{display:grid;grid-template-columns:130px 1fr 70px;gap:12px;align-items:center}.analytics-row .progress-track{height:12px}.payment-state{padding:18px;border-left:4px solid var(--warning);background:var(--warning-bg);border-radius:10px}.help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.faq details{padding:16px 0;border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:700}.pagination{display:flex;justify-content:center;gap:8px;margin-top:24px}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.sticky-basket{position:static}}
@media(max-width:820px){:root{--sidebar:0px}.app-sidebar{transform:translateX(-100%);width:280px;transition:.22s}.app-sidebar.open{transform:none}.sidebar-backdrop{display:block;position:fixed;z-index:35;inset:0;border:0;background:rgba(0,0,0,.45)}.app-header{height:68px;position:sticky;z-index:30;top:0;padding:0 14px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.app-header .brand img{width:130px}.app-main{margin:0;padding:26px 20px 92px}.bottom-nav{position:fixed;z-index:25;display:grid;grid-template-columns:repeat(4,1fr);inset:auto 0 0;background:#fff;border-top:1px solid var(--line);padding:7px 6px max(7px,env(safe-area-inset-bottom))}.bottom-link{min-height:55px;display:grid;place-items:center;align-content:center;gap:2px;color:var(--muted);text-decoration:none;font-size:.67rem;font-weight:700}.bottom-link span:first-child{font-size:1.2rem}.bottom-link.active{color:var(--rose-dark)}.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.auth-panel{display:block;padding:26px 20px 50px}.auth-mobile-logo{display:block;margin-bottom:40px}.auth-mobile-logo img{width:150px}.auth-card{margin:auto}}
@media(max-width:620px){h1{font-size:2.1rem}.page-head{margin-bottom:22px}.card-pad{padding:18px}.hero-panel{padding:25px}.form-grid,.card-grid,.help-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr);gap:10px}.metric{padding:16px}.metric strong{font-size:1.55rem}.filter-bar{display:grid}.filter-bar .field{min-width:0}.gallery{height:230px}.service-row{grid-template-columns:1fr auto}.service-row input{grid-row:1/3;grid-column:2}.booking-facts{grid-template-columns:1fr}.between{align-items:flex-start}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.hour-row{grid-template-columns:1fr 1fr}.hour-row strong{grid-column:1/3}.auth-panel{padding-inline:17px}.toast-region{left:12px;right:12px;top:12px}.toast{max-width:none}.analytics-row{grid-template-columns:90px 1fr 50px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
