/* Scoped Customer Booking Chat. Shares the mobile hierarchy; no auth/policy in CSS. */
.rcd-booking-chat-wrap{max-width:1080px;padding-block:22px}
.rcd-booking-chat-active .rcd-public-mini-hero{display:none!important}
#rcdGuestChatEntry[hidden],#rcdCustomerChatHost[hidden],#rcdCustomerChatApp [hidden]{display:none!important}
#rcdCustomerChatApp{--chat-green:#087940;--chat-ink:#153d2d;background:#fff;color:var(--chat-ink);border:1px solid #d9e6df;border-radius:20px;overflow:hidden;box-shadow:0 10px 32px #153d2d0d}
#rcdCustomerChatApp *{box-sizing:border-box}
#rcdCustomerChatApp h1{font-size:22px;margin:0;line-height:1.45}
#rcdCustomerChatApp h2{font-size:19px;line-height:1.5;margin:0}
#rcdCustomerChatApp h3{font-size:16px;line-height:1.5;margin:0 0 8px}
.rcd-customer-chat__head{display:flex;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid #e0e9e4}
.rcd-customer-chat__head>div{flex:1;min-width:0}
.rcd-customer-chat__head p{font-size:13px;margin:4px 0 0;color:#62766a;overflow-wrap:anywhere}
.rcd-chat-status:empty{display:none}
.rcd-chat-status,.rcd-chat-recovery,.rcd-chat-selector{padding:12px 20px}
.rcd-chat-status.is-error,[data-chat-dialog-status].is-error{color:#a33232;background:#fff2f2}
.rcd-chat-selector{display:grid;gap:10px}
.rcd-customer-chat__vehicle{display:flex;align-items:center;gap:14px;margin:16px 20px;padding:12px 16px;background:#f3faf5;border:1px solid #cfe2d6;border-radius:14px}
.rcd-customer-chat__vehicle img{width:92px;height:70px;object-fit:cover;border-radius:10px;flex-shrink:0}
.rcd-customer-chat__vehicle>div{display:grid;gap:4px;min-width:0}
.rcd-customer-chat__vehicle a{color:var(--chat-green);font-weight:700;font-size:13px}
.rcd-customer-chat__vehicle strong{overflow-wrap:anywhere;font-size:16px}
.rcd-customer-chat__vehicle small{color:#657b6b}
.rcd-customer-chat__booking{display:flex;gap:14px;flex-wrap:wrap;margin:0 20px 12px;font-size:13px}
.rcd-customer-chat__booking span{padding:8px 12px;background:#f5f8f6;border-radius:9px}
.rcd-customer-chat__actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 20px 12px}
.rcd-customer-chat__notice{font-size:13px;line-height:1.6;padding:10px 20px;background:#eef7f1;color:#326044}
.rcd-customer-chat__messages{height:clamp(300px,48dvh,600px);overflow:auto;overscroll-behavior:contain;padding:18px 20px;background:#f8faf9;scrollbar-gutter:stable}
.rcd-chat-day{text-align:center;font-size:12px;color:#6a7e70;margin:8px auto 18px}
.rcd-chat-message{width:fit-content;max-width:84%;padding:12px 15px;margin:0 0 12px auto;background:#fff;border:1px solid #e0e8e3;border-radius:15px;overflow-wrap:anywhere}
.rcd-chat-message.is-mine{margin-inline-start:auto;margin-inline-end:0;background:#e5f5eb;border-color:#c9e2d2}
.rcd-chat-message:not(.is-mine){margin-inline-start:0;margin-inline-end:auto}
.rcd-chat-message.is-system{margin-inline:auto;max-width:94%;width:fit-content;background:#f2f5ee;border-color:#dce3d2}
.rcd-chat-message p{white-space:pre-wrap;line-height:1.65;margin:6px 0;font-size:14px}
.rcd-chat-message>strong{font-size:12px;color:#466552}
.rcd-chat-message time{display:block;font-size:11px;color:#688071;text-align:end;margin-top:8px}
.rcd-chat-card{display:grid;gap:10px;padding:12px;margin-top:10px;border:1px solid #cbdcd0;border-radius:12px;background:#fff}
.rcd-chat-card .rcd-chat-card-actions{display:flex;flex-wrap:wrap;gap:8px}
.rcd-chat-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;font-size:13px}
.rcd-chat-card dt{color:#6c7c71}.rcd-chat-card dd{margin:0;font-weight:700}
.rcd-chat-message blockquote{margin:4px 0;padding:7px 10px;border-inline-start:3px solid #67a280;background:#eff5f1;font-size:12px}
.rcd-chat-attachments{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.rcd-customer-chat__compose{border-top:1px solid #dce6df;padding:16px 20px;display:grid;gap:10px;background:#fff}
#rcdCustomerChatApp textarea,#rcdCustomerChatApp select,#rcdCustomerChatApp input:not([type=checkbox]):not([type=radio]):not([type=file]){width:100%;padding:12px;border:1px solid #cfded4;border-radius:11px;font:inherit;font-size:14px;background:#fff;color:#163e2d;min-height:46px}
#rcdCustomerChatApp textarea{resize:vertical;min-height:64px}
#rcdCustomerChatApp :is(input,textarea,select):focus{outline:2px solid #2b906633;outline-offset:1px;border-color:#188553}
.rcd-customer-chat__compose-actions{display:flex;justify-content:space-between;gap:10px}
.rcd-chat-file{cursor:pointer}.rcd-chat-file input{display:none}
#rcdCustomerChatApp .btn{min-height:42px;white-space:normal;line-height:1.4}
#rcdCustomerChatApp :disabled{opacity:.58;cursor:not-allowed}
.rcd-chat-reply{border-inline-start:3px solid #188553;padding:8px 12px;background:#f3f8f4;font-size:13px}
.rcd-chat-dialog{width:min(630px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:20px;border:1px solid #d3e2d8;border-radius:18px;color:#163e2d;overscroll-behavior:contain}
.rcd-chat-dialog::backdrop{background:#102b225e}
.rcd-chat-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.rcd-chat-dialog form,.rcd-chat-dialog [data-chat-dialog-body]{display:grid;gap:14px}
.rcd-chat-dialog label{display:grid;gap:8px;font-size:14px;line-height:1.6}
.rcd-chat-dialog .rcd-chat-check{display:flex;align-items:flex-start;gap:10px}
.rcd-chat-dialog .rcd-chat-check input{width:18px;height:18px;flex:0 0 18px;margin-top:3px;accent-color:#087940}
.rcd-chat-dialog img,.rcd-chat-dialog video{max-width:100%;max-height:70dvh;border-radius:12px}
.rcd-chat-document{padding:14px;border:1px solid #d4e1d8;border-radius:12px;display:grid;gap:10px}
.rcd-chat-dialog-status{font-size:13px;line-height:1.6}
@media(max-width:600px){.rcd-booking-chat-wrap{padding:10px;max-width:100%}#rcdCustomerChatApp{border-radius:15px}.rcd-customer-chat__head{padding:12px;gap:9px}#rcdCustomerChatApp h1{font-size:18px}.rcd-customer-chat__vehicle{margin:12px;padding:10px;gap:10px}.rcd-customer-chat__vehicle img{width:72px;height:58px}.rcd-customer-chat__booking,.rcd-customer-chat__actions{margin-inline:12px;gap:8px}.rcd-customer-chat__actions .btn{flex:1 1 140px;font-size:12px}.rcd-customer-chat__messages{height:46dvh;padding:14px 12px}.rcd-chat-message{max-width:92%}.rcd-customer-chat__compose{padding:12px}.rcd-chat-status,.rcd-chat-recovery{padding-inline:12px}.rcd-chat-dialog{padding:16px}}

/* Explicit document sides; one family expiry, matching the mobile secure-vault sheet. */
#rcdCustomerChatApp .rcd-document-family{display:grid;gap:16px;padding:18px;border:1px solid #d2e1d7;border-radius:16px;background:#f7faf8;min-width:0}
#rcdCustomerChatApp .rcd-document-family header p{margin:0;color:#607569;font-size:13px;line-height:1.7}
#rcdCustomerChatApp .rcd-document-family h3{margin:0 0 6px;font-size:17px}
#rcdCustomerChatApp .rcd-document-sides{display:grid;gap:12px;min-width:0}
#rcdCustomerChatApp .rcd-document-sides.has-two-sides{grid-template-columns:repeat(2,minmax(0,1fr))}
#rcdCustomerChatApp .rcd-document-sides .rcd-chat-document{background:#fff;min-width:0;align-content:start}
#rcdCustomerChatApp .rcd-document-expiry{padding:12px 14px;border:1px solid #d8e5dd;border-radius:12px;background:#fff}
#rcdCustomerChatApp .rcd-document-expiry small,.rcd-document-state{font-size:12px;line-height:1.65;color:#607569}
#rcdCustomerChatApp .rcd-document-file{position:relative;padding:12px;border:1px dashed #b7d1c1;border-radius:10px;background:#f5faf7;cursor:pointer;min-width:0}
#rcdCustomerChatApp .rcd-document-file input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
#rcdCustomerChatApp .rcd-document-file:focus-within{outline:2px solid #188553;outline-offset:2px}
#rcdCustomerChatApp .rcd-document-file-action{color:#087940;font-weight:700;font-size:13px}
#rcdCustomerChatApp .rcd-document-preview{display:grid;gap:6px;min-width:0}
#rcdCustomerChatApp .rcd-document-preview img{width:100%;height:140px;object-fit:contain;background:#f2f6f3;border:1px solid #dce7df;border-radius:10px}
#rcdCustomerChatApp .rcd-document-preview small{overflow-wrap:anywhere;font-size:12px;color:#52685a}
#rcdCustomerChatApp .rcd-document-privacy,#rcdCustomerChatApp .rcd-document-incomplete{margin:0;padding:12px 14px;border-radius:12px;background:#eef7f1;line-height:1.75;font-size:13px}
#rcdCustomerChatApp .rcd-document-incomplete{background:#fff7e5;color:#805d1a}
@media(max-width:600px){#rcdCustomerChatApp .rcd-document-sides.has-two-sides{grid-template-columns:1fr}#rcdCustomerChatApp .rcd-document-family{padding:12px;gap:12px}}
