/* ============================================================
   Polen Monitor — Estilos del Dashboard (index.php)
   ============================================================ */

.wrap{max-width:880px;margin:0 auto;padding:22px 16px 60px}

/* ---- CITY TABS ---- */
.city-tabs-wrap{
  background:var(--bg2);border-bottom:1px solid var(--border);
  padding:10px 20px 14px;text-align:center;
}
.city-tabs{
  display:inline-flex;gap:3px;
  background:var(--bg3);border:1px solid var(--border);
  border-radius:10px;padding:4px;
}
.city-tabs a{
  padding:7px 22px;border-radius:7px;
  font-size:.82rem;font-weight:500;color:var(--muted);
  text-decoration:none;transition:.15s;
}
.city-tabs a:hover{color:var(--text);background:rgba(255,255,255,.05)}
.city-tabs a.active{background:var(--accent2);color:#0f172a;font-weight:600}

/* ---- STATUS BAR ---- */
.sbar{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:10px;
  background:var(--card);border:1px solid var(--border);
  border-radius:12px;padding:11px 16px;margin-bottom:14px;
}
.sbar-l{display:flex;align-items:center;gap:8px;font-size:.85rem;flex-wrap:wrap}
.pulse{
  width:9px;height:9px;border-radius:50%;
  background:var(--accent);box-shadow:0 0 7px var(--accent);
  flex-shrink:0;animation:pulse 2s ease-in-out infinite;
}
@keyframes pulse{0%,100%{box-shadow:0 0 4px var(--accent)}50%{box-shadow:0 0 12px var(--accent)}}
.sbar-r{display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--muted)}
.cache-badge{
  font-size:.72rem;padding:2px 8px;border-radius:20px;
  background:rgba(56,189,248,.1);color:var(--accent2);
  border:1px solid rgba(56,189,248,.2);
}

/* ---- BUTTONS ---- */
.btn{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 16px;border-radius:8px;
  font-family:'Outfit',sans-serif;font-size:.82rem;font-weight:600;
  text-decoration:none;border:none;cursor:pointer;
  transition:.15s;white-space:nowrap;
}
.btn:hover{opacity:.88;transform:translateY(-1px)}
.btn-primary{background:var(--accent2);color:#0f172a}
.btn-test{background:rgba(251,146,60,.15);color:#fb923c;border:1px solid rgba(251,146,60,.3)}

/* ---- WATCHED CARDS ---- */
.prow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:14px}
@media(max-width:720px){.prow{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.prow{grid-template-columns:1fr}}

.pcard{
  background:var(--card);border:1px solid var(--border);
  border-radius:14px;padding:18px 20px;
  position:relative;overflow:hidden;transition:.2s;
}
.pcard:hover{border-color:rgba(56,189,248,.3)}
.pcard::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.pcard.lv0::before{background:var(--b0)}.pcard.lv1::before{background:var(--b1)}
.pcard.lv2::before{background:var(--b2)}.pcard.lv3::before{background:var(--b3)}
.pcard.lv4::before{background:var(--b4)}
.pcard-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}
.pcard-left{display:flex;align-items:center;gap:12px}
.pcard-icon{
  width:40px;height:40px;border-radius:10px;
  background:var(--bg3);display:flex;align-items:center;
  justify-content:center;font-size:1.25rem;flex-shrink:0;
}
.pcard-name{font-size:1.05rem;font-weight:700;letter-spacing:.04em}
.pcard-sub{font-size:.73rem;color:var(--muted);margin-top:2px}
.pcard-num{font-size:2.6rem;font-weight:700;line-height:1}
.bar-track{height:7px;background:var(--bg3);border-radius:4px;overflow:hidden;margin-bottom:9px}
.bar-fill{height:100%;border-radius:4px;transition:width .7s ease}
.pcard-scale{display:flex;justify-content:space-between;font-size:.67rem;color:var(--muted);margin-bottom:10px}
.pcard-foot{font-size:.8rem;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pcard:nth-child(2){animation-delay:.06s}

/* ---- POLLENS TABLE ---- */
.sec-title{font-size:.95rem;font-weight:600;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.tbl-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse}
thead th{
  padding:9px 14px;text-align:left;
  font-size:.7rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.07em;color:var(--muted);border-bottom:1px solid var(--border);
}
tbody tr{border-bottom:1px solid rgba(46,58,80,.5);transition:background .1s}
tbody tr:hover{background:rgba(255,255,255,.025)}
tbody tr:last-child{border-bottom:none}
td{padding:10px 14px;font-size:.84rem;vertical-align:middle}
.td-name{display:flex;flex-direction:column;justify-content:center;gap:2px}
.td-name-top{display:flex;align-items:center;gap:7px;font-weight:600;font-size:.88rem}
.td-desc{font-size:.72rem;color:var(--muted);padding-left:16px}
.watch{
  font-size:.62rem;font-weight:600;padding:2px 7px;border-radius:20px;
  background:rgba(56,189,248,.12);color:var(--accent2);
  border:1px solid rgba(56,189,248,.25);
}
.td-lv{font-weight:700;font-size:.95rem}
.td-st{display:flex;align-items:center;gap:6px;font-size:.8rem;white-space:nowrap}
.btrack{height:6px;background:var(--bg3);border-radius:3px;overflow:hidden;max-width:150px}
.bfill{height:100%;border-radius:3px}

/* ---- LEGEND ---- */
.legend{
  background:var(--card);border:1px solid var(--border);
  border-radius:12px;padding:13px 18px;
  display:flex;align-items:center;flex-wrap:wrap;gap:12px;
  font-size:.78rem;color:var(--muted);
}
.ltitle{font-weight:600;color:var(--text);margin-right:2px}
.li{display:flex;align-items:center;gap:5px}
.ld{width:10px;height:10px;border-radius:50%;flex-shrink:0}

.empty{text-align:center;padding:48px 20px;color:var(--muted)}
.empty .ei{font-size:2.5rem;margin-bottom:10px}

/* ---- RESPONSIVE ---- */
@media(max-width:600px){
  .wrap{padding:14px 10px 50px}
  .city-tabs a{padding:6px 10px;font-size:.76rem}
  thead th:nth-child(3),thead th:nth-child(5),
  tbody td:nth-child(3),tbody td:nth-child(5){display:none}
  td{padding:8px 10px;font-size:.8rem}
  thead th{padding:8px 10px;font-size:.65rem}
  .td-lv{font-size:.9rem}
  .watch{display:none}
  .pcard{padding:14px 16px}
  .pcard-num{font-size:2rem}
  .pcard-name{font-size:.95rem}
  .legend{gap:8px 16px}
  .ltitle{width:100%}
}
