/* Shared public widget. No global form, typography or color overrides. */
body[data-live-chat]{--chat-edge:calc(46px + env(safe-area-inset-right,0px));--chat-gutter:1.5rem}
/* Keep backgrounds full bleed; reserve the launcher strip inside content only. */
body[data-live-chat] .shell{width:min(var(--shell),calc(100% - 2 * var(--chat-gutter) - var(--chat-edge)));margin-left:max(var(--chat-gutter),calc((100% - var(--chat-edge) - var(--shell)) / 2));margin-right:auto}
body[data-live-chat] .shell>*,body[data-live-chat] .shell form{min-width:0}
body[data-live-chat] .media-disclosure--hero{right:calc(var(--chat-edge) + var(--chat-gutter))}
body[data-live-chat] .hero-scroll{right:max(calc(var(--chat-edge) + var(--chat-gutter)),calc((100% + var(--chat-edge) - var(--shell)) / 2))}
@media(max-width:42rem){body[data-live-chat]{--chat-gutter:1rem}}
#ucn-chat{font-family:var(--font-body),sans-serif;font-size:16px;line-height:1.55;color:#17213a;text-align:left}
#ucn-chat *,#ucn-chat *::before,#ucn-chat *::after{box-sizing:border-box}
#ucn-chat [hidden]{display:none!important}
#ucn-chat button,#ucn-chat input,#ucn-chat textarea{font:inherit;letter-spacing:normal}
#ucn-chat button{cursor:pointer}
#ucn-chat button:disabled{cursor:wait;opacity:.65}
#ucn-chat :focus-visible{outline:3px solid #f4b01f;outline-offset:3px}
#ucn-chat a{color:#1f3a71;text-decoration:underline}
#ucn-chat p{margin:0 0 1rem}
#ucn-chat .chat-launcher{position:fixed;right:env(safe-area-inset-right,0px);bottom:calc(28px + env(safe-area-inset-bottom,0px));z-index:110;width:46px;min-height:156px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:14px 0;background:#1f3a71;color:white;border:0;border-left:4px solid #f4b01f;border-radius:12px 0 0 12px;box-shadow:-3px 4px 16px #17213a18;font-size:14px;font-weight:800}
#ucn-chat .launcher-label{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.04em}
#ucn-chat .chat-launcher:hover{background:#2d5599}
#ucn-chat .launcher-dot{width:10px;height:10px;background:#a5adba;border:1px solid #ffffff80;border-radius:50%;flex:none}
#ucn-chat .chat-launcher[data-presence="online"] .launcher-dot{background:#43d17b}
#ucn-chat .chat-launcher[data-presence="busy"] .launcher-dot{background:#ff6262}
#ucn-chat .unread-badge{border-radius:50%;background:#f4b01f;color:#1f3a71;width:20px;height:20px;display:grid;place-content:center}
#ucn-chat .chat-window{position:fixed;right:calc(var(--chat-edge) + 12px);bottom:calc(20px + env(safe-area-inset-bottom,0px));width:390px;max-width:calc(100% - var(--chat-edge) - 24px);max-height:calc(100dvh - 40px);z-index:1200;border-radius:18px;box-shadow:0 18px 70px #12294f44;background:white;overflow:hidden;display:flex;flex-direction:column;border:1px solid #dce3ed}
#ucn-chat .chat-heading{display:flex;gap:12px;align-items:center;padding:16px;background:#1f3a71;color:white;flex-shrink:0;border-bottom:4px solid #f4b01f}
#ucn-chat .avatar{border:1px solid #ffffff55;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;font-weight:700;font-size:13px;background:#ffffff12;flex:none}
#ucn-chat .chat-heading h2{font-family:var(--font-body),sans-serif;font-size:15px;line-height:1.3;color:white;margin:0 0 2px;letter-spacing:normal}
#ucn-chat .chat-heading span{font-size:11px;color:#e0e8f5}
#ucn-chat .chat-heading>button{margin-left:auto;flex:none;border:0;background:none;color:white;font-size:29px;width:40px;height:40px;padding:0;line-height:1}
#ucn-chat .chat-content{padding:16px;overflow:auto;overscroll-behavior:contain}
#ucn-chat .status-copy{background:#f2f5fa;padding:11px;border-radius:9px;font-size:13px;color:#5c687b}
#ucn-chat .intro-copy{font-size:16px;font-weight:750;color:#1f3a71}
#ucn-chat label{display:block;font-size:14px;font-weight:700;margin-bottom:14px}
#ucn-chat input,#ucn-chat textarea{display:block;border:1px solid #b7c3d5;border-radius:9px;padding:11px 13px;background:white;color:#17213a;width:100%;margin-top:5px;min-width:0;line-height:1.5}
#ucn-chat textarea{resize:vertical;min-height:70px}
#ucn-chat input[type=checkbox]{width:18px;height:18px;flex:none;margin:2px 0 0;accent-color:#1f3a71}
#ucn-chat .check{display:flex;gap:10px;align-items:flex-start;font-size:12px;font-weight:500}
#ucn-chat .primary{display:flex;align-items:center;justify-content:center;gap:13px;border-radius:11px;padding:13px 18px;font-weight:800;font-size:14px;border:1px solid transparent;min-height:44px;background:#f4b01f;color:#1f3a71;width:100%;margin-top:8px}
#ucn-chat .primary:hover{background:#ffc447}
#ucn-chat .error{padding:12px;background:#fff0ed;border:1px solid #e0b0a8;border-radius:10px;color:#982d23;font-size:14px;overflow-wrap:anywhere}
#ucn-chat .privacy-note{font-size:12px;color:#5c687b;margin:10px 0}
#ucn-chat .privacy-note summary{cursor:pointer;font-weight:700;color:#1f3a71}
#ucn-chat .privacy-note p{margin:8px 0}
#ucn-chat .chat-footnote{font-size:11px;color:#5c687b;text-align:center;border-top:1px solid #dce3ed;margin:16px 0 0;padding-top:11px}
#ucn-chat .chat-footnote a{white-space:nowrap}
#ucn-chat .honeypot{position:absolute;left:-10000px;opacity:0}
#ucn-chat .messages{overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:13px;padding:16px;background:#f6f8fc;min-height:130px;max-height:45dvh;border-radius:10px}
#ucn-chat .bubble{max-width:90%;padding:12px 14px;background:white;border:1px solid #dce3ed;border-radius:13px 13px 13px 2px;overflow-wrap:anywhere;white-space:pre-wrap;font-size:14px;align-self:flex-start}
#ucn-chat .bubble.mine{align-self:flex-end;background:#1f3a71;color:white;border-color:#1f3a71;border-radius:13px 13px 2px 13px}
#ucn-chat .bubble small{display:block;font-size:10px;opacity:.7;margin-top:5px;white-space:normal}
#ucn-chat #visitor-read{font-size:12px;color:#5c687b;margin:6px 0}
@media(max-width:760px){#ucn-chat .chat-window{left:max(8px,env(safe-area-inset-left,0px));right:max(8px,env(safe-area-inset-right,0px));bottom:calc(8px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;max-height:calc(100dvh - 16px - env(safe-area-inset-bottom,0px) - env(safe-area-inset-top,0px))}#ucn-chat .chat-content{padding:12px}#ucn-chat .chat-heading{padding:11px;gap:8px}#ucn-chat .avatar{width:32px;height:32px}#ucn-chat .chat-heading h2{font-size:14px}#ucn-chat .chat-heading span{font-size:10px}#ucn-chat input,#ucn-chat textarea{font-size:16px}}
@media print{#ucn-chat{display:none!important}body[data-live-chat] .shell{width:min(var(--shell),calc(100% - 3rem));margin-inline:auto}}
