:root{--ink:#242a25;--muted:#7a8077;--paper:#f7f7f2;--line:#e7e9e0;--gold:#f2cc46;--forest:#263c30;--radius:20px}*{box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink);font-size:14px;line-height:1.6;margin:0}h1,h2,h3{letter-spacing:-.045em;font-weight:650;color:var(--ink)}h1{font-size:clamp(27px,3vw,40px);line-height:1.2;margin:8px 0 12px}h2{font-size:24px;margin:8px 0 18px}h3{font-size:17px;margin:6px 0 12px}p{color:#6b726a}a{color:var(--forest);text-decoration:none}a:hover{color:#95720c}button,input,select,textarea{font:inherit}input[type=checkbox]{accent-color:#c19b24;width:17px;height:17px;flex-shrink:0}.btn{border-radius:12px;padding:12px 19px;font-size:13px;font-weight:650;white-space:normal}.btn-primary{--bs-btn-bg:var(--gold);--bs-btn-color:#292b20;--bs-btn-border-color:var(--gold);--bs-btn-hover-bg:#dfb931;--bs-btn-hover-color:#292b20;--bs-btn-hover-border-color:#dfb931;--bs-btn-active-bg:#dfb931;--bs-btn-active-border-color:#dfb931}.btn-dark{background:var(--forest);border-color:var(--forest)}.btn-light{background:#f1f3ec;border-color:#e9ece2;color:var(--forest)}.btn-sm{padding:7px 12px;font-size:12px}.eyebrow{display:block;font-size:10px;letter-spacing:.17em;font-weight:750;color:#888f7d}.muted,.hint{color:var(--muted)}.hint{font-size:12px;margin-top:15px}.brand{font-size:29px;line-height:1;letter-spacing:-1.6px;font-weight:750;color:var(--ink);display:block}.brand>span:not(.brand-symbol){font-weight:400;color:#8a965e}.brand-symbol{font-size:39px;vertical-align:middle;color:#8b9b63;margin-right:7px}.brand small{display:block;font-size:8px;letter-spacing:.15em;margin:12px 0 0 3px;color:#9da38f;font-weight:600}.sidebar{position:fixed;inset:0 auto 0 0;background:#fff;width:246px;padding:30px 22px 0;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:40}.salon-switch{margin:30px 0 18px}.salon-switch select{background:#f6f7f0;border-color:var(--line);font-size:12px}.sidebar nav{overflow-y:auto;flex:1;padding-bottom:20px;scrollbar-width:thin}.sidebar nav a{display:flex;align-items:center;gap:14px;padding:10px 14px;margin:2px 0;border-radius:11px;font-size:12px;color:#737a6c;font-weight:550}.sidebar nav a:hover,.sidebar nav a.active{background:#f0f4e9;color:#36452a}.sidebar nav a span{font-size:18px;width:21px}.sidebar-bottom{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding:20px 0}.avatar{height:35px;width:35px;display:grid;place-items:center;border-radius:50%;background:#eee7d0;color:#7e7042}.sidebar-bottom strong{display:block;font-size:12px}.sidebar-bottom small{display:block;font-size:10px;color:var(--muted)}.logout{border:0;background:transparent;font-size:23px;color:var(--muted)}.sidebar-bottom form{margin-left:auto}.workspace{margin-left:246px;min-height:100vh}.topbar{height:82px;background:rgba(255,255,255,.7);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 38px;font-size:12px;gap:15px}.topbar .muted{margin-left:12px}.topbar #live-status{font-size:10px;color:#809166;margin-right:15px}.page{padding:32px 38px 50px;max-width:1700px;margin:auto}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-title h1{font-size:30px}.title-actions{display:flex;gap:10px}.welcome-banner{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:26px 32px;background:#e9eedf;border-radius:var(--radius);margin-bottom:25px;position:relative;overflow:hidden}.welcome-banner h2{font-size:30px;margin:6px 0}.welcome-banner h2 span{color:#97a779;margin-left:10px}.welcome-banner p{font-size:12px;margin:0;color:#7d8971}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px}.metric{background:#fff;border:1px solid var(--line);border-radius:17px;padding:23px;min-width:0}.metric>div{display:flex;justify-content:space-between;align-items:center}.metric span{font-size:12px;color:#858b7c}.metric b{height:29px;width:29px;display:grid;place-items:center;background:#f6f4e7;border-radius:9px;color:#99905b;font-weight:400;font-size:18px}.metric strong{font-size:clamp(19px,2vw,27px);letter-spacing:-.045em;display:block;margin:14px 0 10px;white-space:normal;line-height:1.2}.metric small{font-size:10px;color:#a0a594}.dashboard-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:24px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:19px}.section-heading h2{margin:4px 0}.section-heading>a{font-size:11px;color:#8c9677}.section-heading>span{font-size:11px;color:var(--muted)}.table{font-size:12px;vertical-align:middle;margin-bottom:0}.table th{color:#93998a;font-size:10px;font-weight:600;letter-spacing:.03em;border-bottom:1px solid var(--line);background:#fafbf7;padding:13px 12px;white-space:nowrap}.table td{padding:16px 12px;border-bottom-color:#f0f2eb;color:#646e5c;max-width:330px;overflow-wrap:anywhere}.table tr:last-child td{border:0}.status{font-size:10px;border-radius:6px;padding:5px 9px;display:inline-block;background:#f0f3e8;color:#7a895e;white-space:nowrap}.status-pending{background:#fff5d6;color:#a6882c}.status-completed,.status-active,.status-validated,.status-fulfilled{background:#edf4e9;color:#6c8b5f}.status-cancelled,.status-suspended,.status-absent{background:#f9eae5;color:#aa7568}.status-arrived,.status-in_progress,.status-confirmed{background:#eef2f7;color:#6d849e}.quick-panel>a{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:17px 0;font-size:12px}.quick-panel>a>span{background:#f3f5ed;border-radius:10px;padding:8px 12px;font-size:20px}.quick-panel>a div{flex:1}.quick-panel small{display:block;color:#a0a594;font-size:10px;margin-top:3px}.tip{background:#f9f5e7;padding:20px;border-radius:13px;margin-top:24px}.tip strong{font-size:12px}.tip p{font-size:11px;margin:8px 0 0;color:#a09472}.workspace-footer{padding:0 38px 24px;display:flex;justify-content:space-between;font-size:10px;color:#a3aa97}.split-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.7fr);gap:24px;align-items:start}.split-layout:has(.receipt),#pos-form .split-layout{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr)}.form-label{font-size:11px;font-weight:650;color:#7a846e;display:block;margin:17px 0 6px}.form-control,.form-select{border:1px solid #e2e6d9;border-radius:10px;padding:11px 13px;font-size:13px;background:#fdfefa;color:#3b4433}.form-control:focus,.form-select:focus{border-color:#acba83;box-shadow:0 0 0 3px #eaf0db}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.filter-form{display:flex;align-items:end;flex-wrap:wrap;gap:13px}.filter-form>.form-label{margin-bottom:13px}.filter-form input,.filter-form select{width:auto;max-width:220px}.filter-form label{white-space:nowrap}.empty-state{text-align:center;padding:48px 20px;color:#9ca68c}.empty-state>span{font-size:45px;color:#c1caab}.empty-state h3{margin-top:15px;font-size:18px;color:#6b785e}.empty-state p{font-size:12px;max-width:340px;margin:10px auto 20px}.appointment{display:flex;align-items:center;gap:22px;padding:24px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.appointment:last-child{border:0}.appointment-time{background:#f3f5ed;padding:15px;border-radius:12px;text-align:center;min-width:100px}.appointment-time strong{display:block;font-size:22px;letter-spacing:-1px}.appointment-time small{color:#8a947d;font-size:10px}.appointment-body{flex:1;min-width:160px}.appointment-body h3{margin:0 0 7px}.appointment-body h3 small{color:#a3aa97;font-size:12px}.appointment-body p{font-size:12px;margin-bottom:8px}.appointment-actions{display:flex;gap:20px;align-items:center}.lookup-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.lookup-form input{flex:1;min-width:200px}.lookup-form label{font-size:12px;font-weight:600}#scan-video{max-width:100%;width:350px;margin-top:15px;border-radius:12px}.service-select{padding:18px 0;border-bottom:1px solid var(--line)}.service-select>label{display:flex;align-items:center;gap:15px;cursor:pointer}.service-select span{flex:1}.service-select small{display:block;color:#9ca38f;font-size:11px}.service-select b{font-size:13px}.service-select select{max-width:260px}.checkout-panel{position:sticky;top:20px}.checkout-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:22px 0;margin-top:22px;gap:15px}.checkout-total strong{font-size:23px;letter-spacing:-1px}.checkout-total>span{font-size:12px;color:#8d967d}.receipt-totals>div{display:flex;justify-content:space-between;padding:10px 0}.receipt-totals dt{font-weight:400;color:#8d967d;font-size:12px}.receipt-totals dd{margin:0}.receipt-totals .grand-total{border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:24px;margin:12px 0}.success-note{padding:18px;background:#f1f7e9;border-radius:12px;color:#6e8555;font-size:12px}.insight{padding:20px;background:#f9faf5;border:1px solid var(--line);border-radius:13px;margin:15px 0}.insight p{font-size:12px;margin:8px 0}.insight strong{font-size:12px}.attachment{display:inline-block;padding:8px;font-size:12px}.check-line{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#869076;line-height:1.5;margin:12px 0}.check-line input{margin-top:2px}.contract-box{background:#f7f7eb;border-radius:14px;padding:20px;margin:25px 0}.contract-box p{font-size:12px}.contract-box label{font-size:12px}.narrow{max-width:680px;margin:35px auto}.narrow-settings{max-width:1000px}.hours-row{display:flex;align-items:center;gap:23px;padding:15px 0;border-bottom:1px solid var(--line)}.hours-row>strong{width:100px;font-size:12px}.hours-row>label{font-size:11px;color:#8a947d}.hours-row input[type=time]{width:140px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.gallery img{width:100%;height:190px;object-fit:cover;border-radius:12px}.gallery figcaption{font-size:11px;padding:8px;color:#8d967d}.qr-poster{text-align:center;max-width:800px;margin:auto;padding:55px}.qr-poster h1{font-family:Georgia,serif;font-weight:400;font-size:43px;margin:25px 0}.qr-poster p{font-size:16px}.qr-code{margin:25px auto;background:white;display:block;width:max-content;max-width:100%}.qr-code img{max-width:100%;width:230px;height:auto}.qr-poster .qr-code img{width:300px}.qr-link{font-size:11px!important;overflow-wrap:anywhere}.qr-poster small{display:block;margin:25px;color:#959e85}.mobile-menu{display:none}.public-nav{max-width:1300px;padding:28px 35px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.public-nav nav{display:flex;gap:25px;align-items:center;font-size:12px}.public-main{max-width:1230px;padding:0 35px;margin:auto}.public-footer{text-align:center;color:#a0a78f;font-size:11px;padding:55px 10px}.home-hero{position:relative;overflow:hidden;padding:90px 15px 100px}.home-hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,4.6vw,65px);line-height:1.15;max-width:900px;letter-spacing:-2px;margin:25px 0}.home-hero em{color:#84936b;font-style:normal}.home-hero p{font-size:15px;max-width:500px;margin-bottom:28px}.hero-motif{position:absolute;right:-90px;top:-60px;font-size:480px;color:#ebeedf;z-index:-1;line-height:1.2}.salon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.salon-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;transition:transform .2s}.salon-card:hover{transform:translateY(-5px)}.salon-cover{height:200px;background:linear-gradient(135deg,#e8eddd,#f7eccd);display:grid;place-items:center}.salon-cover>span{font-family:Georgia,serif;font-size:90px;color:#9ba680}.salon-cover img{width:100%;height:100%;object-fit:cover}.salon-card>div:last-child{padding:24px}.salon-card h3{font-size:23px;margin:12px 0 8px}.salon-card p{font-size:12px}.card-link{display:block;padding-top:15px;border-top:1px solid var(--line);font-size:12px;color:#7b895e}.auth-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;min-height:80vh}.auth-story{padding:30px;position:relative;overflow:hidden}.auth-story h1{font-family:Georgia,serif;font-weight:400;font-size:64px;line-height:1.1;letter-spacing:-2px;margin:25px 0}.auth-story p{max-width:340px}.auth-motif{font-size:190px;line-height:1;color:#dfe6cf;margin:30px 0 0 30px}.auth-form{padding:45px;max-width:470px}.auth-form h2{font-size:32px}.auth-form>p{font-size:12px}.auth-form small{font-size:11px;color:#99a18d}.salon-hero{margin:35px 0 0;padding:60px 45px;background:#e9eedf;border-radius:25px;position:relative;overflow:hidden;min-height:260px}.salon-hero h1{font-family:Georgia,serif;font-weight:400;font-size:58px;margin:20px 0}.salon-hero>div{position:relative;z-index:2}.salon-hero p{max-width:650px}.salon-contact{display:flex;gap:20px;flex-wrap:wrap;font-size:12px}.salon-hero-photo{position:absolute;right:0;top:0;height:100%;width:40%;object-fit:cover;opacity:.3;mask-image:linear-gradient(to right,transparent,black)}.hero-decoration{position:absolute;right:0;top:0;font-size:300px;line-height:1;color:#dbe3cb}.public-tabs{display:flex;gap:35px;margin:30px 0 45px;border-bottom:1px solid var(--line);padding:0 5px 18px;font-size:12px}.public-tabs a:first-child{color:#79601a;font-weight:700}.booking-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:start}.booking-grid h2{font-size:33px;margin:12px 0 15px}.booking-grid>section>p{font-size:13px;margin-bottom:30px}.service-card{background:#fff;border:1px solid var(--line);border-radius:17px;margin-bottom:14px;overflow:hidden;transition:border-color .2s}.service-card:has(input:checked){border-color:#c2b25d;background:#fffef7}.service-card-main{display:flex;align-items:center;gap:18px;padding:22px;cursor:pointer}.service-card-main>img{width:65px;height:65px;object-fit:cover;border-radius:11px}.service-symbol{width:57px;height:57px;display:grid;place-items:center;border-radius:11px;background:#f2f4e7;color:#9cae79;font-size:29px}.service-name{flex:1}.service-name strong{display:block;font-size:16px}.service-name small{display:block;font-size:10px;color:#949c85}.service-card-main>b{font-size:14px}.option-line{display:flex;align-items:center;gap:10px;padding:8px 22px 15px 58px;font-size:11px;color:#8b947d}.booking-summary{position:sticky;top:20px;padding:30px}.booking-total{background:#f7f6e9;padding:20px;border-radius:13px;margin:20px 0}.booking-total span,.booking-total small{font-size:12px;display:block;color:#9a9d80}.booking-total strong{font-size:32px;letter-spacing:-1px;display:block}.shop-section{padding-top:65px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.product-card{padding:20px;background:#fff;border:1px solid var(--line);border-radius:18px}.product-card>img{height:180px;object-fit:cover;width:100%;border-radius:10px;margin-bottom:20px}.product-symbol{height:150px;display:grid;place-items:center;background:#f1f3e5;color:#9aab7e;font-size:60px;border-radius:10px;margin-bottom:20px}.product-card p{font-size:12px}.product-card strong{font-size:16px}.hours-public{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.hours-public strong{font-weight:500}.hours-public span{color:#8b947d}.ticket{max-width:650px;margin:45px auto;text-align:center;padding:45px}.success-mark{width:52px;height:52px;background:#edf4e2;border-radius:50%;display:grid;place-items:center;color:#8ea965;font-size:25px;margin:0 auto 20px}.ticket h1{font-family:Georgia,serif;font-weight:400;font-size:38px;margin:15px 0 20px}.ticket-date{display:flex;justify-content:center;gap:25px;padding:25px;border-top:1px dashed #dce2ce;border-bottom:1px dashed #dce2ce;margin:25px 0;font-size:23px}.ticket-date span{color:#92a174}.ticket-lines>div{display:flex;justify-content:space-between;text-align:left;padding:10px 0;font-size:12px}.ticket-buttons{display:flex;gap:10px;justify-content:center;margin-top:25px;flex-wrap:wrap}.ticket>small{display:block;color:#a1a890;font-size:10px}.install{display:grid;place-items:center;min-height:100vh;padding:35px}.install-card{background:white;border:1px solid var(--line);border-radius:25px;padding:45px;max-width:600px;width:100%}.install-card h1{font-family:Georgia,serif;font-weight:400;font-size:38px;margin:20px 0}.install-card small{font-size:11px;color:#9ba38d;display:block;margin-top:20px}.alert{border:0;border-radius:12px;font-size:13px}.alert-info{background:#edf3e4;color:#6c8255}.alert-warning{background:#fff3cb;color:#8e782a}.alert-danger{background:#fbeae3;color:#9b6658}#new-booking:not(.d-none){animation:pulse 2s ease-in-out 4}@keyframes pulse{50%{box-shadow:0 0 0 5px #f4db7b55}}:focus-visible{outline:3px solid #d8b43f;outline-offset:3px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(min-width:1600px){.page{padding:40px 50px}.sidebar{width:260px}.workspace{margin-left:260px}}
@media(max-width:1150px){.sidebar{width:215px;padding:25px 15px}.workspace{margin-left:215px}.page{padding:25px}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.split-layout{grid-template-columns:310px minmax(0,1fr)}.topbar{padding:0 25px}.booking-grid{gap:25px}.product-grid{grid-template-columns:repeat(3,1fr)}.auth-grid{gap:30px}.auth-story h1{font-size:48px}}
@media(max-width:850px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:246px}.sidebar.open{transform:translateX(0);box-shadow:20px 0 100px #242a2533}.workspace{margin-left:0}.mobile-menu{display:block;background:none;border:0;font-size:22px}.topbar{height:65px;padding:0 20px}.topbar .muted,.topbar #live-status{display:none}.page{padding:24px 20px}.page-title{align-items:start}.page-title h1{font-size:27px}.title-actions .print-button{display:none}.welcome-banner{padding:25px;align-items:start}.welcome-banner h2{font-size:26px}.welcome-banner .btn{padding:10px;font-size:11px}.split-layout,.split-layout:has(.receipt),#pos-form .split-layout{grid-template-columns:1fr}.checkout-panel{position:static}.metric{padding:20px}.public-main{padding:0 22px}.public-nav{padding:20px 22px}.public-nav nav{gap:15px}.public-nav nav>a:first-child{font-size:10px}.salon-grid{grid-template-columns:repeat(2,1fr)}.booking-grid{grid-template-columns:1fr}.booking-summary{position:static}.product-grid{grid-template-columns:repeat(2,1fr)}.auth-grid{grid-template-columns:1fr;padding:30px 0}.auth-story{display:none}.auth-form{margin:auto;width:100%}.salon-hero{padding:35px 25px}.salon-hero h1{font-size:44px}.public-tabs{gap:20px;font-size:11px}.salon-hero-photo{width:60%}.qr-poster{padding:30px}.hours-row{gap:12px;flex-wrap:wrap}.workspace-footer{padding:0 20px 25px}.workspace-footer span{display:none}}
@media(max-width:500px){.page{padding:22px 15px}.page-title{gap:12px}.page-title h1{font-size:23px}.title-actions .btn{padding:10px 12px;font-size:11px}.panel{padding:22px 18px}.metric-grid{gap:12px}.metric{padding:17px}.metric strong{font-size:22px}.metric small{font-size:9px}.welcome-banner{display:block}.welcome-banner .btn{margin-top:17px}.appointment-actions{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.salon-grid{grid-template-columns:1fr}.home-hero{padding:60px 0}.home-hero h1{font-size:38px}.hero-motif{right:-230px}.brand{font-size:26px}.brand-symbol{font-size:33px}.public-nav nav{gap:10px}.public-nav nav>a:first-child{max-width:95px;line-height:1.3}.public-nav .btn{padding:9px 12px;font-size:11px}.product-grid{gap:12px}.product-card{padding:14px}.product-card>img{height:135px}.product-symbol{height:120px}.service-card-main{gap:12px;padding:18px 14px}.service-symbol{width:40px;height:45px;font-size:23px}.service-card-main>img{width:45px;height:50px}.service-name strong{font-size:14px}.service-card-main>b{font-size:12px}.booking-grid h2{font-size:29px}.ticket{padding:30px 20px}.ticket-date{font-size:21px}.public-tabs{gap:15px}.public-tabs a{font-size:10px}.salon-contact{gap:12px}.qr-poster h1{font-size:31px}}
@media print{body{background:white;color:black;font-size:11px}.sidebar,.topbar,.page-title,.workspace-footer,.public-nav,.public-footer,.no-print,.btn,.filter-form,.ticket-buttons{display:none!important}.workspace{margin:0}.page,.public-main{padding:0;max-width:none}.panel{box-shadow:none;border:0;padding:10px;break-inside:avoid}.split-layout:has(.receipt){display:block}.split-layout:has(.receipt)>aside{display:none}.table-responsive{overflow:visible}.qr-poster{padding:15mm;max-width:none}.qr-poster .qr-code img{width:85mm}.ticket{margin:0 auto;width:100%;max-width:170mm}.metric-grid{grid-template-columns:repeat(3,1fr)}details{display:none}.dashboard-grid{display:block}.table{font-size:9px}.table td{padding:6px}.table th{padding:6px}a{color:black}}

.chart-bars{display:flex;gap:18px;align-items:flex-end;overflow-x:auto;min-height:220px;padding:20px 0}.chart-day{min-width:65px;display:flex;flex-direction:column;align-items:center;gap:8px}.chart-column{width:28px;background:#bac893;border-radius:6px 6px 0 0}.chart-value{font-size:10px;color:#899579}.chart-day small{font-size:10px;color:#959e87}

.salon-logo{display:block;width:65px;height:65px;border-radius:50%;object-fit:cover;margin-bottom:20px;border:3px solid white}
