@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');
:root{
  --bg:#0a0a0b; --panel:#141416; --panel2:#1c1c1f; --line:#2a2a2e;
  --gold:#d4af37; --gold-soft:#c9a227; --gold-bright:#f0d469; --ink:#e9e6df;
  --muted:#8d8a83; --ok:#7bd88f; --warn:#e6b450; --bad:#e26d6d; --stale:#6b6b70;
}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--ink);
  font-family:'Inter',sans-serif;font-size:15px}
a{color:var(--gold);text-decoration:none} a:hover{color:var(--gold-bright)}
.mono{font-family:'JetBrains Mono',monospace}
header{display:flex;align-items:center;justify-content:space-between;
  padding:16px 28px;border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,#0c0c0d,#141414)}
.brand{font-family:'Cinzel',serif;font-weight:700;font-size:22px;
  color:var(--gold);letter-spacing:1px}
.brand span{color:var(--ink)}
nav a{margin-left:20px;color:var(--muted);font-weight:500}
nav a:hover{color:var(--gold)}
.wrap{max-width:1180px;margin:0 auto;padding:28px}
h1,h2{font-family:'Cinzel',serif;color:var(--gold);font-weight:500}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:16px;margin-bottom:26px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:18px 20px;border-top:2px solid var(--gold-soft)}
.card .num{font-size:30px;font-family:'JetBrains Mono';color:var(--gold-bright)}
.card .lbl{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:1px}
table{width:100%;border-collapse:collapse;background:var(--panel);
  border:1px solid var(--line);border-radius:12px;overflow:hidden}
th,td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line)}
th{background:var(--panel2);color:var(--gold);font-weight:600;font-size:12px;
  text-transform:uppercase;letter-spacing:.6px}
tr:last-child td{border-bottom:none} tr:hover td{background:#19191c}
.badge{padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;
  display:inline-block}
.b-OK{background:rgba(123,216,143,.12);color:var(--ok)}
.b-OUTDATED{background:rgba(230,180,80,.14);color:var(--warn)}
.b-BROKEN{background:rgba(226,109,109,.14);color:var(--bad)}
.b-STALE{background:rgba(120,120,120,.14);color:var(--stale)}
.btn{background:linear-gradient(180deg,var(--gold-bright),var(--gold-soft));
  color:#1a1503;border:none;padding:10px 18px;border-radius:8px;font-weight:600;
  cursor:pointer;font-family:'Inter'}
.btn:hover{filter:brightness(1.08)}
.flash{background:rgba(212,175,55,.1);border:1px solid var(--gold-soft);
  color:var(--gold-bright);padding:10px 16px;border-radius:8px;margin-bottom:18px}
.login-box{max-width:360px;margin:9vh auto;background:var(--panel);
  border:1px solid var(--line);border-top:3px solid var(--gold);
  border-radius:14px;padding:34px}
.login-box h1{text-align:center;margin-top:0}
.login-box input{width:100%;padding:11px 14px;margin:8px 0;background:#0e0e10;
  border:1px solid var(--line);border-radius:8px;color:var(--ink);
  font-family:'Inter')}
.login-box .btn{width:100%;margin-top:12px}
.muted{color:var(--muted)} .small{font-size:13px}
.b-VULNERABLE{background:rgba(226,109,109,.18);color:#ff8585;border:1px solid rgba(226,109,109,.35)}
/* --- METRIC CARDS --- */
.metric-card {
    background: linear-gradient(145deg, #0d0d0d, #111);
    border: 1px solid #2a2a2a;
    border-radius: 10px;
    padding: 18px 22px;
    color: #f2c94c;
    font-size: 1.4rem;
    font-weight: 600;
    box-shadow: 0 0 12px rgba(242, 201, 76, 0.15);
    transition: all 0.25s ease;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* Hover effect */
.metric-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 0 22px rgba(242, 201, 76, 0.35);
    border-color: #f2c94c;
}

/* Animated numbers */
.metric-number {
    font-size: 2.4rem;
    font-weight: 700;
    animation: countUp 1.2s ease-out forwards;
    opacity: 0;
}

@keyframes countUp {
    0% { opacity: 0; transform: translateY(10px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* Severity colors */
.ok { color: #27ae60; }
.outdated { color: #f2c94c; }
.vulnerable { color: #e63946; }
.broken { color: #9b59b6; }
