:root{
  --bg:#0b1220;
  --panel: rgba(15,26,46,.62);
  --stroke: rgba(255,255,255,.10);
  --text:#e8eefc;
  --muted: rgba(232,238,252,.72);
  --good:#33d69f;
  --bad:#ff5c7a;
  --r:16px;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial;
  color:var(--text);
  background:
    radial-gradient(900px 500px at 15% 0%, rgba(74,163,255,.18), transparent 60%),
    radial-gradient(800px 450px at 85% 0%, rgba(124,92,255,.14), transparent 60%),
    linear-gradient(180deg, var(--bg), #070b14 78%);
}

header{
  position:sticky; top:0; z-index:10;
  backdrop-filter: blur(10px);
  background: rgba(11,18,32,.60);
  border-bottom:1px solid rgba(255,255,255,.07);
}

.navbar{
  max-width:1100px;
  margin:0 auto;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.brand{display:flex;align-items:center;gap:10px;min-width:0}
.brand-logo{
  height:28px; width:auto; display:block;
  max-width:140px;           /* evita “logo gigante” no mobile */
  object-fit:contain;
}
.brand-title{display:flex;flex-direction:column;line-height:1.1;gap:2px}
.brand-title strong{font-size:14px}
.brand-title span{font-size:12px;color:rgba(232,238,252,.55)}

.nav-links{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.nav-links a{
  text-decoration:none;
  color:rgba(232,238,252,.75);
  font-size:13px;
  padding:8px 10px;
  border-radius:999px;
}
.nav-links a:hover{background:rgba(255,255,255,.05);color:var(--text)}

.wrap{max-width:1100px;margin:0 auto;padding:16px 14px 48px}

.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:6px 0 12px}
.hero h1{margin:0;font-size:18px}
.hero p{margin:6px 0 0;color:var(--muted);font-size:13px}

.refresh{
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.04);
  color:var(--text);
  border-radius:999px;
  padding:9px 12px;
  font-size:13px;
}

.metrics{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:12px;
}
.metric{
  border:1px solid var(--stroke);
  background:var(--panel);
  border-radius:var(--r);
  padding:12px;
}
.metric .k{font-size:12px;color:rgba(232,238,252,.55)}
.metric .v{margin-top:6px;font-size:18px;font-weight:700}
.metric .s{margin-top:6px;font-size:12px;color:var(--muted)}

.apps{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.card-link{color:inherit;text-decoration:none}
.card{
  border:1px solid var(--stroke);
  background:var(--panel);
  border-radius:var(--r);
  overflow:hidden;
}

.card-top{position:relative}
.card-cover{
  width:100%;
  height:165px;
  object-fit:cover;
  display:block;
}

.badge{
  position:absolute;
  top:10px; left:10px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(8,10,18,.55);
  border:1px solid rgba(255,255,255,.12);
  font-size:12px;
}
.dot{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.35)}
.badge.online .dot{background:var(--good)}
.badge.offline .dot{background:var(--bad)}
.badge .ms{opacity:.75}

.card-content{padding:12px 12px 14px}
.card-title{margin:0 0 6px;font-size:14px}
.card-description{margin:0;color:var(--muted);font-size:13px;line-height:1.35}

.card-logo{
  display:inline-flex;
  padding:7px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(8,10,18,.30);
  margin-bottom:8px;
}
.card-logo img{height:24px;width:auto;display:block;object-fit:contain}

footer{
  max-width:1100px;
  margin:0 auto;
  padding:0 14px 26px;
  text-align:center;
  color:rgba(232,238,252,.55);
  font-size:12px;
}

/* Desktop */
@media (min-width: 920px){
  .metrics{grid-template-columns:repeat(4,1fr)}
  .apps{grid-template-columns:1fr 1fr}
  .card-cover{height:175px}
}

/* --- FIX: Equalizar altura dos cards no desktop (e também no geral) --- */
.apps{ align-items: stretch; }

.card-link{
  display: block;
  height: 100%;
}

.card{
  height: 100%;
  display: flex;
  flex-direction: column;
}

.card-content{
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Evita que descrições maiores deixem alguns cards mais altos */
.card-description{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;  /* ajuste: 2 ou 3 linhas */
  overflow: hidden;
}
