/* TELEBRASIL — camada complementar de UX para build SPA existente.
   Mantém o bundle original intacto e adiciona feedback, responsividade e acabamento premium. */
:root{
  --tb-bg:#07111f;--tb-panel:#0f1b2e;--tb-panel-2:#14243d;--tb-line:rgba(148,163,184,.24);
  --tb-text:#edf4ff;--tb-muted:#94a3b8;--tb-brand:#4f8cff;--tb-ok:#20c997;--tb-warn:#f7b731;--tb-bad:#ff6b6b;
}
html{scroll-behavior:smooth}body{min-height:100vh;background:radial-gradient(circle at top left,rgba(79,140,255,.16),transparent 36%),linear-gradient(135deg,#07111f,#081426 54%,#050b14)!important}
#tb-toast-root{position:fixed;right:18px;bottom:18px;z-index:2147483000;display:grid;gap:10px;max-width:min(420px,calc(100vw - 28px))}.tb-toast{border:1px solid var(--tb-line);border-left:4px solid var(--tb-brand);background:rgba(15,27,46,.96);color:var(--tb-text);border-radius:16px;padding:13px 15px;box-shadow:0 18px 50px rgba(0,0,0,.34);backdrop-filter:blur(14px);font:500 14px/1.35 Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;animation:tbSlide .22s ease-out}.tb-toast strong{display:block;margin-bottom:3px}.tb-toast small{display:block;color:var(--tb-muted);font-weight:500}.tb-toast.ok{border-left-color:var(--tb-ok)}.tb-toast.warn{border-left-color:var(--tb-warn)}.tb-toast.bad{border-left-color:var(--tb-bad)}@keyframes tbSlide{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.tb-global-loader{position:fixed;left:0;right:0;top:0;height:3px;z-index:2147483000;background:linear-gradient(90deg,var(--tb-brand),var(--tb-ok));transform-origin:left;animation:tbLoading 1.15s ease-in-out infinite}@keyframes tbLoading{0%{transform:scaleX(.08)}60%{transform:scaleX(.72)}100%{transform:scaleX(.08)}}
button,[role=button],a,input,select,textarea{transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease,background .18s ease}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(79,140,255,.35)!important;outline-offset:2px!important}button:not(:disabled):active,[role=button]:not(:disabled):active{transform:translateY(1px)}button[disabled],.tb-loading{cursor:wait!important;opacity:.72!important}.tb-loading::after{content:"";display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-left:8px;vertical-align:-2px;animation:tbSpin .8s linear infinite}@keyframes tbSpin{to{transform:rotate(360deg)}}
input[type=file]{border:1px dashed rgba(148,163,184,.45)!important;background:rgba(15,27,46,.42)!important;border-radius:14px!important;padding:12px!important;color:var(--tb-text)!important}.tb-api-error{background:rgba(255,107,107,.12);border:1px solid rgba(255,107,107,.28);color:#ffd1d1;border-radius:14px;padding:12px 14px;margin:10px 0}.tb-api-success{background:rgba(32,201,151,.12);border:1px solid rgba(32,201,151,.28);color:#bdf9e7;border-radius:14px;padding:12px 14px;margin:10px 0}
@media(max-width:768px){#tb-toast-root{left:14px;right:14px;bottom:14px;max-width:none}.overflow-auto,table{max-width:100%;overflow-x:auto}body{font-size:15px}button,a{min-height:40px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Tooltips acessíveis para ações da tela Todas as Vidas */
[data-tb-tooltip] {
  position: relative;
}

[data-tb-tooltip]::after,
[data-tb-tooltip]::before {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity .16s ease, transform .16s ease;
  z-index: 9999;
}

[data-tb-tooltip]::after {
  content: attr(data-tb-tooltip);
  left: 50%;
  bottom: calc(100% + 10px);
  transform: translateX(-50%) translateY(4px);
  min-width: max-content;
  max-width: 220px;
  padding: 7px 9px;
  border-radius: 8px;
  background: #0f172a;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  box-shadow: 0 10px 25px rgba(15, 23, 42, .22);
  white-space: nowrap;
}

[data-tb-tooltip]::before {
  content: "";
  left: 50%;
  bottom: calc(100% + 4px);
  transform: translateX(-50%) translateY(4px);
  border: 6px solid transparent;
  border-top-color: #0f172a;
}

[data-tb-tooltip]:hover::after,
[data-tb-tooltip]:hover::before,
[data-tb-tooltip]:focus-visible::after,
[data-tb-tooltip]:focus-visible::before {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

@media (max-width: 768px) {
  [data-tb-tooltip]::after,
  [data-tb-tooltip]::before {
    display: none;
  }
}
