/* =====================================================
   BET PANEL — Theme Compatibility Layer
   Si adatta a qualsiasi tema (incluso Tech Theme Hijacker)
   ===================================================== */

/* Root: colori coerenti con il tema */
.bet-panel,
.bet-dash,
.bet-files-app {
    color: var(--th-site-text, #1d2327);
}

/* Heading: rispetta il tema */
.bet-panel h2, .bet-panel h3, .bet-panel h4,
.bet-dash h2, .bet-dash h3, .bet-dash h4,
.bet-files-app h2, .bet-files-app h3 {
    color: var(--th-heading-color, #1d2327);
}

/* Sottotitoli / testi muted */
.bet-dash-sub,
.bet-files-sub,
.bet-card-label,
.bet-kpi-label,
.bf-stat-label,
.bet-table td,
.bf-table td,
.bet-dash-item-meta,
.bf-meta {
    color: var(--th-text-muted, #646970);
}

/* SFONDI CARD: usa la card-bg del tema */
.bet-card,
.bet-dash-section,
.bet-kpi-card,
.bet-files-filters,
.bet-files-table-wrap,
.bet-modal-box,
.bet-tree details {
    background: var(--th-card-bg, #ffffff);
    border-color: var(--th-glass-border, #e0e3e7);
    color: var(--th-site-text, #1d2327);
}

/* Bottoni: usa l'accent del tema */
.bet-btn {
    background: var(--th-accent, #2271b1);
    color: #fff;
}
.bet-btn:hover {
    background: var(--th-accent, #2271b1);
    filter: brightness(0.9);
    color: #fff;
}
.bet-btn-ghost {
    background: transparent;
    color: var(--th-accent, #2271b1);
    border-color: var(--th-accent, #2271b1);
}
.bet-btn-ghost:hover {
    background: var(--th-item-hover, rgba(0,0,0,.04));
    color: var(--th-accent, #2271b1);
}
.bet-btn-danger {
    background: #b32d2e;
    color: #fff;
}

/* TAB del pannello */
.bet-tabs {
    border-bottom-color: var(--th-glass-border, #ddd);
}
.bet-tab {
    color: var(--th-text-muted, #555);
    background: transparent;
}
.bet-tab:hover { color: var(--th-accent, #2271b1); }
.bet-tab.active {
    color: var(--th-accent, #2271b1);
    border-bottom-color: var(--th-accent, #2271b1);
}

/* TABELLE */
.bet-table th,
.bf-table th {
    background: var(--th-item-hover, #f8f9fa);
    color: var(--th-text-muted, #3c434a);
    border-bottom-color: var(--th-glass-border, #eaeaea);
}
.bet-table td,
.bf-table td {
    border-bottom-color: var(--th-glass-border, #eaeaea);
}
.bet-table tr:hover,
.bf-table tr:hover {
    background: var(--th-item-hover, rgba(0,0,0,.02));
}

/* KPI values */
.bet-kpi-value,
.bf-stat-value {
    color: var(--th-heading-color, #1d2327);
}
.bf-stat,
.bet-kpi-card {
    background: var(--th-card-bg, #fff);
    border-color: var(--th-glass-border, #e0e3e7);
}

/* Toast, loader, notice */
.bet-dash-loader,
.bet-loading { color: var(--th-text-muted, #888); }
.bet-notice {
    background: var(--th-card-bg, #fff3cd);
    border-color: var(--th-glass-border, #ffeeba);
    color: var(--th-site-text, #1d2327);
}

/* Dropdown/modali */
.bet-modal-box {
    box-shadow: var(--th-glass-shadow, 0 8px 32px rgba(0,0,0,.2));
}
.bet-modal-close {
    color: var(--th-text-muted, #666);
}

/* Input / Select */
.bet-form input[type=text],
.bet-form input[type=email],
.bet-form input[type=password],
.bet-form input[type=date],
.bet-form input[type=url],
.bet-form input[type=number],
.bet-form textarea,
.bet-form select,
.bet-filter-row input,
.bet-filter-row select {
    background: var(--th-card-bg, #fff);
    color: var(--th-site-text, #1d2327);
    border-color: var(--th-glass-border, #ccd0d4);
}
.bet-form label,
.bet-filter-row label {
    color: var(--th-site-text, #3c434a);
}

/* Dendogramma */
.bet-tree details {
    border-left-color: var(--th-glass-border, #e0e0e0);
}
.bet-tree .bet-leaf { color: var(--th-text-muted, #555); }
.bet-tree .bet-token {
    background: var(--th-item-hover, #f0f0f1);
    color: var(--th-site-text, #1d2327);
}

/* Badge status — mantengo i colori semantici (verde/rosso/giallo)
   ma li adatto al tema scuro */
.bet-status-online,
.bet-status-active { background:#d4edda; color:#155724; }
.bet-status-offline { background:#f8d7da; color:#721c24; }
.bet-status-inactive { background:#e2e3e5; color:#383d41; }
.bet-status-expiring,
.bet-dash-badge.warn { background:#fff3cd; color:#856404; }

:root.th-dark-mode .bet-status-online,
:root.th-dark-mode .bet-status-active { background:rgba(34,197,94,.15); color:#4ade80; }
:root.th-dark-mode .bet-status-offline { background:rgba(239,68,68,.15); color:#f87171; }
:root.th-dark-mode .bet-status-inactive { background:rgba(148,163,184,.2); color:#94a3b8; }
:root.th-dark-mode .bet-status-expiring,
:root.th-dark-mode .bet-dash-badge.warn { background:rgba(245,158,11,.15); color:#fbbf24; }
:root.th-dark-mode .bet-dash-badge.ok { background:rgba(34,197,94,.15); color:#4ade80; }
:root.th-dark-mode .bet-dash-badge.danger { background:rgba(239,68,68,.15); color:#f87171; }

/* Alert dashboard */
.bet-dash-alert.danger  { background: rgba(179,45,46,.12); color:#b32d2e; border-color:#b32d2e; }
.bet-dash-alert.warning { background: rgba(240,184,73,.15); color:#7a5b00; border-color:#f0b849; }
.bet-dash-alert.info    { background: rgba(34,113,177,.12); color:#0b4a6f; border-color:#2271b1; }
:root.th-dark-mode .bet-dash-alert.danger  { color:#f87171; }
:root.th-dark-mode .bet-dash-alert.warning { color:#fbbf24; }
:root.th-dark-mode .bet-dash-alert.info    { color:#60a5fa; }

/* Fix: contenuto non coperto dalla topbar del hijacker */
body.admin-bar .bet-panel,
body.admin-bar .bet-dash,
body.admin-bar .bet-files-app {
    margin-top: 8px;
}

/* Assicura che il pannello sia sopra gli overlay di layout */
.bet-panel, .bet-dash, .bet-files-app {
    position: relative;
    z-index: 1;
}

/* Modali bet: sopra la sidebar/topbar del hijacker */
.bet-modal { z-index: 100000 !important; }
.bet-toast { z-index: 100001 !important; }
