:root{--bg:#111722;--panel:#282f3b;--panel-2:#3b424e;--text:#f7f4f1;--muted:#9da3ad;--copper:#b86f4e;--copper-dark:#85503c;--user:#e7e8ea;--black:#111318}
.choice-service-photo{display:block;width:calc(100% + 32px);height:96px;margin:-14px -16px 11px;object-fit:cover;border-radius:17px 17px 8px 8px}.choice:has(.choice-service-photo){padding-top:14px;overflow:hidden}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--bg)}body{margin:0;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.chat-app{position:fixed;top:var(--chat-top,0px);left:0;right:0;width:100%;height:var(--chat-height,100dvh);min-height:0;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(180deg,#111722 0%,#101620 100%)}
.conversation{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:auto;padding:calc(env(safe-area-inset-top) + 30px) 20px 24px}.messages{display:flex;flex-direction:column;gap:17px}
.message{max-width:min(82%,540px);padding:18px 20px;border-radius:26px 26px 26px 8px;color:var(--text);background:linear-gradient(145deg,var(--copper),var(--copper-dark));font-size:clamp(.95rem,3.8vw,1.08rem);line-height:1.5;letter-spacing:.005em;box-shadow:0 8px 22px rgba(0,0,0,.12);animation:appear .22s ease-out}
.message.user{align-self:flex-end;border-radius:24px 24px 8px 24px;color:#15171b;background:linear-gradient(145deg,#f2f2f3,#b8bbc0)}.message strong{color:#fff}.message.user strong{color:#111}.message.error{color:#fff;background:linear-gradient(145deg,#a84242,#6f2727)}
.message.typing{display:flex;align-items:center;gap:6px;width:70px;min-height:48px;padding:16px 18px}.typing-dot{width:7px;height:7px;border-radius:50%;background:#fff;opacity:.35;animation:typing 1s infinite}.typing-dot:nth-child(2){animation-delay:.16s}.typing-dot:nth-child(3){animation-delay:.32s}
.choices{padding:18px 0 4px;display:flex;flex-wrap:wrap;gap:12px}
.choice{flex:1 1 160px;min-height:58px;padding:14px 16px;color:#f8f8f9;background:linear-gradient(180deg,#5e6470,#454b56);border:1px solid rgba(255,255,255,.06);border-radius:18px;text-align:center;font:inherit;font-size:.9rem;font-weight:650;line-height:1.25;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.14);transition:transform .16s,border-color .16s}.choice:active{transform:scale(.98)}.choice:focus-visible{outline:2px solid var(--copper)}.choice small{display:block;margin-top:5px;color:#d5d7da;font-size:.7rem;font-weight:500}.choice.selected{color:#fff;background:linear-gradient(145deg,#d98962,#a75f42);border-color:#eaa07d}.choice.selected:before{content:'✓ ';font-weight:900}.choice.continue{flex-basis:100%;min-height:62px;color:#111;background:linear-gradient(180deg,#fff,#d5d6d9);font-size:1rem;font-weight:800}.hint{flex-basis:100%;margin:0 2px 3px;color:var(--muted);font-size:.75rem}
.composer{position:relative;z-index:10;flex:0 0 auto;display:flex;gap:10px;align-items:center;padding:10px 16px calc(env(safe-area-inset-bottom) + 12px);background:#111722;box-shadow:0 -10px 24px rgba(17,23,34,.96)}.composer input{min-width:0;flex:1;height:55px;padding:0 18px;color:#fff;background:#2b313d;border:1px solid rgba(255,255,255,.06);border-radius:17px;outline:none;font:inherit;font-size:1rem}.composer input:focus{border-color:#b86f4e}.composer button{flex:0 0 55px;width:55px;height:55px;border:0;border-radius:17px;color:#111;background:linear-gradient(180deg,#fff,#cfd1d5);font-size:1.45rem;font-weight:900;cursor:pointer}.composer button span{display:block;transform:translateY(-1px)}
.date-section{flex-basis:100%;width:100%;padding-top:3px}.date-title{margin:3px 1px 12px;color:#b6bac2;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.date-strip{display:flex;gap:9px;overflow-x:auto;padding:0 0 12px;scrollbar-width:none;scroll-snap-type:x proximity}.date-strip::-webkit-scrollbar{display:none}.date-card{flex:0 0 86px;min-height:112px;padding:11px 8px;color:#f3f4f5;background:linear-gradient(180deg,#333945,#252b36);border:1px solid rgba(255,255,255,.05);border-radius:18px;text-align:center;scroll-snap-align:start;cursor:pointer}.date-card span{display:block}.date-card .dow{font-size:.75rem;font-weight:800;text-transform:uppercase}.date-card .day{margin:8px 0 2px;font-size:1.65rem;font-weight:750}.date-card .month{color:#b6bac2;font-size:.65rem;text-transform:uppercase}.date-card.selected{background:linear-gradient(145deg,#dd8b63,#aa6245);border-color:#e79d79}.date-card.disabled{opacity:.38}
.slot-area{margin-top:6px}.slot-status{padding:24px 18px;color:#f4f4f4;background:#3d4450;border-radius:18px;text-align:center;font-size:.9rem;line-height:1.45}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.time-button{min-height:54px;color:#fff;background:#3e4551;border:1px solid rgba(255,255,255,.05);border-radius:16px;font:inherit;font-size:.9rem;cursor:pointer}.time-button.selected{color:#171717;background:linear-gradient(180deg,#fff,#d3d5d8)}.slot-summary{margin:14px 0 10px;padding:14px;color:#fff;background:#211d22;border-radius:16px;text-align:center;font-size:.85rem;font-weight:750}.slot-send{width:100%;min-height:62px;color:#111;background:linear-gradient(180deg,#fff,#d5d6d9);border:0;border-radius:18px;font:inherit;font-size:1rem;font-weight:800;cursor:pointer}.slot-send:disabled{opacity:.35}
.calendar-backdrop{position:fixed;z-index:20;inset:0;display:flex;align-items:flex-end;background:rgba(0,0,0,.64);animation:fade .2s}.calendar-sheet{width:100%;padding:25px 20px calc(env(safe-area-inset-bottom) + 24px);color:#15171b;background:#fff;border-radius:28px 28px 0 0}.calendar-sheet h2{margin:0 0 8px;font-size:1.35rem}.calendar-sheet p{margin:0 0 20px;color:#4d5157;line-height:1.45}.calendar-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.calendar-option{min-height:105px;border:1px solid #dadce0;border-radius:18px;background:#fff;font:inherit;font-weight:800;cursor:pointer}.calendar-option span{display:block;margin-bottom:8px;font-size:1.8rem}.calendar-close{width:100%;margin-top:12px;padding:12px;border:0;background:transparent;font:inherit;color:#555;cursor:pointer}
@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes typing{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
@media(min-width:720px){.chat-app{max-width:760px;margin:auto;border-inline:1px solid rgba(255,255,255,.04)}.conversation{padding-inline:34px}.composer{padding-inline:32px}}
