:root { --bg: #0a0a0a; --card: #111; --border: #333; --neon: #D4FF00; --red: #ff003c; --blue: #00f2ff; --orange: #ff8800; --text: #e0e0e0; --font: 'Share Tech Mono', monospace; }
.uab-v6-pro { font-family: var(--font); background: var(--bg); color: var(--text); padding: 20px; border: 1px solid var(--border); border-radius: 8px; }
.uab-filter-bar { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; background: var(--card); padding: 15px; border-bottom: 2px solid var(--neon); margin-bottom: 25px; align-items: center; }
.uab-filter-bar input, .uab-filter-bar select { background: #000; color: #fff; border: 1px solid #444; padding: 10px; font-family: inherit; font-size: 13px; border-radius: 4px; }
.uab-filter-bar input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(1); cursor: pointer; }
.uab-btn-reset { background: var(--red); color: #fff; border: none; padding: 10px; cursor: pointer; display: none; text-transform: uppercase; font-size: 11px; font-weight: bold; }
.uab-results { font-size: 12px; color: #666; text-align: right; grid-column: 1 / -1; margin-top: 5px; }
.uab-grid-layout { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-bottom: 25px; }
.uab-card { background: var(--card); border: 1px solid var(--border); padding: 15px; display: flex; flex-direction: column; overflow: visible; }
.uab-card-title { font-size: 10px; color: #888; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 10px; }
.defcon-box { text-align: center; border: 1px solid; padding: 10px; background: rgba(0,0,0,0.3); margin-bottom: 10px; transition: all 0.3s ease; }
.defcon-val { font-size: 24px; font-weight: bold; text-transform: uppercase; transition: all 0.3s ease; }
.row-stat { display: flex; justify-content: space-between; font-size: 12px; padding: 5px 0; align-items: center; }
.hl-neon { color: var(--neon); font-weight: bold; }
.kpi-chart-box { height: 85px; width: 100%; margin-bottom: 5px; cursor: help; position: relative; }
.chart-container { position: relative; height: 160px; width: 100%; margin-top: auto; }
.uab-list-wrapper { max-height: 800px; overflow-y: auto; padding-right: 10px; margin-top: 20px; }
.uab-list-wrapper::-webkit-scrollbar { width: 5px; }
.uab-list-wrapper::-webkit-scrollbar-thumb { background: var(--border); border-radius: 10px; }
.uab-cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 15px; }
.cve-card { background: var(--card); border: 1px solid #222; border-left: 6px solid #444; padding: 20px; transition: 0.2s; position: relative; display:flex; flex-direction: column; }
.cve-card.hidden { display: none; }
.cve-card:hover { transform: translateY(-3px); border-color: var(--neon); }
.cve-card.sev-Critical { border-left-color: var(--red) !important; }
.cve-card.sev-High { border-left-color: var(--orange) !important; }
.cve-card.sev-Medium { border-left-color: var(--neon) !important; }
.cve-card.sev-Low { border-left-color: var(--blue) !important; }
.cve-card.sev-Other { border-left-color: #444 !important; }
.c-meta { display: flex; justify-content: space-between; font-size: 11px; margin-bottom: 12px; }
.c-badge-id { background: #000; padding: 3px 8px; border: 1px solid #333; color: var(--neon); font-weight: bold; border-radius: 3px; }
.c-title { font-size: 16px; margin: 0 0 15px; color: #fff; line-height: 1.4; min-height: 44px; text-transform: uppercase; }

/* BLOC IA */
.c-ai-block { background: rgba(255, 255, 255, 0.03); border: 1px dashed #444; padding: 12px; border-radius: 4px; margin-bottom: 15px; flex-grow:1; }
.ai-header { font-size: 10px; text-transform: uppercase; color: #888; margin-bottom: 8px; font-weight: bold; }
.ai-tags { display: flex; gap: 10px; margin-bottom: 10px; }
.ai-tag { background: #000; padding: 4px 8px; border-radius: 3px; font-size: 11px; color: #aaa; border: 1px solid #222; }
.ai-text { font-size: 12px; color: #aaa; line-height: 1.5; }

.c-footer { border-top: 1px solid #222; padding-top: 15px; display: flex; justify-content: space-between; align-items: center; font-size: 11px; }
.c-link-btn { color: var(--neon); text-decoration: none; border: 1px solid #333; padding: 5px 12px; border-radius: 4px; transition: 0.2s; }
.c-link-btn:hover { background: var(--neon); color: #000; }
.no-data { display: none; text-align: center; padding: 60px; grid-column: 1 / -1; border: 1px dashed #444; color: #555; }

@keyframes cyberHighlightGlow {
    0% { box-shadow: 0 0 0px #D4FF00; border-color: #444; transform: scale(1); }
    50% { box-shadow: 0 0 30px #D4FF00; border-color: #D4FF00; transform: scale(1.02); }
    100% { box-shadow: 0 0 5px #D4FF00; border-color: #D4FF00; transform: scale(1); }
}

.cve-card.cyber-highlight-effect {
    animation: cyberHighlightGlow 0.8s ease-in-out 5; /* Clignote 5 fois */
    border-color: #D4FF00 !important;
    z-index: 100;
}

/* Évite que le header sticky ne cache la carte lors du saut d'ancre */
.cve-card {
    scroll-margin-top: 150px;
}
#sitrep-card {
    scroll-margin-top: 150px;
}

/* ================================================== */
/*          RESPONSIVE DASHBOARD ZERO-DAY             */
/* ================================================== */

/* 1. Ajustement Tablettes ( < 1024px ) */
@media (max-width: 1024px) {
    .uab-v6-pro {
        padding: 15px;
    }

    /* On force le SITREP à empiler ses éléments si nécessaire */
    #sitrep-card {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 20px;
    }

    .defcon-box {
        width: 100%; /* Les boîtes DEFCON prennent toute la largeur sur tablette */
        max-width: none;
    }
}

/* 2. Ajustement Mobiles ( < 768px ) */
@media (max-width: 768px) {
    .uab-filter-bar {
        grid-template-columns: 1fr 1fr !important; /* Filtres sur 2 colonnes */
        padding: 10px;
    }

    /* Le bouton reset prend toute la largeur */
    .uab-btn-reset {
        grid-column: span 2;
        width: 100%;
    }

    .uab-grid-layout {
        grid-template-columns: 1fr !important; /* Stats sur 1 seule colonne */
        gap: 10px;
    }

    .c-title {
        font-size: 14px;
        min-height: auto;
    }

    .ai-tags {
        flex-wrap: wrap; /* Évite que les tags IA ne sortent de la carte */
    }
}

/* 3. Ajustement Petits Mobiles ( < 480px ) */
@media (max-width: 480px) {
    .uab-filter-bar {
        grid-template-columns: 1fr !important; /* Tout sur une seule colonne */
    }

    .uab-btn-reset, .uab-results {
        grid-column: span 1;
    }

    .uab-results {
        text-align: center;
        margin-top: 10px;
    }

    #sitrep-card {
        padding: 15px !important;
    }

    #sitrep-card h3 {
        font-size: 15px;
    }

    /* On empile les boîtes DEFCON côte à côte si possible, sinon une par une */
    #sitrep-card > div:first-child {
        display: flex;
        flex-direction: column;
        width: 100%;
        gap: 10px;
    }

    .cve-card {
        padding: 15px;
    }

    .c-badge-id {
        font-size: 10px;
    }

    /* On réduit la taille des graphiques pour qu'ils ne mangent pas tout l'écran */
    .chart-container {
        height: 140px;
    }
}