/* MODALITÀ CHIARA (Light Mode) */
html[data-theme="light"],
:root {
  --primary: #1a237e;              /* Blu scuro */
  --secondary: #534bae;            /* Blu medio */
  --accent: #ff9800;               /* Arancione */
  --primary-fg: #ffffff;           /* Testo su primary */
  
  --body-fg: #263238;              /* Testo principale */
  --body-bg: #ffffff;              /* Sfondo principale */
  --body-quiet-color: #666;       /* Testo secondario */
  --body-medium-color: #444;      /* Testo medio */
  --body-loud-color: #000;        /* Testo enfatizzato */
  
  --header-color: #ffffff;         /* Testo header */
  --header-branding-color: var(--accent);
  --header-bg: var(--primary);     /* Sfondo header */
  --header-link-color: #ffffff;   /* Link header */
  
  --breadcrumbs-fg: #ffffff;      /* Testo breadcrumbs */
  --breadcrumbs-link-fg: #ffffff; /* Link breadcrumbs */
  --breadcrumbs-bg: var(--secondary); /* Sfondo breadcrumbs */
  
  --link-fg: #1a237e;             /* Link */
  --link-hover-color: #534bae;    /* Link hover */
  --link-selected-fg: var(--secondary);
  
  --hairline-color: #e0e0e0;      /* Linee sottili */
  --border-color: #ddd;           /* Bordi */
  
  --error-fg: #c62828;
  
  --message-success-bg: #e8f5e8;  /* Verde chiaro */
  --message-warning-bg: #fff8e1;  /* Giallo chiaro */
  --message-error-bg: #ffebee;    /* Rosso chiaro */
  
  --darkened-bg: #f8f8f8;         /* Sfondo scurito */
  --selected-bg: #e3f2fd;         /* Sfondo selezionato */
  --selected-row: #fff3e0;        /* Riga selezionata */
  
  --button-fg: #ffffff;           /* Testo bottoni */
  --button-bg: var(--primary);    /* Sfondo bottoni */
  --button-hover-bg: var(--secondary); /* Sfondo bottoni hover */
  --default-button-bg: var(--accent); /* Bottone default */
  --default-button-hover-bg: #c66900; /* Bottone default hover */
  --close-button-bg: #747474;     /* Bottone chiudi */
  --close-button-hover-bg: #333;  /* Bottone chiudi hover */
  --delete-button-bg: #c62828;    /* Bottone elimina */
  --delete-button-hover-bg: #d32f2f; /* Bottone elimina hover */
  
  --object-tools-fg: var(--button-fg);
  --object-tools-bg: var(--close-button-bg);
  --object-tools-hover-bg: var(--close-button-hover-bg);
}

/* MODALITÀ SCURA (Dark Mode) */
html[data-theme="dark"] {
  --primary: #3f51b5;              /* Blu più chiaro per dark mode */
  --secondary: #7986cb;            /* Blu ancora più chiaro */
  --accent: #ff9800;               /* Arancione (rimane uguale) */
  --primary-fg: #ffffff;
  
  --body-fg: #e0e0e0;              /* Testo chiaro */
  --body-bg: #121212;              /* Sfondo scuro */
  --body-quiet-color: #b0b0b0;
  --body-medium-color: #d0d0d0;
  --body-loud-color: #ffffff;
  
  --header-color: #ffffff;
  --header-branding-color: var(--accent);
  --header-bg: #1a1a1a;            /* Header scuro */
  --header-link-color: #ffffff;
  
  --breadcrumbs-fg: #ffffff;
  --breadcrumbs-link-fg: #e0e0e0;
  --breadcrumbs-bg: var(--primary); /* Breadcrumbs scuri */
  
  --link-fg: #7986cb;              /* Link più chiari */
  --link-hover-color: #9fa8da;
  --link-selected-fg: #6f94c6;
  
  --hairline-color: #424242;       /* Linee scure */
  --border-color: #424242;         /* Bordi scuri */
  
  --error-fg: #ef5350;
  
  --message-success-bg: #1b5e20;   /* Verde scuro */
  --message-warning-bg: #e65100;   /* Arancione scuro */
  --message-error-bg: #c62828;     /* Rosso scuro */
  
  --darkened-bg: #1e1e1e;          /* Sfondo più scuro */
  --selected-bg: #263238;          /* Sfondo selezionato scuro */
  --selected-row: #2c2c2c;         /* Riga selezionata scura */
  
  --button-fg: #ffffff;
  --button-bg: var(--primary);
  --button-hover-bg: var(--secondary);
  --default-button-bg: var(--accent);
  --default-button-hover-bg: #ffb74d;
  --close-button-bg: #424242;
  --close-button-hover-bg: #666666;
  --delete-button-bg: #f44336;
  --delete-button-hover-bg: #ef5350;
  
  --object-tools-fg: var(--button-fg);
  --object-tools-bg: var(--close-button-bg);
  --object-tools-hover-bg: var(--close-button-hover-bg);
  
  color-scheme: dark;
}

/* MODALITÀ AUTO (segue le preferenze del sistema) */
@media (prefers-color-scheme: dark) {
  html[data-theme="auto"] {
    --primary: #3f51b5;
    --secondary: #7986cb;
    --accent: #ff9800;
    --primary-fg: #ffffff;
    
    --body-fg: #e0e0e0;
    --body-bg: #121212;
    --body-quiet-color: #b0b0b0;
    --body-medium-color: #d0d0d0;
    --body-loud-color: #ffffff;
    
    --header-color: #ffffff;
    --header-branding-color: var(--accent);
    --header-bg: #1a1a1a;
    --header-link-color: #ffffff;
    
    --breadcrumbs-fg: #ffffff;
    --breadcrumbs-link-fg: #e0e0e0;
    --breadcrumbs-bg: var(--primary);
    
    --link-fg: #7986cb;
    --link-hover-color: #9fa8da;
    --link-selected-fg: #6f94c6;
    
    --hairline-color: #424242;
    --border-color: #424242;
    
    --error-fg: #ef5350;
    
    --message-success-bg: #1b5e20;
    --message-warning-bg: #e65100;
    --message-error-bg: #c62828;
    
    --darkened-bg: #1e1e1e;
    --selected-bg: #263238;
    --selected-row: #2c2c2c;
    
    --button-fg: #ffffff;
    --button-bg: var(--primary);
    --button-hover-bg: var(--secondary);
    --default-button-bg: var(--accent);
    --default-button-hover-bg: #ffb74d;
    --close-button-bg: #424242;
    --close-button-hover-bg: #666666;
    --delete-button-bg: #f44336;
    --delete-button-hover-bg: #ef5350;
    
    --object-tools-fg: var(--button-fg);
    --object-tools-bg: var(--close-button-bg);
    --object-tools-hover-bg: var(--close-button-hover-bg);
    
    color-scheme: dark;
  }
}

@media (prefers-color-scheme: light) {
  html[data-theme="auto"] {
    --primary: #1a237e;
    --secondary: #534bae;
    --accent: #ff9800;
    --primary-fg: #ffffff;
    
    --body-fg: #263238;
    --body-bg: #ffffff;
    --body-quiet-color: #666;
    --body-medium-color: #444;
    --body-loud-color: #000;
    
    --header-color: #ffffff;
    --header-branding-color: var(--accent);
    --header-bg: var(--primary);
    --header-link-color: #ffffff;
    
    --breadcrumbs-fg: #ffffff;
    --breadcrumbs-link-fg: #ffffff;
    --breadcrumbs-bg: var(--secondary);
    
    --link-fg: #1a237e;
    --link-hover-color: #534bae;
    --link-selected-fg: var(--secondary);
    
    --hairline-color: #e0e0e0;
    --border-color: #ddd;
    
    --error-fg: #c62828;
    
    --message-success-bg: #e8f5e8;
    --message-warning-bg: #fff8e1;
    --message-error-bg: #ffebee;
    
    --darkened-bg: #f8f8f8;
    --selected-bg: #e3f2fd;
    --selected-row: #fff3e0;
    
    --button-fg: #ffffff;
    --button-bg: var(--primary);
    --button-hover-bg: var(--secondary);
    --default-button-bg: var(--accent);
    --default-button-hover-bg: #c66900;
    --close-button-bg: #747474;
    --close-button-hover-bg: #333;
    --delete-button-bg: #c62828;
    --delete-button-hover-bg: #d32f2f;
    
    --object-tools-fg: var(--button-fg);
    --object-tools-bg: var(--close-button-bg);
    --object-tools-hover-bg: var(--close-button-hover-bg);
  }
}

/* PERSONALIZZAZIONI AGGIUNTIVE */

/* Tabelle personalizzate per clustering */
.stats-table {
  background: var(--body-bg);
  border: 1px solid var(--border-color);
  border-collapse: collapse;
  border-radius: 4px;
  overflow: hidden;
}

.stats-table th {
  background: var(--primary) !important;
  color: var(--primary-fg) !important;
  border-bottom: 2px solid var(--border-color);
  padding: 12px;
}

.stats-table td {
  border-bottom: 1px solid var(--hairline-color);
  color: var(--body-fg);
  padding: 12px;
  background: var(--body-bg);
}

.stats-table tr:nth-child(even) td {
  background: var(--darkened-bg);
}

.stats-table tr:hover td {
  background: var(--selected-bg);
  color: var(--body-loud-color);
}

/* Chart containers */
.chart-container {
  background: var(--body-bg);
  border: 1px solid var(--border-color);
  border-radius: 4px;
  padding: 15px;
  margin-bottom: 20px;
}

.chart-container h2 {
  color: var(--primary);
  border-bottom: 2px solid var(--primary);
  padding-bottom: 8px;
  margin-bottom: 15px;
}

/* Dashboard personalizzato */
.dashboard-title {
  color: var(--primary);
  border-bottom: 2px solid var(--primary);
  padding-bottom: 10px;
  margin-bottom: 20px;
}

.dashboard-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-between;
}

/* Action buttons personalizzati */
.action-button {
  background: var(--accent);
  color: var(--button-fg);
  padding: 6px 12px;
  border-radius: 4px;
  text-decoration: none;
  display: inline-block;
  font-weight: 500;
  border: 1px solid var(--accent);
  transition: all 0.2s ease;
}

.action-button:hover {
  background: var(--default-button-hover-bg);
  border-color: var(--default-button-hover-bg);
  color: var(--button-fg);
  text-decoration: none;
  transform: translateY(-1px);
}

/* JSON Pretty widget */
.json-pretty {
  background: var(--darkened-bg) !important;
  color: var(--body-fg) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 4px;
}

/* Features display personalizzato */
.features-container {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.feature-category {
  flex: 1;
  min-width: 300px;
  background: var(--body-bg);
  border: 1px solid var(--border-color);
  border-radius: 5px;
  overflow: hidden;
}

.feature-category h3 {
  margin: 0;
  padding: 10px;
  color: var(--primary-fg);
  font-size: 14px;
  font-weight: 600;
}

.features-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--body-bg);
}

.features-table th {
  background: var(--darkened-bg);
  color: var(--body-fg);
  border-bottom: 1px solid var(--border-color);
  padding: 8px;
  font-weight: 500;
}

.features-table td {
  color: var(--body-fg);
  border-bottom: 1px solid var(--hairline-color);
  padding: 8px;
}

.features-table tr:nth-child(even) {
  background: var(--darkened-bg);
}

.module table {
    border-radius: 7px;
    overflow: hidden;
    border-collapse: separate;
    border-spacing: 0;
}

.module caption {
    padding: 12px 16px;
    background: var(--primary);
    color: var(--primary-fg);
    border-radius: 7px 7px 0 0;
    margin: 0;
}

.module caption a {
    color: var(--primary-fg);
    text-decoration: none;
    font-weight: 500;
}

.module caption a:hover {
    color: var(--accent);
    text-decoration: none;
}


#content-related {
    position: fixed;
    top: 120px; /* Regola in base all'altezza dell'header */
    right: 400px;
    width: 300px;
    max-height: calc(100vh - 140px);
    overflow-y: auto;
    z-index: 100;
    background: var(--body-bg);
    border: 1px solid var(--border-color);
    border-radius: 7px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

#recent-actions-module {
    margin: 0;
    border: none;
    border-radius: 7px;
}

#recent-actions-module h2 {
    background: var(--primary);
    color: var(--primary-fg);
    margin: 0;
    padding: 12px 16px;
    border-radius: 7px 7px 0 0;
    font-size: 14px;
    font-weight: 600;
}

#recent-actions-module h3 {
    background: var(--secondary);
    color: var(--primary-fg);
    margin: 0;
    padding: 8px 16px;
    font-size: 12px;
    font-weight: 500;
}

#recent-actions-module .actionlist {
    margin: 0;
    padding: 0;
    list-style: none;
}

#recent-actions-module .actionlist li {
    padding: 8px 16px;
    border-bottom: 1px solid var(--hairline-color);
    font-size: 12px;
}

#recent-actions-module .actionlist li:last-child {
    border-bottom: none;
    border-radius: 0 0 7px 7px;
}

#recent-actions-module .actionlist li:hover {
    background: var(--selected-bg);
}

#recent-actions-module .actionlist a {
    color: var(--link-fg);
    text-decoration: none;
    font-weight: 500;
}

#recent-actions-module .actionlist a:hover {
    color: var(--link-hover-color);
}

#recent-actions-module .mini.quiet {
    color: var(--body-quiet-color);
    font-style: italic;
}

/* Assicurati che il contenuto principale non venga coperto */
#content-main {
    margin-right: 340px; /* Lascia spazio per la sidebar */
}


/* Responsive */
@media (max-width: 768px) {
  .dashboard-container {
    flex-direction: column;
  }
  
  .chart-container {
    width: 100% !important;
  }
  
  .feature-category {
    min-width: 100%;
  }
}

td[class*="field-"][class$="_with_euro"],
th[class*="field-"][class$="_with_euro"] {
    text-align: right !important;
}
td[class*="field-"][class$="_with_euro"]::after {
    content: ' €';
    margin-left: 3px;
}

/* Responsive: nascondi la sidebar su schermi piccoli */
@media (max-width: 1200px) {
    #content-related {
        display: none;
    }
    
    #content-main {
        margin-right: 0;
    }
}
/* Logo personalizzato nell'header admin */
#admin-logo {
  max-height: 26px;
  width: auto;
  vertical-align: middle;
  transition: opacity 0.2s ease;
}

#admin-logo:hover {
  opacity: 0.8;
}

#site-name {
  padding: 0;
  margin: 0;
}

#site-name a {
  display: inline-block;
  line-height: 1;
  padding: 8px 10px;
}

