:root{--color-bg:#111310;--color-bg-soft:#1a1d18;--color-surface:#f5f0e7;--color-surface-raised:#fffaf2;--color-text:#20211d;--color-text-muted:#68685f;--color-text-on-dark:#f7f1e7;--color-accent:#bb7940;--color-accent-dark:#8e5225;--color-border:#d9d0c2;--color-danger:#9f2f2f;--color-danger-bg:#fff0ee;--color-success:#286943;--color-success-bg:#edf8f0;--shadow-card:0 22px 55px #00000038;--shadow-control:0 0 0 3px #bb794033;--font-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading:Georgia, "Times New Roman", serif;font-family:var(--font-body);color:var(--color-text-on-dark);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:radial-gradient(circle at top, #bb794021, transparent 34rem), linear-gradient(160deg, var(--color-bg-soft), var(--color-bg) 58%);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{touch-action:manipulation}#root{min-height:100vh}h1,h2,h3,p{margin-top:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.container{flex-direction:column;width:min(100% - 32px,960px);min-height:100vh;margin:0 auto;padding:48px 0 72px;display:flex}.header{text-align:center;margin-bottom:38px;padding-bottom:24px;position:relative}.header:after{background:var(--color-accent);content:"";border-radius:999px;width:72px;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.header h1{color:var(--color-text-on-dark);font-family:var(--font-heading);letter-spacing:-.055em;margin:0;font-size:clamp(2.8rem,8vw,4.8rem);font-weight:600;line-height:.95}.main-content{flex:1;width:100%}.site-footer{color:#f7f1e79e;text-align:center;border-top:1px solid #f7f1e71f;margin-top:56px;padding-top:22px;font-size:.86rem;line-height:1.5}.site-footer p{margin:0}.site-footer a{color:#d9a474;text-underline-offset:3px;font-weight:700}.site-footer a:hover{color:#efbd8e}.site-footer a:focus-visible{outline-offset:3px;border-radius:3px;outline:3px solid #bb794057}.main-content>p:not(.error-banner){color:#f7f1e7c7;text-align:center}.main-content>section:not(.booking-form-card):not(.confirmation-card){grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.main-content>section:not(.booking-form-card):not(.confirmation-card)>h2{color:var(--color-text-on-dark);font-family:var(--font-heading);text-align:center;grid-column:1/-1;margin:0 0 8px;font-size:clamp(1.7rem,4vw,2.2rem);font-weight:600}.barber-card,.booking-form-card,.confirmation-card{background:var(--color-surface);box-shadow:var(--shadow-card);color:var(--color-text);border:1px solid #ffffff14;border-radius:18px}.barber-card{text-align:left;flex-direction:column;align-items:flex-start;min-height:210px;margin:0;padding:28px;display:flex}.barber-card h3{font-family:var(--font-heading);margin-bottom:10px;font-size:1.75rem}.barber-card p{color:var(--color-text-muted);margin-bottom:24px}.barber-card .book-btn{width:100%;margin-top:auto}.booking-form-card,.confirmation-card{width:min(100%,640px);margin:0 auto;padding:clamp(24px,5vw,42px)}.booking-form-card h2,.confirmation-card h2{color:var(--color-text);font-family:var(--font-heading);text-align:center;margin:0 0 28px;font-size:clamp(1.75rem,5vw,2.35rem);font-weight:600}.form-group{text-align:left;flex-direction:column;margin-bottom:20px;display:flex}.form-group label{color:var(--color-text);letter-spacing:.01em;margin-bottom:8px;font-size:.92rem;font-weight:700}.form-group input,.form-group select{border:1px solid var(--color-border);background:var(--color-surface-raised);width:100%;min-height:48px;color:var(--color-text);border-radius:10px;outline:none;padding:11px 14px;transition:border-color .16s,box-shadow .16s,background-color .16s}.form-group input::placeholder{color:#969187}.form-group input:hover:not(:disabled),.form-group select:hover:not(:disabled){border-color:#b7aa98}.form-group input:focus-visible,.form-group select:focus-visible{border-color:var(--color-accent);box-shadow:var(--shadow-control)}.form-group input:disabled,.form-group select:disabled{cursor:not-allowed;color:#8c887f;opacity:1;background:#e8e3da}.form-group small{color:var(--color-text-muted);margin-top:7px;font-size:.8rem;line-height:1.45}.form-group p{color:var(--color-text-muted);margin:8px 0 0;font-size:.88rem}.button-group{grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-top:28px;display:grid}.book-btn,.cancel-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;min-height:46px;padding:11px 20px;font-weight:750;transition:transform .15s,background-color .15s,border-color .15s,box-shadow .15s}.book-btn{background:var(--color-accent);color:#1b130d;box-shadow:0 8px 22px #8e52253d}.cancel-btn{border-color:var(--color-border);color:var(--color-text);background:0 0}.book-btn:hover:not(:disabled){background:#ca8950;transform:translateY(-1px)}.cancel-btn:hover:not(:disabled){background:#ffffff80;border-color:#b7aa98}.book-btn:focus-visible,.cancel-btn:focus-visible{outline-offset:3px;outline:3px solid #bb794057}.book-btn:disabled,.cancel-btn:disabled{cursor:not-allowed;opacity:.55;transform:none}.error-banner{background:var(--color-danger-bg);color:var(--color-danger);text-align:left;border:1px solid #edc2bd;border-radius:10px;margin:0 0 20px;padding:12px 14px;line-height:1.45}.confirmation-card{background:var(--color-success-bg);text-align:center;border-color:#b9d9c4}.confirmation-card h2{color:var(--color-success)}.confirmation-card p{color:#3e5949;margin-bottom:12px;line-height:1.55}.confirmation-card .book-btn{margin-top:18px}@media (width<=680px){.container{width:min(100% - 24px,960px);padding:32px 0 48px}.header{margin-bottom:30px}.main-content>section:not(.booking-form-card):not(.confirmation-card){grid-template-columns:1fr}.barber-card{min-height:0;padding:24px}.booking-form-card,.confirmation-card{border-radius:14px}.button-group{grid-template-columns:1fr}.cancel-btn{grid-row:2}}
