/* Chat dimensions and layout follow the local oraclfund-japan.com reference. */
.support-chat { position:fixed; right:20px; bottom:20px; z-index:9990; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; color:#fff; }
.support-chat button,.support-chat textarea,.support-chat input { font:inherit; box-sizing:border-box; }
.support-chat__toggle { width:56px; height:56px; border-radius:50%; border:0; color:#fff; background:var(--primary,#be123c); cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 30px #0003; transition:transform .2s; }
.support-chat__toggle:hover { transform:scale(1.05); }
.support-chat__toggle svg { width:26px; height:26px; }
.support-chat__panel { position:absolute; right:0; bottom:70px; width:380px; max-height:min(650px,calc(100dvh - 110px)); background:#111827; border:1px solid #ffffff1a; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 12px 40px #0008; }
.support-chat [hidden] { display:none!important; }
.support-chat__body { overflow-y:auto; min-height:0; overscroll-behavior:contain; }
.support-chat__head { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; padding:14px 16px; background:#0005; border-bottom:1px solid #ffffff0f; }
.support-chat__identity { display:flex; align-items:center; gap:10px; }
.support-chat__avatar { width:40px; height:40px; border-radius:50%; background:var(--primary,#be123c); display:grid; place-items:center; font-weight:700; }
.support-chat__title { margin:0; font-size:14px; font-weight:700; color:#fff; }
.support-chat__status { margin:0; font-size:11px; color:#ffffff9c; }
.support-chat__close { background:none; border:0; color:#ffffff9c; font-size:22px!important; cursor:pointer; padding:4px 8px; }
.support-chat__messages { overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:12px; max-height:240px; min-height:100px; }
.support-chat__message { background:#ffffff0f; border-radius:12px; padding:12px 14px; font-size:13px; line-height:1.6; color:#ffffffd9; white-space:pre-wrap; overflow-wrap:anywhere; }
.support-chat__message--user { align-self:flex-end; background:var(--primary,#be123c); color:#fff; max-width:90%; }
.support-chat__quick { display:flex; flex-wrap:wrap; gap:6px; padding:0 16px 12px; }
.support-chat__quick button { background:#ffffff0f; color:#fff; border:1px solid #ffffff26; border-radius:8px; padding:6px 10px; cursor:pointer; font-size:12px; }
.support-chat__composer { display:flex; gap:8px; border-top:1px solid #ffffff0f; padding:12px 16px; }
.support-chat__input { flex:1; min-width:0; resize:none; background:#ffffff0f; border:1px solid #ffffff1a; border-radius:8px; padding:10px 12px; color:#fff; font-size:13px!important; line-height:1.4; }
.support-chat__input::placeholder { color:#ffffff8c; }
.support-chat__send { width:40px; height:40px; border:0; border-radius:8px; background:var(--primary,#be123c); color:#fff; font-size:20px!important; cursor:pointer; flex-shrink:0; }
.support-chat__send:disabled { opacity:.3; cursor:not-allowed; }
.support-chat__footer { font-size:11px; line-height:1.5; color:#ffffff9c; padding:0 16px 14px; margin:0; }
.support-chat__footer a { color:#fff; text-decoration:underline; }
.support-chat__form { border-top:1px solid #ffffff0f; padding:14px 16px; margin:0; }
.support-chat__form-title { margin:0 0 12px; font-size:14px; line-height:1.5; color:#fff; }
.support-chat__form-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.support-chat__field { min-width:0; }
.support-chat__field--full { grid-column:1 / -1; }
.support-chat__field label { display:block; margin-bottom:4px; font-size:12px; color:#ffffffd9; }
.support-chat__form input { width:100%; min-width:0; padding:10px 12px; background:#ffffff0f; border:1px solid #ffffff1a; border-radius:8px; color:#fff; font-size:16px; line-height:1.4; }
.support-chat__form input::placeholder { color:#ffffff8c; }
.support-chat__form input.valid { border-color:#28a745; }
.support-chat__form input.invalid { border-color:#dc3545; }
.support-chat .support-chat__form input[type=tel] { padding-top:10px; padding-bottom:10px; padding-right:12px!important; }
.support-chat .support-chat__form .iti__selected-flag { color:#fff; border-right:1px solid #ffffff1a; border-radius:8px 0 0 8px; }
.support-chat .support-chat__form .iti__selected-dial-code { color:#fff; }
.support-chat .support-chat__form .iti__country-list { background:#111827; color:#fff; border-color:#ffffff26; }
.support-chat .support-chat__form .iti__highlight { background:#ffffff1a; }
.support-chat__register { width:100%; margin-top:12px; padding:12px; border:0; border-radius:8px; background:var(--primary,#be123c); color:#fff; font-size:14px; font-weight:700!important; cursor:pointer; }
.support-chat__register:disabled { opacity:.5; cursor:not-allowed; }
.support-chat__form-note { margin:8px 0 0; font-size:11px; line-height:1.5; color:#ffffff9c; }
.support-chat__form-note a { color:#fff; text-decoration:underline; }
.support-chat :focus-visible { outline:2px solid #fff; outline-offset:3px; }
@media(max-width:480px) { .support-chat__panel { width:calc(100vw - 32px); right:-4px; bottom:66px; max-height:70dvh; } }
@supports not (height:100dvh) { .support-chat__panel { max-height:70vh; } }
@media(prefers-reduced-motion:reduce) { .support-chat__toggle { transition:none; } }
