.chat-page{--chat-tile-1: color-mix(in srgb, var(--bg-elevated) 88%, black);--chat-tile-2: var(--bg-elevated);--chat-tile-3: color-mix(in srgb, var(--bg-elevated) 92%, var(--text));--chat-tile-4: color-mix(in srgb, var(--bg-elevated) 94%, black);--chat-gap: 6px;--chat-header-h: 56px;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg)}.chat-page~.hapo-footer,body:has(.chat-page) .logo-mark,body:has(.chat-page)>.hapo-footer{display:none}.chat-panel{width:min(760px,100vw);height:100dvh;max-height:100dvh;display:grid;grid-template-rows:minmax(0,auto) 0 2px 1fr auto;transition:grid-template-rows .32s cubic-bezier(.2,.9,.25,1);position:relative;overflow:hidden;background:var(--bg-card);border-left:1px solid var(--border);border-right:1px solid var(--border)}.chat-panel.brand-collapsed{grid-template-rows:0 var(--chat-header-h) 2px 1fr auto}.chat-panel .brand-crown:not(.brand-crown--bleed) .brand-band{border-radius:0}@media(prefers-reduced-motion:reduce){.chat-panel{transition:none}}@media(min-width:768px){.chat-page{padding:24px 0}.chat-panel{height:min(880px,calc(100dvh - 48px));border:1px solid var(--border)}}.chat-header{display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--bg-card);overflow:hidden}.chat-header-name{font-weight:700;font-size:.95rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.chat-header-action{font-size:.75rem;color:var(--text-muted);border:1px solid var(--border);padding:6px 10px;text-decoration:none;min-height:unset}.chat-header-action:hover{color:var(--accent);border-color:var(--accent)}.chat-progress{background:var(--border)}.chat-progress-fill{height:100%;width:0%;background:var(--accent);transition:width .32s cubic-bezier(.2,.9,.25,1)}.chat-transcript{display:flex;flex-direction:column;gap:10px;padding:20px 16px 24px;overflow-y:auto;transition:opacity .38s cubic-bezier(.2,.9,.25,1)}.chat-transcript[data-dimmed=true]{opacity:.45}.chat-turn{display:flex;flex-direction:column;gap:4px;max-width:100%}.chat-turn[data-role=user]{align-items:flex-end}.chat-bubble{max-width:78%;padding:10px 14px;font-size:.9375rem;line-height:1.5;background:var(--bg-elevated);color:var(--text);border:1px solid var(--accent);border-radius:16px 16px 16px 4px}.chat-turn[data-role=user] .chat-bubble{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);border-radius:16px 16px 4px;font-weight:600}.chat-bubble[data-editable=true]{cursor:pointer}.chat-bubble[data-editable=true]:hover{outline:1px solid var(--accent);outline-offset:2px}.chat-turn[data-grouped=true]{margin-top:-6px}.chat-turn[data-grouped=true] .chat-bubble{border-top-left-radius:4px}.chat-turn[data-role=user][data-grouped=true] .chat-bubble{border-top-right-radius:4px}.chat-typing{display:flex;gap:4px;padding:10px 14px;width:fit-content;background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px 16px 16px 4px}.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:chat-bounce 1.2s infinite ease-in-out}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes chat-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.chat-error{margin:0 16px 8px;padding:10px 12px;color:var(--danger);border:1px solid var(--danger);font-size:.85rem}.chat-sheet-host{position:absolute;left:0;right:0;bottom:0;pointer-events:none;z-index:2}.chat-sheet{pointer-events:auto;outline:none;max-height:62dvh;overflow-y:auto;background:var(--bg-card);border-top:1px solid var(--border);padding:16px}.chat-sheet-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:12px}.chat-tiles{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(var(--tap-min),auto);grid-auto-flow:dense;gap:var(--chat-gap);perspective:1200px}@media(min-width:560px){.chat-tiles{grid-template-columns:repeat(3,1fr)}}@media(min-width:720px){.chat-tiles{grid-template-columns:repeat(4,1fr)}}.chat-tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:2px;min-height:var(--tap-min);padding:14px;border:none;border-radius:2px;text-align:left;font-family:inherit;color:var(--text);background:var(--chat-tile-2);cursor:pointer;overflow:hidden;transform-origin:top center;transition:background .15s}.chat-tile[data-tone="1"]{background:var(--chat-tile-1)}.chat-tile[data-tone="2"]{background:var(--chat-tile-2)}.chat-tile[data-tone="3"]{background:var(--chat-tile-3)}.chat-tile[data-tone="4"]{background:var(--chat-tile-4)}.chat-tile[data-placeholder="1"]{--tile-bg: var(--service-placeholder-1)}.chat-tile[data-placeholder="2"]{--tile-bg: var(--service-placeholder-2)}.chat-tile[data-placeholder="3"]{--tile-bg: var(--service-placeholder-3)}.chat-tile[data-placeholder="4"]{--tile-bg: var(--service-placeholder-4)}.chat-tile[data-placeholder]{background:var(--tile-bg)}.chat-tile[data-placeholder] .chat-tile-name,.chat-tile[data-placeholder] .chat-tile-meta,.chat-tile[data-placeholder] .chat-tile-desc{color:var(--accent-fg)}.chat-tile-wrap{position:relative;aspect-ratio:1;transform-style:preserve-3d}.chat-tile-wrap .chat-tile{position:absolute;inset:0;width:100%;height:100%}.chat-tile[data-size="2x1"]{grid-column:span 2}.chat-tile[data-size="1x1"]{aspect-ratio:1}.chat-tile:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.chat-tile[data-placeholder]:focus-visible{outline-color:var(--accent-fg)}.chat-tile[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 16%,var(--bg-elevated))}.chat-tile[data-placeholder][aria-pressed=true]{background:var(--tile-bg);filter:brightness(1.15)}.chat-tile-name{font-weight:700;font-size:.9rem;line-height:1.25;position:relative}.chat-tile-meta{font-size:.75rem;color:var(--text-muted);position:relative}.chat-tile-desc{font-size:.78rem;color:var(--text-muted);position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-services .chat-tile{justify-content:flex-start;gap:4px}.chat-services .chat-tile-meta{font-size:.78rem;font-weight:600;letter-spacing:.01em;color:var(--text)}.chat-services .chat-tile-name{margin-top:auto;font-size:1.25rem;font-weight:700;line-height:1.15;letter-spacing:-.01em}.chat-services .chat-tile-desc{font-size:.85rem;font-weight:400;line-height:1.35;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-tile-photos{position:absolute;inset:0}.chat-tile-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s linear}.chat-tile-photo[data-active=true]{opacity:1}.chat-tile-scrim{position:absolute;inset:0;background:linear-gradient(to top,color-mix(in srgb,var(--bg) 88%,transparent) 0%,color-mix(in srgb,var(--bg) 40%,transparent) 45%,transparent 75%),linear-gradient(to bottom,color-mix(in srgb,var(--bg) 55%,transparent) 0%,transparent 30%)}.chat-tile-expand{position:absolute;top:12px;right:12px;z-index:1;width:28px;height:28px;min-height:0;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;background:color-mix(in srgb,var(--bg) 55%,transparent);color:var(--text)}.chat-price-note{font-size:.75rem;color:var(--text-muted);margin-bottom:10px}.chat-composer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-card)}.chat-composer[hidden]{display:none}.chat-input{flex:1;background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-family:inherit;font-size:1rem;padding:12px 14px;outline:none}.chat-input:focus{border-color:var(--accent)}.chat-field-error{color:var(--danger);font-size:.8rem;margin-top:6px}.chat-turnstile-status{position:fixed;right:16px;bottom:calc(var(--chat-bottom-clearance, 76px) + 16px);z-index:60;display:flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);font-size:.78rem;border-radius:999px}.chat-turnstile-status[hidden]{display:none}.chat-turnstile-status[data-state=error],.chat-turnstile-status[data-state=expired]{color:var(--danger);border-color:var(--danger)}.chat-turnstile-retry{border:none;background:transparent;color:var(--accent);font-family:inherit;font-size:.78rem;font-weight:700;cursor:pointer;min-height:unset;padding:0}@media(prefers-reduced-motion:reduce){.chat-transcript,.chat-progress-fill,.chat-tile,.chat-tile-photo{transition:none!important;animation:none!important}.chat-typing span{animation:none;opacity:.8}}.chat-days{grid-template-columns:repeat(5,1fr);grid-auto-flow:row;overflow-x:visible}.chat-days .chat-tile[data-size="1x1"]{aspect-ratio:auto;min-height:56px;padding:8px 4px;justify-content:center;align-items:center;text-align:center}.chat-days .chat-tile-meta{font-size:.62rem}.chat-days .chat-tile-name{font-size:.95rem}.chat-days [data-testid=date-picker-escape] .chat-tile-name{font-size:.72rem;line-height:1.2}.chat-tile[hidden]{display:none}.chat-days [data-testid=date-picker-confirm]{grid-column:1 / -1;aspect-ratio:auto;min-height:var(--tap-min)}.chat-date-input{position:absolute;inset:0;opacity:0}.chat-slots{grid-template-columns:repeat(3,1fr)}.chat-slots .chat-tile{aspect-ratio:auto;min-height:var(--tap-min);align-items:center;justify-content:center}.chat-tile:disabled{cursor:default}.chat-days .chat-tile[data-status=closed],.chat-days .chat-tile[data-status=fully_booked]{color:var(--text-muted);opacity:.55}.chat-days .chat-tile[data-status=fully_booked]:after{content:"";position:absolute;inset:10px;background:linear-gradient(to bottom right,transparent calc(50% - 1px),var(--text-muted) calc(50% - 1px),var(--text-muted) calc(50% + 1px),transparent calc(50% + 1px));pointer-events:none}.chat-days .chat-tile[data-status=loading]{opacity:.4;animation:chat-day-pulse 1.2s ease-in-out infinite}@keyframes chat-day-pulse{0%,to{opacity:.3}50%{opacity:.55}}.chat-composer>.chat-field{flex:1;min-width:0}.chat-field-row{display:flex;gap:8px;align-items:center}.chat-field-row .chat-input{min-width:0}.chat-field-row .chat-skip{margin-top:0;flex-shrink:0}.chat-back{display:inline-flex;align-items:center;gap:4px;margin:0 0 8px -10px;padding:6px 10px;min-height:32px;border:none;border-radius:999px;background:transparent;color:var(--text);font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:color .15s}.chat-back:hover{color:var(--accent)}.chat-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-send{width:var(--tap-min);height:var(--tap-min);padding:0;flex-shrink:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.chat-input--pill{border-radius:999px;padding:12px 18px}.chat-skip{margin-top:10px;padding:8px 14px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid color-mix(in srgb,var(--border) 40%,var(--text));color:var(--text);font-family:inherit;font-size:.85rem;min-height:var(--tap-min);cursor:pointer;transition:border-color .15s,color .15s}.chat-skip:hover,.chat-skip:focus-visible{border-color:var(--accent);color:var(--accent)}.chat-notes-box{background:var(--bg-elevated);border:1px solid var(--border);border-radius:20px;padding:14px 14px 12px;transition:border-color .15s}.chat-notes-box:focus-within{border-color:var(--accent)}.chat-notes-box .chat-input{background:transparent;border:none;padding:0;width:100%;resize:none}.chat-notes-actions{display:flex;align-items:center;gap:8px;margin-top:10px}.chat-notes-actions .chat-skip{margin-top:0;min-height:40px}.chat-notes-actions .chat-send{margin-left:auto}.chat-icon-btn{width:40px;height:40px;min-height:40px;padding:0;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:transparent;color:var(--text);border:1px solid color-mix(in srgb,var(--border) 40%,var(--text));cursor:pointer;transition:border-color .15s,color .15s}.chat-icon-btn:hover,.chat-icon-btn:focus-visible{border-color:var(--accent);color:var(--accent)}.chat-send--pill{width:auto;height:44px;min-height:44px;padding:0 20px;border-radius:999px}.chat-photo-list{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.chat-photo{position:relative;width:84px;height:84px;overflow:hidden;background:var(--bg-card);border:1px solid var(--border)}.chat-photo img{width:100%;height:100%;object-fit:cover}.chat-photo-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;min-height:0;border:none;border-radius:999px;line-height:1;font-size:14px;background:color-mix(in srgb,var(--bg) 65%,transparent);color:var(--text)}.chat-photo-progress{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg) 55%,transparent);color:var(--text);font-size:.75rem}.chat-consent-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.chat-consent-amount{font-size:1.1rem;font-weight:800;color:var(--accent)}.chat-consent-body{font-size:.8rem;color:var(--text-muted);line-height:1.55}.chat-consent-body p{margin-bottom:8px}.chat-consent-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:.8rem;color:var(--text-muted);margin:14px 0}.chat-consent-check input{margin-top:2px;flex-shrink:0;accent-color:var(--accent)}.chat-summary{display:flex;flex-direction:column;gap:var(--chat-gap)}.chat-summary-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:none;border-radius:2px;background:var(--chat-tile-2);color:var(--text);font-family:inherit;text-align:left;min-height:var(--tap-min);cursor:pointer}.chat-summary-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-summary-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);flex-shrink:0}.chat-summary-value{font-size:.875rem;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-summary-actions,.chat-cancel-dialog{display:flex;flex-direction:column;gap:8px;margin-top:8px}.chat-summary-row[hidden],.chat-summary-actions[hidden],.chat-cancel-dialog[hidden]{display:none}.chat-terminal{text-align:center;padding:24px 8px}.chat-terminal-message{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:16px}.chat-terminal-cta{display:inline-flex;width:auto;padding:12px 24px;text-decoration:none}.chat-terminal-contacts{display:flex;gap:8px;justify-content:center;margin-top:16px}.chat-terminal-footer{margin-top:20px;font-size:.75rem;color:var(--text-muted)}.chat-terminal-footer-link{color:var(--text-muted);font-weight:600;text-decoration:none}.chat-terminal-footer-link:hover{color:var(--accent)}
