/* Client booking: one quiet conversation, designed for a thumb and a small screen. */
.client-mode{background:#fbf2ec;overscroll-behavior:none}.client-mode #app{min-height:100svh}.booking-chat{--chat-green:#c7590f;--chat-muted:#958e8a;display:flex;flex-direction:column;background:#fff;width:100%;max-width:580px;height:100dvh;height:var(--chat-height,100dvh);margin:0 auto;color:#38302b;overflow:hidden;border-left:1px solid #f8e6da;border-right:1px solid #f8e6da;font-size:15px}.conversation-header{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:calc(18px + env(safe-area-inset-top,0px)) 24px 18px;border-bottom:1px solid #f9ebe2;background:#fffffffa;z-index:2}.barber-mark{display:grid;place-items:center;background:#f9eae0;width:42px;height:42px;border-radius:14px;color:var(--chat-green);flex-shrink:0}.barber-mark svg{width:21px;height:21px}.conversation-identity{flex:1;min-width:0}.conversation-identity h1{font:750 15px Manrope,sans-serif;letter-spacing:-.3px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-identity p{font-size:11px;color:#958a83;display:flex;align-items:center;gap:5px;margin-top:3px}.conversation-identity p span{width:5px;height:5px;background:#aa8b77;border-radius:50%}.restart-chat{min-width:44px;min-height:44px;border-radius:50%;display:grid;place-items:center;color:#a2978f}.restart-chat:hover{background:#fbf1ea}.restart-chat svg{width:19px;height:19px}.chat-stream{position:relative;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 24px 24px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#f5dccc transparent;-webkit-overflow-scrolling:touch;scroll-padding-top:20px}.conversation-start{text-align:center;color:#b0a69f;font-size:10px;letter-spacing:.3px;margin:27px 0 30px}.chat-message{font:400 14px/1.75 'DM Sans',sans-serif;width:fit-content;max-width:88%;overflow-wrap:anywhere;margin-bottom:16px;padding:15px 17px;position:relative}.chat-message.received{background:#faede4;border-radius:5px 18px 18px 18px;color:#51463e}.chat-message.sent{background:var(--chat-green);color:#fdf7f3;border-radius:18px 5px 18px 18px;margin-left:auto;padding:12px 16px;max-width:85%}.message-check{font-size:11px;margin-left:12px;color:#c8b4a6;white-space:nowrap}.chat-turn{padding-top:2px}.chat-replies{max-width:100%}.reply-options{display:grid;gap:9px;margin:8px 0 10px 12px}.reply-option{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid #f5dccc;background:#fff;border-radius:13px;padding:15px 16px;min-height:64px;width:100%;transition:border-color .15s,background .15s,transform .12s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.reply-option strong{font-size:13px;line-height:1.5;font-weight:550;display:block}.reply-option small{display:block;color:#a1958d;font-size:11px;margin-top:3px;line-height:1.5}.reply-option>svg,.reply-price svg{width:14px;height:14px;color:#b8a69a;flex-shrink:0}.reply-option:hover,.reply-time:hover{background:#fcf4ee;border-color:#bfa899}.reply-option:active,.reply-time:active{transform:scale(.98);background:#f9ebe2}.reply-price{display:flex;gap:9px;align-items:center;color:#685244;font-size:12px;font-weight:600;white-space:nowrap}.reply-person{display:flex;align-items:center;gap:12px;min-width:0}.person-initials{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#faece2;color:#9b8678;font-size:10px;font-weight:600;flex-shrink:0}.reply-date strong{text-transform:capitalize}.soonest{font-size:9px;color:#9c8474;background:#faede4;padding:5px 8px;border-radius:5px;white-space:nowrap}.reply-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:10px 0 10px 12px}.reply-time{border:1px solid #f5dccc;background:#fff;border-radius:10px;min-height:50px;font-size:14px;font-weight:550;color:#675040;touch-action:manipulation;transition:transform .12s}.reply-time-grid .chat-hint{grid-column:1/-1}.chat-edit{display:block;color:#a59a92;font-size:11px;min-height:44px;padding:11px 0;margin-left:14px;text-align:left;touch-action:manipulation}.chat-edit:hover{color:#c7590f}.chat-hint{color:#aa9f98;font-size:11px;line-height:1.8;text-align:center;margin:13px 8px 0}.chat-composer{flex-shrink:0;border-top:1px solid #f9eae0;padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px));background:#fff}.composer-field{display:flex;align-items:center;gap:8px;border:1px solid #f6e0d1;background:#fdf6f2;border-radius:28px;padding:5px 6px 5px 18px}.composer-field:focus-within{border-color:#c1aa9b;box-shadow:0 0 0 3px #f9e9df}.composer-field input{flex:1;min-width:0;line-height:1.5;font-size:16px;background:transparent;border:0;color:#4c3c32;padding:9px 0;outline:none;font-family:'DM Sans',sans-serif;border-radius:0}.composer-field input::placeholder{color:#b0a59d;font-size:14px}.composer-field button{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--chat-green);color:#fff;flex-shrink:0}.composer-field button svg{width:19px;height:19px}.booking-recap{background:#fdf8f5;border:1px solid #f6e0d2;border-radius:14px;padding:22px;margin:10px 0 12px 12px}.recap-title{font-size:9px;letter-spacing:1.6px;color:#ad9d93;margin-bottom:12px}.recap-service{font:700 17px Manrope,sans-serif;display:block;margin-bottom:18px;color:#534338;letter-spacing:-.5px}.recap-detail{display:flex;align-items:center;gap:9px;color:#97897f;font-size:12px;margin:12px 0}.recap-detail svg{width:16px;height:16px;color:#b5a59a}.recap-detail span{color:#c8beb8}.recap-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f6e0d2;margin-top:20px;padding-top:17px;font-size:12px;color:#9c8b80}.recap-total strong{font:750 20px Manrope;color:#c7590f;letter-spacing:-.7px}.chat-primary{background:var(--chat-green);color:white;border-radius:12px;min-height:54px;display:flex;align-items:center;justify-content:center;gap:14px;width:calc(100% - 12px);margin:0 0 0 12px;font-weight:600;font-size:13px;touch-action:manipulation}.chat-primary svg{width:16px;height:16px}.confirmation-mark{display:grid;place-items:center;background:#f5dccc;width:35px;height:35px;color:#c7590f;border-radius:50%;margin-bottom:12px}.confirmation-mark svg{width:17px;height:17px}.typing-indicator{display:flex;gap:5px;align-items:center;min-height:49px;padding:19px!important;width:fit-content}.typing-indicator i{display:block;width:6px;height:6px;background:#aa978a;border-radius:50%;animation:chatTyping 1.05s infinite ease-in-out}.typing-indicator i:nth-of-type(2){animation-delay:.15s}.typing-indicator i:nth-of-type(3){animation-delay:.3s}.message-enter{animation:chatMessageIn .24s ease-out both}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.booking-chat button:focus-visible{outline:2px solid #8c6d58;outline-offset:3px}.chat-stream{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.client-mode #toast{max-width:calc(100% - 32px);width:max-content;text-align:center;bottom:calc(25px + env(safe-area-inset-bottom,0px));line-height:1.6}.booking-chat ::selection{background:#f5dccc;color:#49392e}@keyframes chatTyping{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}@keyframes chatMessageIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.client-mode{background:#fff}.booking-chat{max-width:none;border:0}.conversation-header{padding:calc(13px + env(safe-area-inset-top,0px)) 18px 13px;gap:11px}.conversation-identity h1{font-size:14px}.barber-mark{width:39px;height:39px;border-radius:12px}.chat-stream{padding-right:18px;padding-left:18px}.conversation-start{margin:23px 0 26px}.chat-message{max-width:90%;font-size:14px;padding:14px 16px}.reply-options{margin-left:9px;gap:9px}.reply-option{padding:14px;min-height:66px}.reply-time-grid{margin-left:9px}.reply-time{min-height:52px}.chat-composer{padding-left:14px;padding-right:14px}.booking-recap{margin-left:9px;padding:20px}.chat-primary{margin-left:9px;width:calc(100% - 9px)}}
@media(max-width:350px){.chat-stream{padding-left:13px;padding-right:13px}.reply-option{gap:8px;padding:12px}.reply-price{font-size:11px;gap:4px}.reply-option strong{font-size:12px}.soonest{font-size:8px;padding:4px 6px}.conversation-header{padding-left:14px;padding-right:14px}}
.whatsapp-button{min-height:62px;background:#c7590f;font-size:17px;text-decoration:none;margin-top:20px;gap:12px}.whatsapp-button svg{width:23px;height:23px}.whatsapp-button:hover{background:#c7590f}.whatsapp-button:disabled{opacity:.45;cursor:default}.reply-option:disabled{cursor:default;opacity:.5;background:#fdf9f6;border-color:#f9eae0;transform:none}.reply-option:disabled:hover{background:#fdf9f6;border-color:#f9eae0}.chat-day-navigation{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin:0 0 4px 12px}.chat-day-navigation .chat-edit{margin:0;margin-right:auto}.chat-more{min-height:46px;padding:10px 13px;display:flex;align-items:center;gap:8px;border-radius:9px;color:#7c614f;background:#fbf1ea;font-size:12px;touch-action:manipulation}.chat-more:hover{background:#f8e5d9}.chat-more svg{width:15px;height:15px}.period-options .reply-option{min-height:55px}.reply-option>span:first-child,.reply-person>span:last-child{min-width:0;overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.message-enter,.typing-indicator i{animation:none}.typing-indicator i{opacity:.65}.reply-option,.reply-time{transition:none}}
