/* ═══════════════════════════════════════════════════════════════════
   Tema La Braciera — paleta oficial (idêntica ao app PCP / Lovable)
   Fonte única de cores e componentes. CLARO por padrão + toggle escuro.
   Uso: <html data-theme="light"> (padrão) ou data-theme="dark".
   ═══════════════════════════════════════════════════════════════════ */

/* ── CLARO (padrão) — creme quente + vermelho napolitano ── */
:root, html[data-theme="light"]{
  color-scheme:light;
  --bg:hsl(36 30% 97%); --surface:hsl(0 0% 100%); --surface2:hsl(36 20% 91%); --border:hsl(36 20% 84%);
  --ink:hsl(12 25% 12%); --muted:hsl(25 12% 38%); --accent:hsl(38 75% 46%); --accent2:#8B5E3C;
  --primary:hsl(358 78% 42%); --danger:#dc2626; --ok:#16a34a; --warn:#d97706;
  --side1:hsl(0 0% 8%); --side2:hsl(0 0% 11%); --thead:hsl(36 30% 92%);
  --hover:rgba(0,0,0,.05); --hatch:rgba(0,0,0,.055); --shadow:rgba(120,90,50,.18);
}
/* ── ESCURO — grafite profundo + brasa napolitana ── */
html[data-theme="dark"]{
  color-scheme:dark;
  --bg:hsl(0 0% 6%); --surface:hsl(0 0% 9%); --surface2:hsl(0 0% 16%); --border:hsl(36 10% 18%);
  --ink:hsl(36 30% 96%); --muted:hsl(36 12% 70%); --accent:hsl(38 65% 60%); --accent2:#8B5E3C;
  --primary:hsl(358 78% 52%); --danger:#ef4444; --ok:#22c55e; --warn:#eab308;
  --side1:hsl(0 0% 8%); --side2:hsl(0 0% 11%); --thead:hsl(0 0% 13%);
  --hover:rgba(255,255,255,.06); --hatch:rgba(255,255,255,.04); --shadow:rgba(0,0,0,.45);
}

.lb-theme{background:var(--bg);color:var(--ink);
  font-family:-apple-system,"Segoe UI",Roboto,Inter,system-ui,sans-serif;font-size:14px}
.lb-theme *{box-sizing:border-box}
.lb-theme a{color:var(--accent);text-decoration:none}
.lb-theme button{font-family:inherit;cursor:pointer}

/* Topbar — chrome escuro da marca (igual PCP, sempre escura) */
.lb-topbar{display:flex;align-items:center;gap:14px;padding:0 18px;height:56px;
  background:linear-gradient(180deg,#171717,#131313);border-bottom:1px solid rgba(255,255,255,.08);color:#f0ece3}
.lb-topbar .tb-logo{height:26px;width:auto;object-fit:contain}
.lb-topbar .tb-title{font-weight:800;letter-spacing:.03em;font-size:.95rem;color:#fff}
.lb-topbar .tb-sep{width:1px;height:24px;background:rgba(255,255,255,.12);margin:0 2px}
.lb-topbar .tb-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.lb-topbar .tb-btn{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);color:#e8e2d6;border-radius:8px;padding:7px 12px;font-weight:600;font-size:.82rem}
.lb-topbar .tb-btn:hover{border-color:var(--accent);color:var(--accent)}
.lb-topbar .tb-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8}
.lb-userchip{display:flex;align-items:center;gap:8px;background:var(--primary);color:#fff;border:0;border-radius:8px;
  padding:7px 13px;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.02em}
.lb-userchip svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:1.8}

/* Cabeçalho de página */
.lb-pagehead{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.lb-pagehead h1{font-size:1.3rem;margin:0;font-weight:800;color:var(--ink)}
.lb-page-sub{color:var(--muted);font-size:.82rem;margin-top:3px}
.lb-spacer{flex:1}

/* Botões */
.lb-btn{background:var(--accent);color:#1a1205;border:1px solid transparent;border-radius:8px;padding:8px 14px;
  font-weight:600;font-size:.86rem;transition:filter .12s,border-color .12s}
.lb-btn:hover{filter:brightness(1.06)}
.lb-btn:disabled{opacity:.55;cursor:default}
.lb-btn.primary{background:var(--primary);color:#fff}
.lb-btn.ghost,.lb-btn.outline{background:transparent;border:1px solid var(--border);color:var(--ink);font-weight:600}
.lb-btn.ghost:hover,.lb-btn.outline:hover{border-color:var(--accent);color:var(--accent);filter:none}
.lb-btn.sm{padding:6px 11px;font-size:.8rem}

/* KPIs */
.lb-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}
.lb-kpi{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px 14px 18px;position:relative;overflow:hidden}
.lb-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}
.lb-kpi .l{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:600}
.lb-kpi .v{font-size:1.55rem;font-weight:800;margin-top:5px;letter-spacing:-.01em;color:var(--ink)}

/* Cards, tabelas, badges */
.lb-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.lb-table{width:100%;border-collapse:collapse;font-size:.88rem;color:var(--ink)}
.lb-table thead th{background:var(--thead);color:var(--muted);text-align:left;font-size:.72rem;
  text-transform:uppercase;letter-spacing:.05em;padding:10px 12px;border-bottom:1px solid var(--border)}
.lb-table tbody td{padding:9px 12px;border-bottom:1px solid var(--border)}
.lb-table tbody tr:hover{background:var(--hover)}
.lb-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:700}
.lb-badge.ok{background:rgba(34,197,94,.15);color:#16a34a}
.lb-badge.def{background:rgba(239,68,68,.15);color:#dc2626}
.lb-muted{color:var(--muted)}

/* Inputs */
.lb-theme input,.lb-theme select,.lb-theme textarea{background:var(--surface2);border:1px solid var(--border);
  color:var(--ink);border-radius:9px;padding:9px 11px;font-size:.9rem}
.lb-theme input:focus,.lb-theme select:focus,.lb-theme textarea:focus{outline:0;border-color:var(--accent)}
