@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;600;700;800&family=Oswald:wght@500;600&display=swap');:root{--ink:#171717;--paper:#f5f1e8;--navy:#263a4b;--clay:#a44632;--tan:#b88b62;--line:#d4cfc3}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,sans-serif}.dash-sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--navy);color:white;padding:24px 18px;display:flex;flex-direction:column}.dash-logo{height:100px;display:block}.dash-logo img{width:100%;height:100%;object-fit:contain}.dash-sidebar>p{font-size:9px;letter-spacing:.2em;color:#aebbc4;margin:25px 10px 12px}.dash-sidebar nav{display:flex;flex-direction:column;gap:5px}.dash-sidebar nav a{display:flex;align-items:center;gap:12px;padding:10px;color:white;text-decoration:none;border-radius:4px;font:14px Oswald}.dash-sidebar nav a>span{width:38px;height:38px;display:grid;place-items:center;background:#ffffff12;font-family:Bebas Neue;font-size:20px}.dash-sidebar nav a small{display:block;text-transform:uppercase;font:8px Inter;letter-spacing:.12em;color:#9fadb7}.dash-sidebar nav a.active{background:#fff;color:var(--ink)}.dash-sidebar nav a.active span{background:var(--clay);color:white}.dash-sidebar form{margin-top:auto}.dash-sidebar form button{background:transparent;color:white;border:1px solid #ffffff55;width:100%;padding:11px;cursor:pointer}.dash-main{margin-left:240px;padding:40px 4vw 80px}.dash-head{display:flex;justify-content:space-between;align-items:end}.dash-head p{font-size:10px;letter-spacing:.2em;color:var(--clay);font-weight:800}.dash-head h1{font:50px Bebas Neue;margin:0}.head-tools{display:flex;align-items:center}.head-tools>a{padding:11px 15px;border:1px solid var(--line);text-decoration:none;color:var(--ink);font:12px Oswald}.head-tools>a.selected{background:var(--ink);color:white}.head-tools input{padding:9px;border:1px solid var(--line);background:white;font:13px Inter}.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-top:30px;background:white}.dash-stats div{padding:20px;border-right:1px solid var(--line)}.dash-stats span,.appointment-recording>span,.appointment-status>span{display:block;font-size:8px;letter-spacing:.16em;color:#777;margin-bottom:8px}.dash-stats b{font:28px Oswald}.dash-stats .status-dot{font-size:14px;color:#277a49}.schedule-nav{display:flex;justify-content:space-between;padding:22px 0}.schedule-nav a{font:11px Oswald;color:var(--ink)}.appointments{display:flex;flex-direction:column;gap:10px}.appointment{display:grid;grid-template-columns:145px minmax(240px,1fr) 170px 145px;position:relative;background:white;border-left:5px solid var(--navy);box-shadow:0 2px 10px #0000000b}.appointment.status-canceled,.appointment.status-no_show{opacity:.58;border-color:#999}.appointment.status-completed{border-color:#338257}.appointment>div{padding:20px;border-right:1px solid var(--line)}.appointment-time b{display:block;font:25px Oswald}.appointment-time span,.appointment-time small{display:block;font-size:10px;color:#777;margin-top:4px}.type-label{font-size:9px;color:var(--clay);font-weight:800}.appointment-client h2{font:27px Oswald;margin:5px 0 2px}.appointment-client p{margin:0 0 7px}.appointment-client a{font-size:12px;color:#555}.appointment-recording b,.appointment-status>b{display:block;font:13px Oswald}.appointment-recording small{display:block;font-size:9px;color:#777;margin-top:7px}.appointment-recording .record-scheduled,.appointment-recording .record-recording{color:#277a49}.appointment-recording .record-failed,.appointment-recording .error{color:#a42929}.appointment-status select{margin-top:10px;width:100%;padding:7px;border:1px solid var(--line);background:white}.appointment details{grid-column:1/-1;border-top:1px solid var(--line);padding:10px 20px}.appointment summary{font:10px Oswald;cursor:pointer}.appointment details form{display:flex;gap:8px;margin-top:10px}.appointment details input,.appointment details button{padding:8px;border:1px solid var(--line)}.appointment details button{background:var(--ink);color:white}.empty-state{text-align:center;padding:90px;background:white;border:1px solid var(--line)}.empty-state b{font:50px Bebas Neue}.empty-state a{color:var(--clay);font-weight:800}.login-body{min-height:100vh;display:grid;place-items:center;background:var(--navy)}.login-card{width:min(430px,90vw);background:var(--paper);padding:45px}.login-card img{display:block;width:150px;height:130px;object-fit:contain;margin:auto}.login-card>p{font-size:9px;letter-spacing:.2em;color:var(--clay)}.login-card h1{font:55px Bebas Neue;margin:10px 0 25px}.login-card label{font-size:11px;font-weight:700}.login-card input{display:block;width:100%;padding:14px;border:1px solid var(--line);margin:8px 0 15px}.login-card button{width:100%;padding:15px;background:var(--ink);color:white;border:0;font:16px Oswald}.login-error{padding:12px;background:#f0d7d0;color:#7f281d;margin-bottom:15px}@media(max-width:950px){.dash-sidebar{position:static;width:auto;height:auto}.dash-sidebar nav{display:grid;grid-template-columns:repeat(3,1fr)}.dash-sidebar form{margin-top:20px}.dash-main{margin:0;padding:25px}.appointment{grid-template-columns:120px 1fr}.appointment-recording,.appointment-status{border-top:1px solid var(--line)}.dash-stats{grid-template-columns:1fr 1fr}}@media(max-width:580px){.dash-sidebar nav{grid-template-columns:1fr 1fr}.dash-head{display:block}.head-tools{margin-top:20px}.dash-stats{grid-template-columns:1fr 1fr}.appointment{grid-template-columns:1fr}.appointment>div{border-bottom:1px solid var(--line)}.appointment details{grid-column:auto}.appointment details form{display:grid}.dash-main{padding:18px}.dash-head h1{font-size:40px}}
/* Live chair and walk-in queue */
.queue-grid{display:grid;grid-template-columns:340px 1fr;gap:16px;margin:0 0 24px}.up-next-card,.walkin-queue{background:#fff;border:1px solid var(--line);padding:25px}.up-next-card>span,.walkin-queue header span{font-size:9px;letter-spacing:.18em;color:var(--clay);font-weight:800}.up-next-card h2,.walkin-queue h2{font:30px Oswald;margin:10px 0 3px}.up-next-card p{color:#666;font-size:12px;margin:0 0 12px}.up-next-card>b{font:13px Oswald}.next-avatar{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin-top:20px;background:var(--navy);color:#fff;font:25px Bebas Neue}.walkin-queue{padding:0}.walkin-queue header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.walkin-queue header h2{margin:4px 0 0}.walkin-queue header>b{font:10px Oswald}.walkin-queue header i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#26834b}.walkin-queue header em{font-style:normal}.walkin-queue>p{padding:12px 24px;margin:0;color:#777;font-size:10px;border-bottom:1px solid var(--line)}.walkin-queue>[data-walkin-error]{display:block;margin:10px 24px;color:#9a3026}.walkin-queue>[hidden]{display:none}.walkin-queue ol{list-style:none;margin:0;padding:0}.walkin-queue li{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:12px;padding:15px 24px;border-bottom:1px solid var(--line)}.walkin-queue li>b{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--paper);font:13px Oswald}.walkin-queue li div{display:grid}.walkin-queue li strong{font:17px Oswald}.walkin-queue li small{font-size:10px;color:#777}.walkin-queue li button{border:0;background:var(--clay);color:#fff;padding:9px 13px;font:11px Oswald;cursor:pointer}.walkin-queue .queue-empty{grid-template-columns:1fr;text-align:center;padding:25px}@media(max-width:950px){.queue-grid{grid-template-columns:1fr}}
