:root{--bg:#0f0f0f;--panel:#161616;--muted:#9aa0a6;--line:#2a2a2a;--accent:#ff6a00;--ok:#1faa00;--bad:#c62828}
*{box-sizing:border-box} body{font-family:system-ui,Segoe UI,Roboto,Arial;background:var(--bg);color:#fff;margin:0}
.wrap{max-width:980px;margin:0 auto;padding:20px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;margin:12px 0}
h1,h2,h3{margin:6px 0 12px} a{color:var(--accent)}
.btn{background:var(--accent);color:#000;border:none;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}
.btn.small{padding:6px 10px;border-radius:8px}
.badge{padding:4px 8px;border-radius:999px;border:1px solid var(--line);font-size:12px}
.badge.gray{background:#222;color:#ccc}
.badge.ok{background:#0f2; color:#000}
.badge.no{background:#f33; color:#fff}
.input,select,textarea{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);background:#111;color:#fff}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.kpi{background:#111;border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center}
.kpi .big{font-size:24px;font-weight:800}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border:1px solid var(--line);padding:8px}
.table th{background:#1b1b1b}
.center{text-align:center}
.right{text-align:right}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.notice{padding:10px;border-radius:10px;margin:10px 0;background:#112; border:1px solid #335}
.err{background:#2b0000;color:#ffb3b3;border:1px solid #ff4d4d;padding:10px;border-radius:8px;margin:10px 0}
.muted{color:#9aa0a6}
/* Quitar subrayado en todos los botones tipo <a class="btn ..."> */
a.btn,
a.btn:link,
a.btn:visited,
a.btn:hover,
a.btn:focus,
a.btn:active,
.btn a {
  text-decoration: none !important;
  color: inherit;              /* usa el color del botón */
  outline: none;
}
