﻿/* TÔPERTO - Pacote 11D - correção global de fundo escuro
   Objetivo: neutralizar fundos brancos herdados do toperto-brand.css e CSS antigos.
   Seguro para Hosting: só CSS. Não altera JS, Firestore, Functions, pedidos ou taxas. */

:root{
  color-scheme: dark;
  --tp-bg:#0b1220 !important;
  --tp-bg-2:#101827 !important;
  --tp-surface:#111827 !important;
  --tp-surface-2:#0f172a !important;
  --tp-card:#111827 !important;
  --tp-text:#e5e7eb !important;
  --tp-muted:#94a3b8 !important;
  --tp-border:rgba(148,163,184,.24) !important;
  --tp-primary:#ef4444 !important;
  --tp-primary-dark:#dc2626 !important;
  --tp-primary-soft:rgba(239,68,68,.16) !important;
  --tp-secondary-soft:rgba(250,204,21,.16) !important;
  --tp-success:#22c55e !important;
  --tp-success-soft:rgba(34,197,94,.14) !important;
  --lfy-bg:#0b1220 !important;
  --lfy-surface:#111827 !important;
  --lfy-card:#111827 !important;
  --lfy-text:#e5e7eb !important;
  --lfy-muted:#94a3b8 !important;
  --lfy-border:rgba(148,163,184,.24) !important;
  --bg:#0b1220 !important;
  --card:#111827 !important;
  --text:#e5e7eb !important;
  --muted:#94a3b8 !important;
  --line:rgba(148,163,184,.24) !important;
}

html,
body{
  min-height:100%;
  background:
    radial-gradient(circle at top left, rgba(239,68,68,.12), transparent 30%),
    radial-gradient(circle at top right, rgba(34,197,94,.10), transparent 28%),
    linear-gradient(180deg, #0b1220 0%, #0f172a 52%, #020617 100%) !important;
  color:#e5e7eb !important;
}

body{
  color:#e5e7eb !important;
}

body,
body p,
body span,
body small,
body li,
body label,
body strong,
body b,
body div,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6{
  color:inherit;
}

h1,h2,h3,h4,h5,h6,
.tp-brand-title,
.logo-title,
.title,
.card-title{
  color:#f8fafc !important;
}

p,small,.muted,.subtitle,.description,.descricao,.tp-brand-subtitle,.hint,.help,.empty,.placeholder{
  color:#94a3b8 !important;
}

a{color:#93c5fd;}

/* Cabeçalhos e barras */
header,
.header,
.topbar,
.navbar,
.tp-brand-header,
.tp11-topbar,
.lfy-topbar,
.app-header,
.admin-header{
  background:rgba(15,23,42,.92) !important;
  border-color:rgba(148,163,184,.22) !important;
  color:#e5e7eb !important;
  backdrop-filter:blur(14px);
}

/* Superfícies gerais */
main,
.shell,
.container,
.wrapper,
.page,
.content,
.admin-main,
.tp11-shell{
  color:#e5e7eb !important;
}

.card,
.panel,
.box,
.tp-card,
.loja-card,
.store-card,
.produto-card,
.product-card,
.form-card,
.onboarding-card,
section,
article,
.modal,
.dialog,
.drawer,
.sheet,
.dropdown,
.menu,
.list-item,
.row-card,
.kpi,
.metric,
.stat,
.tile,
.tp11-card,
.tp11-hero,
.tp11-notice,
.tp11-list > *,
.tp10h-card,
.tp10h-panel,
.pre-card,
.onboarding-box,
.admin-card,
.finance-card{
  background:linear-gradient(180deg, rgba(17,24,39,.96), rgba(15,23,42,.96)) !important;
  color:#e5e7eb !important;
  border-color:rgba(148,163,184,.24) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.24) !important;
}

/* Categorias e botões/cards pequenos que o brand deixava branco */
.category-item,
.categoria-item,
.tp-category-item,
.categoria,
.cat-item,
.lfy-category-card,
.lfy-filter-chip,
.chip,
.pill,
.badge,
.tag{
  background:rgba(15,23,42,.92) !important;
  color:#e5e7eb !important;
  border-color:rgba(148,163,184,.24) !important;
}

.category-icon,
.categoria-icon,
.tp-category-icon,
.cat-icon{
  background:rgba(239,68,68,.16) !important;
  color:#fecaca !important;
}

/* Inputs */
input,
select,
textarea,
.input,
.search,
[contenteditable="true"]{
  background:#020617 !important;
  color:#f8fafc !important;
  border-color:rgba(148,163,184,.34) !important;
  caret-color:#f8fafc !important;
}

input::placeholder,
textarea::placeholder{
  color:#64748b !important;
  opacity:1 !important;
}

select option{
  background:#0f172a !important;
  color:#f8fafc !important;
}

input:focus,
select:focus,
textarea:focus{
  border-color:rgba(34,197,94,.78) !important;
  box-shadow:0 0 0 3px rgba(34,197,94,.14) !important;
}

/* Tabelas */
table,
thead,
tbody,
tr,
th,
td{
  border-color:rgba(148,163,184,.22) !important;
}

table,
tbody tr,
.table,
.table-row{
  background:rgba(15,23,42,.78) !important;
  color:#e5e7eb !important;
}

thead,
th{
  background:rgba(2,6,23,.72) !important;
  color:#cbd5e1 !important;
}

/* Estados */
.badge-aberto,
.status-aberto,
.loja-aberta,
.open-badge,
.success,
.sucesso{
  background:rgba(34,197,94,.14) !important;
  color:#bbf7d0 !important;
  border-color:rgba(34,197,94,.26) !important;
}

.badge-fechado,
.status-fechado,
.loja-fechada,
.closed-badge,
.neutral{
  background:rgba(148,163,184,.12) !important;
  color:#cbd5e1 !important;
  border-color:rgba(148,163,184,.24) !important;
}

.alert,
.notice,
.warning,
.aviso{
  background:rgba(245,158,11,.13) !important;
  color:#fde68a !important;
  border-color:rgba(245,158,11,.30) !important;
}

.error,
.erro,
.danger{
  background:rgba(239,68,68,.13) !important;
  color:#fecaca !important;
  border-color:rgba(239,68,68,.30) !important;
}

/* Áreas que precisam continuar brancas para leitura/scanner/impressão */
.qr,
.qrcode,
.pix-qr,
.pix-qrcode,
.localfy-14g-qr,
.localfy-14l-qr,
.lfy-qr,
canvas.qr,
.print-ticket,
.receipt,
.recibo,
.comanda{
  background:#fff !important;
  color:#111827 !important;
}

.qr *,
.qrcode *,
.pix-qr *,
.pix-qrcode *,
.localfy-14g-qr *,
.localfy-14l-qr *,
.lfy-qr *,
.print-ticket *,
.receipt *,
.recibo *,
.comanda *{
  color:#111827 !important;
}

/* Evita faixa branca por elementos soltos */
body > div,
body > main,
body > section{
  border-color:rgba(148,163,184,.22);
}

@media (max-width:760px){
  body{background:#0b1220 !important;}
  .card,.panel,.box,.tp-card,.tp11-card,section,article{
    border-radius:18px;
  }
}

@media print{
  :root{color-scheme:light;}
  html,body{
    background:#fff !important;
    color:#111 !important;
  }
  *{
    box-shadow:none !important;
  }
  .print-ticket,
  .receipt,
  .recibo,
  .comanda{
    background:#fff !important;
    color:#111 !important;
  }
}
