:root{--color-primary:#2F7F78;--color-primary-dark:#1F4F4B;--color-surface-warm:#F7F4EE;--color-surface-pure:#FFFCF8;--color-text:#202624;--color-text-muted:#6E746F;--color-trust:#C7A45A;--color-success:#3F8F6B;--color-warning:#D99A2B;--color-danger:#C95454;--color-info:#5F8FA3;--color-primary-soft:#E4F2EF;--color-trust-soft:#F4ECD8;--color-success-soft:#E5F3EC;--color-warning-soft:#F8EBD4;--color-danger-soft:#F7DEDE;--color-info-soft:#E2EEF3;--color-border:#E2DED5;--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1)}*{box-sizing:border-box}html{background:var(--color-surface-warm);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body,html{color:var(--color-text)}body{margin:0;min-height:100vh;background:linear-gradient(180deg,var(--color-surface-pure),var(--color-surface-warm) 280px),var(--color-surface-warm)}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}.shell{min-height:100vh}.topbar{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;min-height:64px;padding:0 24px}.brand-mark{align-items:center;color:var(--color-primary-dark);display:inline-flex;font-size:17px;font-weight:720;gap:10px}.brand-dot{background:var(--color-primary);border-radius:999px;display:inline-block;height:12px;width:12px}.toplink{color:var(--color-text-muted);font-size:14px;font-weight:650}.page{margin:0 auto;max-width:1120px;padding:20px 16px 44px}.narrow{max-width:760px}.hero{display:grid;grid-gap:28px;gap:28px;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);min-height:calc(100vh - 160px);padding-top:32px}.stack{display:grid;grid-gap:18px;gap:18px}.eyebrow{color:var(--color-primary-dark);font-size:13px;font-weight:760;letter-spacing:0;margin:0}h1,h2,h3,p{margin:0}h1{color:var(--color-text);font-size:clamp(34px,7vw,52px);line-height:1.02}h2{font-size:25px;line-height:1.14}h3{font-size:18px;line-height:1.2}.lead{color:var(--color-text-muted);font-size:16px;line-height:1.55;max-width:640px}.surface{background:var(--color-surface-pure);border:1px solid var(--color-border);border-radius:8px;padding:22px}.business-cover{background:linear-gradient(135deg,var(--color-primary-soft),var(--color-trust-soft)),var(--color-surface-pure);min-height:320px}.entry-page{max-width:920px}.entry-hero{align-items:center;display:grid;grid-gap:20px;gap:20px;grid-template-columns:1fr;padding:8px 0 4px}.entry-copy{gap:14px}.entry-actions{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.trust-proof{color:var(--color-primary-dark);font-size:14px;font-weight:720;line-height:1.4}.entry-preview{background:var(--color-surface-pure);border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:16px;gap:16px;overflow:hidden;padding-bottom:2px}.mini-cover,.profile-cover{background:linear-gradient(135deg,var(--color-primary-soft),var(--color-trust-soft))}.mini-cover{min-height:108px}.booking-header,.mini-business,.profile-main{align-items:center;display:flex;gap:14px}.mini-business,.mini-proof{padding:0 16px}.mini-proof{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:16px}.business-avatar{align-items:center;background:var(--color-primary-dark);border:3px solid var(--color-surface-pure);border-radius:999px;color:var(--color-surface-pure);display:inline-flex;flex:0 0 auto;font-size:16px;font-weight:800;height:52px;justify-content:center;width:52px}.business-avatar.large{height:76px;width:76px}.business-page{max-width:980px}.business-profile{background:var(--color-surface-pure);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.profile-cover{min-height:150px;overflow:hidden;position:relative}.profile-cover span{background:linear-gradient(90deg,transparent,var(--color-surface-pure),transparent),linear-gradient(135deg,transparent 0 42%,var(--color-primary-soft) 42% 43%,transparent 43% 100%);bottom:22px;left:0;opacity:.82;position:absolute;right:0;top:0}.profile-cover:after{background:var(--color-surface-pure);border-radius:999px 999px 0 0;bottom:-1px;content:"";height:22px;left:0;position:absolute;right:0}.profile-main{align-items:flex-start;padding:0 18px 20px}.profile-main .business-avatar{margin-top:-38px}.profile-copy{flex:1 1;gap:16px;min-width:0}.profile-meta,.trust-strip{display:flex;flex-wrap:wrap;gap:8px}.profile-meta span,.trust-strip span{background:var(--color-surface-warm);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);font-size:13px;font-weight:680;padding:8px 10px}.trust-strip span{background:var(--color-trust-soft);color:var(--color-primary-dark)}.profile-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:1fr}.compact-panel{display:grid;grid-gap:10px;gap:10px}.profile-panel{justify-content:space-between}.section-heading{display:grid;grid-gap:7px;gap:7px}.flow-section{align-content:start}.profile-facts{display:grid;grid-gap:8px;gap:8px}.profile-facts span{background:var(--color-surface-pure);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:14px;font-weight:650;padding:10px 12px}.primary-action{align-items:center;background:var(--color-primary);border:0;border-radius:999px;color:var(--color-surface-pure);display:inline-flex;font-size:16px;font-weight:760;gap:10px;justify-content:center;min-height:52px;padding:0 24px;box-shadow:0 12px 28px -18px var(--color-primary-dark);transition:transform .16s var(--ease-out),box-shadow .16s var(--ease-out);width:-moz-fit-content;width:fit-content}.primary-action:after{content:"→";font-size:17px;line-height:1}.flow-shell button.row:active,.primary-action:active{transform:scale(.97)}.secondary-link{color:var(--color-primary-dark);font-size:15px;font-weight:700}.list{display:grid;grid-gap:12px;gap:12px}.row{align-items:center;background:var(--color-surface-pure);border:1px solid var(--color-border);border-radius:8px;display:flex;gap:16px;justify-content:space-between;min-height:72px;padding:16px;transition:border-color .18s var(--ease-out),background .18s var(--ease-out),transform .16s var(--ease-out)}.row.selected{background:var(--color-primary-soft);border-color:var(--color-primary)}.service-card{min-height:82px}.service-card.selected .service-arrow{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-surface-pure)}.service-card-side{gap:10px}.service-arrow,.service-card-side{align-items:center;display:inline-flex}.service-arrow{background:var(--color-surface-warm);border:1px solid var(--color-border);border-radius:999px;color:var(--color-primary-dark);font-weight:780;height:30px;justify-content:center;width:30px}.meta,.muted{color:var(--color-text-muted)}.meta{font-size:14px;line-height:1.45}.badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:720;gap:8px;padding:7px 10px;width:-moz-fit-content;width:fit-content}.badge.info{background:var(--color-info-soft);color:var(--color-info)}.badge.success{background:var(--color-success-soft);color:var(--color-success)}.badge.warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge.danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge.trust{background:var(--color-trust-soft);color:var(--color-trust)}.states-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.status-panel{border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:10px;gap:10px;min-height:112px;padding:16px}.status-panel.loading{background:var(--color-primary-soft)}.status-panel.empty{background:var(--color-surface-pure)}.status-panel.expired-quote,.status-panel.stale{background:var(--color-warning-soft)}.status-panel.expired-quote{border-color:var(--color-warning)}.status-panel.requested{background:var(--color-info-soft);border-color:var(--color-info)}.status-panel.confirmed{background:var(--color-success-soft);border-color:var(--color-success)}.status-panel.booking-conflict,.status-panel.failed,.status-panel.slot-unavailable,.status-panel.unauthorized{background:var(--color-danger-soft);border-color:var(--color-danger)}.receipt{background:var(--color-surface-pure);border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:11px;gap:11px;padding:20px}.receipt-line{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;padding-bottom:12px}.receipt-line span{color:var(--color-text-muted)}.receipt-line strong{color:var(--color-text);text-align:right}.receipt-line:last-child{border-bottom:0;padding-bottom:0}.steps{display:flex;flex-wrap:wrap;gap:6px}.step{background:var(--color-surface-pure);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);font-size:12px;font-weight:680;padding:7px 9px}.step.active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-dark)}.dock-health{border-left:4px solid var(--color-info)}.flow-shell{display:grid;grid-gap:14px;gap:14px}.booking-page{max-width:780px}.booking-app{background:var(--color-surface-pure);border:1px solid var(--color-border);border-radius:8px;gap:15px;padding:16px}.booking-header{align-items:flex-start}.booking-header h1{font-size:clamp(27px,8vw,38px);line-height:1.06}.booking-summary{background:var(--color-surface-warm);border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:8px;gap:8px;grid-template-columns:1fr;padding:11px 12px}.booking-summary span{color:var(--color-text);display:grid;font-size:14px;grid-gap:2px;gap:2px}.booking-summary strong{color:var(--color-text-muted);font-size:12px;font-weight:720}.flow-shell button.row{color:inherit;cursor:pointer;font:inherit;text-align:left;width:100%}.flow-shell button.row:focus-visible,.primary-action:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:2px}.voice-guide{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.confirmation-lock{box-shadow:inset 0 0 0 1px var(--color-success)}.confirmation-lock[data-confirmation-lock=true]{animation:confirmation-lock-settle .42s var(--ease-out)}@keyframes confirmation-lock-settle{0%{box-shadow:inset 0 0 0 0 var(--color-success);transform:translateY(2px)}to{box-shadow:inset 0 0 0 1px var(--color-success);transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.confirmation-lock[data-confirmation-lock=true]{animation:none}}.alternatives{background:var(--color-surface-pure);display:grid;grid-gap:14px;gap:14px;padding:16px}.alternative-item,.alternatives{border:1px solid var(--color-border);border-radius:8px}.alternative-item{align-items:center;display:flex;gap:12px;min-height:56px;padding:12px}.alternative-item span{align-items:center;background:var(--color-info-soft);border-radius:999px;color:var(--color-info);display:inline-flex;flex:0 0 auto;font-weight:760;height:24px;justify-content:center;width:24px}.timeline{background:var(--color-surface-pure);border:1px solid var(--color-border);border-radius:8px;display:grid;grid-gap:0;gap:0;padding:6px 14px}.timeline-item{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:12px;min-height:48px}.timeline-item:last-child{border-bottom:0}.timeline-item span{align-items:center;background:var(--color-info-soft);border-radius:999px;color:var(--color-info);display:inline-flex;flex:0 0 auto;font-size:12px;height:22px;justify-content:center;width:22px}.timeline-item.confirmed span,.timeline-item.done span{background:var(--color-success-soft);color:var(--color-success)}.timeline-item.requested span{background:var(--color-info-soft);color:var(--color-info)}.timeline-item p{color:var(--color-text);font-size:14px}@media (max-width:780px){.topbar{padding:0 18px}.page{padding:16px 14px 36px}.hero{grid-template-columns:1fr;min-height:auto}h1{font-size:36px}.states-grid{grid-template-columns:1fr}.row{align-items:flex-start;flex-direction:column}.service-card{align-items:center;flex-direction:row}.primary-action{width:100%}.entry-actions .primary-action{width:auto}.profile-main{display:grid}}@media (hover:hover) and (pointer:fine){.flow-shell button.row:hover,.primary-action:hover{transform:translateY(-1px)}.primary-action:hover{box-shadow:0 16px 30px -18px var(--color-primary-dark)}.flow-shell button.row:hover{border-color:var(--color-primary)}}@media (min-width:760px){.entry-hero{gap:32px;grid-template-columns:minmax(0,1fr) minmax(300px,360px);padding-top:42px}.profile-grid{grid-template-columns:minmax(0,1fr) 300px}.booking-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}