
:root{
  --bg:#f7fafc; --panel:#ffffff; --ink:#0f172a; --muted:#475569;
  --accent:#16a34a; --accent-2:#059669; --warn:#b45309; --danger:#b91c1c; --info:#2563eb;
  --chip:#f1f5f9; --border:#e2e8f0; --badge:#f8fafc; --mask:#94a3b8;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 system-ui, -apple-system, Segoe UI, Roboto, Arial, Helvetica, sans-serif}
.container{max-width:1000px;margin:24px auto;padding:0 16px}
.card{background:var(--panel); border:1px solid var(--border); border-radius:14px; padding:18px; margin-bottom:14px}
.title{font-size:20px;font-weight:700;margin:0 0 12px}
.grid{display:grid; gap:10px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.label{color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.04em}
.value{font-weight:600}
.mono{font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}
.chips{display:flex; flex-wrap:wrap; gap:8px}
.chip{background:var(--chip); border:1px solid var(--border); border-radius:999px; padding:6px 10px; font-weight:600}
.chip.ok{color:#065f46; border-color:#bbf7d0; background:#ecfdf5}
.chip.warn{color:#92400e; border-color:#fde68a; background:#fffbeb}
.chip.bad{color:#7f1d1d; border-color:#fecaca; background:#fef2f2}
.muted{color:var(--muted)}
.badge{display:inline-block; padding:3px 8px; border-radius:6px; background:var(--badge); border:1px solid var(--border); color:var(--muted); font-size:12px}
.sep{height:1px;background:var(--border);margin:12px 0}
.note{font-size:12px;color:var(--muted)}
.mask{color:var(--mask)}
.locked::after{content:" \1F512"; opacity:.7}
.kpi{display:flex; gap:12px;flex-wrap:wrap}
.kpi .box{flex:1 1 180px; background:linear-gradient(180deg, rgba(0,0,0,0.02), rgba(0,0,0,0.01)); border:1px solid var(--border); border-radius:10px; padding:12px}
.box .k{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.box .v{font-size:18px;font-weight:700;margin-top:4px}
.list{display:grid;gap:8px}
.row{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:center}
.row .k{color:var(--muted);font-size:12px;text-transform:uppercase; letter-spacing:.03em}
.pill{display:inline-block;padding:4px 8px;border-radius:999px;border:1px solid var(--border)}
.pill.ok{color:#166534;border-color:#bbf7d0;background:#ecfdf5}
.pill.na{color:#9ca3af}
.headerbar{display:flex;align-items:center;gap:12px;justify-content:space-between}
.headerbar .logo{display:flex;gap:8px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:#fff;cursor:pointer;font-weight:700}
.btn.primary{background:var(--accent);border-color:var(--accent-2);color:#fff}
.btn.ghost{background:#fff}
input[type=text],input[type=email]{padding:10px 12px;border:1px solid var(--border);border-radius:10px;width:220px}
.form-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.planos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.plan{border:1px solid var(--border);border-radius:12px;padding:12px;background:#fff}
.plan h3{margin:0 0 6px}
.plan .price{font-size:20px;font-weight:800}
.qr{display:flex;gap:12px;align-items:center}
@media print{
  body{background:#fff;color:#000}
  .card{border:1px solid #ddd}
  .badge,.chip{border-color:#ccc}
  .no-print{display:none !important}
  .page-break{break-after:page}
}
