:root{--ink:#18201d;--muted:#75807b;--bg:#f5f7f6;--surface:#fff;--soft:#f0f4f2;--line:#e3e9e6;--brand:#176b54;--brand2:#249777;--cream:#f7efe4;--gold:#c78d51;--red:#d95757;--blue:#397bc0;--purple:#745ac2;--shadow:0 14px 40px rgba(25,48,40,.09);--r:15px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px "DM Sans",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:800;color:var(--brand)}.btn{height:40px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:0 15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.2s}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(20,50,40,.09)}.btn.primary{background:var(--brand);color:white;border-color:var(--brand)}.btn.ghost{background:transparent}.btn.danger{color:var(--red)}.btn.full{width:100%}.icon-btn{width:37px;height:37px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:19px}.icon-btn:hover{background:var(--soft)}.brand{display:flex;gap:9px;align-items:center;font:800 18px Manrope}.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,var(--brand2),var(--brand));color:white;display:grid;place-items:center;font-size:19px;box-shadow:0 8px 17px rgba(23,107,84,.2)}
/* customer site */.public-nav{height:70px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;background:rgba(255,255,255,.93);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.public-nav nav{margin-left:auto;display:flex;gap:25px;align-items:center}.public-nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:13px}.hero{background:linear-gradient(115deg,#f4eee5 0,#f9f8f3 52%,#e2eee8 100%);min-height:490px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;padding:65px max(24px,calc((100vw - 1180px)/2));overflow:hidden}.hero h1{font:800 clamp(39px,5vw,67px)/1.05 Manrope;margin:15px 0 18px;letter-spacing:-2.7px;max-width:690px}.hero h1 em{font-style:normal;color:var(--brand)}.hero p{font-size:17px;color:#64706b;line-height:1.7;max-width:590px}.hero-actions{display:flex;gap:10px;margin-top:28px}.hero-visual{position:relative;height:360px}.hero-card{position:absolute;background:var(--surface);border:1px solid rgba(255,255,255,.7);border-radius:20px;padding:18px;box-shadow:0 25px 65px rgba(32,73,60,.15)}.hero-card.main{right:20px;top:10px;width:330px}.hero-card.float{left:5px;bottom:30px;width:210px}.studio-photo{height:175px;border-radius:14px;background:linear-gradient(135deg,rgba(24,80,62,.15),rgba(199,141,81,.2)),url('https://images.unsplash.com/photo-1560066984-138dadb4c035?auto=format&fit=crop&w=700&q=80') center/cover}.rating{color:#e0a14b;letter-spacing:2px}.trust-row{display:flex;gap:25px;align-items:center;margin-top:30px;color:var(--muted);font-size:11px}.avatars{display:flex}.avatars span{width:30px;height:30px;border-radius:50%;background:var(--brand);border:2px solid white;display:grid;place-items:center;color:white;margin-left:-7px;font-size:9px}.section{padding:72px max(24px,calc((100vw - 1180px)/2))}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section-head h2{font:800 31px Manrope;margin:7px 0}.section-head p{color:var(--muted);margin:0;max-width:540px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.2s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-img{height:155px;background-size:cover;background-position:center}.service-body{padding:16px}.service-body h3{font:700 15px Manrope;margin:2px 0 7px}.service-body p{color:var(--muted);font-size:11px;line-height:1.5;min-height:34px}.service-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.service-meta span{color:var(--muted);font-size:11px}.service-meta strong{color:var(--brand)}.public-footer{background:#10251f;color:#b8c8c2;padding:45px max(24px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center}.public-footer .brand{color:white}.powered{font-size:10px}.booking-wrap{min-height:100vh;background:#f6f3ee}.booking-top{height:68px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(20px,calc((100vw - 1040px)/2));justify-content:space-between}.booking-shell{max-width:1040px;margin:auto;padding:34px 20px 70px}.stepper{display:flex;align-items:center;justify-content:center;margin-bottom:34px}.step{display:flex;align-items:center;color:#9aa39f;font-size:10px;font-weight:700}.step b{width:28px;height:28px;border-radius:50%;border:1px solid #cfd6d3;display:grid;place-items:center;margin-right:6px}.step.active,.step.done{color:var(--brand)}.step.active b{background:var(--brand);color:white;border-color:var(--brand)}.step.done b{background:#dbede7;border-color:#b7d8cd}.step-line{height:1px;width:42px;background:#d9dfdc;margin:0 8px}.booking-card{background:white;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:28px}.booking-title{text-align:center;margin-bottom:25px}.booking-title h2{font:800 25px Manrope;margin:7px}.booking-title p{color:var(--muted)}.select-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.choice{border:1.5px solid var(--line);border-radius:12px;padding:15px;display:flex;gap:13px;align-items:center;background:white;text-align:left;transition:.2s}.choice:hover,.choice.selected{border-color:var(--brand);background:#f1f8f5}.choice-icon{width:43px;height:43px;border-radius:10px;background:var(--cream);display:grid;place-items:center;font-size:20px;flex:none}.choice h3{margin:0 0 4px;font-size:13px}.choice p{margin:0;color:var(--muted);font-size:10px}.choice strong{margin-left:auto;color:var(--brand)}.booking-actions{display:flex;justify-content:space-between;margin-top:25px}.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.staff-choice{border:1.5px solid var(--line);border-radius:13px;padding:18px;text-align:center;background:white}.staff-choice.selected{border-color:var(--brand);background:#f1f8f5}.staff-avatar{width:65px;height:65px;margin:auto;border-radius:50%;display:grid;place-items:center;color:white;font-weight:800;font-size:17px;background:linear-gradient(145deg,#4a9a83,#145f4c)}.staff-choice h3{margin:10px 0 3px}.staff-choice p{font-size:10px;color:var(--muted)}.date-time{display:grid;grid-template-columns:.9fr 1.1fr;gap:25px}.date-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.date-pill{padding:11px 5px;border:1px solid var(--line);border-radius:9px;background:white;text-align:center}.date-pill small{display:block;color:var(--muted)}.date-pill.selected{background:var(--brand);color:white}.date-pill.selected small{color:#cae4dc}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.slot{height:38px;border:1px solid var(--line);border-radius:8px;background:white;font-size:11px}.slot.selected{background:var(--brand);color:white;border-color:var(--brand)}.slot:disabled{background:#f2f3f2;color:#bbc1be;text-decoration:line-through;cursor:not-allowed}.summary-box{background:var(--soft);border-radius:12px;padding:15px;margin:15px 0}.summary-row{display:flex;justify-content:space-between;margin:8px 0;font-size:12px}.confirmation{text-align:center}.confirm-check{width:68px;height:68px;border-radius:50%;background:#dff2eb;color:var(--brand);display:grid;place-items:center;font-size:30px;margin:auto}.booking-code{font:800 21px Manrope;color:var(--brand);letter-spacing:1px}
/* dashboard */.admin-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#12241f;color:#aebdb8;padding:21px 13px 15px;display:flex;flex-direction:column;z-index:30}.sidebar .brand{color:white;padding:0 9px 22px}.sidebar .brand small{display:block;font:500 9px DM Sans;color:#6f857d}.nav-label{font-size:9px;color:#61746d;letter-spacing:1.1px;font-weight:800;margin:18px 11px 6px}.nav-item{height:40px;width:100%;background:transparent;border:0;border-radius:9px;color:#9cafaa;display:flex;align-items:center;gap:10px;padding:0 11px;text-align:left;margin:2px 0}.nav-item span{width:18px;font-size:16px}.nav-item:hover,.nav-item.active{background:#1c342d;color:white}.nav-item b{margin-left:auto;background:#285144;color:#d5e7e1;border-radius:10px;padding:2px 7px;font-size:9px}.side-profile{margin-top:auto;border-top:1px solid #284038;padding:14px 5px 0;display:flex;gap:9px;align-items:center}.side-profile .staff-avatar{width:34px;height:34px;font-size:10px;margin:0}.side-profile div:nth-child(2){flex:1}.side-profile strong,.side-profile small{display:block;font-size:11px}.side-profile small{color:#73877f;font-size:9px}.admin-main{margin-left:238px;min-height:100vh}.topbar{height:66px;background:var(--surface);border-bottom:1px solid var(--line);padding:0 27px;display:flex;align-items:center;position:sticky;top:0;z-index:20}.search{width:min(410px,50vw);height:37px;border:1px solid var(--line);border-radius:9px;background:var(--soft);display:flex;align-items:center;padding:0 11px}.search input{flex:1;border:0;outline:0;background:none;color:var(--ink)}.top-actions{margin-left:auto;display:flex;gap:7px;align-items:center}.page{padding:26px 28px 50px;max-width:1600px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.page-head h1{font:800 24px Manrope;margin:0 0 5px}.page-head p{color:var(--muted);margin:0}.head-actions,.filters{display:flex;gap:8px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:17px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px}.metric-top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:600}.metric-icon{width:29px;height:29px;background:#e9f4f0;color:var(--brand);border-radius:8px;display:grid;place-items:center}.metric h2{font:800 21px Manrope;margin:12px 0 2px}.trend{color:var(--brand2);font-size:9px;font-weight:700}.grid{display:grid;gap:15px}.grid.two{grid-template-columns:1.55fr 1fr}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:17px}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.card-head h3{font:700 14px Manrope;margin:0}.card-head span{color:var(--muted);font-size:10px}.select{height:35px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:0 9px}.chart{height:205px;display:flex;align-items:flex-end;gap:9px;border-bottom:1px solid var(--line);padding:20px 9px 0;position:relative}.chart:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 48px,var(--line) 49px)}.bar{flex:1;position:relative;border-radius:5px 5px 0 0;background:linear-gradient(to top,var(--brand),#43ae90)}.bar label{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);font-size:9px;color:var(--muted)}.schedule-item{display:grid;grid-template-columns:60px 4px 1fr auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.schedule-item time{font-size:10px;color:var(--muted)}.schedule-item i{height:40px;background:var(--brand);border-radius:4px}.schedule-item strong{display:block;font-size:12px}.schedule-item small{color:var(--muted);font-size:10px}.badge{display:inline-flex;padding:4px 8px;border-radius:10px;background:#edf1ef;color:#64726d;font-size:9px;font-weight:700}.badge.confirmed,.badge.completed{background:#e4f4ee;color:#16735a}.badge.pending{background:#fff1dc;color:#ae7028}.badge.checkedin{background:#e5effb;color:#286da7}.badge.cancelled,.badge.noshow{background:#fce8e8;color:#b94646}.table-card{padding:0;overflow:hidden}.table-tools{padding:13px 15px;display:flex;gap:8px;border-bottom:1px solid var(--line)}.table-tools input{height:35px;min-width:230px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--ink)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:820px}th{text-align:left;background:var(--soft);font-size:9px;letter-spacing:.5px;color:var(--muted);padding:11px 14px}td{padding:12px 14px;border-top:1px solid var(--line);font-size:11px}tr:hover td{background:var(--soft)}.person{display:flex;gap:9px;align-items:center}.mini-avatar{width:31px;height:31px;border-radius:50%;background:linear-gradient(145deg,#52a58d,#176b54);display:grid;place-items:center;color:white;font-size:9px;font-weight:800}.person strong,.person small{display:block}.person small{color:var(--muted);font-size:9px}.service-admin-grid,.staff-admin-grid,.customer-grid,.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-service{overflow:hidden;padding:0}.admin-service .service-img{height:125px}.admin-service .service-body{padding:14px}.toggle{width:35px;height:20px;border:0;border-radius:12px;background:#cbd2cf;position:relative}.toggle:after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:white;transition:.2s}.toggle.on{background:var(--brand)}.toggle.on:after{left:18px}.staff-card{text-align:center}.staff-card .staff-avatar{width:72px;height:72px}.staff-card h3{margin:10px 0 2px}.staff-card>p{color:var(--muted);font-size:10px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:13px;margin-top:13px}.stats span{display:block;font-size:8px;color:var(--muted)}.stats strong{font-size:12px}.calendar-grid{display:grid;grid-template-columns:70px repeat(5,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:850px}.cal-cell{min-height:48px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px;font-size:9px}.cal-head{background:var(--soft);text-align:center;font-weight:700}.cal-time{color:var(--muted);text-align:right}.cal-event{background:#e1f2ec;color:#176b54;border-left:3px solid var(--brand);border-radius:5px;padding:6px;margin:-4px;font-size:8px}.cal-event.purple{background:#ede9fa;color:#674db6;border-color:var(--purple)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label{font-size:10px;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{width:100%;height:40px;background:var(--soft);color:var(--ink);border:1px solid var(--line);border-radius:8px;margin-top:5px;padding:0 10px}.form-grid textarea{height:80px;padding-top:10px}.form-grid .wide{grid-column:1/-1}.modal-bg{position:fixed;inset:0;background:rgba(7,18,15,.58);z-index:60;display:grid;place-items:center;padding:20px;backdrop-filter:blur(4px)}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:var(--surface);border-radius:17px;padding:22px;box-shadow:0 25px 80px rgba(0,0,0,.28)}.modal-head{display:flex;justify-content:space-between;margin-bottom:17px}.modal-head h2{font:800 20px Manrope;margin:4px 0}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.toasts{position:fixed;right:20px;bottom:20px;z-index:90}.toast{background:#15251f;color:white;padding:12px 15px;border-radius:9px;margin-top:8px;box-shadow:var(--shadow);font-size:11px;border-left:4px solid #50b795;animation:pop .25s ease}@keyframes pop{from{transform:translateX(20px);opacity:0}}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-art{background:linear-gradient(140deg,#102a22,#1d6c55);padding:50px;color:white;display:flex;flex-direction:column;justify-content:space-between}.login-art h1{font:800 44px/1.1 Manrope;max-width:520px}.login-art p{color:#b7d1c8;max-width:500px;line-height:1.7}.login-box-wrap{display:grid;place-items:center;padding:25px}.login-box{width:min(400px,100%)}.login-box h2{font:800 26px Manrope;margin:8px 0}.login-box>p{color:var(--muted);margin-bottom:25px}.login-box label{font-size:10px;font-weight:700;display:block;margin:13px 0}.login-box input{width:100%;height:43px;border:1px solid var(--line);border-radius:8px;padding:0 10px;margin-top:6px}.dark{--ink:#edf4f1;--muted:#91a19b;--bg:#0e1714;--surface:#15211d;--soft:#1b2b26;--line:#293b35;--cream:#2b2b22}.menu-btn{display:none}
@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.grid.two{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.service-admin-grid,.staff-admin-grid,.customer-grid,.report-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.hero-visual{display:none}}
@media(max-width:740px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.admin-main{margin-left:0}.menu-btn{display:block}.page{padding:20px 14px}.topbar{padding:0 13px}.public-nav nav a{display:none}.hero{padding-top:45px;min-height:520px}.service-grid,.service-admin-grid,.staff-admin-grid,.customer-grid,.report-grid{grid-template-columns:1fr}.select-list,.staff-grid,.date-time{grid-template-columns:1fr}.step span{display:none}.step-line{width:18px}.booking-card{padding:20px 15px}.login-screen{grid-template-columns:1fr}.login-art{display:none}.page-head{gap:12px;flex-wrap:wrap}.head-actions{flex-wrap:wrap}.calendar-card{overflow:auto}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}
@media(max-width:470px){.metrics{grid-template-columns:1fr}.slots{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:1fr}.public-nav{padding:0 15px}.hero h1{letter-spacing:-1.8px}.public-footer{flex-direction:column;gap:20px;text-align:center}}
