:root{--bg:#100e0c;--bg-2:#171410;--panel:#1c1814;--panel-2:#231e18;--line:#3a3126;--gold:#c4a574;--gold-2:#e2c9a0;--oak:#8b5e3c;--text:#f3ead8;--muted:#b7aa94;--danger:#c45c4a;--ok:#7d9b6a;--shadow:0 18px 50px #00000059;color:var(--text);background:var(--bg);font-family:Outfit,system-ui,sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(1200px 600px at 10% -10%, #2a2118 0%, var(--bg) 55%)}a{color:inherit;text-decoration:none}h1,h2,h3,.brand{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-weight:600}button,input,select,textarea{font:inherit;color:inherit}.brand-logo{filter:drop-shadow(0 8px 20px #17362573);display:block}.brand-lockup{align-items:center;gap:10px;display:flex}.hero-logo{width:min(280px,70vw);margin:0 auto 12px}.btn{border:1px solid var(--gold);background:var(--gold);color:#1a140e;cursor:pointer;letter-spacing:.02em;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:600;display:inline-flex}.btn:hover{filter:brightness(1.08)}.btn.secondary{color:var(--gold-2);background:0 0}.btn.ghost{border-color:var(--line);color:var(--text);background:0 0}.btn.danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn.small{padding:6px 12px;font-size:.85rem}.btn:disabled{opacity:.5;cursor:not-allowed}.field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.field label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem}.field input,.field select,.field textarea{border:1px solid var(--line);background:#120f0c;border-radius:10px;outline:none;padding:10px 12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}.card{background:linear-gradient(180deg, var(--panel) 0%, var(--panel-2) 100%);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:20px}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.muted{color:var(--muted)}.gold{color:var(--gold)}.error{color:var(--danger);font-size:.9rem}.badge{border:1px solid var(--line);color:var(--gold-2);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:3px 10px;font-size:.75rem;display:inline-flex}.badge.pending{color:#e2c9a0}.badge.confirmed{color:#9ec0e6}.badge.in_progress{color:#e0c36a}.badge.completed{color:var(--ok)}.badge.cancelled,.badge.no_show{color:var(--danger)}.badge.low{color:var(--danger);border-color:var(--danger)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:500}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.layout{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#120f0c;flex-direction:column;gap:8px;padding:24px 16px;display:flex}.sidebar .brand{color:var(--gold);font-size:1.7rem;line-height:1.1}.sidebar nav{flex-direction:column;gap:4px;margin-top:18px;display:flex}.sidebar a{color:var(--muted);border-radius:10px;padding:10px 12px}.sidebar a.active,.sidebar a:hover{color:var(--text);background:#241d16}.sidebar .grow{flex:1}.main{padding:28px 32px 48px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-head h1{font-size:2.2rem}.stat{padding:16px}.stat .label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.stat .value{color:var(--gold);font-family:Cormorant Garamond,serif;font-size:1.8rem}.kiosk-launch{justify-content:space-between;align-items:center;gap:16px;margin-top:4px;margin-bottom:16px;text-decoration:none;display:flex}.kiosk-launch:hover{border-color:var(--gold)}.monitor-hero{padding:28px}.monitor-hero .label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}.monitor-total{color:var(--gold);margin-top:6px;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2.6rem,8vw,4.4rem);line-height:1.05}.monitor-list{margin:12px 0 0;padding:0;list-style:none}.monitor-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.monitor-list li:last-child{border-bottom:0}.monitor-amt{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.live-dot{background:var(--ok);vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:8px;animation:1.8s ease-out infinite live-pulse;display:inline-block;box-shadow:0 0 #7d9b6ab3}@keyframes live-pulse{0%{box-shadow:0 0 #7d9b6a8c}70%{box-shadow:0 0 0 8px #7d9b6a00}to{box-shadow:0 0 #7d9b6a00}}.hero{place-items:center;min-height:100vh;padding:40px 20px;display:grid}.hero-inner{text-align:center;max-width:820px}.hero h1{color:var(--gold);font-size:clamp(3rem,8vw,5.4rem)}.hero p{color:var(--muted);max-width:560px;margin:12px auto 28px;font-size:1.15rem}.public-nav{justify-content:space-between;align-items:center;padding:22px 32px;display:flex;position:absolute;top:0;left:0;right:0}.slots{flex-wrap:wrap;gap:8px;display:flex}.slot{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:10px;padding:8px 12px}.slot.active{border-color:var(--gold);color:var(--gold-2);background:#2a2218}.modal-backdrop{z-index:20;background:#0000008c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(560px,100%);max-height:90vh;overflow:auto}.steps{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.step{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:.85rem}.step.on{border-color:var(--gold);color:var(--gold-2)}.login-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(420px,100%)}.kiosk{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:100vh;padding:32px 20px;display:flex}.kiosk h1{color:var(--gold);margin:8px 0;font-size:clamp(2rem,6vw,3.4rem)}.kiosk-open{justify-content:flex-start;padding-top:28px}.kiosk-split{grid-template-columns:1.1fr .9fr;align-items:center;gap:28px;width:min(1080px,100%);margin-top:8px;display:grid}.kiosk-attract,.kiosk-qr-panel{text-align:center;flex-direction:column;align-items:center;display:flex}.kiosk-qr-panel{background:linear-gradient(180deg, var(--panel) 0%, var(--panel-2) 100%);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:28px 22px}.kiosk-actions{flex-direction:column;gap:14px;width:min(420px,100%);margin-top:18px;display:flex}.kiosk-btn{padding:18px 20px;font-size:1.15rem}.barber-scene{width:min(420px,92vw);margin:0 auto 8px;position:relative}.barber-svg{width:100%;height:auto;overflow:visible}.barber-pole{border:2px solid var(--gold);background:#fff8ee;border-radius:8px;width:16px;height:110px;position:absolute;top:28px;right:18px;overflow:hidden}.barber-pole span{background:repeating-linear-gradient(-32deg,#c45c4a 0 10px,#fff8ee 10px 20px,#3a6ea5 20px 30px,#fff8ee 30px 40px);width:100%;height:220%;animation:2.8s linear infinite pole-spin;display:block}.clippers{transform-origin:148px 85px;animation:1.15s ease-in-out infinite clip-cut}.clip-hair{opacity:0;animation:1.6s ease-in infinite hair-fall}.hair-2{animation-delay:.35s}.hair-3{animation-delay:.7s}@keyframes clip-cut{0%,to{transform:translate(0)rotate(-8deg)}50%{transform:translate(10px,-14px)rotate(10deg)}}@keyframes hair-fall{0%{opacity:0;transform:translateY(0)}20%{opacity:1}to{opacity:0;transform:translateY(42px)}}@keyframes pole-spin{0%{transform:translateY(-40%)}to{transform:translateY(0)}}.qr-wrap{border:1px solid var(--line);background:#171410;border-radius:18px;margin:12px 0;padding:16px}.stamps{justify-content:center;gap:8px;margin-top:10px;display:flex}.stamp{border:1px solid var(--line);width:36px;height:36px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;display:inline-flex}.stamp.on{background:var(--gold);color:#1a140e;border-color:var(--gold);font-weight:700}@media (width<=860px){.kiosk-split,.layout{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center}.sidebar nav{flex-flow:wrap;margin-top:0}.main{padding:20px}}
