:root{--primary: #566be4;--primary-dark: #4453c4;--bg: #fafafa;--card: #ffffff;--text: #1c1b1f;--text-muted: #49454f;--text-faint: #79747e;--border: #e0e0e0;--error: #cc5d51;--error-bg: #fdecea;--success: #34c759;--shadow: 0 2px 8px rgba(0, 0, 0, .08);--radius: 16px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.app{max-width:520px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:10;background:var(--card);border-bottom:1px solid var(--border);padding:14px 16px;display:flex;align-items:center;gap:12px}.topbar .back{border:none;background:#f3f4f8;color:var(--primary);width:36px;height:36px;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;flex-shrink:0}.topbar .back:disabled{opacity:0;pointer-events:none}.topbar .title{font-size:17px;font-weight:600}.topbar .step{margin-left:auto;font-size:13px;color:var(--text-faint)}.content{flex:1;padding:16px 16px 24px}.section-title{font-size:15px;font-weight:600;margin:4px 0 12px}.barber-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:16px}.barber-card .name{font-size:18px;font-weight:700;display:flex;align-items:center;gap:8px}.barber-card .address{margin-top:6px;font-size:13px;color:var(--text-muted);line-height:1.4}.card{background:var(--card);border-radius:12px;box-shadow:var(--shadow);padding:16px;margin-bottom:10px;cursor:pointer;border:2px solid transparent;transition:border-color .15s,background .15s;width:100%;text-align:left;display:block}.card.selected{background:#e8f2ff;border-color:var(--primary)}.card .service-name{font-size:15px;font-weight:600}.card .service-desc{font-size:13px;color:var(--text-muted);margin-top:3px;line-height:1.4}.card .service-meta{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.card .duration{font-size:13px;color:var(--text-muted);font-weight:500}.card .price{font-size:13px;color:var(--primary);font-weight:600}.check{color:var(--primary);font-weight:700}.slot{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.slot .time{font-size:18px;font-weight:700}.date-nav{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;align-items:center;gap:8px;padding:10px;margin-bottom:16px}.date-nav button.arrow{border:none;background:#f3f4f8;color:var(--primary);width:40px;height:40px;border-radius:24px;font-size:22px;cursor:pointer;flex-shrink:0}.date-nav button.arrow:disabled{color:#ccc;cursor:not-allowed}.date-nav .date-picker{flex:1;position:relative;background:#f8f9fa;border-radius:12px;padding:10px 12px;font-weight:600;text-align:center}.date-nav .date-picker input[type=date]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;border:none;cursor:pointer}.field{margin-bottom:16px}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.field .hint{font-weight:400;color:var(--text-faint)}.field input{width:100%;padding:14px;font-size:16px;border:1px solid var(--border);border-radius:12px;background:var(--card)}.field input:focus{outline:none;border-color:var(--primary)}.summary{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:16px}.summary h3{margin:0 0 16px;font-size:17px}.summary .row{margin-bottom:14px}.summary .row:last-child{margin-bottom:0}.summary .row .label{font-size:13px;color:var(--text-faint);margin-bottom:2px}.summary .row .value{font-size:15px;font-weight:500}.bottombar{position:sticky;bottom:0;background:var(--card);border-top:1px solid var(--border);padding:14px 16px;padding-bottom:max(14px,env(safe-area-inset-bottom))}.btn{width:100%;padding:16px;font-size:16px;font-weight:600;border:none;border-radius:12px;background:var(--primary);color:#fff;cursor:pointer}.btn:active{background:var(--primary-dark)}.btn:disabled{background:#ccc;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--primary);border:1px solid var(--border)}.center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px;gap:12px}.spinner{width:38px;height:38px;border:4px solid #e0e0e0;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.muted{color:var(--text-muted);font-size:15px}.faint{color:var(--text-faint);font-size:13px}.error-banner{display:flex;gap:8px;align-items:center;background:var(--error-bg);color:var(--error);border-left:3px solid var(--error);padding:12px;border-radius:8px;font-size:14px;margin-bottom:16px}.empty{text-align:center;color:var(--text-muted);padding:40px 16px}.empty .big{font-size:40px;margin-bottom:8px}.success-icon{width:84px;height:84px;border-radius:50%;background:var(--success);color:#fff;font-size:46px;display:flex;align-items:center;justify-content:center}.brand-footer{text-align:center;padding:16px;font-size:12px;color:var(--text-faint)}.privacy-page{background:var(--bg)}.privacy-main{max-width:720px;margin:0 auto;padding:24px 20px 48px}.privacy-main h1{font-size:1.75rem;margin:0 0 8px;color:var(--primary)}.privacy-main h2{font-size:1.1rem;margin:28px 0 8px}.privacy-main p,.privacy-main li{font-size:.95rem;line-height:1.6}.privacy-main ul{padding-left:1.25rem}.privacy-main a{color:var(--primary)}.privacy-main code{font-size:.85em;background:#f0f0f0;padding:2px 6px;border-radius:4px}.landing{min-height:100vh;background:var(--bg);color:var(--text)}.landing-hero{background:linear-gradient(135deg,#4a5fd4 0%,var(--primary) 100%);color:#fff;padding:48px 20px 56px}.landing-hero-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:32px;align-items:center}@media (min-width: 900px){.landing-hero-inner{grid-template-columns:1fr 280px}}.landing-eyebrow{margin:0 0 8px;font-size:.9rem;opacity:.9;text-transform:uppercase;letter-spacing:.06em}.landing-hero h1{margin:0 0 16px;font-size:clamp(2.5rem,6vw,3.5rem);font-weight:800;letter-spacing:-.02em}.landing-lead{margin:0 0 28px;font-size:1.1rem;line-height:1.6;max-width:520px;opacity:.95}.landing-cta{display:flex;flex-wrap:wrap;gap:12px}.landing-btn{display:inline-block;padding:14px 22px;border-radius:12px;font-weight:600;font-size:.95rem;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.landing-btn.primary{background:#fff;color:var(--primary);box-shadow:0 4px 14px #00000026}.landing-btn.secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)}.landing-btn:hover{transform:translateY(-1px)}.landing-hero-shot img{width:100%;max-width:280px;display:block;margin:0 auto;border-radius:24px;box-shadow:0 20px 50px #00000040}.landing-section{max-width:1100px;margin:0 auto;padding:48px 20px}.landing-section.alt{background:#fff;max-width:none;padding-left:max(20px,calc((100% - 1100px)/2));padding-right:max(20px,calc((100% - 1100px)/2))}.landing-section h2{margin:0 0 8px;font-size:1.6rem;color:var(--primary)}.landing-section-lead{margin:0 0 28px;color:var(--text-muted);max-width:640px;line-height:1.6}.landing-shots{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.landing-shots figure{margin:0;flex:0 0 auto;scroll-snap-align:start}.landing-shots img{height:420px;width:auto;border-radius:20px;box-shadow:var(--shadow);display:block}.landing-shots.barber img{height:460px}.landing-features{margin:28px 0 0;padding-left:1.25rem;color:var(--text-muted);line-height:1.8}.landing-section code{font-size:.9em;background:#f0f0f0;padding:2px 8px;border-radius:6px}.landing-footer{text-align:center;padding:32px 20px 48px;font-size:.9rem;color:var(--text-faint);border-top:1px solid var(--border)}.landing-footer a{color:var(--primary)}
