@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#17231d;background:#f4f1e8;font-synthesis:none;--ink: #14251d;--paper: #fffdf7;--accent: #d7ff68;--muted: #6e766f;--line: #dcd8cc}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top right,#e3eec7 0,transparent 34rem),#f4f1e8}button,input,select{font:inherit}button{cursor:pointer}.shell{width:min(720px,100%);min-height:100vh;margin:0 auto;padding:28px 22px 80px}h1{font-family:Manrope,sans-serif;letter-spacing:-.04em;line-height:1.06}.landing{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.landing h1{max-width:640px;font-size:clamp(2.5rem,9vw,5rem);margin:24px 0}.landing p{max-width:520px;color:var(--muted);font-size:1.1rem;line-height:1.7}.landing-brand{display:flex;gap:12px;align-items:center;padding:8px 16px 8px 8px;border-radius:999px;background:var(--ink);color:#fff;font-weight:800;letter-spacing:.08em}.landing-brand img{width:40px;height:40px;border-radius:50%;background:var(--accent);object-fit:contain}.landing-actions{display:flex;flex-wrap:wrap;gap:10px}.primary-button,.secondary-button{border:0;border-radius:16px;padding:16px 22px;font-weight:700;text-decoration:none;text-align:center;transition:transform .15s ease,box-shadow .15s ease}.primary-button{background:var(--ink);color:#fff;box-shadow:0 10px 30px #14251d26}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.secondary-button{background:var(--accent);color:var(--ink)}.full{width:100%}.business-header{display:flex;gap:16px;align-items:center;padding-bottom:28px;border-bottom:1px solid var(--line)}.business-header h1{margin:3px 0 5px;font-size:clamp(1.8rem,7vw,3rem)}.business-header p{margin:0;color:var(--muted)}.header-link,.back-link{margin-left:auto;color:var(--ink);font-weight:700;text-decoration:none}.business-logo{width:64px;height:64px;flex:0 0 64px;border-radius:20px;padding:7px;background:var(--accent);object-fit:contain;object-position:center}.eyebrow,.step-label{color:#566057;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.step-section{padding:26px 0;border-bottom:1px solid var(--line)}.step-label{display:block;margin-bottom:14px}.step-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:6px}.step-title .step-label{margin-bottom:0}.step-title>span:last-child{color:var(--muted);font-size:.82rem;font-weight:700}.helper-text.compact{margin:4px 0 14px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.service-card{position:relative;display:flex;min-height:98px;flex-direction:column;justify-content:space-between;text-align:left;border:1px solid var(--line);border-radius:17px;padding:15px 42px 15px 15px;background:#fff9;color:var(--ink)}.service-check{position:absolute;top:12px;right:12px;display:grid;width:23px;height:23px;place-items:center;border:1px solid currentColor;border-radius:50%;font-weight:800}.service-card span{color:var(--muted);font-size:.88rem}.service-card .service-meta{display:flex;gap:6px;align-items:center}.service-card .service-meta b{color:var(--ink);font-weight:700}.service-card.selected .service-meta b{color:var(--green)}.service-card.selected,.date-card.selected,.slot.selected,.chip.selected{border-color:var(--ink);background:var(--ink);color:#fff;box-shadow:0 8px 24px #14251d24}.service-card.selected span,.date-card.selected span,.date-card.selected small{color:#dce4de}.choice-row{display:flex;flex-wrap:wrap;gap:9px}.chip{border:1px solid var(--line);border-radius:999px;padding:10px 15px;background:#fff9;color:var(--ink)}.date-carousel{position:relative;margin:0 -4px}.date-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 44px 12px;scroll-padding-inline:44px;scroll-snap-type:x proximity;scrollbar-width:none}.date-strip::-webkit-scrollbar{display:none}.date-card{min-width:70px;scroll-snap-align:start;border:1px solid var(--line);border-radius:16px;padding:10px 8px;background:#fff9;color:var(--ink)}.date-arrow{position:absolute;z-index:2;top:27px;display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);box-shadow:0 6px 18px #14251d22;font-size:1.65rem;line-height:1}.date-arrow.previous{left:4px}.date-arrow.next{right:4px}.date-card span,.date-card small{display:block;color:var(--muted);font-size:.72rem;text-transform:capitalize}.date-card strong{display:block;margin:3px 0;font-size:1.35rem}.slot-legend{display:flex;justify-content:flex-end;gap:14px;margin-top:12px;color:var(--muted);font-size:.78rem}.slot-legend span{display:flex;gap:6px;align-items:center}.slot-legend i{width:9px;height:9px;border-radius:50%;background:var(--paper);border:1px solid var(--ink)}.slot-legend i.occupied{border-color:#bbb9b0;background:#d9d8d1}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.slot{display:grid;gap:2px;min-height:45px;place-content:center;border:1px solid var(--line);border-radius:12px;padding:7px 5px;background:var(--paper);color:var(--ink)}.slot.unavailable{border-color:#d8d6cf;background:#ebeae4;color:#8c8d88;cursor:not-allowed;box-shadow:none}.slot.unavailable small{color:#9a5c54;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.empty-note,.privacy-note,.helper-text{color:var(--muted);font-size:.88rem;line-height:1.55}.customer-form{margin-top:24px;padding:22px;border-radius:24px;background:var(--paper);box-shadow:0 18px 60px #635b4218}.summary-line{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.summary-line strong{text-align:right}.summary-line>span{display:grid;gap:4px;font-weight:700}.summary-line small{color:var(--muted);font-weight:500}.booking-policy{margin:12px 0;padding:11px 13px;border-radius:12px;background:#edf3df;color:#3b543d;font-size:.84rem;line-height:1.5}.booking-policy.warning{background:#fff1dc;color:#6f4807}label{display:grid;gap:8px;margin:14px 0;font-size:.86rem;font-weight:700}input,select{width:100%;border:1px solid var(--line);border-radius:13px;padding:13px 14px;color:var(--ink);background:#fff;outline:none}input:focus,select:focus{border-color:#79886f;box-shadow:0 0 0 3px #d7ff6844}.error-box{margin:14px 0;padding:12px 14px;border-radius:12px;background:#ffebe8;color:#8b2e22}.otp-panel{display:grid;gap:12px;margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:#f6f8ee}.otp-panel p{display:grid;gap:3px;margin:0}.otp-panel p span{color:var(--muted);font-size:.84rem;font-weight:400}.otp-panel input{text-align:center;font-size:1.35rem;font-weight:700;letter-spacing:.32em}.state-page{display:grid;place-content:center;text-align:center;color:var(--muted)}.appointment-page{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.appointment-page h1{margin:12px 0 8px;font-size:clamp(2.2rem,8vw,4rem)}.lead{margin:0 0 28px;color:var(--muted)}.status-orb{display:grid;place-items:center;width:74px;height:74px;margin-bottom:24px;border-radius:50%;background:var(--accent);font-size:2rem;font-weight:800}.status-orb.rejected,.status-orb.cancelled,.status-orb.cancelledbybusiness,.status-orb.noshow{background:#ffd4cf}.appointment-ticket{width:100%;margin:0 0 18px;border:1px solid var(--line);border-radius:22px;padding:8px 20px;background:var(--paper);text-align:left}.appointment-ticket div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px dashed var(--line)}.appointment-ticket div:last-child{border-bottom:0}.appointment-ticket span{color:var(--muted)}.appointment-ticket strong{text-align:right}.text-button{border:0;padding:15px;background:transparent;color:#8b2e22;text-decoration:underline}.request-state{display:grid;width:100%;gap:4px;margin:0 0 14px;padding:14px;border-radius:14px;text-align:left}.request-state span{color:var(--muted);font-size:.86rem}.request-state.pending{background:#fff1dc;color:#6f4807}.request-state.rejected{background:#ffebe8;color:#8b2e22}.my-appointments-page h1{margin:8px 0;font-size:clamp(2.2rem,8vw,4rem)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--line)}.page-heading h1{margin-bottom:0}.customer-appointment-section{margin-top:28px}.customer-appointment-section h2{font-family:Manrope,sans-serif}.customer-appointment-list{display:grid;gap:10px}.customer-appointment-card{display:grid;grid-template-columns:92px 1fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:15px;background:var(--paper)}.customer-appointment-date{display:grid;gap:3px}.customer-appointment-date strong{font-size:1.25rem}.customer-appointment-date span,.customer-appointment-card p,.customer-appointment-card small{color:var(--muted);font-size:.8rem}.customer-appointment-card h3{margin:4px 0}.customer-appointment-card p{margin:0}.customer-appointment-card small{display:block;margin-top:6px}.customer-appointment-card button{border:1px solid #e4b7b0;border-radius:10px;padding:9px 11px;background:#fff1ee;color:#8d3327;font-weight:700}@media(max-width:560px){.shell{padding-right:16px;padding-left:16px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:88px;padding:13px 36px 13px 13px}.service-check{top:10px;right:10px;width:21px;height:21px}.slot-grid{grid-template-columns:repeat(3,1fr)}.summary-line{flex-direction:column}.summary-line strong{text-align:left}.business-header{align-items:flex-start}.business-header .header-link{font-size:.78rem}.customer-appointment-card{grid-template-columns:76px 1fr}.customer-appointment-card button{grid-column:2;justify-self:start}}
