
/* ============================================================================
   SBR v17 — pente-fino visual (só CSS). Tabelas, toast, loading, scrollbar,
   selects, login, topbar, focus. Sem tocar em lógica/HTML/Supabase.
   ============================================================================ */

/* ---------- Tabelas de dados (.linhas) — não afeta a folha de impressão (.oc-tab) ---------- */
.linhas{ width:100%;border-collapse:collapse;font-family:var(--ff);font-size:var(--fs-body-m);background:var(--sbr-surface); }
.linhas thead th{ position:sticky;top:0;z-index:1;background:var(--sbr-surface-2);color:var(--sbr-text-2);
  font-weight:var(--fw-semibold);font-size:var(--fs-body-s);text-align:left;padding:11px var(--sp-3);
  border-bottom:1px solid var(--sbr-border-strong);white-space:nowrap; }
.linhas tbody td{ padding:11px var(--sp-3);border-bottom:1px solid var(--sbr-border);color:var(--sbr-text);vertical-align:middle; }
.linhas tbody tr:last-child td{ border-bottom:none; }
.linhas tbody tr{ transition:background var(--mo-fast) var(--ease); }
.linhas tbody tr:hover td{ background:var(--sbr-surface-2); }

/* ---------- Toast ---------- */
.aviso{ font-family:var(--ff)!important;background:var(--sbr-text);color:var(--sbr-surface);
  border-radius:var(--rad-12);padding:12px var(--sp-4);box-shadow:var(--sh-lg);
  font-size:var(--fs-body-m);font-weight:var(--fw-medium);letter-spacing:normal; }

/* ---------- Loading (spinner) ---------- */
.carregando{ text-align:center;color:var(--sbr-text-3);padding:52px 20px;font-size:var(--fs-body-s); }
.carregando::before{ content:"";display:block;width:26px;height:26px;margin:0 auto 14px;
  border:3px solid var(--sbr-border);border-top-color:var(--sbr-primary);border-radius:50%;animation:sbr-spin .7s linear infinite; }
@keyframes sbr-spin{ to{ transform:rotate(360deg); } }

/* ---------- Selects com chevron próprio ---------- */
.campo select{ appearance:none;-webkit-appearance:none;padding-right:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center; }

/* ---------- Topbar refinada ---------- */
.topo{ box-shadow:var(--sh-sm);border-bottom:1px solid rgba(255,255,255,.06); }

/* ---------- Login refinado ---------- */
.cartao-login{ border-radius:var(--rad-20)!important;box-shadow:var(--sh-xl); }

/* ---------- Foco consistente (acessibilidade) ---------- */
.filtro:focus-visible, a:focus-visible, .subtab:focus-visible, .aba:focus-visible, select:focus-visible, .mini-row:focus-visible{
  outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--sbr-primary) 30%,transparent); }

/* ---------- Scrollbars premium (janela principal) ---------- */
body::-webkit-scrollbar, #tela::-webkit-scrollbar, .busca-res::-webkit-scrollbar, .grade::-webkit-scrollbar{ width:10px;height:10px; }
body::-webkit-scrollbar-thumb, #tela::-webkit-scrollbar-thumb, .busca-res::-webkit-scrollbar-thumb{
  background:color-mix(in srgb,var(--sbr-text-3) 45%,transparent);border-radius:999px;border:2px solid transparent;background-clip:content-box; }
body::-webkit-scrollbar-thumb:hover{ background:color-mix(in srgb,var(--sbr-text-3) 70%,transparent);background-clip:content-box; }
body::-webkit-scrollbar-track{ background:transparent; }

/* ---------- Refino de densidade/hierarquia ---------- */
.pnl-head h1{ letter-spacing:-.01em; }
.mini-row{ border-radius:var(--rad-8);transition:background var(--mo-fast) var(--ease); }
.mini-row:hover{ background:var(--sbr-surface-2); }
