
/* GSR V3: additive enhancements */
.gsr-v3-section{padding:3rem 1rem;background:#f7f6f2}.gsr-v3-card{max-width:900px;margin:auto;background:white;border:1px solid #d9d4c9;border-radius:18px;padding:clamp(1rem,3vw,2.5rem);box-shadow:0 8px 28px #172b4210}.gsr-v3-card h2{margin-top:0}.gsr-field{display:flex;flex-direction:column;gap:.4rem;margin:1rem 0;font-weight:600}.gsr-field input,.gsr-field select,.gsr-field textarea,.gsr-chat-entry input{width:100%;padding:.75rem;border:1px solid #aab3bb;border-radius:8px;font:inherit;background:white;color:#182c40}.gsr-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.6rem;margin:1rem 0}.gsr-check{display:flex;align-items:center;gap:.35rem;font-size:.9rem}.gsr-check input{accent-color:#0b395b}.gsr-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f6f7;border:1px solid #dce3e7;padding:1rem;border-radius:9px;max-height:220px;overflow:auto;font:13px/1.5 system-ui;color:#17334a}.gsr-btn{background:#123a55;color:white;border:0;border-radius:9px;padding:.8rem 1rem;font:600 14px system-ui;cursor:pointer}.gsr-btn:hover{background:#245777}.gsr-chat-launch{position:fixed;bottom:90px;right:18px;z-index:999;background:#123a55;color:white;border:1px solid white;border-radius:30px;padding:12px 18px;box-shadow:0 5px 20px #0003;font:600 14px system-ui;cursor:pointer}.gsr-chat-panel{position:fixed;bottom:145px;right:16px;width:min(390px,calc(100vw - 32px));max-height:min(72vh,680px);overflow:auto;background:white;color:#142e40;border:1px solid #d5dde2;border-radius:15px;padding:1rem;box-shadow:0 10px 36px #0004;z-index:1000;font:14px/1.5 system-ui}.gsr-chat-panel[hidden]{display:none}.gsr-chat-panel h2{font-size:1.25rem;margin:0}.gsr-chat-panel h3{font-size:1rem;margin:.8rem 0 .3rem}.gsr-chat-log{max-height:170px;overflow:auto;background:#f5f7f8;border-radius:8px;padding:.5rem}.gsr-bubble{padding:.5rem .7rem;border-radius:8px;margin:.4rem 0;background:white}.gsr-you{background:#dceaf4;margin-left:15%}.gsr-quick{display:flex;flex-wrap:wrap;gap:5px;margin:.6rem 0}.gsr-quick button{border:1px solid #b6c5d0;background:#fff;border-radius:20px;padding:5px 9px;cursor:pointer}.gsr-chat-entry{display:flex;gap:.4rem}.gsr-chat-entry input{min-width:0}.gsr-chat-panel .gsr-checks{grid-template-columns:1fr 1fr}.gsr-chat-panel .gsr-preview{max-height:130px}@media(max-width:480px){.gsr-chat-launch{bottom:85px;right:10px}.gsr-chat-panel{bottom:140px;right:8px;width:calc(100vw - 16px)}.gsr-chat-panel .gsr-checks{grid-template-columns:1fr 1fr}}
/* V3.1 compact mobile assistant, overriding previous styles */
.gsr-chat-launch{position:fixed;bottom:18px;right:18px;z-index:990;padding:10px 16px;font-size:14px;max-width:90px}
.gsr-chat-panel{position:fixed;bottom:72px;right:16px;left:auto;width:min(360px,calc(100vw - 32px));max-height:min(540px,calc(100dvh - 110px));padding:0;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}
.gsr-chat-panel[hidden],.gsr-chat-feedback[hidden],.gsr-chat-handoff[hidden]{display:none!important}
.gsr-chat-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#11243c;color:white;flex:none}
.gsr-chat-head strong{display:block;font-size:15px}.gsr-chat-head small{display:block;font-size:11px;opacity:.85}
.gsr-chat-close{background:transparent;color:white;border:0;font-size:28px;cursor:pointer;padding:0 5px}
.gsr-chat-log{max-height:none;min-height:95px;flex:1;overflow-y:auto;padding:12px;border-radius:0;background:#f7f8fa}
.gsr-chat-panel .gsr-bubble{font-size:13px;line-height:1.4;max-width:90%;width:fit-content;margin:6px 0;padding:9px 11px}
.gsr-chat-panel .gsr-you{margin-left:auto}
.gsr-chat-panel .gsr-quick{padding:8px 12px;margin:0;flex:none}
.gsr-chat-panel .gsr-quick-btn{border:1px solid #c6d2db;background:white;color:#17334a;border-radius:18px;padding:7px 10px;font:12px system-ui;cursor:pointer}
.gsr-chat-panel .gsr-chat-entry{padding:0 12px 12px;flex:none}
.gsr-chat-panel .gsr-chat-entry input{font-size:14px;padding:9px}
.gsr-chat-panel .gsr-chat-entry .gsr-btn{padding:8px 12px}
.gsr-chat-feedback,.gsr-chat-handoff{padding:10px 12px;border-top:1px solid #e2e7eb;flex:none}
.gsr-chat-feedback p,.gsr-chat-handoff p{margin:0 0 8px;font-size:13px}
.gsr-feedback-actions,.gsr-handoff-actions{display:flex;gap:7px;flex-wrap:wrap}
.gsr-chat-handoff .gsr-btn{font-size:12px;padding:9px 11px}
.gsr-chat-more{padding:9px 12px;border-top:1px solid #e2e7eb;max-height:170px;overflow-y:auto;flex:none;font-size:12px}
.gsr-chat-more summary{cursor:pointer;font-weight:600}
.gsr-chat-more .gsr-checks{grid-template-columns:1fr 1fr;gap:6px}
.gsr-chat-more .gsr-check{font-size:11px}
/* Consolidate the three fixed actions into the existing request button + compact help bubble. */
body:has(.gsr-chat-launch) .floating-actions,body:has(.gsr-chat-launch) .floating-contact,body:has(.gsr-chat-launch) .sticky-contact{display:none!important}
@media(max-width:600px){.gsr-chat-launch{bottom:76px;right:12px}.gsr-chat-panel{bottom:126px;right:8px;width:calc(100vw - 16px);max-height:min(520px,calc(100dvh - 155px))}.gsr-chat-panel .gsr-checks{grid-template-columns:1fr 1fr}}
/* One appointment launcher and one help launcher; remove duplicate floating call/WhatsApp controls. */
.floating-contact-actions{display:none!important}
.request-launcher{left:12px!important;right:auto!important;bottom:14px!important;min-height:44px!important;padding:10px 13px!important;font-size:12px!important;max-width:calc(100vw - 110px)}
.gsr-chat-launch{bottom:14px!important;right:12px!important;min-height:44px}
.gsr-chat-panel{bottom:68px!important}
@media(max-width:600px){.gsr-chat-panel{bottom:68px!important;max-height:calc(100dvh - 90px)}}
/* V3.2: reliable mobile chat and non-obstructive contact launcher */
.request-launcher{top:auto!important;left:12px!important;right:auto!important;bottom:14px!important;transform:none!important;writing-mode:horizontal-tb!important;text-orientation:mixed!important;width:auto!important;min-width:0!important;max-height:none!important;height:44px!important;border-radius:25px!important;display:flex!important;align-items:center!important;z-index:90!important;letter-spacing:normal!important}
.request-launcher span{white-space:nowrap!important}
.gsr-chat-launch{z-index:2147483000!important;pointer-events:auto!important;touch-action:manipulation!important;position:fixed!important}
.gsr-chat-panel{z-index:2147483001!important;pointer-events:auto!important}
.gsr-chat-panel:not([hidden]){display:flex!important;visibility:visible!important;opacity:1!important}
.gsr-chat-panel[hidden]{display:none!important}
@media(max-width:600px){.request-launcher{font-size:11px!important;padding:8px 10px!important;max-width:calc(100vw - 110px)!important}.gsr-chat-panel{bottom:70px!important;max-height:calc(100dvh - 92px)!important}}

/* V3.3: one launcher, distinct chat and WhatsApp screens */
body:has(.gsr-chat-launch) .request-launcher{display:none!important}
.gsr-chat-panel [hidden]{display:none!important}
.gsr-chat-panel{max-height:min(560px,calc(100dvh - 105px))!important;bottom:72px!important}
.gsr-chat-nav{display:flex;justify-content:flex-end;padding:9px 12px 3px;background:#fff;flex:none}
.gsr-chat-nav .gsr-quick-btn{background:#f4f8f5;border-color:#b9d5c3;color:#20583b;font-weight:600}
.gsr-chat-more{flex:1;min-height:0;max-height:none;overflow:auto;padding:14px!important;border-top:0!important}
.gsr-chat-more h3{margin:0 0 4px;font-size:17px}
.gsr-chat-more p{font-size:12px;margin:0 0 10px;color:#536574}
.gsr-chat-more .gsr-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gsr-chat-more .gsr-check{font-size:12px;line-height:1.4;min-height:40px}
.gsr-wa-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.gsr-chat-panel .gsr-chat-log[hidden],.gsr-chat-panel .gsr-chat-entry[hidden],.gsr-chat-panel .gsr-quick[hidden],.gsr-chat-panel .gsr-chat-nav[hidden]{display:none!important}
@media(max-width:600px){.gsr-chat-panel{bottom:70px!important;max-height:calc(100dvh - 95px)!important}.gsr-chat-launch{bottom:14px!important}.gsr-chat-more .gsr-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V3.4: never show a second floating appointment launcher. The chatbot handoff opens the existing request dialog. */
.request-launcher,body .request-launcher,body:has(.gsr-chat-launch) .request-launcher{display:none!important;visibility:hidden!important;pointer-events:none!important}
.gsr-chat-launch,.gsr-chat-panel{display:none!important;visibility:hidden!important;pointer-events:none!important}
.gsr-final-launch{position:fixed;right:16px;bottom:16px;z-index:2147483000;background:#123a55;color:#fff;border:1px solid #fff;border-radius:24px;padding:11px 18px;font:600 14px system-ui;cursor:pointer}.gsr-final-panel{position:fixed;top:8px;right:8px;z-index:2147483001;width:min(560px,calc(100vw - 16px));height:min(680px,calc(100dvh - 16px));display:flex;flex-direction:column;overflow:hidden;background:#fff;color:#142e40;border:1px solid #d5dde2;border-radius:16px;box-shadow:0 10px 36px #0005;font:15px/1.45 system-ui}.gsr-final-panel[hidden],.gsr-final-screen[hidden],.gsr-final-hand[hidden]{display:none!important}.gsr-final-head{display:flex;justify-content:space-between;align-items:center;flex:none;padding:16px 18px;background:#11243c;color:#fff}.gsr-final-head strong{display:block;font-size:20px}.gsr-final-head small{display:block;opacity:.85}.gsr-final-close{background:none;border:0;color:#fff;font-size:32px;cursor:pointer}.gsr-final-chat{display:flex;flex:1;min-height:0;flex-direction:column}.gsr-final-log{flex:1;min-height:0;overflow:auto;padding:14px;background:#f3f8f9}.gsr-final-log p{max-width:88%;margin:7px 0;padding:10px 12px;border-radius:10px}.gsr-final-log .you{margin-left:auto;background:#dceaf4}.gsr-final-log .bot{background:#fff}.gsr-final-entry{display:flex;gap:8px;padding:12px;background:#fff}.gsr-final-entry input{min-width:0;flex:1;padding:12px;border:1px solid #aab3bb;border-radius:9px;font:inherit;font-size:16px}.gsr-final-entry button,.gsr-final-actions button{border:0;border-radius:9px;padding:11px 14px;background:#123a55;color:#fff;font-weight:600;cursor:pointer}.gsr-final-wa{flex:none;margin:0 12px 12px;padding:10px;border:1px solid #b9d5c3;border-radius:22px;background:#f4f8f5;color:#20583b;font-weight:600;cursor:pointer}.gsr-final-screen{flex:1;min-height:0;overflow:auto;padding:18px}.gsr-final-form select,.gsr-final-form input,.gsr-final-form textarea{box-sizing:border-box;width:100%;margin:6px 0 12px;padding:11px;border:1px solid #aab3bb;border-radius:8px;font:inherit;font-size:16px}.gsr-final-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gsr-final-fields label{font-size:13px;font-weight:600}.gsr-final-actions{display:flex;gap:8px;flex-wrap:wrap}.gsr-final-actions button:not(:first-child),.gsr-final-hand button{background:#fff;color:#17334a;border:1px solid #bccbd5}.gsr-final-hand{flex:none;padding:12px;border-top:1px solid #e2e7eb}.gsr-final-hand p{margin:0 0 8px}.gsr-final-hand button{border-radius:18px;padding:8px 11px;margin-right:6px;cursor:pointer}@media(max-width:600px){.gsr-final-panel{top:8px;right:8px;width:calc(100vw - 16px);height:calc(100dvh - 16px)}.gsr-final-fields{grid-template-columns:1fr}}
.gsr-final-panel [hidden]{display:none!important}.gsr-final-panel,.gsr-final-panel *{box-sizing:border-box}.gsr-final-panel input,.gsr-final-panel select,.gsr-final-panel textarea{min-width:0;max-width:100%;font-size:16px}.gsr-final-log{overscroll-behavior:contain;overflow-wrap:anywhere}.gsr-final-screen{overscroll-behavior:contain}.gsr-final-entry{flex-shrink:0}.gsr-final-head{min-height:64px}.gsr-final-panel button{min-height:44px}.gsr-final-launch:has(+.gsr-final-panel:not([hidden])){display:none}@media(max-width:600px){.gsr-final-head{padding:10px 14px}.gsr-final-head strong{font-size:17px}.gsr-final-screen{padding:14px}.gsr-final-actions{flex-direction:column}.gsr-final-actions button{width:100%}.gsr-final-panel{max-width:calc(100vw - 16px)}}
/* Consistent assistant form geometry, including Safari native date controls. */
.gsr-final-panel .gsr-final-screen{padding:16px;overflow-x:hidden;overflow-y:auto;flex:1 1 0;min-height:0;scroll-padding-block:16px}
.gsr-final-screen h3{margin:0 0 6px;font-size:18px;line-height:1.4}
.gsr-final-screen>p{margin:0 0 16px;font-size:14px;line-height:1.5}
.gsr-final-screen .gsr-final-form{display:flex;flex-direction:column;align-items:stretch;gap:14px;width:100%;min-width:0;margin:0;padding:0}
.gsr-final-form .gsr-final-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;align-items:start;gap:14px;width:100%;min-width:0;margin:0;padding:0}
.gsr-final-form label,.gsr-final-fields label{display:flex;flex-direction:column;gap:6px;min-width:0;width:100%;margin:0;padding:0;font:600 14px/1.4 system-ui}
.gsr-final-panel .gsr-final-form input,.gsr-final-panel .gsr-final-form select,.gsr-final-panel .gsr-final-form textarea{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:0;padding:10px 12px;border:1px solid #aab3bb;border-radius:8px;background:#fff;color:#142e40;font:400 16px/1.4 system-ui}
.gsr-final-panel .gsr-final-form input,.gsr-final-panel .gsr-final-form select{height:46px;min-height:46px}
.gsr-final-form input[type=date],.gsr-final-form input[type=datetime-local]{appearance:none;-webkit-appearance:none;text-align:left;overflow:hidden}
.gsr-final-form input::-webkit-date-and-time-value{text-align:left;min-height:1.4em}
.gsr-final-form input::-webkit-datetime-edit{padding:0;min-width:0}
.gsr-final-panel .gsr-final-form textarea{min-height:88px;resize:vertical}
.gsr-final-form .gsr-final-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin:0;padding:0 0 4px;flex-shrink:0}
@media(max-width:600px){.gsr-final-form .gsr-final-fields{grid-template-columns:minmax(0,1fr)}.gsr-final-form .gsr-final-actions{flex-direction:column}.gsr-final-form .gsr-final-actions button{width:100%;margin:0}}

/* Visible messaging choices: no installed-app detection or automatic app switching. */
.gsr-final-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 12px;flex:none;background:#fff}
.gsr-final-methods .gsr-final-wa,.gsr-final-sms{margin:0;padding:10px;border:1px solid #b9d5c3;border-radius:22px;background:#f4f8f5;color:#20583b;font:600 14px/1.4 system-ui;cursor:pointer;min-width:0;overflow-wrap:anywhere}
.gsr-final-sms{border-color:#bccbd5;background:#f1f6fb;color:#17334a}
.gsr-message-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;width:100%;min-width:0}
.gsr-message-actions .gsr-btn{flex:1 1 200px;min-width:0;white-space:normal;overflow-wrap:anywhere;min-height:44px}
@media(max-width:480px){.gsr-final-methods{grid-template-columns:minmax(0,1fr)}.gsr-message-actions{flex-direction:column}.gsr-message-actions .gsr-btn{flex:0 0 auto;width:100%}}
