body { background:#f4f6fb; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.card-header { font-weight:600; background:#fafbfd; }
.card-header i { margin-right:.4rem; }

/* ---------- LOCK ---------- */
.lock-screen {
  position:fixed; inset:0; z-index:1080; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(160deg,#1f2937,#0b1220);
}
.lock-box { width:min(92vw,360px); color:#fff; }
.lock-logo { font-size:3rem; color:#4ade80; margin-bottom:.3rem; }
.pin-dots { display:flex; gap:1rem; justify-content:center; height:22px; }
.pin-dots span { width:18px; height:18px; border-radius:50%; border:3px solid rgba(255,255,255,.3); transition:.15s; }
.pin-dots span.on { background:#4ade80; border-color:#4ade80; }
.pin-msg { min-height:1.2rem; color:#fca5a5; font-size:.95rem; }
.keypad { display:grid; grid-template-columns:repeat(3,72px); gap:14px; }
.keypad button {
  height:72px; font-size:1.7rem; font-weight:700; border:none; border-radius:16px;
  background:rgba(255,255,255,.08); color:#fff; transition:.1s;
}
.keypad button:active { background:rgba(255,255,255,.22); transform:scale(.95); }
.keypad .k-muted { color:#93c5fd; }

/* ---------- HERO ---------- */
.hero-card { background:linear-gradient(135deg,#0d6efd,#0143a3); }
.hero-amount { font-size:2.9rem; font-weight:800; color:#fff; line-height:1.1; margin:.2rem 0; }
@media (min-width:768px){ .hero-amount{ font-size:3.6rem; } }

/* ---------- Empresa ranking ---------- */
.emp-row { padding:.6rem 0; border-bottom:1px solid #eef0f4; }
.emp-row:last-child { border-bottom:none; }
.emp-top { display:flex; justify-content:space-between; align-items:baseline; }
.emp-name { font-weight:600; }
.emp-name .dot { display:inline-block; width:12px; height:12px; border-radius:50%; margin-right:.5rem; vertical-align:middle; }
.emp-amount { font-weight:700; font-size:1.05rem; white-space:nowrap; }
.emp-bar { height:8px; border-radius:6px; background:#eef0f4; margin-top:.35rem; overflow:hidden; }
.emp-bar > div { height:100%; border-radius:6px; }
.emp-pct { color:#6c757d; font-size:.85rem; }

.table td, .table th { vertical-align:middle; }
.mono-num { font-variant-numeric: tabular-nums; }
