:root{--ink:#171612;--gold:#c89732;--paper:#faf8f2;--cream:#f0eadf;--muted:#746f66;--line:#e1dbcf;--green:#176047}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Arial,sans-serif}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.top{height:82px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;border-bottom:1px solid var(--line)}.top img{width:165px;height:68px;object-fit:contain}.top nav{display:flex;gap:30px}.top nav a:hover{color:var(--gold)}.booking-bg{min-height:calc(100vh - 82px);background:radial-gradient(circle at 12% 12%,#fff,transparent 35%),linear-gradient(130deg,#f6f0e3,#e8e0d2);padding:55px 6vw}.hero{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 540px;gap:75px;align-items:center}.hero h1,.center-page h1,.client-wrap>h1,.admin-head h1{font:600 clamp(40px,6vw,74px)/1 Georgia,serif;margin:0 0 20px}.hero h1 em{color:var(--gold);font-weight:400}.hero>div>p:last-child{color:var(--muted);font-size:18px}.eyebrow{font-size:12px!important;letter-spacing:2px;color:var(--gold)!important;font-weight:bold;text-transform:uppercase}.booking-card,.login-card,.success-card,.panel{background:#fff;border:1px solid var(--line);box-shadow:0 20px 60px rgba(50,35,15,.1);padding:32px}.booking-card h2,.panel h2{font:600 28px Georgia,serif;margin-top:0}.booking-card label,.login-card label,.form-card label{display:grid;gap:7px;font-size:14px;font-weight:bold;margin:15px 0}input,select,textarea{width:100%;padding:13px;border:1px solid var(--line);background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.primary{border:0;background:var(--ink);color:#fff;padding:14px 20px;font-weight:bold;width:100%;cursor:pointer}.primary:hover{background:var(--gold)}.booking-card>small{display:block;text-align:center;color:#999;margin-top:13px}.errors{background:#fbe9e7;color:#9b332c;padding:12px;margin:12px 0}.flash{background:#e0f3e8;color:var(--green);padding:12px;text-align:center}.center-page,.client-page{min-height:calc(100vh - 82px);background:#f2eee5;padding:55px 20px;display:grid;place-items:center}.success-card,.login-card{width:min(590px,100%);text-align:center}.success-card h1,.login-card h1{font-size:38px}.check{width:65px;height:65px;border-radius:50%;background:#e0f3e8;color:var(--green);font-size:30px;display:grid;place-items:center;margin:auto}.ticket{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border-block:1px solid var(--line);padding:20px 0;margin:25px 0}.ticket div{display:grid}.ticket small{color:#999}.link{display:inline-flex;align-items:center;justify-content:center}.login-card img{width:105px;height:105px;object-fit:cover;border-radius:20px}.login-card{text-align:left}.login-card h1,.login-card>p{text-align:center}.checkline{display:flex!important;align-items:center;gap:8px}.checkline input{width:auto}.client-page{display:block}.client-wrap{max-width:950px;margin:auto}.client-wrap>h1{font-size:42px}.phone-search{display:flex;max-width:540px;margin:25px 0 35px}.phone-search .primary{width:auto}.appointment{background:#fff;border-left:4px solid var(--gold);padding:22px;display:grid;grid-template-columns:70px 1fr auto;gap:20px;align-items:center;margin-bottom:12px}.date{background:var(--ink);color:#fff;text-align:center;padding:10px}.date b,.date small{display:block}.date b{font:30px Georgia,serif}.date small{color:#e2bc6d}.badge{font-style:normal;background:#e0f3e8;color:var(--green);border-radius:20px;padding:5px 9px;font-size:12px}.appointment h2{margin:8px 0 2px;font:600 23px Georgia,serif}.appointment p{margin:0;color:var(--muted)}.empty{text-align:center;padding:30px;color:var(--muted)}.admin-body{background:#f2eee5;padding-left:245px}.side{position:fixed;inset:0 auto 0 0;width:245px;background:#191815;color:#fff;padding:25px;display:flex;flex-direction:column}.side>img{height:95px;width:190px;object-fit:contain;border-bottom:1px solid #36342f;padding-bottom:15px}.side nav{display:grid;gap:5px;margin-top:25px}.side a,.side button{padding:13px;border:0;background:transparent;color:#c7c1b7;text-align:left;font-size:15px}.side a:hover{background:#302e29;color:#fff}.side form{margin-top:auto}.side button{cursor:pointer}.admin-content{padding:42px;max-width:1500px}.admin-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:30px}.admin-head h1{font-size:42px;margin:0}.admin-head p{margin:4px 0;color:var(--muted)}.outline{border:1px solid var(--gold);background:#fff;color:#825e17;padding:12px 16px;cursor:pointer}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}.metrics article{background:#fff;border:1px solid var(--line);padding:20px;display:grid;gap:6px}.metrics small{color:#999;letter-spacing:1px}.metrics b{font:600 28px Georgia,serif}.panel{box-shadow:none}.table{overflow:auto}.tr{min-width:700px;display:grid;grid-template-columns:100px 1.5fr 1.2fr 1fr 120px;gap:15px;padding:14px;border-top:1px solid #eee9df;align-items:center}.th{background:var(--cream);font-size:12px;color:#8a857c;border:0}.tr span:nth-child(2){display:grid}.tr span small{color:#999}.services article{display:grid;grid-template-columns:1fr 130px 80px;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:16px}.services article:last-child{border:0}.services h2{margin:0 0 4px;font-size:20px}.small-button{width:auto}.form-card{max-width:700px}.form-card .primary{max-width:240px}@media(max-width:850px){.hero{grid-template-columns:1fr}.hero>div{text-align:center}.side{display:none}.admin-body{padding-left:0}.metrics{grid-template-columns:1fr 1fr}.admin-content{padding:25px}.ticket{grid-template-columns:1fr 1fr}}@media(max-width:600px){.top{height:auto;padding:10px 15px}.top img{width:95px;height:58px}.top nav{gap:12px;font-size:13px}.booking-bg{padding:25px 15px}.hero>div{display:none}.booking-card{padding:22px 17px}.form-grid{grid-template-columns:1fr}.admin-head{display:block}.admin-head form,.small-button{margin-top:15px}.metrics{grid-template-columns:1fr 1fr}.appointment{grid-template-columns:60px 1fr}.appointment>strong{grid-column:2}.services article{grid-template-columns:1fr auto}.services article .outline{grid-column:2}.ticket{grid-template-columns:1fr}.phone-search{display:grid;gap:8px}}
