/* ============================================
   THEME-SYSTEM.CSS - SISTEMA TEMI CENTRALIZZATO
   ============================================ */

/* --- VARIABILI CSS PER TEMI --- */

/* Tema Scuro (Default) */
:root {
    /* Background */
    --bg-body: #0f172a;
    --bg-primary: #1e293b;
    --bg-secondary: #334155;
    --bg-nav: #0f172a;
    --bg-card: #1e293b;
    --bg-hover: #334155;
    
    /* Testo */
    --text-primary: #f8fafc;
    --text-secondary: #cbd5e1;
    --text-muted: #94a3b8;
    --text-inverse: #0f172a;
    
    /* Bordo */
    --border-primary: #334155;
    --border-focus: #60a5fa;
    
    /* Colori Principali */
    --primary: #60a5fa;
    --primary-hover: #3b82f6;
    --success: #10b981;
    --danger: #ef4444;
    --warning: #f59e0b;
    --info: #06b6d4;
    
    /* Transizioni */
    --transition: 250ms ease;
}

/* Tema Scuro */
.dark-theme {
    --bg-body: #0f172a;
    --bg-primary: #1e293b;
    --bg-secondary: #334155;
    --bg-nav: #0f172a;
    --bg-card: #1e293b;
    --bg-hover: #334155;
    
    --text-primary: #f8fafc;
    --text-secondary: #cbd5e1;
    --text-muted: #94a3b8;
    --text-inverse: #0f172a;
    
    --border-primary: #334155;
    --border-focus: #60a5fa;
    
    --primary: #60a5fa;
    --primary-hover: #3b82f6;
}

/* --- STILI GLOBALI --- */
* {
    transition: background-color var(--transition), 
                color var(--transition),
                border-color var(--transition);
}

body {
    background-color: var(--bg-body);
    color: var(--text-primary);
    margin: 0;
    font-family: 'Segoe UI', sans-serif;
}

/* --- CLASSI UTILITÀ TEMA --- */
.theme-bg-body { background-color: var(--bg-body); }
.theme-bg-primary { background-color: var(--bg-primary); }
.theme-bg-secondary { background-color: var(--bg-secondary); }
.theme-bg-nav { background-color: var(--bg-nav); }
.theme-bg-card { background-color: var(--bg-card); }
.theme-bg-hover { background-color: var(--bg-hover); }

.theme-text-primary { color: var(--text-primary); }
.theme-text-secondary { color: var(--text-secondary); }
.theme-text-muted { color: var(--text-muted); }
.theme-text-inverse { color: var(--text-inverse); }

.theme-border { border-color: var(--border-primary); }
.theme-border-focus { border-color: var(--border-focus); }

.theme-primary { background-color: var(--primary); color: white; }
.theme-success { background-color: var(--success); color: white; }
.theme-danger { background-color: var(--danger); color: white; }
.theme-warning { background-color: var(--warning); color: white; }
.theme-info { background-color: var(--info); color: white; }

/* --- COMPONENTI --- */
.theme-card {
    background-color: var(--bg-card);
    border: 1px solid var(--border-primary);
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.theme-btn {
    background-color: var(--primary);
    color: white;
    border: 1px solid var(--primary);
    padding: 0.5rem 1rem;
    border-radius: 0.375rem;
    cursor: pointer;
    transition: all var(--transition);
}

.theme-btn:hover {
    background-color: var(--primary-hover);
    transform: translateY(-1px);
}

.theme-input {
    background-color: var(--bg-primary);
    color: var(--text-primary);
    border: 1px solid var(--border-primary);
    border-radius: 0.375rem;
    padding: 0.5rem 0.75rem;
}

.theme-input:focus {
    outline: none;
    border-color: var(--border-focus);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
