/* ==========================================
   ANALYSE — LNB OM (admin uniquement)
   Réutilise la palette de satisfaction.css (--note-1..5)
   + un jeu de 3 couleurs pour la fraîcheur (passage/arrosage)
   ========================================== */

.status-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.75rem;
    height: 1.75rem;
    padding: 0 .4rem;
    border-radius: var(--radius-sm);
    font-size: .8125rem;
}
.status-chip.green  { background: var(--note-1); color: #fff; }
.status-chip.yellow { background: var(--note-3); color: #fff; }
.status-chip.red    { background: var(--note-5); color: #fff; }
.status-chip.grey   { background: transparent; border: 2px dashed var(--note-empty); color: var(--text-tertiary); }

/* ── Résumé des urgences ─────────────────────────────────────────────────── */
.urgences-box {
    background: var(--bg-primary);
    border: 2px solid var(--text-primary);
    border-radius: var(--radius-md);
    padding: var(--spacing-lg);
    margin-bottom: var(--spacing-lg);
}
.urgences-title { font-weight: 700; margin-bottom: var(--spacing-sm); font-size: 1rem; }
.urgences-empty { color: var(--text-tertiary); font-size: .875rem; }
.urgences-list { display: flex; flex-wrap: wrap; gap: 8px; }
.urgence-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: .8125rem;
    font-weight: 600;
    cursor: pointer;
    border: none;
    color: #fff;
}
.urgence-pill.yellow { background: var(--note-3); }
.urgence-pill.red    { background: var(--note-5); }
.urgence-pill:hover  { filter: brightness(1.08); }

/* ── Table analyse ───────────────────────────────────────────────────────── */
.visits-list { display: flex; flex-direction: column; gap: 2px; font-size: .8125rem; }
.visits-list .visit-row { display: flex; align-items: center; gap: 6px; }
.visits-list .visit-date { color: var(--text-secondary); }
.fillrate-cell { font-variant-numeric: tabular-nums; font-weight: 600; }
.freshness-cell { display: flex; align-items: center; gap: 6px; }
.freshness-cell .fc-date { font-size: .8125rem; color: var(--text-secondary); }

/* Ligne mise en évidence lors du clic depuis le résumé des urgences */
tr.row-highlight { animation: rowFlash 1.6s ease; }
@keyframes rowFlash {
    0%   { background: #FBF3E4; }
    100% { background: transparent; }
}

@media (max-width: 900px) {
    .data-table.analyse-table th:nth-child(3),
    .data-table.analyse-table td:nth-child(3) { display: none; } /* masque taux remplissage sur mobile */
}


/* ── Sous-pages Analyse ── */
.an-tabs { display:flex; gap:.5rem; margin:0 0 1.25rem; flex-wrap:wrap; }
.an-tab { padding:.55rem 1.1rem; border:2px solid var(--border-color,#d0d5dd); background:#fff; border-radius:8px;
          font-weight:700; font-size:.85rem; cursor:pointer; color:#344054; }
.an-tab.active { background:var(--primary,#E85D26); border-color:var(--primary,#E85D26); color:#fff; }
.etat-summary { display:flex; gap:.6rem; flex-wrap:wrap; margin-bottom:1rem; }
.etat-chip, .etat-badge { display:inline-block; padding:.3rem .8rem; border-radius:999px; font-size:.82rem; font-weight:600; }
.etat-clim  { background:#E3F2FD; color:#0D47A1; }
.etat-chauf { background:#FFF3E0; color:#BF360C; }
.etat-none  { background:#F2F4F7; color:#667085; }
.etat-count { display:inline-block; min-width:1.6rem; text-align:center; padding:.1rem .5rem; border-radius:999px; background:var(--primary,#E85D26); color:#fff; font-weight:700; font-size:.8rem; }
.etat-equip-detail { margin-top:.3rem; font-size:.75rem; color:var(--text-secondary,#667085); line-height:1.35; }
.etat-gone { opacity:.55; text-decoration:line-through; }
.etat-st { font-style:normal; font-size:.68rem; text-transform:uppercase; letter-spacing:.04em; margin-left:.25rem; text-decoration:none; display:inline-block; }
.etat-st-ok { color:#1B7F3B; font-weight:700; }

/* ── Sous-page Matériel ── */
.mat-bar { display:flex; gap:.75rem; align-items:center; flex-wrap:wrap; margin-bottom:1rem; }
.mat-bar .search-input { max-width:280px; }
.mat-picker { position:relative; }
.mat-pop { position:absolute; top:calc(100% + 6px); left:0; z-index:30; background:#fff; border:1px solid var(--border-color,#d0d5dd);
           border-radius:8px; box-shadow:0 10px 30px rgba(0,0,0,.18); padding:.5rem; min-width:290px; max-height:60vh; overflow:auto; }
.mat-opt { display:flex; align-items:center; gap:.5rem; padding:.4rem .5rem; border-radius:6px; cursor:pointer; font-size:.88rem; }
.mat-opt:hover { background:var(--bg-secondary,#f3eee3); }
.mat-count { font-size:.85rem; color:var(--text-tertiary,#667085); margin-left:auto; }
.mat-link { color:inherit; text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(0,0,0,.25); }
.mat-th { display:flex; align-items:center; gap:.3rem; min-width:200px; }
.mat-col-select { flex:1; min-width:0; background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.35); border-radius:6px;
                  padding:.35rem .4rem; font:inherit; font-size:.78rem; font-weight:700; cursor:pointer; }
.mat-col-select option, .mat-col-select optgroup { color:#1b2236; background:#fff; font-weight:600; }
.mat-x { background:none; border:0; color:rgba(255,255,255,.75); font-size:1.2rem; line-height:1; cursor:pointer; padding:0 .2rem; }
.mat-x:hover { color:#fff; }
.mat-grp { font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--text-tertiary,#667085); padding:.6rem .5rem .2rem; }
.mat-foot { border-top:1px solid var(--border-color,#e2d9c6); margin-top:.4rem; padding:.5rem .5rem .1rem; }
.mat-hint { background:#FFF6E5; border:1px solid #F2D9A6; border-radius:8px; padding:.6rem .9rem; font-size:.85rem; margin-bottom:.8rem; }
.mat-only { display:flex; align-items:center; gap:.4rem; font-size:.85rem; cursor:pointer; }
