.platform-support { --support-blue:#2879ed; --support-text:#263247; --support-muted:#6b778a; --support-line:#e3e8f0; font-family:inherit; color:var(--support-text); font-size:14px; line-height:1.5; position:relative; z-index:1100; }
.platform-support *, .platform-support *::before, .platform-support *::after { box-sizing:border-box; }
.platform-support [hidden] { display:none !important; }
.platform-support button, .platform-support textarea, .platform-support a { font:inherit; }
.platform-support button, .platform-support a, .platform-support-file-label { -webkit-tap-highlight-color:transparent; }
.platform-support button { cursor:pointer; }
.platform-support button:disabled { cursor:default; opacity:.55; }
.platform-support a { color:var(--support-blue); }
.platform-support svg { display:block; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.platform-support button:focus-visible, .platform-support a:focus-visible, .platform-support textarea:focus-visible, .platform-support-file-label:focus-within { outline:3px solid #98c3ff; outline-offset:3px; }
.platform-support-launcher { position:fixed; right:24px; bottom:calc(24px + env(safe-area-inset-bottom,0px)); width:54px; height:54px; min-height:54px; border:0; border-radius:50%; display:flex; align-items:center; justify-content:center; padding:14px; background:var(--support-blue); color:#fff; box-shadow:0 5px 20px #205dc246; }
.platform-support-launcher svg { width:26px; height:26px; }
.platform-support-badge { position:absolute; right:-3px; top:-6px; border:2px solid #fff; background:#dc3545; color:#fff; font-size:12px; min-width:23px; height:23px; padding:0 5px; border-radius:15px; display:flex; justify-content:center; align-items:center; }
.platform-support-dialog { position:fixed; right:24px; bottom:calc(24px + env(safe-area-inset-bottom,0px)); width:min(400px,calc(100vw - 32px)); height:min(590px,calc(100dvh - 48px)); max-height:calc(100vh - 48px); background:#fff; border:1px solid var(--support-line); border-radius:15px; box-shadow:0 12px 48px #142c4d30; overflow:hidden; display:flex; flex-direction:column; }
.platform-support-dialog.is-expanded { width:min(760px,calc(100vw - 48px)); height:min(760px,calc(100dvh - 48px)); }
.platform-support-heading { display:flex; align-items:center; gap:10px; padding:14px; background:linear-gradient(110deg,#3476ed,#168af8); color:#fff; flex-shrink:0; }
.platform-support-heading h2 { font-size:16px; margin:0; color:inherit; font-weight:600; max-height:48px; overflow:auto; }
.platform-support-heading p { margin:2px 0 0; font-size:12px; opacity:.95; }
.platform-support-heading-main { flex:1; min-width:0; overflow-wrap:anywhere; }
.platform-support-avatar { display:flex; align-items:center; justify-content:center; width:39px; height:39px; border-radius:50%; background:#ffffffed; color:var(--support-blue); overflow:hidden; flex-shrink:0; }
.platform-support-avatar img { width:100%; height:100%; object-fit:cover; }
.platform-support-icon { background:transparent; border:0; border-radius:6px; color:inherit; display:inline-flex; align-items:center; justify-content:center; min-width:32px; min-height:32px; padding:5px; flex-shrink:0; }
.platform-support-notice { background:#f0f6ff; border-bottom:1px solid var(--support-line); padding:10px 14px; max-height:min(25%,160px); overflow:auto; flex-shrink:1; }
.platform-support-notice p { margin:0; overflow-wrap:anywhere; }
.platform-support-hours { display:block; color:var(--support-muted); margin-top:4px; overflow-wrap:anywhere; }
.platform-support-login { text-align:center; padding:35px 20px; flex:1; overflow:auto; }
.platform-support-login p { margin:0 0 20px; }
.platform-support-primary { background:var(--support-blue); color:#fff !important; border:1px solid var(--support-blue); border-radius:8px; display:inline-flex; justify-content:center; align-items:center; padding:9px 14px; white-space:nowrap; text-decoration:none; flex-shrink:0; }
.platform-support-help { margin-top:20px; }
.platform-support-timeline { min-height:48px; flex:1; position:relative; overflow:auto; overscroll-behavior:contain; padding:14px; background:#fbfcfe; }
.platform-support-messages { display:flex; flex-direction:column; gap:15px; }
.platform-support-message { max-width:88%; align-self:flex-start; min-width:0; }
.platform-support-message.mine { align-self:flex-end; }
.platform-support-message header { color:var(--support-muted); font-size:11px; margin-bottom:4px; display:flex; flex-wrap:wrap; gap:6px; }
.platform-support-message.mine header { justify-content:flex-end; }
.platform-support-bubble { width:fit-content; max-width:100%; background:#eef1f6; padding:10px 12px; border-radius:4px 12px 12px; overflow-wrap:anywhere; }
.platform-support-message.mine .platform-support-bubble { margin-left:auto; background:#e7f0ff; border-radius:12px 4px 12px 12px; }
.platform-support-bubble p { white-space:pre-wrap; margin:0; }
.platform-support-message-images { display:flex; gap:6px; flex-wrap:wrap; margin-top:6px; }
.platform-support-message-images img { display:block; max-width:150px; max-height:140px; width:auto; height:auto; border-radius:6px; }
.platform-support-empty { color:var(--support-muted); padding:20px 12px; text-align:center; margin:0; }
.platform-support-older { display:block; margin:0 auto 14px; border:1px solid var(--support-line); background:#fff; color:var(--support-muted); border-radius:20px; padding:6px 12px; }
.platform-support-new { position:sticky; bottom:0; display:block; margin:10px auto 0; background:#fff; color:var(--support-blue); border:1px solid #b8d5ff; border-radius:20px; padding:6px 12px; box-shadow:0 3px 10px #142c4d12; }
.platform-support-composer { padding:12px; border-top:1px solid var(--support-line); flex-shrink:0; background:#fff; }
.platform-support-editor { padding:10px; border:1px solid #dfe6f0; border-radius:14px; background:#f8fafd; }
.platform-support-editor:focus-within { border-color:#85b5fa; background:#fff; box-shadow:0 0 0 3px #2879ed0d; }
.platform-support-tools { display:flex; align-items:center; flex:1; min-width:0; gap:4px; color:#738197; }
.platform-support-composer .platform-support-icon { width:36px; min-width:36px; height:36px; min-height:36px; padding:8px; border-radius:9px; }
.platform-support-composer .platform-support-icon svg { width:20px; height:20px; }
.platform-support-composer .platform-support-icon:hover:not(:disabled):not(.is-disabled) { color:var(--support-blue); background:#eaf2ff; }
.platform-support-file-label { position:relative; cursor:pointer; margin:0; }
.platform-support-file-label input { position:absolute; inset:0; opacity:0; width:100%; height:100%; cursor:pointer; }
.platform-support-file-label.is-disabled { opacity:.5; cursor:default; }
.platform-support-full { min-width:0; margin-left:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px !important; }
.platform-support-input-row { display:flex; flex-direction:column; gap:6px; }
.platform-support-input-row textarea { display:block; width:100%; min-width:0; height:64px; min-height:48px; max-height:96px; resize:none; padding:2px 4px; border:0; border-radius:0; outline:none; background:transparent; box-shadow:none; color:var(--support-text); font-size:14px; line-height:1.6; }
.platform-support-input-row textarea::placeholder { color:#96a1b1; opacity:1; }
.platform-support-input-row textarea:focus-visible { outline:none; }
.platform-support-compose-footer { display:flex; align-items:center; gap:8px; }
.platform-support-compose-footer [type="submit"] { min-height:40px; gap:7px; padding:9px 15px; border:0; border-radius:10px; background:linear-gradient(135deg,#3488f6,#246fe5); box-shadow:0 3px 8px #2879ed26; font-size:14px; font-weight:500; line-height:22px; }
.platform-support-compose-footer [type="submit"] svg { width:16px; height:16px; }
.platform-support-compose-footer [type="submit"]:hover:not(:disabled) { background:linear-gradient(135deg,#287bed,#1b60d2); box-shadow:0 4px 10px #2879ed38; }
.platform-support-compose-footer [type="submit"]:active:not(:disabled) { transform:translateY(1px); box-shadow:0 1px 4px #2879ed26; }
.platform-support-pending { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px; max-height:76px; overflow:auto; }
.platform-support-pending:empty { display:none; }
.platform-support-pending-item { position:relative; border:1px solid var(--support-line); border-radius:6px; padding:5px; max-width:100%; display:flex; align-items:center; gap:5px; }
.platform-support-pending-item img { width:45px; height:45px; object-fit:cover; border-radius:4px; }
.platform-support-pending-item button { border:0; color:var(--support-muted); background:transparent; padding:5px; min-height:30px; }
.platform-support-status { font-size:12px; color:var(--support-muted); margin:4px 0 0; max-height:54px; overflow:auto; overflow-wrap:anywhere; }
.platform-support-status:empty { display:none; }
.platform-support-status.is-error { color:#b72b3b; }
.platform-support-status button { background:transparent; color:var(--support-blue); border:0; text-decoration:underline; padding:4px 6px; }
.platform-support-connection { position:sticky; top:0; z-index:1; margin:0; padding:20px 12px; color:var(--support-muted); background:#fbfcfe; font-size:14px; text-align:center; overflow-wrap:anywhere; }
.platform-support-connection:empty { display:none; }
.platform-support-connection:not(:empty) ~ .platform-support-messages .platform-support-empty { display:none; }
@media(max-width:767px) {
    .platform-support-launcher { right:16px; bottom:calc(82px + env(safe-area-inset-bottom,0px)); width:52px; height:52px; min-height:52px; border-radius:50%; padding:12px; }
    .platform-support-dialog, .platform-support-dialog.is-expanded { top:var(--support-viewport-top,0px); left:0; right:0; bottom:auto; width:100%; height:var(--support-viewport-height,100dvh); max-height:100%; border:0; border-radius:0; z-index:1; }
    .platform-support-heading { padding-top:calc(12px + env(safe-area-inset-top,0px)); }
    .platform-support-expand { display:none; }
    .platform-support-composer { padding-bottom:calc(10px + env(safe-area-inset-bottom,0px)); }
    .platform-support-icon { min-width:40px; min-height:40px; }
    .platform-support-composer .platform-support-icon { width:40px; min-width:40px; height:40px; min-height:40px; }
    .platform-support-compose-footer [type="submit"] { min-height:44px; padding-inline:14px; }
    .platform-support-input-row textarea { font-size:16px; }
    .platform-support-message-images img { max-width:130px; }
    .platform-support-full { max-width:65%; overflow-wrap:anywhere; }
    .platform-support.is-keyboard .platform-support-notice { display:none; }
    .platform-support.is-keyboard .platform-support-timeline { min-height:24px; }
    .platform-support.is-keyboard .platform-support-pending { max-height:32px; }
    .platform-support.is-keyboard .platform-support-status { max-height:36px; }
}
@media(max-width:767px) and (max-height:480px) {
    .platform-support-notice { display:none; }
    .platform-support-timeline { min-height:24px; }
    .platform-support-pending { max-height:32px; }
    .platform-support-status { max-height:36px; }
}
@media(prefers-reduced-motion:no-preference) {
    .platform-support-launcher { transition:background-color .15s,box-shadow .15s; }
    .platform-support-editor { transition:border-color .15s,box-shadow .15s,background-color .15s; }
    .platform-support-composer .platform-support-icon, .platform-support-compose-footer [type="submit"] { transition:background-color .15s,color .15s,box-shadow .15s,transform .15s; }
}
