/* Suporte flutuante. Usa as variáveis do portal; na tela de login (.gps-dark) define as próprias. */
.gps{--g-bg:var(--surface,#fff);--g-bg2:var(--surface-2,#faf8f8);--g-ink:var(--ink,#171416);--g-muted:var(--muted,#6c6568);--g-line:var(--line,#e6e1e1);--g-brand:var(--brand,#d71920);--g-brand-ink:var(--brand-ink,#fff);--g-soft:var(--brand-soft,#fde8e9);--g-bad:var(--bad,#b42318);--g-ok:var(--ok,#17784a);
  font-family:var(--body,'Barlow','Segoe UI',system-ui,sans-serif);font-size:14.5px;line-height:1.45;color:var(--g-ink)}
.gps-dark{--g-bg:#1b181b;--g-bg2:#221e22;--g-ink:#f4f1f1;--g-muted:#a79fa2;--g-line:#2f2a2e;--g-brand:#e5282f;--g-brand-ink:#ffffff;--g-soft:#3a1517;--g-bad:#ff7a70;--g-ok:#4cc58a}
.gps *{box-sizing:border-box}
.gps svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}

.gps-fab{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:max(18px,env(safe-area-inset-bottom,0px));z-index:9990;display:inline-flex;align-items:center;gap:8px;
  height:52px;padding:0 20px 0 16px;border:0;border-radius:999px;background:var(--g-brand);color:var(--g-brand-ink);font:600 15px/1 var(--body,system-ui,sans-serif);
  box-shadow:0 6px 20px rgba(215,25,32,.38),0 2px 6px rgba(0,0,0,.25);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.gps-fab:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(215,25,32,.45),0 2px 8px rgba(0,0,0,.28)}
.gps-fab:focus-visible{outline:3px solid var(--g-ink);outline-offset:3px}
.gps-fab svg{width:22px;height:22px}
.gps-badge{position:absolute;top:-4px;right:-2px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#fff;color:#d71920;border:2px solid var(--g-brand);font:700 11px/16px var(--body,system-ui,sans-serif);font-style:normal;text-align:center}
.gps-badge[hidden]{display:none}
.is-open .gps-fab{display:none}

.gps-panel{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:max(18px,env(safe-area-inset-bottom,0px));z-index:9991;width:380px;max-width:calc(100vw - 24px);height:min(560px,calc(100vh - 36px));
  display:flex;flex-direction:column;background:var(--g-bg);border:1px solid var(--g-line);border-radius:16px;box-shadow:0 18px 50px rgba(10,6,8,.38);overflow:hidden}
.gps-panel[hidden]{display:none}
.gps-head{display:flex;align-items:center;gap:6px;padding:12px 10px 12px 16px;background:var(--g-brand);color:var(--g-brand-ink)}
.gps-title{flex:1;min-width:0;display:flex;flex-direction:column}
.gps-title b{font:600 16px/1.2 var(--display,'Oswald',system-ui,sans-serif);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gps-title small{font-size:12px;opacity:.85}
.gps-ib{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:inherit;cursor:pointer}
.gps-ib:hover{background:rgba(255,255,255,.18)}
.gps-ib:focus-visible,.gps-btn:focus-visible,.gps-list button:focus-visible,.gps-send:focus-visible{outline:2px solid var(--g-ink);outline-offset:2px}

.gps-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
.gps-center{align-items:center;justify-content:center;text-align:center;gap:8px}
.gps-lead{margin:0;color:var(--g-muted);font-size:13.5px}
.gps label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:13px;color:var(--g-ink)}
.gps input,.gps textarea{width:100%;border:1px solid var(--g-line);background:var(--g-bg2);color:var(--g-ink);border-radius:10px;padding:10px 12px;font:400 14.5px/1.4 var(--body,system-ui,sans-serif);resize:vertical}
.gps input:focus,.gps textarea:focus{outline:2px solid var(--g-brand);outline-offset:0;border-color:var(--g-brand)}
.gps-btn{border:0;border-radius:10px;background:var(--g-brand);color:var(--g-brand-ink);font:600 14.5px/1 var(--body,system-ui,sans-serif);padding:13px 16px;cursor:pointer}
.gps-btn:hover:not(:disabled){filter:brightness(.93)}
.gps-btn:disabled{opacity:.55;cursor:not-allowed}
.gps-new{align-self:stretch}
.gps-err{background:color-mix(in srgb,var(--g-bad) 14%,transparent);color:var(--g-bad);border-radius:10px;padding:10px 12px;font-size:13.5px}
.gps-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.gps-ok{width:46px;height:46px;border-radius:50%;background:var(--g-ok);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:700}
.gps-empty{border:1px dashed var(--g-line);border-radius:12px;padding:22px 16px;text-align:center;color:var(--g-muted);font-size:13.5px}
.gps-empty b{display:block;color:var(--g-ink);margin-bottom:4px}

.gps-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.gps-list button{width:100%;text-align:left;border:1px solid var(--g-line);background:var(--g-bg2);border-radius:12px;padding:11px 12px;display:flex;flex-direction:column;gap:6px;cursor:pointer;color:var(--g-ink)}
.gps-list button:hover{border-color:var(--g-brand)}
.gps-sub{font-weight:600;display:flex;align-items:center;gap:8px}
.gps-dot{width:9px;height:9px;border-radius:50%;background:var(--g-brand);flex:none}
.gps-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--g-muted)}
.gps-pill{font-style:normal;font-weight:600;font-size:11.5px;padding:2px 9px;border-radius:999px;background:var(--g-bg);border:1px solid var(--g-line)}
.gps-pill.aberto{background:#fdf0d8;color:#9a5b00;border-color:transparent}
.gps-pill.respondido{background:#e1f4ea;color:#17784a;border-color:transparent}

.gps-thread{flex:1;overflow-y:auto;padding:14px 14px 8px;display:flex;flex-direction:column;gap:8px;background:var(--g-bg2)}
.gps-msg{max-width:85%;display:flex;flex-direction:column;gap:3px}
.gps-msg>div{padding:9px 12px;border-radius:14px;word-wrap:break-word;overflow-wrap:anywhere}
.gps-msg small{font-size:11px;color:var(--g-muted)}
.gps-msg.me{align-self:flex-end;align-items:flex-end}
.gps-msg.me>div{background:var(--g-brand);color:var(--g-brand-ink);border-bottom-right-radius:4px}
.gps-msg.staff{align-self:flex-start}
.gps-msg.staff>div{background:var(--g-bg);border:1px solid var(--g-line);border-bottom-left-radius:4px}
.gps-foot{display:flex;gap:8px;align-items:flex-end;padding:10px;border-top:1px solid var(--g-line);background:var(--g-bg)}
.gps-foot textarea{flex:1;max-height:110px;resize:none;min-height:42px}
.gps-send{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:10px;background:var(--g-brand);color:var(--g-brand-ink);cursor:pointer;flex:none}
.gps-send:disabled{opacity:.5;cursor:not-allowed}
.gps-closed{justify-content:center;color:var(--g-muted);font-size:13px}
.gps-spin{width:26px;height:26px;border:3px solid var(--g-line);border-top-color:var(--g-brand);border-radius:50%;animation:gps-spin .8s linear infinite}
@keyframes gps-spin{to{transform:rotate(360deg)}}

@media (max-width:520px){
  .gps-panel{right:0;bottom:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0}
  .gps-fab span{display:none}.gps-fab{width:54px;padding:0;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.gps-fab,.gps-spin{transition:none;animation:none}}

/* v0.4.0: Comunicação (categoria, urgência, anexos, online) */
.gps-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gps select{font:inherit;padding:9px 10px;border:1px solid var(--g-line);border-radius:10px;background:var(--g-bg2);color:var(--g-ink)}
.gps-on{display:inline-flex;align-items:center;gap:5px}
.gps-on:before{content:"";width:7px;height:7px;border-radius:50%;background:#9aa0a6}
.gps-on.on:before{background:#1fa463}
.gps-file{display:inline-block;margin-top:4px;font-size:12px;text-decoration:underline;color:inherit}

/* Aviso de resposta */
.gps-pop{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(var(--gps-fab-b,18px) + 62px);z-index:9992;width:min(320px,calc(100vw - 28px));padding:14px 16px 14px;background:var(--g-bg);color:var(--g-ink);border:1px solid var(--g-line);border-left:4px solid var(--g-brand);border-radius:14px;box-shadow:0 14px 40px rgba(10,6,8,.45);opacity:0;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease}
.gps-pop.show{opacity:1;transform:none}
.gps-pop-h{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.gps-pop-h b{flex:1;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gps-pop-ic{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--g-soft);color:var(--g-brand)}
.gps-pop-ic svg{width:16px;height:16px}
.gps-pop-x{border:0;background:transparent;color:var(--g-muted);cursor:pointer;padding:4px;border-radius:8px;display:inline-flex}
.gps-pop-x svg{width:16px;height:16px}
.gps-pop-s{font-weight:600;font-size:13px;color:var(--g-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gps-pop-t{margin:4px 0 10px;font-size:14px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gps-pop-a .gps-btn{width:100%}
.gps-fab span{white-space:nowrap}
