:root {
  --ink: #1a2332; --muted: #5b6474; --line: #dde3ec; --soft: #f5f7fa;
  --brand: #1a5fb3; --ok: #1a7f4b; --ok-bg: #e8f5ee;
  --warn: #9a6700; --warn-bg: #fff6e0; --bad: #b3261e; --bad-bg: #fdecea;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: -apple-system, "Segoe UI", Roboto, sans-serif;
       color: var(--ink); background: #fff; line-height: 1.5; }
header { background: var(--brand); color: #fff; padding: 14px 16px 0; }
header h1 { margin: 0; font-size: 1.25em; }
header .sub { margin: 2px 0 10px; opacity: 0.9; font-size: 0.85em; }
.net.online { display: none; }
.net.offline { font-weight: 600; }
nav { display: flex; gap: 4px; overflow-x: auto; }
nav a { color: #fff; text-decoration: none; padding: 8px 12px; border-radius: 8px 8px 0 0;
        font-size: 0.9em; white-space: nowrap; opacity: 0.85; }
nav a.active { background: #fff; color: var(--brand); font-weight: 600; opacity: 1; }
main { max-width: 720px; margin: 0 auto; padding: 16px; }
.card { border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; margin: 10px 0; }
.card h3 { margin: 0 0 4px; font-size: 1em; }
.meta { color: var(--muted); font-size: 0.85em; }
.badge { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 0.78em; font-weight: 600; }
.b-confirmado { background: var(--ok-bg); color: var(--ok); }
.b-probable { background: var(--warn-bg); color: var(--warn); }
.b-dudoso, .b-sin-cobertura { background: var(--bad-bg); color: var(--bad); }
.alert { border-left: 4px solid var(--bad); background: var(--bad-bg);
         border-radius: 0 8px 8px 0; padding: 8px 12px; margin: 8px 0; font-size: 0.92em; }
.alert.warn { border-left-color: var(--warn); background: var(--warn-bg); }
.alert button { margin-left: 6px; }
.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; font-size: 0.9em; }
th, td { border: 1px solid var(--line); padding: 6px 8px; text-align: left; }
th { background: var(--soft); }
.rojo { color: var(--bad); font-weight: 600; }
.warn-txt { color: var(--warn); font-weight: 600; }
ul { padding-left: 20px; } li { margin: 3px 0; }
footer { max-width: 720px; margin: 24px auto 0; padding: 12px 16px 32px;
         border-top: 1px solid var(--line); font-size: 0.85em; color: var(--muted); }
.loading { color: var(--muted); }
