/**
 * theme.css
 * File di stile centralizzato per i 4 temi globali dell'applicazione:
 * 1. Dark (Predefinito)
 * 2. Light (Chiaro)
 * 3. Gold (Oro Notturno)
 * 4. Silver (Argento Metallico)
 *
 * Mappa tutte le variabili usate nelle pagine (--ne-*, --cc-*, --adm-*)
 */

/* ============================================================
   1. TEMA DARK (Predefinito)
   ============================================================ */
:root,
html[data-theme="dark"],
:root[data-theme="dark"] {
	color-scheme: dark;

	/* Standard Ne variables (menu, ordini, rapportini, main_menu) */
	--ne-bg: #0f1216;
	--ne-surface: #171c22;
	--ne-surface-2: #1e242c;
	--ne-surface-hover: #222930;
	--ne-border: #2d3642;
	--ne-accent: #ff8a1e;
	--ne-accent-hover: #e07413;
	--ne-accent-glow: rgba(255, 138, 30, 0.25);
	--ne-text: #e8ecef;
	--ne-text-muted: #8a99a8;
	--ne-radius: 12px;
	--ne-radius-sm: 8px;
	--ne-success: #10b981;
	--ne-success-glow: rgba(16, 185, 129, 0.25);
	--ne-danger: #ef4444;
	--ne-danger-glow: rgba(239, 68, 68, 0.25);
	--ne-warning: #f59e0b;
	--ne-info: #38bdf8;

	/* Standard CC variables (cantieri, ticket, stat, access_denied) */
	--cc-bg: #0f1216;
	--cc-surface: #171c22;
	--cc-surface-2: #1e242c;
	--cc-border: #2d3642;
	--cc-text: #e8ecef;
	--cc-text-muted: #8a99a8;
	--cc-accent: #ff8a1e;
	--cc-accent-ink: #121518;
	--cc-accent-soft: rgba(255, 138, 30, 0.15);
	--cc-ok: #10b981;
	--cc-ok-soft: rgba(16, 185, 129, 0.15);
	--cc-warn: #f59e0b;
	--cc-danger: #ef4444;
	--cc-radius: 14px;

	/* Adm variables */
	--adm-bg: #0f1216;
	--adm-surface: #171c22;
	--adm-surface-2: #1e242c;
	--adm-surface-hover: #262e38;
	--adm-border: #2d3642;
	--adm-border-focus: #ff8a1e;
	--adm-accent: #ff8a1e;
	--adm-accent-hover: #e07413;
	--adm-accent-glow: rgba(255, 138, 30, 0.25);
	--adm-success: #10b981;
	--adm-danger: #ef4444;
	--adm-info: #38bdf8;
	--adm-warning: #f59e0b;
	--adm-text: #e8ecef;
	--adm-text-muted: #8a99a8;
	--adm-radius: 14px;
	--adm-radius-sm: 8px;
}

/* ============================================================
   2. TEMA LIGHT (Chiaro)
   ============================================================ */
html[data-theme="light"],
:root[data-theme="light"] {
	color-scheme: light;

	/* Standard Ne variables */
	--ne-bg: #f0f4f8;
	--ne-surface: #ffffff;
	--ne-surface-2: #f7f9fb;
	--ne-surface-hover: #eaf0f6;
	--ne-border: #d1dae5;
	--ne-accent: #2563eb;
	--ne-accent-hover: #1d4ed8;
	--ne-accent-glow: rgba(37, 99, 235, 0.22);
	--ne-text: #1e293b;
	--ne-text-muted: #64748b;
	--ne-radius: 12px;
	--ne-radius-sm: 8px;
	--ne-success: #059669;
	--ne-success-glow: rgba(5, 150, 105, 0.2);
	--ne-danger: #dc2626;
	--ne-danger-glow: rgba(220, 38, 38, 0.2);
	--ne-warning: #d97706;
	--ne-info: #0284c7;

	/* Standard CC variables */
	--cc-bg: #f0f4f8;
	--cc-surface: #ffffff;
	--cc-surface-2: #f7f9fb;
	--cc-border: #d1dae5;
	--cc-text: #1e293b;
	--cc-text-muted: #64748b;
	--cc-accent: #2563eb;
	--cc-accent-ink: #ffffff;
	--cc-accent-soft: rgba(37, 99, 235, 0.12);
	--cc-ok: #059669;
	--cc-ok-soft: rgba(5, 150, 105, 0.12);
	--cc-warn: #d97706;
	--cc-danger: #dc2626;
	--cc-radius: 14px;

	/* Adm variables */
	--adm-bg: #f0f4f8;
	--adm-surface: #ffffff;
	--adm-surface-2: #f7f9fb;
	--adm-surface-hover: #eaf0f6;
	--adm-border: #d1dae5;
	--adm-border-focus: #2563eb;
	--adm-accent: #2563eb;
	--adm-accent-hover: #1d4ed8;
	--adm-accent-glow: rgba(37, 99, 235, 0.22);
	--adm-success: #059669;
	--adm-danger: #dc2626;
	--adm-info: #0284c7;
	--adm-warning: #d97706;
	--adm-text: #1e293b;
	--adm-text-muted: #64748b;
	--adm-radius: 14px;
	--adm-radius-sm: 8px;
}

[data-theme="light"] body {
	background-color: #f0f4f8;
	color: #1e293b;
}

/* Light Mode Card & Shadow Enhancements */
[data-theme="light"] .ne-main-header,
[data-theme="light"] .ne-welcome-hero,
[data-theme="light"] .ne-module-card,
[data-theme="light"] .adm-header,
[data-theme="light"] .adm-card,
[data-theme="light"] .st-header,
[data-theme="light"] .st-card,
[data-theme="light"] .tk-card,
[data-theme="light"] .container {
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);
}

[data-theme="light"] input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
[data-theme="light"] select,
[data-theme="light"] textarea {
	background-color: #ffffff;
	color: #1e293b;
	border-color: #cbd5e1;
}

[data-theme="light"] .adm-title,
[data-theme="light"] .adm-card-title,
[data-theme="light"] .ne-hero-title,
[data-theme="light"] .ne-module-title,
[data-theme="light"] .ne-card-title,
[data-theme="light"] .ne-brand-title,
[data-theme="light"] .st-header-title,
[data-theme="light"] .tk-title,
[data-theme="light"] .cc-title,
[data-theme="light"] .dip-hero-title {
	color: #1e293b !important;
}

[data-theme="light"] .dip-name {
	color: #000000 !important;
}

[data-theme="light"] .ne-brand-logo {
	background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
	color: #ffffff;
}

/* ============================================================
   3. TEMA GOLD (Oro Notturno)
   ============================================================ */
html[data-theme="gold"],
:root[data-theme="gold"] {
	color-scheme: dark;

	/* Standard Ne variables */
	--ne-bg: #0e0a01;
	--ne-surface: #1a1305;
	--ne-surface-2: #221a08;
	--ne-surface-hover: #2e2210;
	--ne-border: #4a3a14;
	--ne-accent: #f0b429;
	--ne-accent-hover: #d4991a;
	--ne-accent-glow: rgba(240, 180, 41, 0.30);
	--ne-text: #f5e9c8;
	--ne-text-muted: #9c8b5e;
	--ne-radius: 12px;
	--ne-radius-sm: 8px;
	--ne-success: #10b981;
	--ne-success-glow: rgba(16, 185, 129, 0.25);
	--ne-danger: #ef4444;
	--ne-danger-glow: rgba(239, 68, 68, 0.25);
	--ne-warning: #f0b429;
	--ne-info: #38bdf8;

	/* Standard CC variables */
	--cc-bg: #0e0a01;
	--cc-surface: #1a1305;
	--cc-surface-2: #221a08;
	--cc-border: #4a3a14;
	--cc-text: #f5e9c8;
	--cc-text-muted: #9c8b5e;
	--cc-accent: #f0b429;
	--cc-accent-ink: #0e0a01;
	--cc-accent-soft: rgba(240, 180, 41, 0.15);
	--cc-ok: #10b981;
	--cc-ok-soft: rgba(16, 185, 129, 0.15);
	--cc-warn: #f0b429;
	--cc-danger: #ef4444;
	--cc-radius: 14px;

	/* Adm variables */
	--adm-bg: #0e0a01;
	--adm-surface: #1a1305;
	--adm-surface-2: #221a08;
	--adm-surface-hover: #2e2210;
	--adm-border: #4a3a14;
	--adm-border-focus: #f0b429;
	--adm-accent: #f0b429;
	--adm-accent-hover: #d4991a;
	--adm-accent-glow: rgba(240, 180, 41, 0.30);
	--adm-success: #10b981;
	--adm-danger: #ef4444;
	--adm-info: #38bdf8;
	--adm-warning: #f0b429;
	--adm-text: #f5e9c8;
	--adm-text-muted: #9c8b5e;
	--adm-radius: 14px;
	--adm-radius-sm: 8px;
}

[data-theme="gold"] body {
	background-color: #0e0a01;
	color: #f5e9c8;
}

[data-theme="gold"] .ne-brand-logo,
[data-theme="gold"] .adm-brand-icon {
	background: linear-gradient(135deg, #f0b429 0%, #9a6f10 100%);
	color: #0e0a01;
}

[data-theme="gold"] .ne-role-tag {
	background: rgba(240, 180, 41, 0.15);
	border-color: #f0b429;
	color: #f0b429;
}

/* ============================================================
   4. TEMA SILVER (Argento Metallico)
   ============================================================ */
html[data-theme="silver"],
:root[data-theme="silver"] {
	color-scheme: dark;

	/* Standard Ne variables */
	--ne-bg: #0a0c10;
	--ne-surface: #13171e;
	--ne-surface-2: #1a1f28;
	--ne-surface-hover: #222834;
	--ne-border: #3a4352;
	--ne-accent: #94a3b8;
	--ne-accent-hover: #7b8fa5;
	--ne-accent-glow: rgba(148, 163, 184, 0.22);
	--ne-text: #dde3ec;
	--ne-text-muted: #6b7891;
	--ne-radius: 12px;
	--ne-radius-sm: 8px;
	--ne-success: #10b981;
	--ne-success-glow: rgba(16, 185, 129, 0.25);
	--ne-danger: #ef4444;
	--ne-danger-glow: rgba(239, 68, 68, 0.25);
	--ne-warning: #f59e0b;
	--ne-info: #38bdf8;

	/* Standard CC variables */
	--cc-bg: #0a0c10;
	--cc-surface: #13171e;
	--cc-surface-2: #1a1f28;
	--cc-border: #3a4352;
	--cc-text: #dde3ec;
	--cc-text-muted: #6b7891;
	--cc-accent: #94a3b8;
	--cc-accent-ink: #0a0c10;
	--cc-accent-soft: rgba(148, 163, 184, 0.15);
	--cc-ok: #10b981;
	--cc-ok-soft: rgba(16, 185, 129, 0.15);
	--cc-warn: #f59e0b;
	--cc-danger: #ef4444;
	--cc-radius: 14px;

	/* Adm variables */
	--adm-bg: #0a0c10;
	--adm-surface: #13171e;
	--adm-surface-2: #1a1f28;
	--adm-surface-hover: #222834;
	--adm-border: #3a4352;
	--adm-border-focus: #94a3b8;
	--adm-accent: #94a3b8;
	--adm-accent-hover: #7b8fa5;
	--adm-accent-glow: rgba(148, 163, 184, 0.22);
	--adm-success: #10b981;
	--adm-danger: #ef4444;
	--adm-info: #38bdf8;
	--adm-warning: #f59e0b;
	--adm-text: #dde3ec;
	--adm-text-muted: #6b7891;
	--adm-radius: 14px;
	--adm-radius-sm: 8px;
}

[data-theme="silver"] body {
	background-color: #0a0c10;
	color: #dde3ec;
}

[data-theme="silver"] .ne-brand-logo,
[data-theme="silver"] .adm-brand-icon {
	background: linear-gradient(135deg, #94a3b8 0%, #475569 100%);
	color: #0a0c10;
}

[data-theme="silver"] .ne-role-tag {
	background: rgba(148, 163, 184, 0.15);
	border-color: #94a3b8;
	color: #94a3b8;
}

/* ============================================================
   5. STILI GLOBALI BOTTONE E TAG ASSENTE E DISTACCO (MODULO PRESENZE)
   ============================================================ */
.cc-absent-btn {
	background: var(--cc-surface-2);
	border: 1px solid var(--cc-border);
	color: var(--cc-danger);
}
.cc-absent-btn:hover {
	background: var(--cc-danger);
	border-color: var(--cc-danger);
	color: #ffffff;
	box-shadow: 0 2px 10px rgba(239, 68, 68, 0.35);
}
.cc-tag-assente {
	background: rgba(239, 68, 68, 0.12);
	color: var(--cc-danger);
	border: 1px solid rgba(239, 68, 68, 0.35);
}

.cc-distacco-btn {
	background: var(--cc-surface-2);
	border: 1px solid var(--cc-border);
	color: #38bdf8;
}
.cc-distacco-btn:hover {
	background: #0284c7;
	border-color: #0284c7;
	color: #ffffff;
	box-shadow: 0 2px 10px rgba(56, 189, 248, 0.35);
}
.cc-tag-distacco {
	background: rgba(56, 189, 248, 0.12);
	color: #38bdf8;
	border: 1px solid rgba(56, 189, 248, 0.35);
}

[data-theme="light"] .cc-absent-btn:hover {
	box-shadow: 0 2px 10px rgba(220, 38, 38, 0.35);
}
[data-theme="light"] .cc-tag-assente {
	background: rgba(220, 38, 38, 0.10);
	border-color: rgba(220, 38, 38, 0.30);
	color: var(--cc-danger);
}

[data-theme="light"] .cc-distacco-btn {
	color: #0284c7;
}
[data-theme="light"] .cc-distacco-btn:hover {
	background: #0284c7;
	border-color: #0284c7;
	color: #ffffff;
	box-shadow: 0 2px 10px rgba(2, 132, 199, 0.35);
}
[data-theme="light"] .cc-tag-distacco {
	background: rgba(2, 132, 199, 0.10);
	border-color: rgba(2, 132, 199, 0.30);
	color: #0284c7;
}

/* ============================================================
   6. CONTROLLO GLOBALE FORM, SELECT COMBO, OPTION E FILTRI
   Risolve problemi di leggibilità (bianco su bianco, bianco su grigio,
   opzioni invisibili nei menu a discesa su Windows/Chrome/Edge)
   ============================================================ */

/* Global form typography & layout */
select,
input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
textarea {
	font-family: inherit;
}

/* 6.1 Reset opzioni per tema Dark (predefinito) */
select option,
select optgroup {
	background-color: #171c22;
	color: #e8ecef;
}

/* Stili coerenti per tutti i filtri combo e select in modalità scura */
.ne-select,
.cc-select,
.cc-commessa-select,
.cc-hours-select,
.cc-field-select,
.st-select,
.tk-select,
.tk-filter-commessa-select,
.adm-select,
.vp-select,
.vp-form-select,
.gantt-select,
.crm-select,
.squadra-select,
.model-select {
	background-color: var(--cc-surface, #171c22);
	color: var(--cc-text, #e8ecef);
	border: 1px solid var(--cc-border, #2d3642);
}

.ne-select:focus,
.cc-select:focus,
.cc-commessa-select:focus,
.cc-hours-select:focus,
.cc-field-select:focus,
.st-select:focus,
.tk-select:focus,
.tk-filter-commessa-select:focus,
.adm-select:focus,
.vp-select:focus,
.vp-form-select:focus,
.gantt-select:focus,
.crm-select:focus,
.squadra-select:focus,
.model-select:focus {
	border-color: var(--cc-accent, #ff8a1e);
}

/* 6.2 Sovrascritture TEMA LIGHT (Chiaro) */
[data-theme="light"] select option,
[data-theme="light"] select optgroup {
	background-color: #ffffff !important;
	color: #1e293b !important;
}

[data-theme="light"] select,
[data-theme="light"] input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
[data-theme="light"] textarea,
[data-theme="light"] .ne-select,
[data-theme="light"] .cc-select,
[data-theme="light"] .cc-commessa-select,
[data-theme="light"] .cc-hours-select,
[data-theme="light"] .cc-field-select,
[data-theme="light"] .st-select,
[data-theme="light"] .tk-select,
[data-theme="light"] .tk-filter-commessa-select,
[data-theme="light"] .adm-select,
[data-theme="light"] .vp-select,
[data-theme="light"] .vp-form-select,
[data-theme="light"] .gantt-select,
[data-theme="light"] .crm-select,
[data-theme="light"] .squadra-select,
[data-theme="light"] .model-select,
[data-theme="light"] .ne-input,
[data-theme="light"] .st-input,
[data-theme="light"] .tk-search-input,
[data-theme="light"] .cc-field-input,
[data-theme="light"] .adm-input,
[data-theme="light"] .vp-search-input,
[data-theme="light"] .vp-form-input,
[data-theme="light"] .gantt-input,
[data-theme="light"] .crm-input,
[data-theme="light"] .ne-textarea,
[data-theme="light"] .cc-field-textarea,
[data-theme="light"] .vp-form-textarea,
[data-theme="light"] .crm-textarea,
[data-theme="light"] .tk-textarea {
	background-color: #ffffff !important;
	color: #1e293b !important;
	border-color: #cbd5e1 !important;
}

[data-theme="light"] input::placeholder,
[data-theme="light"] textarea::placeholder,
[data-theme="light"] .ne-input::placeholder,
[data-theme="light"] .st-input::placeholder,
[data-theme="light"] .tk-search-input::placeholder,
[data-theme="light"] .vp-search-input::placeholder,
[data-theme="light"] .gantt-input::placeholder,
[data-theme="light"] .crm-input::placeholder,
[data-theme="light"] .adm-input::placeholder {
	color: #94a3b8 !important;
}

/* Titoli ed intestazioni in Light mode */
[data-theme="light"] .ne-page-title-group h1,
[data-theme="light"] .ne-card-header h2,
[data-theme="light"] .ne-hub-op-name,
[data-theme="light"] .ne-hub-card-body strong,
[data-theme="light"] .crm-hero-info h1,
[data-theme="light"] .gantt-title,
[data-theme="light"] .vp-header-title,
[data-theme="light"] .tk-filter-commessa-label,
[data-theme="light"] .st-stat-label,
[data-theme="light"] .st-stat-value {
	color: #1e293b !important;
}

/* Pulsanti e filtri barra in Light mode */
[data-theme="light"] .tk-filter-btn {
	color: #475569 !important;
	border-color: #cbd5e1 !important;
	background: #ffffff !important;
}
[data-theme="light"] .tk-filter-btn:hover {
	color: #1e293b !important;
	border-color: #2563eb !important;
}
[data-theme="light"] .tk-filter-btn.active {
	background: #2563eb !important;
	color: #ffffff !important;
	border-color: #2563eb !important;
}

[data-theme="light"] .st-badge-ordine,
[data-theme="light"] .st-order-tag {
	color: #1d4ed8 !important;
	background: rgba(37, 99, 235, 0.1) !important;
	border-color: rgba(37, 99, 235, 0.25) !important;
}

[data-theme="light"] .st-badge-ordine:hover {
	background: #2563eb !important;
	color: #ffffff !important;
}

[data-theme="light"] .ne-tag-chip:hover {
	color: #2563eb !important;
	border-color: #2563eb !important;
	background: rgba(37, 99, 235, 0.08) !important;
}

[data-theme="light"] .vp-pill {
	background: #f1f5f9 !important;
	color: #475569 !important;
	border-color: #cbd5e1 !important;
}
[data-theme="light"] .vp-pill.active {
	background: #2563eb !important;
	color: #ffffff !important;
	border-color: #2563eb !important;
}
[data-theme="light"] .vp-pill.active .vp-pill-count {
	background: rgba(255, 255, 255, 0.25) !important;
	color: #ffffff !important;
}
[data-theme="light"] .vp-table-wrap thead th {
	background: #f1f5f9 !important;
	color: #475569 !important;
}

/* 6.3 Sovrascritture TEMA GOLD (Oro Notturno) */
[data-theme="gold"] select option,
[data-theme="gold"] select optgroup {
	background-color: #1a1305 !important;
	color: #f5e9c8 !important;
}

[data-theme="gold"] select,
[data-theme="gold"] input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
[data-theme="gold"] textarea,
[data-theme="gold"] .ne-select,
[data-theme="gold"] .cc-select,
[data-theme="gold"] .cc-commessa-select,
[data-theme="gold"] .cc-hours-select,
[data-theme="gold"] .cc-field-select,
[data-theme="gold"] .st-select,
[data-theme="gold"] .tk-select,
[data-theme="gold"] .tk-filter-commessa-select,
[data-theme="gold"] .adm-select,
[data-theme="gold"] .vp-select,
[data-theme="gold"] .vp-form-select,
[data-theme="gold"] .gantt-select,
[data-theme="gold"] .crm-select,
[data-theme="gold"] .squadra-select,
[data-theme="gold"] .model-select,
[data-theme="gold"] .ne-input,
[data-theme="gold"] .st-input,
[data-theme="gold"] .tk-search-input,
[data-theme="gold"] .cc-field-input,
[data-theme="gold"] .adm-input,
[data-theme="gold"] .vp-search-input,
[data-theme="gold"] .vp-form-input,
[data-theme="gold"] .gantt-input,
[data-theme="gold"] .crm-input,
[data-theme="gold"] .ne-textarea,
[data-theme="gold"] .cc-field-textarea,
[data-theme="gold"] .vp-form-textarea,
[data-theme="gold"] .crm-textarea,
[data-theme="gold"] .tk-textarea {
	background-color: #1a1305 !important;
	color: #f5e9c8 !important;
	border-color: #4a3a14 !important;
}

[data-theme="gold"] input::placeholder,
[data-theme="gold"] textarea::placeholder {
	color: #9c8b5e !important;
}

/* 6.4 Sovrascritture TEMA SILVER (Argento Metallico) */
[data-theme="silver"] select option,
[data-theme="silver"] select optgroup {
	background-color: #13171e !important;
	color: #dde3ec !important;
}

[data-theme="silver"] select,
[data-theme="silver"] input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
[data-theme="silver"] textarea,
[data-theme="silver"] .ne-select,
[data-theme="silver"] .cc-select,
[data-theme="silver"] .cc-commessa-select,
[data-theme="silver"] .cc-hours-select,
[data-theme="silver"] .cc-field-select,
[data-theme="silver"] .st-select,
[data-theme="silver"] .tk-select,
[data-theme="silver"] .tk-filter-commessa-select,
[data-theme="silver"] .adm-select,
[data-theme="silver"] .vp-select,
[data-theme="silver"] .vp-form-select,
[data-theme="silver"] .gantt-select,
[data-theme="silver"] .crm-select,
[data-theme="silver"] .squadra-select,
[data-theme="silver"] .model-select,
[data-theme="silver"] .ne-input,
[data-theme="silver"] .st-input,
[data-theme="silver"] .tk-search-input,
[data-theme="silver"] .cc-field-input,
[data-theme="silver"] .adm-input,
[data-theme="silver"] .vp-search-input,
[data-theme="silver"] .vp-form-input,
[data-theme="silver"] .gantt-input,
[data-theme="silver"] .crm-input,
[data-theme="silver"] .ne-textarea,
[data-theme="silver"] .cc-field-textarea,
[data-theme="silver"] .vp-form-textarea,
[data-theme="silver"] .crm-textarea,
[data-theme="silver"] .tk-textarea {
	background-color: #13171e !important;
	color: #dde3ec !important;
	border-color: #3a4352 !important;
}

[data-theme="silver"] input::placeholder,
[data-theme="silver"] textarea::placeholder {
	color: #6b7891 !important;
}



