/* Self-contained: shared by marketing, authentication and legal pages. */
#vf-guest-support{font:15px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#253047;color-scheme:light}
#vf-guest-support *,#vf-guest-support *::before,#vf-guest-support *::after{box-sizing:border-box}
#vf-guest-support [hidden]{display:none!important}
#vf-guest-support button{font:inherit;cursor:pointer;min-height:44px;border:1px solid #ccd4e0;border-radius:10px;background:#f3f5f8;color:#253047;padding:9px 12px;line-height:1.35}
#vf-guest-support button:disabled{cursor:wait;opacity:.6}
#vf-guest-support :is(button,a,textarea,summary):focus-visible{outline:3px solid #315bba;outline-offset:3px}
#vf-guest-support .guest-support-launcher{position:fixed;z-index:1200;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:8px;background:#315bba;color:#fff;border-color:#315bba;box-shadow:0 4px 18px #25304726;font-weight:650;padding:12px 16px}
#vf-guest-support .guest-support-launcher span{color:#fff!important;-webkit-text-fill-color:#fff!important}
/* Forms need their full width, including while scrolled or using a keyboard. */
.auth-form-page #vf-guest-support .guest-support-launcher{position:static;margin:16px auto;max-width:calc(100% - 32px)}
#vf-guest-support dialog{position:fixed;inset:auto 20px 20px auto;width:min(420px,calc(100vw - 32px));height:min(720px,calc(100dvh - 40px));max-width:none;max-height:none;margin:0;padding:0;border:1px solid #ccd4e0;border-radius:16px;background:#fff;color:#253047;box-shadow:0 16px 64px #172a4b33;overflow:hidden}
#vf-guest-support dialog[open]{display:flex;flex-direction:column}
#vf-guest-support dialog::backdrop{background:#1527425c}
#vf-guest-support .guest-support-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;border-bottom:1px solid #dde2eb;background:#fff;flex:none}
#vf-guest-support .guest-support-head h2{margin:0!important;font-size:20px!important;line-height:1.3!important;letter-spacing:0!important;color:#253047!important;-webkit-text-fill-color:#253047!important}
#vf-guest-support .guest-support-head p{margin:3px 0 0;font-size:13px;color:#596579!important}
#vf-guest-support .guest-support-head>button{width:44px;flex:none;font-size:24px;padding:0}
#vf-guest-support .guest-support-intro{margin:0;padding:12px 16px;background:#f7f8fb;font-size:13px;color:#596579!important;flex:none}
#vf-guest-support .guest-support-messages{flex:1 1 140px;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px;scrollbar-gutter:stable;background:#fff}
#vf-guest-support .guest-support-empty{margin:10px 0;color:#596579!important}
#vf-guest-support .guest-support-message{max-width:92%;padding:10px 12px;border-radius:12px;background:#f0f3f7;margin:0 0 12px;overflow-wrap:anywhere}
#vf-guest-support .guest-support-message.guest-support-mine{margin-left:auto;background:#eaf0ff}
#vf-guest-support .guest-support-message strong{font-size:12px;color:#253047!important;-webkit-text-fill-color:#253047!important}
#vf-guest-support .guest-support-message p{margin:5px 0;white-space:pre-wrap;font-size:15px;color:#253047!important;-webkit-text-fill-color:#253047!important}
#vf-guest-support .guest-support-message time{font-size:11px;color:#596579}
#vf-guest-support :is(.guest-support-state,.guest-support-feedback){margin:0;padding:8px 16px;font-size:13px;flex:none;color:#596579!important;background:#f7f8fb}
#vf-guest-support .guest-support-feedback.is-error{background:#fff3e5;color:#754217!important;-webkit-text-fill-color:#754217!important}
#vf-guest-support .guest-support-compose{display:flex;flex-direction:column;gap:7px;border-top:1px solid #dde2eb;padding:12px 16px;background:#fff;flex:none}
#vf-guest-support .guest-support-compose label{font-size:13px;font-weight:650;color:#253047!important}
#vf-guest-support .guest-support-compose textarea{display:block;resize:none;width:100%;min-height:64px!important;max-height:130px;border:1px solid #b9c5d6!important;border-radius:8px;padding:9px 10px!important;font:16px/1.4 system-ui!important;background:#fff!important;color:#253047!important;-webkit-text-fill-color:#253047!important}
#vf-guest-support .guest-support-compose>div{display:flex;align-items:center;gap:12px;justify-content:space-between}
#vf-guest-support .guest-support-compose small{font-size:11px;line-height:1.35;color:#596579!important;max-width:250px}
#vf-guest-support [data-guest-support-send]{background:#315bba;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#315bba;padding-inline:20px;flex:none}
#vf-guest-support .guest-support-options{flex:0 1 auto;min-height:44px;max-height:32%;overflow-y:auto;background:#f7f8fb;border-top:1px solid #dde2eb;padding:0 16px;overscroll-behavior:contain}
#vf-guest-support .guest-support-options summary{min-height:44px;align-content:center;font-size:12px;cursor:pointer;color:#596579!important}
#vf-guest-support .guest-support-options p{font-size:12px;margin:0 0 10px;color:#596579!important}
#vf-guest-support .guest-support-options button{font-size:12px;margin:0 4px 10px 0}
#vf-guest-support .guest-support-options a{color:#315bba;text-decoration:underline;text-underline-offset:2px}
@media(max-width:600px){
 #vf-guest-support dialog{inset:var(--guest-view-top,8px) 8px auto 8px;width:calc(100% - 16px);height:var(--guest-view-height,calc(100dvh - 16px));border-radius:14px}
 #vf-guest-support .guest-support-head{padding:10px 12px}
 #vf-guest-support .guest-support-intro{padding:8px 12px}
 #vf-guest-support .guest-support-compose{padding:10px 12px}
 #vf-guest-support .guest-support-messages{padding:12px}
 #vf-guest-support .guest-support-launcher{right:12px;bottom:max(12px,env(safe-area-inset-bottom));font-size:13px;padding:10px 12px}
}
@media(max-height:520px){
 #vf-guest-support .guest-support-intro{display:none}
 #vf-guest-support .guest-support-head{padding-block:6px}
 #vf-guest-support .guest-support-head p{display:none}
 #vf-guest-support .guest-support-compose{padding-block:8px}
 #vf-guest-support .guest-support-compose textarea{min-height:48px!important;height:48px}
}
@media(prefers-reduced-motion:reduce){#vf-guest-support *{scroll-behavior:auto!important;transition:none!important}}
#vf-guest-support .guest-compact-viewport .guest-support-intro{display:none}
#vf-guest-support .guest-compact-viewport .guest-support-head{padding-block:6px}
#vf-guest-support .guest-compact-viewport .guest-support-head p{display:none}
#vf-guest-support .guest-compact-viewport .guest-support-compose{padding-block:8px}
#vf-guest-support .guest-compact-viewport .guest-support-compose textarea{min-height:48px!important;height:48px}
