/* ============================================================
   PokémonBot V2 — Styles dashboard
   ============================================================ */

/* ── Cartes rareté ───────────────────────────────────────── */
.poke-card {
    background: #1a1a2e;
    border: 1px solid #2a2a4e;
    border-radius: 10px;
    transition: transform .2s, box-shadow .2s;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}
.poke-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 20px rgba(0,0,0,.5);
}
.poke-card.commun     { border-color: #555; }
.poke-card.peu_commun { border-color: #28a745; }
.poke-card.rare       { border-color: #007bff; box-shadow: 0 0 6px rgba(0,123,255,.2); }
.poke-card.tres_rare  { border-color: #9b59b6; box-shadow: 0 0 8px rgba(155,89,182,.3); }
.poke-card.legendaire { border-color: #ffc107; box-shadow: 0 0 12px rgba(255,193,7,.3); }
.poke-card.mythique   { border-color: #e74c3c; box-shadow: 0 0 14px rgba(231,76,60,.4); background: linear-gradient(135deg,#1a1a2e,#2d1010); }

/* Badges rareté */
.badge-commun     { background:#6c757d; }
.badge-peu_commun { background:#28a745; }
.badge-rare       { background:#007bff; }
.badge-tres_rare  { background:#9b59b6; }
.badge-legendaire { background:#ffc107; color:#000; }
.badge-mythique   { background:linear-gradient(90deg,#e74c3c,#9b59b6); }

.poke-numero  { font-size:.7rem; color:#888; }
.poke-name    { font-size:.9rem; font-weight:700; color:#fff; margin:.2rem 0; }
.poke-types   { display:flex; gap:3px; flex-wrap:wrap; justify-content:center; }
.poke-shiny   { position:absolute; top:4px; right:4px; color:#f1c40f; font-size:.8rem; }

/* Badges capturé */
.poke-captured { position:absolute; top:4px; left:4px; }
.poke-captured .badge { font-size:.6rem; padding:2px 5px; }

/* ── Types couleurs ──────────────────────────────────────── */
.type-badge { display:inline-block; padding:1px 7px; border-radius:10px; font-size:.65rem; font-weight:600; color:#fff; }
.type-Normal   { background:#9da0aa; }
.type-Feu      { background:#e74c3c; }
.type-Eau      { background:#3498db; }
.type-Plante   { background:#27ae60; }
.type-Électrik { background:#f39c12; }
.type-Glace    { background:#74b9ff; color:#000; }
.type-Combat   { background:#c0392b; }
.type-Poison   { background:#8e44ad; }
.type-Sol      { background:#d4a056; }
.type-Vol      { background:#85c1e9; color:#000; }
.type-Psy      { background:#ff6b9d; }
.type-Insecte  { background:#52be80; }
.type-Roche    { background:#b7950b; }
.type-Spectre  { background:#5d3fd3; }
.type-Dragon   { background:#1a5276; }
.type-Ténèbres { background:#2c3e50; }
.type-Acier    { background:#7f8c8d; }
.type-Fée      { background:#fd79a8; color:#000; }
.type-Stellaire{ background:linear-gradient(90deg,#f1c40f,#3498db); color:#000; }

/* ── Statistiques ────────────────────────────────────────── */
.poke-stat-box {
    background:#1a1a2e;
    border:1px solid #16213e;
    border-radius:10px;
    padding:20px;
    text-align:center;
    margin-bottom:20px;
    transition:transform .2s;
}
.poke-stat-box:hover { transform:translateY(-4px); }
.poke-stat-number { font-size:2.5rem; font-weight:700; }
.poke-stat-label  { color:#aaa; font-size:.85rem; }

/* ── Dresseur profil ─────────────────────────────────────── */
.dresseur-header {
    background:linear-gradient(135deg,#1a1a2e,#16213e);
    border:1px solid #2a2a4e;
    border-radius:12px;
    padding:25px;
    margin-bottom:20px;
}
.level-badge {
    width:60px; height:60px;
    background:linear-gradient(135deg,#f39c12,#e67e22);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:1.4rem; font-weight:700; color:#fff;
    box-shadow:0 0 15px rgba(243,156,18,.5);
}
.xp-bar { height:10px; border-radius:5px; background:#2c3e50; margin:5px 0; }
.xp-fill { height:100%; border-radius:5px; background:linear-gradient(90deg,#27ae60,#2ecc71); transition:width .5s; }

/* ── Pokédex perso ───────────────────────────────────────── */
.pokedex-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:10px; }

/* ── Classements ─────────────────────────────────────────── */
.rank-1 { color:#ffd700; font-weight:700; }
.rank-2 { color:#c0c0c0; font-weight:700; }
.rank-3 { color:#cd7f32; font-weight:700; }

.leaderboard-row { transition:background .15s; }
.leaderboard-row:hover { background:rgba(255,255,255,.05) !important; }

/* ── Spawns ──────────────────────────────────────────────── */
.spawn-card {
    background:#1a1a2e;
    border-left:3px solid #27ae60;
    border-radius:6px;
    padding:10px 14px;
    margin-bottom:8px;
    display:flex; align-items:center; gap:12px;
}
.spawn-timer { font-size:.75rem; color:#e74c3c; font-weight:600; }
.spawn-shiny { color:#f1c40f; }

/* ── Stats de base Pokémon ───────────────────────────────── */
.stat-bar-wrap { margin:3px 0; }
.stat-name     { font-size:.75rem; color:#aaa; width:70px; display:inline-block; }
.stat-bar      { display:inline-block; height:8px; border-radius:4px; vertical-align:middle; }
.stat-pv       { background:#e74c3c; }
.stat-att      { background:#e67e22; }
.stat-def      { background:#f1c40f; }
.stat-att_spe  { background:#3498db; }
.stat-def_spe  { background:#2ecc71; }
.stat-vit      { background:#9b59b6; }
.stat-val      { font-size:.75rem; color:#ccc; margin-left:5px; }

/* ── Filtres ─────────────────────────────────────────────── */
.filter-bar { background:#1a1a2e; border:1px solid #2a2a4e; border-radius:10px; padding:15px; margin-bottom:20px; }
.filter-bar select, .filter-bar input { background:#0f3460; border:1px solid #2a2a4e; color:#fff; }
.filter-bar select:focus, .filter-bar input:focus { border-color:#3498db; box-shadow:none; }

/* ── Spinner loading ─────────────────────────────────────── */
.poke-loading { text-align:center; padding:60px 0; color:#888; }

/* ── Fix contraste card-body sur fond bg-light ───────────── */
/* Les card-body héritent du bg-light de la page si non défini */
#pokemon-dashboard .card-body,
#pokemon-dashboard .card-footer,
.page-section .stats-card .card-body,
.page-section .stats-card .card-footer {
    background: #12122a;
    color: #e0e0e0;
}
.page-section .stats-card .table-dark {
    background: #12122a;
    color: #e0e0e0;
}
.page-section .stats-card .table-dark td,
.page-section .stats-card .table-dark th {
    border-color: #2a2a4e;
    color: #e0e0e0;
}

/* Badges pokeball lisibles */
.ball-pokeball  { background:#e74c3c !important; color:#fff !important; }
.ball-superball { background:#f39c12 !important; color:#000 !important; }
.ball-hyperball { background:#3498db !important; color:#fff !important; }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width:576px) {
    .pokedex-grid { grid-template-columns:repeat(auto-fill,minmax(90px,1fr)); }
    .poke-stat-number { font-size:1.8rem; }
}
