/* ═══════════════════════════════════════════════════════════════
   INSIDER FLOW TRACKER — MINIMALIST PROFESSIONAL EDITION
   100% Responsive — Light / Dark mode — Desktop / Mobile
   ═══════════════════════════════════════════════════════════════ */

/* ─── DESIGN TOKENS (bridge Drive → Insider) ─────────────────── */
body.avd-page {
    --ac-primary:      #4f6df5;
    --ac-primary-dark: #3b52d6;
    --ac-success:      #16a34a;
    --ac-success-bg:   rgba(22, 163, 74, 0.08);
    --ac-danger:       #dc2626;
    --ac-danger-bg:    rgba(220, 38, 38, 0.08);
    --ac-warning:      #d97706;
    --ac-warning-bg:   rgba(217, 119, 6, 0.08);
    --ac-info:         #2563eb;
    --ac-info-bg:      rgba(37, 99, 235, 0.08);
    --ac-neutral:      #64748b;

    --text-primary:    var(--avd-text,       #e5e9f0);
    --text-secondary:  var(--avd-text-muted, #a3aebc);
    --text-tertiary:   var(--avd-text-dim,   #6b7688);

    --surface:         var(--avd-card,   #161b26);
    --surface-alt:     #1c2230;
    --border-color:    var(--avd-border, rgba(255,255,255,0.07));

    --radius-sm:  8px;
    --radius-md:  10px;
    --radius-lg:  14px;

    --shadow-1: 0 1px 2px rgba(0,0,0,0.24);
    --shadow-2: 0 4px 16px rgba(0,0,0,0.28);

    --transition: all 0.18s ease;
}

/* Light mode tokens */
body.avd-page.light-mode {
    --ac-success-bg: rgba(22, 163, 74, 0.06);
    --ac-danger-bg:  rgba(220, 38, 38, 0.06);
    --ac-warning-bg: rgba(217, 119, 6, 0.06);
    --ac-info-bg:    rgba(37, 99, 235, 0.06);

    --text-primary:   var(--avd-text,       #1a202c);
    --text-secondary: var(--avd-text-muted, #4a5568);
    --text-tertiary:  var(--avd-text-dim,   #94a3b8);

    --surface:      #ffffff;
    --surface-alt:  #f7f8fa;
    --border-color: var(--avd-border, rgba(15, 23, 42, 0.08));

    --shadow-1: 0 1px 2px rgba(15,23,42,0.05);
    --shadow-2: 0 4px 16px rgba(15,23,42,0.06);
}

*, *::before, *::after { box-sizing: border-box; }

/* ═══════════════════════════════════════════════════════════════
   SECTION CONTAINER
   ═══════════════════════════════════════════════════════════════ */
.section {
    background: var(--surface);
    border-radius: var(--radius-lg);
    padding: 24px;
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-1);
    margin-bottom: 20px;
    transition: var(--transition);
}

.section-title {
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--text-primary);
    letter-spacing: -0.01em;
}

.section-title i {
    color: var(--ac-primary);
    font-size: 0.95em;
    -webkit-text-fill-color: initial;
    background: none;
}

.gradient-title,
.page-title {
    color: var(--text-primary);
    -webkit-text-fill-color: initial;
    background: none;
    font-weight: 700;
}

/* ═══════════════════════════════════════════════════════════════
   DASHBOARD TOOLBAR
   ═══════════════════════════════════════════════════════════════ */
.dashboard-toolbar {
    background: var(--surface);
    border-radius: var(--radius-md);
    padding: 12px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-1);
    gap: 14px;
    flex-wrap: wrap;
}

.toolbar-left, .toolbar-right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.dashboard-subtitle {
    color: var(--text-secondary);
    font-size: 0.82rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 8px;
}

.dashboard-subtitle i { color: var(--ac-primary); }

.dashboard-btn,
.dashboard-btn-sm {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--surface-alt);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-family: inherit;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
    white-space: nowrap;
}

.dashboard-btn    { padding: 8px 16px; font-size: 12px; }
.dashboard-btn-sm { padding: 6px 12px; font-size: 11px; }

.dashboard-btn:hover,
.dashboard-btn-sm:hover {
    background: var(--ac-primary);
    color: #fff;
    border-color: var(--ac-primary);
}

/* ═══════════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════════ */
footer {
    text-align: center;
    padding: 24px 0 8px;
    color: var(--text-tertiary);
    font-size: 0.8rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

footer i { color: var(--ac-primary); }

/* ═══════════════════════════════════════════════════════════════
   LOADING
   ═══════════════════════════════════════════════════════════════ */
.loading {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.loading.hidden { display: none !important; }

@keyframes spin { to { transform: rotate(360deg); } }

/* ═══════════════════════════════════════════════════════════════
   SEARCH / OPTIONS (legacy support, kept minimal)
   ═══════════════════════════════════════════════════════════════ */
.search-container { margin-bottom: 24px; }

.search-box {
    background: var(--surface);
    border-radius: var(--radius-md);
    padding: 8px 16px;
    display: flex;
    align-items: center;
    gap: 14px;
    box-shadow: var(--shadow-1);
    border: 1px solid var(--border-color);
    transition: var(--transition);
}

.search-box:focus-within { border-color: var(--ac-primary); }

.search-box input {
    flex: 1;
    background: transparent;
    border: none;
    outline: none;
    color: var(--text-primary);
    font-size: 0.95rem;
    padding: 10px 0;
    height: 40px;
    font-family: inherit;
}

.search-box input::placeholder { color: var(--text-tertiary); }

.search-btn {
    background: var(--ac-primary);
    border: none;
    padding: 10px 22px;
    border-radius: var(--radius-sm);
    color: white;
    font-weight: 700;
    font-size: 0.88rem;
    cursor: pointer;
    transition: var(--transition);
    height: 40px;
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    font-family: inherit;
}

.search-btn:hover { background: var(--ac-primary-dark); }

.search-options {
    display: flex;
    gap: 12px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.option-group {
    background: var(--surface);
    border-radius: var(--radius-sm);
    padding: 8px 16px;
    border: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 220px;
    transition: var(--transition);
}

.option-group:hover { border-color: var(--ac-primary); }

.option-group label {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.option-group label i { color: var(--ac-primary); }

.option-group select {
    flex: 1;
    background: var(--surface-alt);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    padding: 6px 10px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    outline: none;
    transition: var(--transition);
    font-family: inherit;
}

.option-group select:focus { border-color: var(--ac-primary); }

/* ═══════════════════════════════════════════════════════════════
   ERROR STATE
   ═══════════════════════════════════════════════════════════════ */
.error-state { text-align: center; padding: 56px 20px; }

.error-state h2 {
    color: var(--text-primary);
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.primary-btn {
    background: var(--ac-primary);
    color: white;
    border: none;
    padding: 10px 24px;
    border-radius: var(--radius-sm);
    font-weight: 700;
    font-size: 0.88rem;
    cursor: pointer;
    transition: var(--transition);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: inherit;
}

.primary-btn:hover { background: var(--ac-primary-dark); }

/* ═══════════════════════════════════════════════════════════════
   ALPHY AI RECOMMENDATION
   ═══════════════════════════════════════════════════════════════ */
.alphy-panel {
    background: var(--surface);
    border-radius: var(--radius-lg);
    padding: 24px;
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-1);
}

.alphy-simple-grid { display: grid; gap: 20px; }

.alphy-summary {
    background: var(--surface-alt);
    border-radius: var(--radius-md);
    padding: 20px;
    border: 1px solid var(--border-color);
}

.alphy-action-row {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.alphy-action-icon-small { font-size: 2.2rem; }

.alphy-action-text {
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: 4px;
    letter-spacing: -0.01em;
}

.alphy-score-text {
    font-size: 0.9rem;
    color: var(--text-secondary);
    font-weight: 500;
}

.alphy-section h3 {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.alphy-section h3 i { color: var(--ac-primary); }

.insight-list, .risk-list, .action-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.insight-item, .risk-item, .action-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    background: var(--ac-info-bg);
    border-radius: var(--radius-sm);
    border-left: 3px solid var(--ac-info);
    font-size: 0.88rem;
}

.insight-item i, .risk-item i, .action-item i { color: var(--ac-info); margin-top: 2px; flex-shrink: 0; }

.risk-item   { background: var(--ac-danger-bg);  border-left-color: var(--ac-danger); }
.risk-item i { color: var(--ac-danger); }

.action-item   { background: var(--ac-success-bg); border-left-color: var(--ac-success); }
.action-item i { color: var(--ac-success); }

.ai-text {
    color: var(--text-secondary);
    line-height: 1.65;
    font-size: 0.92rem;
}

.alphy-metrics-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
}

.alphy-metric-compact {
    display: flex;
    align-items: center;
    gap: 14px;
    background: var(--surface-alt);
    padding: 14px;
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color);
}

.metric-icon-small {
    width: 40px;
    height: 40px;
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.1rem;
    flex-shrink: 0;
    background: var(--ac-primary) !important;
}

.metric-content { flex: 1; min-width: 0; }

.metric-label {
    font-size: 0.7rem;
    color: var(--text-tertiary);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 700;
}

.metric-value {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-top: 2px;
}

/* ═══════════════════════════════════════════════════════════════
   SCORE CARDS
   ═══════════════════════════════════════════════════════════════ */
.score-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}

.score-card {
    background: var(--surface);
    border-radius: var(--radius-md);
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 16px;
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-1);
    transition: var(--transition);
}

.score-card:hover {
    box-shadow: var(--shadow-2);
    border-color: var(--ac-primary);
}

.score-icon {
    width: 44px;
    height: 44px;
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    color: white;
    flex-shrink: 0;
    background: var(--ac-primary) !important;
}

.score-content { flex: 1; min-width: 0; }

.score-value {
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--text-primary);
    line-height: 1.15;
    -webkit-text-fill-color: initial;
    background: none;
}

.score-label {
    color: var(--text-tertiary);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 700;
    margin-bottom: 4px;
}

.score-sublabel {
    color: var(--text-secondary);
    font-size: 0.78rem;
    margin-top: 3px;
    font-weight: 500;
}

/* ═══════════════════════════════════════════════════════════════
   ALERTS
   ═══════════════════════════════════════════════════════════════ */
.alerts-grid { display: grid; gap: 10px; }

.alert {
    background: var(--surface);
    border-radius: var(--radius-md);
    padding: 14px 18px;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    border: 1px solid var(--border-color);
    border-left-width: 3px;
    transition: var(--transition);
}

.alert.severity-HIGH   { border-left-color: var(--ac-danger);  background: var(--ac-danger-bg); }
.alert.severity-MEDIUM { border-left-color: var(--ac-warning); background: var(--ac-warning-bg); }
.alert.severity-LOW    { border-left-color: var(--ac-info);    background: var(--ac-info-bg); }

.alert-icon { font-size: 1.15rem; margin-top: 2px; }
.alert.severity-HIGH .alert-icon   { color: var(--ac-danger); }
.alert.severity-MEDIUM .alert-icon { color: var(--ac-warning); }
.alert.severity-LOW .alert-icon    { color: var(--ac-info); }

.alert-content { flex: 1; min-width: 0; }

.alert-title {
    font-size: 0.92rem;
    font-weight: 700;
    margin-bottom: 4px;
    color: var(--text-primary);
}

.alert-description {
    color: var(--text-secondary);
    font-size: 0.85rem;
    line-height: 1.5;
}

.alert-badge {
    background: var(--surface-alt);
    padding: 3px 10px;
    border-radius: var(--radius-sm);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    white-space: nowrap;
    color: var(--text-secondary);
    border: 1px solid var(--border-color);
    height: fit-content;
}

/* ═══════════════════════════════════════════════════════════════
   PATTERN CARDS
   ═══════════════════════════════════════════════════════════════ */
.pattern-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
}

.pattern-card {
    background: var(--surface);
    border-radius: var(--radius-md);
    padding: 18px;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    border: 1px solid var(--border-color);
    border-left-width: 3px;
    transition: var(--transition);
}

.pattern-card:hover { box-shadow: var(--shadow-2); }

.pattern-icon {
    font-size: 1.3rem;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-sm);
    background: var(--surface-alt);
    flex-shrink: 0;
}

.pattern-content h3 {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 6px;
}

.pattern-content p {
    color: var(--text-secondary);
    font-size: 0.83rem;
    line-height: 1.5;
}

/* ═══════════════════════════════════════════════════════════════
   CLUSTER CARDS
   ═══════════════════════════════════════════════════════════════ */
.cluster-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}

.cluster-card {
    background: var(--ac-success-bg);
    border: 1px solid var(--ac-success);
    border-radius: var(--radius-md);
    padding: 18px;
    transition: var(--transition);
}

.cluster-card:hover { box-shadow: var(--shadow-2); }

.cluster-card h3 { color: var(--text-primary); font-size: 0.92rem; font-weight: 700; }

.cluster-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
    flex-wrap: wrap;
    gap: 8px;
}

.cluster-date {
    font-size: 0.8rem;
    color: var(--text-secondary);
    font-weight: 600;
}

.confidence-badge {
    background: var(--ac-success);
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.74rem;
    font-weight: 700;
    color: white;
}

.cluster-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 14px;
}

.cluster-stat {
    background: var(--surface);
    padding: 10px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border-color);
}

.cluster-stat-label {
    font-size: 0.68rem;
    color: var(--text-tertiary);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 700;
}

.cluster-stat-value {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--ac-success);
    margin-top: 3px;
}

/* ═══════════════════════════════════════════════════════════════
   WHALE TRACKER
   ═══════════════════════════════════════════════════════════════ */
.whale-grid { display: grid; gap: 10px; }

.whale-card {
    background: var(--surface);
    border-radius: var(--radius-md);
    padding: 16px;
    border: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    gap: 16px;
    transition: var(--transition);
    flex-wrap: wrap;
}

.whale-card:hover { box-shadow: var(--shadow-2); }

.whale-rank {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--surface-alt);
    color: var(--text-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: 800;
    flex-shrink: 0;
    border: 1px solid var(--border-color);
}

.whale-rank.rank-1 { background: #fbbf24; color: #1a1a1a; border-color: #fbbf24; }
.whale-rank.rank-2 { background: #cbd5e1; color: #1a1a1a; border-color: #cbd5e1; }
.whale-rank.rank-3 { background: #fb923c; color: #1a1a1a; border-color: #fb923c; }

.whale-info { flex: 1; min-width: 160px; }

.whale-name {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 3px;
}

.whale-role {
    font-size: 0.72rem;
    color: var(--text-tertiary);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 600;
}

.whale-stats {
    display: flex;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
}

.whale-stat { text-align: right; }

.whale-stat-value {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--text-primary);
}

.whale-stat-label {
    font-size: 0.68rem;
    color: var(--text-tertiary);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 700;
}

.whale-badge {
    background: #fbbf24;
    color: #1a1a1a;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 0.68rem;
    font-weight: 800;
    white-space: nowrap;
}

/* ═══════════════════════════════════════════════════════════════
   TABLE
   ═══════════════════════════════════════════════════════════════ */
.table-container {
    overflow-x: auto;
    border-radius: var(--radius-md);
    background: var(--surface);
    border: 1px solid var(--border-color);
    max-width: 100%;
}

table {
    width: 100%;
    border-collapse: collapse;
    min-width: 600px;
}

thead { background: var(--surface-alt); }

th {
    padding: 12px 16px;
    text-align: left;
    font-weight: 700;
    color: var(--text-secondary) !important;
    -webkit-text-fill-color: var(--text-secondary) !important;
    text-transform: uppercase;
    font-size: 0.72rem;
    letter-spacing: 0.6px;
    border-bottom: 1px solid var(--border-color);
}

td {
    padding: 12px 16px;
    border-top: 1px solid var(--border-color);
    color: var(--text-primary);
    font-size: 0.86rem;
}

tbody tr { transition: background 0.15s ease; }
tbody tr:hover { background: var(--surface-alt); }

.badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: var(--radius-sm);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.badge-buy     { background: var(--ac-success-bg); color: var(--ac-success); border: 1px solid var(--ac-success); }
.badge-sell    { background: var(--ac-danger-bg);  color: var(--ac-danger);  border: 1px solid var(--ac-danger); }
.badge-neutral { background: var(--surface-alt); color: var(--text-secondary); border: 1px solid var(--border-color); }

/* ═══════════════════════════════════════════════════════════════
   PAGINATION
   ═══════════════════════════════════════════════════════════════ */
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px;
    background: var(--surface);
    border-top: 1px solid var(--border-color);
    flex-wrap: wrap;
}

.pagination button {
    background: var(--surface-alt);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    padding: 7px 14px;
    border-radius: var(--radius-sm);
    font-weight: 600;
    font-size: 0.8rem;
    cursor: pointer;
    transition: var(--transition);
    font-family: inherit;
}

.pagination button:hover:not(:disabled) {
    background: var(--ac-primary);
    color: white;
    border-color: var(--ac-primary);
}

.pagination button:disabled { opacity: 0.35; cursor: not-allowed; }

.pagination span {
    font-weight: 600;
    color: var(--text-secondary);
    padding: 0 10px;
    font-size: 0.82rem;
}

/* ═══════════════════════════════════════════════════════════════
   CHART WRAPPER
   ═══════════════════════════════════════════════════════════════ */
.chart-wrapper {
    background: var(--surface);
    border-radius: var(--radius-md);
    padding: 18px;
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-1);
    position: relative;
    overflow: visible;
    max-width: 100%;
}

.chart-wrapper canvas {
    max-width: 100% !important;
    width: 100% !important;
    height: 360px !important;
    display: block;
}

.chart-wrapper > div {
    position: relative;
    max-width: 100%;
    width: 100%;
    height: 360px;
}

/* ═══════════════════════════════════════════════════════════════
   NETWORK GRAPH
   ═══════════════════════════════════════════════════════════════ */
.network-controls {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.network-btn {
    flex: 1;
    min-width: 130px;
    padding: 9px 18px;
    background: var(--surface);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: inherit;
}

.network-btn:hover {
    border-color: var(--ac-primary);
    color: var(--ac-primary);
}

.network-graph-container {
    width: 100%;
    height: 520px;
    background: var(--surface-alt);
    border-radius: var(--radius-md);
    margin-top: 14px;
    border: 1px solid var(--border-color);
    overflow: hidden;
}

.network-stats { margin-top: 16px; }

.network-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 12px;
}

.network-stat-card {
    background: var(--surface);
    border-radius: var(--radius-md);
    padding: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid var(--border-color);
}

.network-stat-card i { font-size: 1.3rem; color: var(--ac-primary); }

.stat-value {
    font-size: 1.3rem;
    font-weight: 800;
    color: var(--text-primary);
}

.stat-label {
    font-size: 0.72rem;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

/* ═══════════════════════════════════════════════════════════════
   COMPARISON
   ═══════════════════════════════════════════════════════════════ */
.comparison-search {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.comparison-search input {
    flex: 1;
    min-width: 180px;
    padding: 9px 16px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    background: var(--surface-alt);
    color: var(--text-primary);
    font-size: 0.9rem;
    outline: none;
    transition: var(--transition);
    font-family: inherit;
}

.comparison-search input:focus { border-color: var(--ac-primary); }

.comparison-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 52px;
    padding: 12px;
    background: var(--surface-alt);
    border-radius: var(--radius-md);
    border: 1px dashed var(--border-color);
}

.comparison-tag {
    background: var(--ac-primary);
    color: white;
    padding: 6px 12px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 0.85rem;
}

.tag-remove {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.25);
    border: none;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.64rem;
    transition: var(--transition);
}

.tag-remove:hover { background: rgba(255, 255, 255, 0.4); }

.comparison-results { margin-top: 20px; }

.ranking-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 14px;
}

.ranking-card {
    background: var(--surface);
    border-radius: var(--radius-md);
    padding: 16px;
    border: 1px solid var(--border-color);
}

.ranking-card h5 {
    font-size: 0.9rem;
    font-weight: 700;
    margin-bottom: 12px;
    color: var(--text-primary);
}

.ranking-card ol {
    list-style: none;
    counter-reset: ranking;
    padding: 0;
    margin: 0;
}

.ranking-card li {
    counter-increment: ranking;
    padding: 8px 10px 8px 36px;
    margin-bottom: 6px;
    background: var(--surface-alt);
    border-radius: var(--radius-sm);
    position: relative;
    color: var(--text-primary);
    font-size: 0.84rem;
    font-weight: 500;
}

.ranking-card li::before {
    content: counter(ranking);
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background: var(--ac-primary);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.72rem;
}

/* ═══════════════════════════════════════════════════════════════
   NOTIFICATIONS
   ═══════════════════════════════════════════════════════════════ */
.notification {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 10001;
    pointer-events: auto;
}

/* ═══════════════════════════════════════════════════════════════
   DATA LOADER PANEL (config)
   ═══════════════════════════════════════════════════════════════ */
.data-loader-panel {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 0;
    animation: fadeIn 0.4s ease;
}

.loader-panel-content {
    max-width: 720px;
    width: 100%;
    background: var(--surface);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-2);
    overflow: hidden;
}

.loader-panel-header {
    background: var(--surface-alt);
    padding: 40px 36px;
    text-align: center;
    border-bottom: 1px solid var(--border-color);
}

.loader-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background: var(--ac-primary);
    border-radius: var(--radius-md);
    font-size: 1.6rem;
    color: white;
    margin-bottom: 16px;
}

.loader-title {
    color: var(--text-primary) !important;
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: 8px;
    background: none !important;
    -webkit-text-fill-color: initial !important;
}

.loader-subtitle {
    color: var(--text-secondary);
    font-size: 0.92rem;
    font-weight: 500;
}

.loader-panel-body { padding: 32px; }

.loader-config-group { margin-bottom: 22px; }

.loader-config-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 22px;
    margin-bottom: 28px;
}

.loader-config-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.loader-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--text-primary);
    background: none;
    -webkit-text-fill-color: initial;
}

.loader-label i { color: var(--ac-primary); }

.loader-input, .loader-select {
    width: 100%;
    padding: 11px 14px;
    background: var(--surface-alt);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-primary);
    transition: var(--transition);
    font-family: inherit;
    outline: none;
}

.loader-input::placeholder { color: var(--text-tertiary); }
.loader-input:focus, .loader-select:focus { border-color: var(--ac-primary); }
.loader-select { cursor: pointer; }

.loader-hint {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    color: var(--text-tertiary);
    font-weight: 500;
}

.loader-hint i { color: var(--ac-info); }

.loader-preview {
    background: var(--surface-alt);
    border-radius: var(--radius-md);
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 26px;
    border: 1px solid var(--border-color);
}

.loader-preview-item {
    display: flex;
    align-items: center;
    gap: 14px;
}

.loader-preview-item i { font-size: 1.1rem; color: var(--ac-primary); }

.loader-preview-content { display: flex; flex-direction: column; gap: 3px; }

.loader-preview-label {
    font-size: 0.72rem;
    color: var(--text-tertiary);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.loader-preview-value {
    font-size: 0.88rem;
    color: var(--text-primary);
    font-weight: 700;
}

.loader-analyze-btn {
    width: 100%;
    padding: 14px 32px;
    background: var(--ac-primary);
    color: white;
    border: none;
    border-radius: var(--radius-md);
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: inherit;
}

.loader-analyze-btn:hover { background: var(--ac-primary-dark); }
.loader-analyze-btn i { font-size: 1.05rem; }

/* ═══════════════════════════════════════════════════════════════
   DATASET INFO BAR
   ═══════════════════════════════════════════════════════════════ */
.dataset-info-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--surface);
    border-radius: var(--radius-md);
    padding: 12px 18px;
    margin-bottom: 18px;
    border: 1px solid var(--border-color);
    flex-wrap: wrap;
    gap: 10px;
}

.dataset-info-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.85rem;
}

.dataset-info-item i { font-size: 1rem; color: var(--ac-primary); }

.dataset-reconfigure-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: var(--surface-alt);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
    border-radius: var(--radius-sm);
    font-weight: 600;
    font-size: 0.82rem;
    cursor: pointer;
    transition: var(--transition);
    font-family: inherit;
}

.dataset-reconfigure-btn:hover {
    background: var(--ac-primary);
    color: white;
    border-color: var(--ac-primary);
}

/* ═══════════════════════════════════════════════════════════════
   ANIMATIONS
   ═══════════════════════════════════════════════════════════════ */
.dashboard-content { animation: fadeIn 0.4s ease; }

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes slideIn {
    from { transform: translateX(400px); opacity: 0; }
    to   { transform: translateX(0); opacity: 1; }
}

@keyframes slideOut {
    from { transform: translateX(0); opacity: 1; }
    to   { transform: translateX(400px); opacity: 0; }
}

/* ═══════════════════════════════════════════════════════════════
   UTILITIES
   ═══════════════════════════════════════════════════════════════ */
.hidden { display: none !important; }

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE — TABLET
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
    .loader-panel-body { padding: 26px; }
    .loader-config-grid { grid-template-columns: 1fr; gap: 18px; }
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE (≤768px)
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    .section { padding: 18px; }

    .search-box { flex-direction: column; padding: 12px; }
    .search-btn { width: 100%; justify-content: center; }
    .search-options { flex-direction: column; gap: 8px; }
    .option-group { min-width: auto; width: 100%; }

    .score-container { grid-template-columns: 1fr; }
    .score-card { text-align: left; }

    .pattern-grid { grid-template-columns: 1fr; }
    .cluster-grid { grid-template-columns: 1fr; }
    .alphy-metrics-grid { grid-template-columns: 1fr; }
    .alphy-action-row { flex-direction: column; text-align: center; }
    .alphy-panel { padding: 16px; }

    .whale-card { flex-direction: column; text-align: center; }
    .whale-stats { width: 100%; justify-content: center; }

    .comparison-search { flex-direction: column; }
    .comparison-search input { width: 100%; }

    .network-controls { flex-direction: column; }
    .network-btn { width: 100%; }
    .network-graph-container { height: 420px; }

    .ranking-grid { grid-template-columns: 1fr; }

    table { font-size: 0.8rem; }
    th, td { padding: 10px 8px; }

    .pagination { flex-wrap: wrap; gap: 6px; }
    .pagination button { font-size: 0.76rem; padding: 6px 12px; }
    .pagination span { width: 100%; text-align: center; }

    .chart-wrapper { padding: 12px; }
    .chart-wrapper canvas { height: 300px !important; }
    .chart-wrapper > div  { height: 300px; }

    .loader-panel-header { padding: 30px 20px; }
    .loader-title { font-size: 1.3rem; }
    .loader-panel-body { padding: 20px; }
    .loader-analyze-btn { font-size: 0.92rem; padding: 12px 24px; }

    .dataset-info-bar { flex-direction: column; align-items: flex-start; }
    .dataset-reconfigure-btn { width: 100%; justify-content: center; }

    .dashboard-toolbar { flex-direction: column; align-items: flex-start; }
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE — SMALL MOBILE (≤480px)
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 480px) {
    .score-value { font-size: 1.3rem; }

    .chart-wrapper canvas { height: 260px !important; }
    .chart-wrapper > div  { height: 260px; }

    .alphy-panel { padding: 12px; }
    .alphy-action-text { font-size: 1.15rem; }
    .alphy-action-icon-small { font-size: 1.7rem; }
    .metric-value { font-size: 0.95rem; }

    .network-graph-container { height: 360px; }

    .loader-panel-header { padding: 24px 16px; }
    .loader-icon { width: 48px; height: 48px; font-size: 1.4rem; }
    .loader-title { font-size: 1.15rem; }
    .loader-subtitle { font-size: 0.82rem; }
    .loader-panel-body { padding: 16px; }
    .loader-label { font-size: 0.85rem; }
    .loader-input, .loader-select { padding: 10px 12px; }
    .loader-analyze-btn { font-size: 0.88rem; padding: 11px 20px; }

    .data-loader-panel { padding: 10px 0; }

    th, td { padding: 8px 6px; font-size: 0.76rem; }
    .badge { font-size: 0.66rem; padding: 2px 8px; }
    .primary-btn, .search-btn { font-size: 0.85rem; padding: 9px 18px; }
}

/* ═══════════════════════════════════════════════════════════════
   FIX PACK — Bordures colorées, Dark Mode, Mobile 2-col, Loader
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. SUPPRESSION DES BARRES COLORÉES VERTICALES ─────────────── */
.alert,
.pattern-card,
.cluster-card,
.insight-item,
.risk-item,
.action-item {
    border-left: 1px solid var(--border-color) !important;
}
.alert.severity-HIGH,
.alert.severity-MEDIUM,
.alert.severity-LOW,
.pattern-card,
.cluster-card {
    border: 1px solid var(--border-color) !important;
}
/* On garde juste une icône colorée dans un badge rond, pas de barre */
.alert-icon,
.pattern-icon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--surface-alt);
    flex-shrink: 0;
}
.alert.severity-HIGH .alert-icon   { color: var(--ac-danger); background: var(--ac-danger-bg); }
.alert.severity-MEDIUM .alert-icon { color: var(--ac-warning); background: var(--ac-warning-bg); }
.alert.severity-LOW .alert-icon    { color: var(--ac-info); background: var(--ac-info-bg); }
.cluster-card { background: var(--surface) !important; }

/* ── 2. DARK MODE — surcharges strictes (tout composant) ───────── */
body.avd-page:not(.light-mode) {
    --surface:      #161b26;
    --surface-alt:  #1c2230;
    --border-color: rgba(255,255,255,0.08);
    --text-primary: #e5e9f0;
    --text-secondary: #a3aebc;
    --text-tertiary: #6b7688;
}
body.avd-page:not(.light-mode) .section,
body.avd-page:not(.light-mode) .score-card,
body.avd-page:not(.light-mode) .alert,
body.avd-page:not(.light-mode) .pattern-card,
body.avd-page:not(.light-mode) .cluster-card,
body.avd-page:not(.light-mode) .whale-card,
body.avd-page:not(.light-mode) .table-container,
body.avd-page:not(.light-mode) .chart-wrapper,
body.avd-page:not(.light-mode) .loader-panel-content,
body.avd-page:not(.light-mode) .dashboard-toolbar,
body.avd-page:not(.light-mode) .dataset-info-bar {
    background: var(--surface) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary);
}
body.avd-page:not(.light-mode) input,
body.avd-page:not(.light-mode) select,
body.avd-page:not(.light-mode) textarea {
    background: var(--surface-alt) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

/* ── 3. MOBILE — 2 CARTES PAR LIGNE QUAND POSSIBLE ─────────────── */
@media (max-width: 768px) and (min-width: 481px) {
    .score-container,
    .pattern-grid,
    .cluster-grid,
    .alphy-metrics-grid,
    .network-stat-grid,
    .ranking-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .whale-card { flex-direction: row; text-align: left; }
    .whale-stats { width: auto; justify-content: flex-end; }
    .score-card { text-align: left; flex-direction: row; }
    .score-icon { margin: 0; }
}
@media (max-width: 480px) {
    .score-container,
    .pattern-grid,
    .cluster-grid,
    .alphy-metrics-grid,
    .network-stat-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px;
    }
    .score-card { padding: 12px; flex-direction: column; text-align: center; }
    .score-value { font-size: 1.1rem; }
    .score-label { font-size: 0.62rem; }
    .pattern-card { flex-direction: column; text-align: center; padding: 14px; }
    .pattern-icon { margin: 0 auto 8px; }
}

/* ── 4. LOADER MINIMALISTE (remplace le spinner géant violet) ──── */
#globalLoadingIndicator > div {
    background: rgba(10,14,22,0.55) !important;
    backdrop-filter: blur(4px);
}
#globalLoadingIndicator > div > div {
    background: var(--surface) !important;
    padding: 32px 40px !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-2) !important;
    border: 1px solid var(--border-color);
}
#globalLoadingIndicator > div > div > div:first-child {
    width: 36px !important;
    height: 36px !important;
    border: 3px solid var(--border-color) !important;
    border-top-color: var(--ac-primary) !important;
    margin: 0 auto 16px !important;
}
#globalLoadingIndicator h3 {
    color: var(--text-primary) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}
#globalLoadingIndicator p {
    color: var(--text-secondary) !important;
    font-size: 0.82rem !important;
}

/* ── 5. GEMINI AI — NARRATIVE + CHAT (namespace ift-) ──────────── */
.ift-narrative-card {
    background: var(--surface);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    padding: 20px 22px;
    margin-bottom: 20px;
}
.ift-narrative-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}
.ift-narrative-icon {
    width: 34px; height: 34px;
    border-radius: 9px;
    background: var(--ac-primary);
    display: flex; align-items: center; justify-content: center;
    color: white; font-size: 13px; overflow: hidden;
}
.ift-narrative-icon img { width: 65%; height: 65%; object-fit: contain; }
.ift-narrative-title { font-size: 0.88rem; font-weight: 700; color: var(--text-primary); }
.ift-narrative-subtitle { font-size: 0.74rem; color: var(--text-tertiary); }
.ift-narrative-body { font-size: 0.86rem; line-height: 1.65; color: var(--text-secondary); }
.ift-narrative-loading {
    display: flex; align-items: center; gap: 10px;
    font-size: 0.8rem; color: var(--text-tertiary);
}
.ift-thinking-dots { display: flex; gap: 4px; }
.ift-thinking-dots span {
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--ac-primary);
    animation: iftThink .8s ease-in-out infinite;
}
.ift-thinking-dots span:nth-child(2) { animation-delay: .15s; }
.ift-thinking-dots span:nth-child(3) { animation-delay: .30s; }
@keyframes iftThink { 0%,80%,100% { transform: scale(.6); opacity:.4; } 40% { transform: scale(1); opacity:1; } }

.ift-analyze-btn {
    display: flex; align-items: center; gap: 8px;
    padding: 10px 22px;
    background: var(--ac-primary);
    color: white; border: none; border-radius: var(--radius-md);
    font-size: 0.85rem; font-weight: 700; cursor: pointer;
    font-family: inherit; transition: var(--transition);
}
.ift-analyze-btn:hover { background: var(--ac-primary-dark); }

.ift-chat-fab {
    position: fixed; bottom: 24px; right: 24px;
    width: 48px; height: 48px; border-radius: 14px;
    background: var(--ac-primary); border: none; color: white;
    cursor: pointer; z-index: 9998; overflow: hidden;
    box-shadow: var(--shadow-2);
    display: flex; align-items: center; justify-content: center;
}
.ift-chat-fab img { width: 60%; height: 60%; object-fit: contain; }
.ift-chat-panel {
    position: fixed; bottom: 84px; right: 24px;
    width: 360px; max-height: 520px;
    background: var(--surface);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-2);
    display: none; flex-direction: column;
    overflow: hidden; z-index: 9999;
}
.ift-chat-panel.open { display: flex; }
.ift-chat-header {
    background: var(--ac-primary);
    padding: 12px 16px;
    display: flex; align-items: center; justify-content: space-between;
    color: white;
}
.ift-chat-messages { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.ift-chat-bubble { max-width: 82%; padding: 9px 12px; border-radius: 10px; font-size: 0.78rem; line-height: 1.5; }
.ift-chat-bubble.ai   { background: var(--surface-alt); color: var(--text-primary); }
.ift-chat-bubble.user { background: var(--ac-primary); color: white; margin-left: auto; }
.ift-chat-input-wrap { padding: 10px 12px; border-top: 1px solid var(--border-color); display: flex; gap: 8px; }
.ift-chat-input {
    flex: 1; border: 1px solid var(--border-color); border-radius: 8px;
    padding: 8px 10px; font-size: 0.78rem; background: var(--surface-alt);
    color: var(--text-primary); outline: none; font-family: inherit; resize: none;
}
.ift-chat-send { width: 32px; height: 32px; border: none; border-radius: 8px; background: var(--ac-primary); color: white; cursor: pointer; }

/* ═══════════════════════════════════════════════════════════════
   FIX PACK v2 — Logo blanc, Bouton avec logo, Table + Footer dark
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. FOND BLANC FORCÉ POUR TOUS LES LOGOS GEMINI ────────────── */
.ift-narrative-icon,
.ift-chat-fab,
.ift-chat-header-icon {
    background: #ffffff !important;
}
.ift-narrative-icon img,
.ift-chat-fab img {
    width: 68%;
    height: 68%;
    object-fit: contain;
}

/* ── 2. BOUTON "START AI ANALYSIS" AVEC LOGO GEMINI À GAUCHE ───── */
.ift-analyze-btn {
    padding-left: 10px;
}
.ift-analyze-btn-logo {
    width: 22px;
    height: 22px;
    border-radius: 6px;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}
.ift-analyze-btn-logo img {
    width: 70%;
    height: 70%;
    object-fit: contain;
}

/* ── 3. RECENT TRANSACTIONS TABLE — DARK MODE STRICT ───────────── */
body.avd-page:not(.light-mode) .table-container,
body.avd-page:not(.light-mode) table,
body.avd-page:not(.light-mode) thead,
body.avd-page:not(.light-mode) tbody {
    background: var(--surface) !important;
}
body.avd-page:not(.light-mode) thead {
    background: var(--surface-alt) !important;
}
body.avd-page:not(.light-mode) th {
    color: var(--text-secondary) !important;
    -webkit-text-fill-color: var(--text-secondary) !important;
    border-bottom-color: var(--border-color) !important;
}
body.avd-page:not(.light-mode) td {
    color: var(--text-primary) !important;
    border-top-color: var(--border-color) !important;
}
body.avd-page:not(.light-mode) tbody tr:hover {
    background: var(--surface-alt) !important;
}
body.avd-page:not(.light-mode) .pagination {
    background: var(--surface) !important;
    border-top-color: var(--border-color) !important;
}
body.avd-page:not(.light-mode) .pagination button {
    background: var(--surface-alt) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}
body.avd-page:not(.light-mode) .pagination button:hover:not(:disabled) {
    background: var(--ac-primary) !important;
    color: #fff !important;
}
body.avd-page:not(.light-mode) .pagination span {
    color: var(--text-secondary) !important;
}
body.avd-page:not(.light-mode) .badge-neutral {
    background: var(--surface-alt) !important;
    color: var(--text-secondary) !important;
    border-color: var(--border-color) !important;
}

/* ── 4. FOOTER — DARK MODE STRICT ──────────────────────────────── */
body.avd-page:not(.light-mode) footer {
    background: transparent !important;
    color: var(--text-tertiary) !important;
}
body.avd-page:not(.light-mode) footer i {
    color: var(--ac-primary) !important;
}

/* ── 5. RESPONSIVE — Table + Footer mobile (au cas où) ─────────── */
@media (max-width: 480px) {
    footer {
        font-size: 0.72rem;
        padding: 18px 12px 6px;
        text-align: center;
        flex-wrap: wrap;
    }
    .table-container { border-radius: var(--radius-sm); }
}