/* HB Suporte 0.10.3 | Visual Harmony.
   Tokens compartilhados. Cada modulo mantem seu CSS e seus estados.
   Fundos neutros; azul apenas na interacao, ambar na nota privada. */
:root {
  color-scheme: light;
  --bg: #f5f7fa;
  --rail: #252c37;
  --side: #ffffff;
  --panel: #ffffff;
  --panel2: #f7f9fc;
  --line: #dfe5ed;
  --text: #253142;
  --muted: #596b80;
  --quiet: #7a899b;
  --green: #20845a;
  --green2: #176c4b;
  --soft: #edf6f2;
  --gold: #b77924;
  --red: #b84244;
  --brand-blue: #2781e8;
  --brand-amber: #f7b548;
  --brand-red: #ff594e;
  --accent: #246fcf;
  --accent-hover: #1e5eae;
  --accent-soft: #edf4ff;
  --accent-fill: #286fcb;
  --accent-fill-hover: #1d60ad;
  --surface-hover: #f2f5f9;
  --surface-selected: #eaf2fe;
  --message-outgoing: #eaf2fd;
  --message-border: #cedef4;
  --note-bg: #fff0cd;
  --note-border: #d69a35;
  --note-text: #59380b;
  --radius: 9px;
  font: 13px/1.48 "Segoe UI Variable Text", "Segoe UI", Inter, system-ui, -apple-system, sans-serif;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #282e36;
  --rail: #222933;
  --side: #303741;
  --panel: #363e49;
  --panel2: #3a4450;
  --line: #4c5967;
  --text: #f2f5fa;
  --muted: #c5cfdb;
  --quiet: #aab8c8;
  --green: #72d1a1;
  --green2: #88e1b5;
  --soft: #284236;
  --gold: #f4c56f;
  --red: #ffa19a;
  --brand-blue: #70aafa;
  --brand-amber: #ffc46b;
  --brand-red: #ff8c7d;
  --accent: #9bc2ff;
  --accent-hover: #bed6ff;
  --accent-soft: #3a4b63;
  --accent-fill: #2d70c6;
  --accent-fill-hover: #2665b6;
  --surface-hover: #39424e;
  --surface-selected: #3b485b;
  --message-outgoing: #384b66;
  --message-border: #557397;
  --note-bg: #fff0cd;
  --note-border: #d69a35;
  --note-text: #59380b;
}
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; width: 100%; height: 100%; min-height: 100%; background: var(--bg); color: var(--text); }
body { overflow: hidden; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; border: 0; }
button:disabled { opacity: .55; cursor: not-allowed; }
input, select, textarea { outline: none; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
h1, h2, h3, h4, p, dl, dd { margin: 0; }
::selection { background: #d9e9ff; color: #153b68; }
:root[data-theme="dark"] ::selection { background: #4a6485; color: #fff; }
.hidden { display: none !important; }
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.ic { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.85; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 36px; padding: 8px 13px; border-radius: 7px; font-weight: 650; white-space: nowrap; transition: background .14s, border-color .14s; }
.btn .ic { width: 15px; height: 15px; }
.btn-primary { background: var(--accent-fill); color: #fff; }
.btn-primary:hover { background: var(--accent-fill-hover); }
.btn-quiet { background: var(--panel); color: var(--text); border: 1px solid var(--line); }
.btn-quiet:hover { background: var(--surface-hover); }
.eyebrow { font-size: 10px; font-weight: 740; color: var(--muted); letter-spacing: 1.05px; }
.dot, .online-dot { display: inline-block; width: 7px; height: 7px; border-radius: 100%; background: #31a878; }
.toast { position: fixed; z-index: 90; bottom: 20px; right: 20px; max-width: min(425px, calc(100vw - 32px)); background: #242e3e; border: 1px solid #41516a; color: #fff; border-radius: 8px; box-shadow: 0 14px 34px #0d1a3030; padding: 12px 15px; font-size: 12px; }
.toast.error { background: #803b41; border-color: #a74e59; }
.load-error { margin: 30px auto; padding: 25px; max-width: 540px; background: #fff0f0; color: #a33038; border: 1px solid #ffb3b3; border-radius: 8px; text-align: center; }
:where(.ticket-list,.chat-stream,.admin-scroll,.overview-scroll,.ticket-inspector)::-webkit-scrollbar { width: 7px; height: 7px; }
:where(.ticket-list,.chat-stream,.admin-scroll,.overview-scroll,.ticket-inspector)::-webkit-scrollbar-thumb { background: #aab6c5; border: 2px solid transparent; background-clip: padding-box; border-radius: 8px; }
:where(.ticket-list,.chat-stream,.admin-scroll,.overview-scroll,.ticket-inspector)::-webkit-scrollbar-track { background: transparent; }
:root[data-theme="dark"] .btn-quiet { background: var(--panel2); color: var(--text); border-color: var(--line); }
:root[data-theme="dark"] .btn-quiet:hover { background: var(--surface-hover); }
:root[data-theme="dark"] .toast { background: #343d49; border-color: var(--line); color: var(--text); }
:root[data-theme="dark"] .toast.error { background: #6d3039; border-color: #ba5964; }
:root[data-theme="dark"] .load-error { background: #38212a; color: #ffd0d0; border-color: #87404d; }
:root[data-theme="dark"] :where(.ticket-list,.chat-stream,.admin-scroll,.overview-scroll,.ticket-inspector)::-webkit-scrollbar-thumb { background: #718093; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
