:root{--primary:#0f172a;--accent:#2563eb;--bg:#f8fafc;--card:#ffffff;--border:#e2e8f0;--muted:#64748b}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--primary)}.container{max-width:720px;margin:0 auto;padding:24px 16px 64px}.brand{display:flex;align-items:center;gap:16px;margin-bottom:16px}.brand-logo{height:60px;width:auto;object-fit:contain;border-radius:8px}.brand h1{margin:0}.step-breadcrumb{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-bottom:20px}.step-breadcrumb strong{display:block;margin-bottom:8px}.step-breadcrumb strong,.steps{font-size:13px;color:var(--muted)}.steps{display:flex;align-items:center;gap:4px;margin-bottom:24px;flex-wrap:wrap}.steps span:not(.step-arrow){padding:6px 12px;border-radius:20px;background:#f1f5f9;white-space:nowrap}.steps span.active{background:var(--accent);color:#fff;font-weight:600}.steps span.done{background:#dcfce7;color:#15803d;font-weight:600}.step-arrow{color:#cbd5e1;padding:0 2px;background:transparent}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer;transition:border-color .15s}.card.selected,.card:hover{border-color:var(--accent)}.card h3,.card p{margin:0 10px 4px}.card p{color:var(--muted);font-size:14px}.service-card{display:flex;flex-direction:column;padding:0;overflow:hidden}.service-img{width:100%;height:180px;object-fit:contain;background:#f8fafc;border-radius:0;flex-shrink:0;padding:8px}.service-title{margin:12px 14px 0;font-size:16px}.service-desc{margin:4px 14px 14px;color:var(--muted);font-size:13px;white-space:pre-wrap;line-height:1.4}.avail-summary{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-bottom:14px}.avail-summary strong{font-size:13px;color:var(--muted)}.avail-tags{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap}.avail-tag{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:4px 10px;border-radius:6px}.avail-tag.avail-yes{background:#dcfce7;color:#15803d}.avail-tag.avail-no{background:#fee2e2;color:#b91c1c}.avail-icon{font-size:16px;line-height:1}.svc-avail{display:flex;gap:6px;padding:0 14px 12px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));grid-gap:8px;gap:8px}.slot{padding:12px 8px;text-align:center;border:2px solid var(--border);border-radius:12px;background:var(--card);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:2px}.slot-time{display:block;font-size:16px;font-weight:700}.slot-dur{display:block;font-size:11px;color:#94a3b8}.slot:hover{border-color:var(--accent);background:#eff6ff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(37,99,235,.12)}.slot.selected{border-color:var(--accent);background:var(--accent);color:#fff}.slot.selected .slot-dur{color:rgba(255,255,255,.8)}.ontime-footer{text-align:center;padding:20px;font-size:11px;color:#94a3b8;margin-top:40px;border-top:1px solid #f1f5f9}.ontime-footer strong{color:#64748b}.brand-placeholder{height:60px;min-width:120px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#0f172a;letter-spacing:-.5px}.skeleton-slot{padding:12px 8px;border:2px solid #f1f5f9;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:8px;background:#fafafa}.skeleton-line{width:46px;height:14px;background:#e2e8f0;border-radius:4px;animation:pulse 1.5s ease-in-out infinite}.skeleton-line.short{width:30px;height:10px}@keyframes pulse{0%,to{opacity:.3}50%{opacity:.8}}.daybar{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:16px}.day{min-width:72px;padding:8px;text-align:center;border:1px solid var(--border);border-radius:8px;background:var(--card);cursor:pointer;font-size:13px}.day.selected{border-color:var(--accent);background:#eff6ff;font-weight:600}.field{margin-bottom:14px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:4px}.field input,.field select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:15px}.btn{display:inline-block;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:15px;font-weight:600;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:transparent;color:var(--accent)}.error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:8px;padding:12px;margin-bottom:16px;font-size:14px}.success{text-align:center;padding:40px 16px}.success h2{color:#15803d}