/* ============================================================================
   ABComputer — Tema unico (brand ARANCIONE)
   Layer di override. Caricato PER ULTIMO (dopo plugins.bundle, style.bundle e
   custom.css) così vince nell'ordine di cascata senza forkare Metronic.
   Metodo replicato da pecinlaw/pecincloud-theme.css, palette virata arancione.
   Nessun colore fuori dai token --abc-*. Contrasto WCAG AA come vincolo.
   ============================================================================ */

/* ----------------------------------------------------------------------------
   1. Token brand (palette da PECINLAW_REFERENCE — arancione)
   ---------------------------------------------------------------------------- */
:root {
  /* Brand */
  --abc-primary: #C2410C;          /* arancio bruciato, ancoraggio (AA 4.7:1 su bianco) */
  --abc-primary-hover: #9A3308;
  --abc-primary-dark: #331206;     /* bruno caldo scurissimo (fondi scuri, active) */
  --abc-primary-light: #FCEEE4;    /* arancio ~8% su bianco */
  --abc-primary-lighter: #FEF7F1;  /* card-header, alert */
  --abc-primary-rgb: 194, 65, 12;
  --abc-accent: #EA580C;           /* arancio pieno: 1° stop del gradient */
  --abc-amber: #F59E0B;            /* ambra/oro: 2° stop del gradient */
  --abc-amber-rgb: 245, 158, 11;
  --abc-amber-text: #B45309;       /* ambra scuro AA per testi piccoli su chiaro */
  --abc-peach: #FBBF77;            /* pesca: SOLO su fondo scuro (accento sidebar) */
  --abc-ink: #331206;              /* alias primary-dark */

  /* Gradient — angoli invariati rispetto a pecinlaw (firma visiva) */
  --abc-gradient: linear-gradient(120deg, #EA580C 0%, #F59E0B 100%);
  --abc-gradient-hover: linear-gradient(120deg, #C2410C 0%, #D97706 100%);
  --abc-gradient-brand: linear-gradient(120deg, #C2410C 0%, #EA580C 45%, #F59E0B 100%);
  --abc-gradient-dark: linear-gradient(135deg, #331206 0%, #5A1E07 62%, #7A2D08 100%);

  /* Ombre del brand — calde, sull'accento ambra */
  --abc-shadow-btn: 0 10px 28px rgba(245, 158, 11, 0.38);
  --abc-shadow-btn-hover: 0 14px 34px rgba(245, 158, 11, 0.5);
  --abc-shadow-card: 0 10px 30px rgba(51, 18, 6, 0.06);

  /* Neutri caldi */
  --abc-text: #2A211B;             /* quasi-nero caldo */
  --abc-text-muted: #6B5E52;       /* testo secondario (AA su bianco) */
  --abc-slate: #6B5E52;
  --abc-bg: #FFFFFF;
  --abc-bg-subtle: #FDF6F0;        /* bianco appena ambrato (login/blank) */
  --abc-border: #F3E6DB;           /* ≈ primary 10% su bianco */

  /* Font — si usa Inter, già caricato in pagina */
  --abc-font-body: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --abc-font-heading: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --abc-font-detail: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;

  /* Tinte sidebar scura (schiarite per reggere il gradient scuro) */
  --abc-aside-main: #F8B37A;       /* sabbia/ambra chiara — sezione principale */
  --abc-aside-admin: #F97316;      /* arancio vivo — area gestione */
  --abc-aside-help: var(--abc-peach); /* pesca — impostazioni e aiuto */
}

/* ----------------------------------------------------------------------------
   2. Reinstradamento token Bootstrap/Metronic.
   Copre :root, [data-bs-theme=light] e [data-bs-theme=dark]: qualunque
   attributo resti appeso, i colori restano quelli del brand (tema unico).
   ---------------------------------------------------------------------------- */
:root,
[data-bs-theme="light"],
[data-bs-theme="dark"] {
  --bs-primary: var(--abc-primary);
  --bs-primary-rgb: var(--abc-primary-rgb);
  --bs-primary-active: var(--abc-primary-hover);
  --bs-primary-active-rgb: var(--abc-primary-rgb);
  --bs-primary-light: var(--abc-primary-light);
  --bs-primary-clarity: rgba(var(--abc-primary-rgb), 0.2);
  --bs-primary-inverse: var(--abc-bg);
  --bs-primary-bg-subtle: var(--abc-primary-light);
  --bs-primary-border-subtle: rgba(var(--abc-primary-rgb), 0.35);
  --bs-primary-text-emphasis: var(--abc-primary-dark);
  --bs-text-primary: var(--abc-primary);
  --bs-link-color: var(--abc-primary);
  --bs-link-color-rgb: var(--abc-primary-rgb);
  --bs-link-hover-color: var(--abc-primary-hover);
  --bs-link-hover-color-rgb: var(--abc-primary-rgb);
  --bs-component-active-bg: var(--abc-primary);
  --bs-component-hover-color: var(--abc-primary);
  --bs-component-checked-bg: var(--abc-primary);
  /* Metronic --bs-text-muted #99A1B7 (2.58:1): instradato al muted caldo AA */
  --bs-text-muted: var(--abc-text-muted);
  --bs-secondary-color: var(--abc-text-muted);
  --bs-input-placeholder-color: var(--abc-text-muted);
  --bs-app-blank-bg: var(--abc-bg-subtle);
  --bs-menu-heading-color: var(--abc-text-muted);
  --bs-menu-link-color-hover: var(--abc-primary);
  --bs-menu-link-color-show: var(--abc-primary);
  --bs-menu-link-color-here: var(--abc-primary);
  --bs-menu-link-color-active: var(--abc-primary);
  --bs-menu-link-bg-color-hover: var(--abc-primary-light);
  --bs-menu-link-bg-color-show: var(--abc-primary-light);
  --bs-menu-link-bg-color-here: var(--abc-primary-light);
  --bs-menu-link-bg-color-active: var(--abc-primary-light);
}

/* ----------------------------------------------------------------------------
   3. Fix per gli hex hardcoded di Metronic (#1B84FF, #006AE6, #056EE9…)
   ---------------------------------------------------------------------------- */
.form-check-input:checked {
  background-color: var(--abc-primary);
  border-color: var(--abc-primary);
}
.form-check-input[type="checkbox"]:indeterminate,
.form-check.form-check-solid .form-check-input[type="checkbox"]:indeterminate {
  background-color: var(--abc-primary);
  border-color: var(--abc-primary);
}
.form-range::-webkit-slider-thumb { background-color: var(--abc-primary); }
.form-range::-moz-range-thumb { background-color: var(--abc-primary); }

.btn-primary {
  --bs-btn-bg: var(--abc-primary);
  --bs-btn-border-color: var(--abc-primary);
  --bs-btn-hover-bg: var(--abc-primary-hover);
  --bs-btn-hover-border-color: var(--abc-primary-hover);
  --bs-btn-active-bg: var(--abc-primary-dark);
  --bs-btn-active-border-color: var(--abc-primary-dark);
  --bs-btn-disabled-bg: var(--abc-primary);
  --bs-btn-disabled-border-color: var(--abc-primary);
}
.btn-outline-primary {
  --bs-btn-color: var(--abc-primary);
  --bs-btn-bg: var(--abc-bg);
  --bs-btn-border-color: rgba(var(--abc-primary-rgb), 0.35);
  --bs-btn-hover-color: var(--abc-amber-text);
  --bs-btn-hover-bg: var(--abc-bg);
  --bs-btn-hover-border-color: var(--abc-amber-text);
  --bs-btn-active-color: var(--abc-amber-text);
  --bs-btn-active-bg: var(--abc-bg);
  --bs-btn-active-border-color: var(--abc-amber-text);
  --bs-btn-disabled-color: var(--abc-primary);
  --bs-btn-disabled-border-color: rgba(var(--abc-primary-rgb), 0.35);
  border-width: 1.5px;
}
.btn-outline-primary:hover i,
.btn-outline-primary:hover .ki-duotone { color: var(--abc-amber-text); }
.btn-outline-primary:hover .ki-duotone path { fill: var(--abc-amber-text) !important; }

.nav-pills { --bs-nav-pills-link-active-bg: var(--abc-primary); }
.progress, .progress-stacked { --bs-progress-bar-bg: var(--abc-primary); }
.separator.separator-content.border-primary::before,
.separator.separator-content.border-primary::after {
  border-color: var(--abc-primary) !important;
}

/* ----------------------------------------------------------------------------
   4. Icone ki-duotone: primario ovunque, eccezioni semantiche
   ---------------------------------------------------------------------------- */
.ki-duotone { color: var(--abc-primary); }
.ki-duotone:not(.text-success):not(.text-danger):not(.text-warning) path {
  fill: var(--abc-primary) !important;
  stroke: none !important;
}
.btn:hover .ki-duotone path { fill: var(--abc-primary-hover) !important; }
.text-success .ki-duotone path, .ki-duotone.text-success path { fill: var(--bs-success) !important; }
.text-danger .ki-duotone path, .ki-duotone.text-danger path { fill: var(--bs-danger) !important; }
.text-warning .ki-duotone path, .ki-duotone.text-warning path { fill: var(--bs-warning) !important; }
.btn-primary .ki-duotone path,
.btn-success .ki-duotone path,
.btn-danger .ki-duotone path,
.btn-warning .ki-duotone path,
.btn-info .ki-duotone path { fill: var(--abc-bg) !important; }
.btn-secondary .ki-duotone path,
.btn-light .ki-duotone path,
.btn-outline-primary .ki-duotone path { fill: var(--abc-primary) !important; }

/* Bottoni icona "muted" (toolbar): niente fondo, hover tenue */
.btn-icon-muted,
.btn-active-icon-primary {
  background: transparent;
  border: none;
  box-shadow: none;
}
.btn-icon-muted:hover,
.btn-active-icon-primary:hover { background-color: rgba(var(--abc-primary-rgb), 0.08); }
.btn-active-icon-primary:hover { color: var(--abc-primary-hover); }
.btn-active-light-primary,
.btn.btn-active-light-primary { background-color: transparent; border-color: transparent; }
.btn-active-light-primary:hover,
.btn.btn-active-light-primary:hover { background-color: var(--abc-primary-light) !important; }
.btn-active-light-primary i,
.btn.btn-active-light-primary i,
.btn-active-light-primary .ki-duotone { color: var(--abc-primary); }

/* ----------------------------------------------------------------------------
   5. Testo primario / link
   ---------------------------------------------------------------------------- */
.text-primary { color: var(--abc-primary) !important; }
.text-primary:hover { color: var(--abc-primary-hover) !important; }
.hover-primary:hover { color: var(--abc-primary); }
.hover-bg-primary:hover { background-color: var(--abc-primary-light); }

/* ----------------------------------------------------------------------------
   6. Bottoni primary: riempimento gradient, ombra ambra, lift in hover
   ---------------------------------------------------------------------------- */
.btn-primary {
  background: var(--abc-gradient);
  border: none;
  color: var(--abc-bg);
  font-weight: 600;
  transition: transform 0.25s ease, box-shadow 0.25s ease,
              background-color 0.25s ease, color 0.25s ease;
}
.btn-primary:not(.btn-shadow):not(.shadow):not(.shadow-sm):not(.shadow-lg):not(.shadow-xs) {
  box-shadow: 0 4px 12px rgba(var(--abc-amber-rgb), 0.22);
}
.btn-primary:not(.btn-shadow):not(.shadow):not(.shadow-sm):not(.shadow-lg):not(.shadow-xs):not(.btn-icon):not(.btn-sm) {
  box-shadow: var(--abc-shadow-btn);
}
.btn-primary:hover,
.btn-primary:focus {
  background: var(--abc-gradient-hover) !important;
  color: var(--abc-bg);
}
.btn-primary:not(.btn-icon):hover { transform: translateY(-2px); }
.btn-primary:not(.btn-shadow):not(.shadow):not(.shadow-sm):not(.shadow-lg):not(.shadow-xs):not(.btn-icon):hover {
  box-shadow: var(--abc-shadow-btn-hover);
}
.btn-primary:active {
  background: var(--abc-primary-dark) !important;
  color: var(--abc-bg);
  transform: translateY(0);
}

/* Bottoni light-primary */
.btn-light-primary {
  background-color: var(--abc-primary-light);
  color: var(--abc-primary);
  border: 1px solid transparent;
  transition: all 0.2s ease;
}
.btn-light-primary:hover {
  background-color: var(--abc-primary) !important;
  color: var(--abc-bg) !important;
  border-color: var(--abc-primary);
  box-shadow: 0 3px 8px rgba(var(--abc-primary-rgb), 0.2);
}
.btn-light-primary:hover i,
.btn-light-primary:hover .ki-duotone,
.btn-light-primary:hover .ki-duotone path { color: var(--abc-bg); fill: var(--abc-bg) !important; }
.btn.btn-icon.btn-sm.btn-light-primary {
  background-color: var(--abc-primary-light);
  color: var(--abc-primary);
  border: 1px solid rgba(var(--abc-primary-rgb), 0.2);
}

/* Bottone secondario: variante outline del sito */
.btn.btn-secondary:not(.btn-icon) {
  background-color: var(--abc-bg);
  border: 1.5px solid rgba(var(--abc-primary-rgb), 0.35);
  color: var(--abc-primary);
}
.btn.btn-secondary:not(.btn-icon):hover,
.btn.btn-secondary:not(.btn-icon):focus,
.btn.btn-secondary:not(.btn-icon):active {
  background-color: var(--abc-bg) !important;
  border-color: var(--abc-amber-text);
  color: var(--abc-amber-text);
}
.btn.btn-secondary:not(.btn-icon):hover i,
.btn.btn-secondary:not(.btn-icon):hover .ki-duotone,
.btn.btn-secondary:not(.btn-icon):hover .svg-icon { color: var(--abc-amber-text); }
.btn.btn-secondary:not(.btn-icon):hover .ki-duotone path { fill: var(--abc-amber-text) !important; }

/* Pillola del sito sulle azioni principali (non sui .btn-icon densi) */
.btn.btn-lg:not(.btn-icon),
.modal-footer .btn:not(.btn-icon),
form input[type="submit"].btn:not(.btn-icon),
form button[type="submit"].btn:not(.btn-icon) {
  border-radius: 999px;
}

/* ----------------------------------------------------------------------------
   7. Badge / utility di brand — riconduce anche le vecchie classi custom
   ---------------------------------------------------------------------------- */
.badge-primary {
  background: var(--abc-gradient);
  color: var(--abc-bg);
  font-weight: 500;
  box-shadow: 0 2px 4px rgba(var(--abc-primary-rgb), 0.15);
}
.badge-dot.bg-blue {
  background: var(--abc-primary) !important;
  box-shadow: 0 0 0 2px rgba(var(--abc-primary-rgb), 0.2);
}
.text-blue { color: var(--abc-primary); }
.btn-blue,
.orange-styled {
  background: var(--abc-gradient) !important;
  border: none;
  color: var(--abc-bg) !important;
  border-radius: 8px;
  transition: all 0.25s ease;
}
.btn-blue:hover,
.orange-styled:hover,
.orange-styled:focus {
  background: var(--abc-gradient-hover) !important;
  color: var(--abc-bg) !important;
}
.orange-styled:active { background: var(--abc-primary-dark) !important; }
.text-orange { color: var(--abc-amber-text); }
.text-orange:hover, .text-orange:focus { color: var(--abc-primary-hover); }
.notification-badge { background-color: var(--abc-primary); }

/* Neutralizza il vecchio .menu-link a gradiente scuro fisso di custom.css:
   sul nuovo tema i menu-link usano lo stile Metronic/brand, non il box scuro. */
.menu-link {
  background: transparent;
  border: none;
  border-radius: 0.475rem;
  color: inherit;
}
.menu-link:hover, .menu-link:focus, .menu-link:active {
  background-color: rgba(var(--abc-primary-rgb), 0.08);
  border: none;
  color: var(--abc-primary);
}

/* ----------------------------------------------------------------------------
   8. Tipografia (solo famiglia; dimensioni Metronic invariate)
   ---------------------------------------------------------------------------- */
body { font-family: var(--abc-font-body); }
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 { font-family: var(--abc-font-heading); }
h1, .h1, h2, .h2, h5, .h5, h6, .h6 { color: var(--abc-primary) !important; }
h3, .h3, h4, .h4 { color: var(--abc-text) !important; }

/* ----------------------------------------------------------------------------
   9. Toolbar / breadcrumb / header
   ---------------------------------------------------------------------------- */
.toolbar,
#kt_header .toolbar {
  background: var(--abc-bg);
  border-bottom: 1px solid rgba(var(--abc-primary-rgb), 0.08);
}
.page-title, .breadcrumb { background: transparent; }
.page-title h1,
.page-title .text-gray-900 { color: var(--abc-text) !important; }
.breadcrumb-item { color: var(--abc-text-muted); }
.breadcrumb-item.text-gray-900 { color: var(--abc-text) !important; }
.breadcrumb-item a { color: var(--abc-primary); }
.breadcrumb-item a:hover { color: var(--abc-primary-hover); }
.bullet { background-color: var(--abc-border); }

/* Logo header a filo del contenitore: aria sopra/sotto */
.header-brand { min-height: 71px; align-items: center; }
.header-brand img.logo { display: block; max-height: 50px; }

/* ----------------------------------------------------------------------------
   10. Pagination / form / progress / scrollbar / alert
   ---------------------------------------------------------------------------- */
.pagination .page-item.active .page-link {
  background-color: var(--abc-primary);
  border-color: var(--abc-primary);
  color: var(--abc-bg);
}
.pagination .page-item .page-link { color: var(--abc-primary); }
.pagination .page-item:not(.active) .page-link:hover {
  background-color: var(--abc-primary-light);
  border-color: var(--abc-primary);
  color: var(--abc-primary-hover);
}

.form-control:focus,
.form-select:focus {
  border-color: var(--abc-primary);
  box-shadow: 0 0 0 0.25rem rgba(var(--abc-primary-rgb), 0.25);
}
.form-check-input:focus {
  border-color: var(--abc-primary);
  box-shadow: 0 0 0 0.25rem rgba(var(--abc-primary-rgb), 0.25);
}
.form-switch .form-check-input:checked {
  background-color: var(--abc-primary);
  border-color: var(--abc-primary);
}
.form-check-label { color: var(--abc-text-muted); }

.progress-bar { background: var(--abc-gradient) !important; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: rgba(var(--abc-primary-rgb), 0.05); }
::-webkit-scrollbar-thumb { background: var(--abc-primary); border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: var(--abc-primary-hover); }
* { scrollbar-color: var(--abc-primary) rgba(var(--abc-primary-rgb), 0.05); }

.alert { color: var(--abc-text); }
.alert-info {
  background-color: var(--abc-primary-lighter);
  border-color: var(--abc-primary);
}

/* ----------------------------------------------------------------------------
   11. Menu / dropdown
   ---------------------------------------------------------------------------- */
.menu-sub-dropdown {
  background: var(--abc-bg);
  border: 1px solid var(--abc-border);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.07);
}
.menu-sub-dropdown .menu-link { color: var(--abc-slate); }
.menu-sub-dropdown .menu-link:hover {
  background-color: var(--abc-primary-light);
  color: var(--abc-primary);
}
.menu-sub-dropdown .menu-icon i { color: var(--abc-primary); }
.menu-link.active { background-color: var(--abc-primary-light); }
.nav-link.active, .active-primary { color: var(--abc-primary); }
.dropdown-item:hover, .dropdown-item:focus {
  background-color: var(--abc-primary-light);
  color: var(--abc-primary);
}
.dropdown-item.active { background-color: var(--abc-primary); color: var(--abc-bg); }

/* ----------------------------------------------------------------------------
   12. Card (radius 18px, bordo caldo, ombra tenue) / table / modal / tooltip
   ---------------------------------------------------------------------------- */
.card {
  --bs-card-border-width: 1.5px;
  --bs-card-border-color: rgba(var(--abc-primary-rgb), 0.1);
  --bs-card-border-radius: 18px;
  --bs-card-inner-border-radius: calc(18px - 1.5px);
  --bs-card-box-shadow: var(--abc-shadow-card);
  border: 1.5px solid rgba(var(--abc-primary-rgb), 0.1);
  border-radius: 18px;
  box-shadow: var(--abc-shadow-card);
}
.card .card, .modal-content .card { box-shadow: none; }
.card-header {
  background-color: var(--abc-primary-lighter);
  border-bottom: 1px solid rgba(var(--abc-primary-rgb), 0.1);
}
.table-primary { background-color: var(--abc-primary-light); }
.table-hover tbody tr:hover { background-color: var(--abc-primary-lighter); }
.tooltip { --bs-tooltip-bg: var(--abc-primary-dark); --bs-tooltip-color: var(--abc-bg); }
.tooltip-inner { background-color: var(--abc-primary-dark); color: var(--abc-bg); }
.modal-header { border-bottom-color: rgba(var(--abc-primary-rgb), 0.1); }
.modal-footer { border-top-color: rgba(var(--abc-primary-rgb), 0.1); }
.spinner-border-primary { border-color: var(--abc-primary); }

/* Chip icona: riquadro 12px, fondo arancio 8% */
.symbol:not(.symbol-circle) > .symbol-label { border-radius: 12px; }
.symbol > .symbol-label:not([class*="bg-"]) {
  background-color: rgba(var(--abc-primary-rgb), 0.08);
  color: var(--abc-primary);
}

/* ----------------------------------------------------------------------------
   13. Focus da tastiera: sempre visibile (accessibilità)
   ---------------------------------------------------------------------------- */
.btn:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
.form-check-input:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--abc-accent) !important;
  outline-offset: 3px;
}
a:focus-visible,
.menu-link:focus-visible,
.nav-link:focus-visible,
.page-link:focus-visible,
.dropdown-item:focus-visible {
  outline: 2px solid var(--abc-accent) !important;
  outline-offset: 2px;
}

/* Badge/etichetta d'accento */
.badge-accent {
  display: inline-block;
  background-color: var(--abc-bg);
  color: var(--abc-amber-text);
  border: 1px solid var(--abc-amber);
  border-radius: 999px;
  padding: 4px 14px;
  font-family: var(--abc-font-detail);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

/* ----------------------------------------------------------------------------
   14. Sidebar scura: superficie brand (gradient scuro) al posto del nero
   Su fondo scuro l'accento è la pesca (--abc-peach); l'arancio primario NON
   si usa pieno su scuro (contrasto insufficiente).
   ---------------------------------------------------------------------------- */
.aside { background: var(--abc-gradient-dark); }
.header .header-brand,
.header-brand { background-color: var(--abc-ink); }
.aside-menu .menu-sub-lg-dropdown { background-color: var(--abc-ink); }
.aside .aside-toolbar .aside-user { border-top: 1px dashed rgba(255, 255, 255, 0.08); }
.aside .separator { border-color: rgba(255, 255, 255, 0.08); }

.header-brand > a {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 12px;
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.10), transparent 72%);
}

.aside-menu .menu .menu-item .menu-link .menu-title { color: rgba(255, 255, 255, 0.85); }
.aside .menu-heading { color: var(--abc-peach); }
.aside .menu-icon i,
.aside .menu-icon .ki-duotone,
.aside .menu-icon .svg-icon { color: var(--abc-peach); }
.aside .ki-duotone:not(.text-success):not(.text-danger):not(.text-warning) path {
  fill: var(--abc-peach) !important;
}
.aside-menu .menu .menu-item .menu-link:hover:not(.disabled),
.aside-menu .menu .menu-item.hover > .menu-link:not(.disabled) {
  background-color: rgba(255, 255, 255, 0.06);
}
.aside-menu .menu .menu-item .menu-link:hover .menu-title { color: #FFFFFF; }
.aside-menu .menu .menu-item .menu-link.active {
  background-color: rgba(var(--abc-amber-rgb), 0.20);
}
.aside-menu .menu .menu-item .menu-link.active .menu-title { color: #FFFFFF; }

.aside .text-primary,
.aside .menu-icon .text-primary,
.aside .text-hover-primary:hover { color: var(--abc-peach) !important; }
.aside .text-primary path,
.aside .ki-duotone.text-primary path { fill: var(--abc-peach) !important; }
.aside a:not(.btn):not(.menu-link),
.aside .color-company { color: var(--abc-peach); }
.aside a:not(.btn):not(.menu-link):hover { color: #FFFFFF; }
.aside .badge-light-primary {
  background-color: rgba(var(--abc-amber-rgb), 0.20);
  color: var(--abc-peach);
}
.aside a:focus-visible,
.aside .menu-link:focus-visible,
.aside .btn:focus-visible,
.header-brand a:focus-visible { outline-color: var(--abc-peach) !important; }

/* Ricerca nella toolbar dell'aside */
.aside .aside-toolbar .aside-search .search-input,
.aside .aside-search .search-input {
  background-color: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.12);
  color: var(--abc-bg);
}
.aside .aside-search .search-input::placeholder { color: rgba(255, 255, 255, 0.55); }

/* Semantici sulla sidebar: restano vivi (altrimenti spariscono sull'ink) */
.aside .text-success, .aside .ki-duotone.text-success { color: #17C653 !important; }
.aside .text-warning, .aside .ki-duotone.text-warning { color: #F6C000 !important; }
.aside .text-danger, .aside .ki-duotone.text-danger { color: #F8285A !important; }

/* Icona "riduci sidebar" nel header-brand (fuori da .aside) */
.header-brand .text-primary,
.header-brand .ki-duotone,
.header-brand .btn i { color: var(--abc-peach) !important; }
.header-brand .text-primary path,
.header-brand .ki-duotone path { fill: var(--abc-peach) !important; }

/* Corpo del menu più leggibile su desktop */
@media (min-width: 992px) {
  .aside-menu .menu .menu-item .menu-link,
  .aside-menu .menu .menu-item .menu-link .menu-title { font-size: 14.5px; line-height: 1.4; }
  .aside .menu-heading, .aside .menu-section { font-size: 13px; }
  .aside-menu .menu-icon i, .aside-menu .menu-icon .ki-duotone { font-size: 22px; }
}

/* ----------------------------------------------------------------------------
   15. Toastr — colori dal nuovo sistema + transizioni morbide
   ---------------------------------------------------------------------------- */
#toast-container > div {
  border-radius: 12px;
  padding: 16px 18px 16px 50px;
  box-shadow: 0 12px 32px rgba(51, 18, 6, 0.18);
  opacity: 1;
  font-family: var(--abc-font-body);
  border: none;
  background-size: 22px;
  background-position: 16px center;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
              opacity 0.35s ease, margin 0.35s ease;
}
#toast-container > div:hover { box-shadow: 0 16px 40px rgba(51, 18, 6, 0.26); }
#toast-container > .toast-success { background-color: #0E8837; }
#toast-container > .toast-error { background-color: #DF2450; }
#toast-container > .toast-warning { background-color: #B45309; }
#toast-container > .toast-info { background: linear-gradient(120deg, #C2410C 0%, #EA580C 100%); }
.toastr-title, .toast-title { font-weight: 700; }
.toast-message { color: rgba(255, 255, 255, 0.95); }
#toast-container > div,
#toast-container > div .toast-title,
#toast-container > div .toast-message { color: #FFFFFF; }
.toast-progress { background-color: rgba(255, 255, 255, 0.5); opacity: 0.6; height: 3px; }
#toast-container > div .toast-close-button { color: #FFFFFF; opacity: 0.8; text-shadow: none; }
#toast-container > div .toast-close-button:hover { opacity: 1; }

/* SweetAlert: bottone di conferma sul gradient del brand */
.swal2-styled.swal2-confirm {
  background: var(--abc-gradient) !important;
  border-radius: 999px !important;
  box-shadow: var(--abc-shadow-btn) !important;
}
.swal2-popup { border-radius: 18px; }

/* ----------------------------------------------------------------------------
   16. Utility bg-* e semantici: primo piano corretto per AA (WCAG)
   ---------------------------------------------------------------------------- */
.modal-header.bg-primary .modal-title,
.modal-header.bg-primary h1,
.modal-header.bg-primary h2,
.modal-header.bg-primary h5,
.modal-header.bg-primary h6,
.bg-primary > .text-white,
.bg-primary .modal-title { color: #FFFFFF !important; }

.badge-primary,
.btn-primary.btn-sm,
.btn-primary.btn-xs { background: var(--abc-gradient-hover) !important; }

.badge.bg-primary,
.badge.bg-info,
.badge.bg-dark,
.badge.bg-primary-gradient,
.bg-primary > .badge,
.badge[class*="bg-primary"] { color: #FFFFFF; }
.badge.bg-success,
.badge.bg-warning,
.badge.bg-secondary,
.badge.bg-light { color: #071437; }
.badge.bg-danger { background-color: #E12251 !important; color: #FFFFFF; }

.bg-primary,
.bg-primary-gradient,
.bg-dark { color: #FFFFFF; }
.bg-primary a:not(.btn),
.bg-dark a:not(.btn) { color: #FFFFFF; }
.bg-primary,
.bg-primary-gradient { background: var(--abc-gradient) !important; }

.text-gray-400 { color: #6D7079 !important; }
.text-gray-500 { color: #6D7484 !important; }
.text-gray-600 { color: #6C748D !important; }
.badge-light-success, .badge.badge-light-success { color: #0C7D33; }
.badge-light-danger, .badge.badge-light-danger { color: #CD1F49; }
.badge-light-warning, .badge.badge-light-warning { color: #896B00; }

.text-success { color: #0E8837 !important; }
.text-warning { color: #906F00 !important; }
.text-danger { color: #DF2450 !important; }
.bg-success, .badge.bg-success { color: #071437 !important; }
.badge-success, .badge.badge-success,
.badge-warning, .badge.badge-warning { color: #071437; }
.badge-danger, .badge.badge-danger { background-color: #E12251; color: #FFFFFF; }
.badge-info, .badge.badge-info { color: #FFFFFF; }

/* ----------------------------------------------------------------------------
   17. Sidebar: codifica cromatica delle sezioni (wrapper opzionali)
   ---------------------------------------------------------------------------- */
:root {
  --abc-menu-main: var(--abc-aside-main);
  --abc-menu-admin: var(--abc-aside-admin);
  --abc-menu-help: var(--abc-aside-help);
}
.aside .abc-menu-main .menu-icon i:not(.text-success):not(.text-danger):not(.text-warning),
.aside .abc-menu-main .menu-bullet i:not(.text-success):not(.text-danger):not(.text-warning) {
  color: var(--abc-menu-main) !important;
}
.aside .abc-menu-admin .menu-icon i:not(.text-success):not(.text-danger):not(.text-warning),
.aside .abc-menu-admin .menu-bullet i:not(.text-success):not(.text-danger):not(.text-warning) {
  color: var(--abc-menu-admin) !important;
}
.aside .abc-menu-help .menu-icon i:not(.text-success):not(.text-danger):not(.text-warning),
.aside .abc-menu-help .menu-bullet i:not(.text-success):not(.text-danger):not(.text-warning) {
  color: var(--abc-menu-help) !important;
}

/* ----------------------------------------------------------------------------
   18. Stacco header/contenuto
   ---------------------------------------------------------------------------- */
.content, #kt_content { padding-top: 1.5rem; padding-bottom: 3rem; }
@media (max-width: 991.98px) {
  .content, #kt_content { padding-top: 1.25rem; }
}

/* ----------------------------------------------------------------------------
   19. MOBILE — drawer, toolbar, header usabili a 375px
   ---------------------------------------------------------------------------- */
@media (max-width: 991.98px) {
  /* Toolbar: niente scroll orizzontale, gli elementi vanno a capo */
  .toolbar .container-xxl { flex-wrap: wrap; row-gap: 0.5rem; }
  .toolbar .overflow-auto { overflow: visible !important; }

  /* Header-brand: logo + toggle su una riga, senza traboccare */
  .header-brand {
    width: 100%;
    justify-content: space-between;
    padding-left: 12px;
    padding-right: 12px;
    min-height: 60px;
  }
  .header-brand img.logo { max-height: 42px; width: auto; }

  /* Drawer aside: largo abbastanza da essere leggibile su 375px */
  .aside[data-kt-drawer="true"] { width: 265px !important; max-width: 84vw; }

  /* Overlay del drawer visibile e cliccabile per chiudere */
  .drawer-overlay { background-color: rgba(51, 18, 6, 0.45); }

  /* La ricerca nell'aside a piena larghezza */
  .aside .aside-search .search-input { width: 100%; }

  /* Contenitore toolbar: padding ridotto */
  .toolbar .container-xxl { padding-left: 12px; padding-right: 12px; }
}

@media (max-width: 575.98px) {
  .header-brand img.logo { max-height: 38px; }
  .card { border-radius: 14px; }
  .content, #kt_content { padding-left: 0.75rem; padding-right: 0.75rem; }
}

/* ============================================================================
   20. RIFINITURE DA FEEDBACK UTENTE
   ============================================================================ */

/* 20.1 — Contrasto icone della sidebar.
   La pesca/ambra si confondeva col fondo scuro. Icone BIANCHE piene (glyph
   pieno, effetto "bold") per massimo contrasto sul gradient scuro. */
.aside .menu-icon i,
.aside .menu-icon .ki-duotone,
.aside .menu-icon .svg-icon,
.aside-menu .menu-icon i,
.aside-menu .menu-icon .ki-duotone { color: #FFFFFF !important; }
.aside .menu-icon .ki-duotone path,
.aside-menu .menu-icon .ki-duotone path,
.aside .menu-bullet .ki-duotone path,
.aside .ki-duotone:not(.text-success):not(.text-danger):not(.text-warning) path {
  fill: #FFFFFF !important;
  opacity: 1 !important;
}
/* icone dei sottomenu (bullet): bianche ma un filo più tenui per gerarchia */
.aside .menu-sub .menu-bullet .ki-duotone path,
.aside .menu-sub .menu-icon .ki-duotone path { fill: rgba(255,255,255,0.88) !important; }
/* voce attiva: barra/accento ambra a sinistra per marcare la selezione,
   icona e titolo restano bianchi pieni */
.aside-menu .menu .menu-item .menu-link.active { box-shadow: inset 3px 0 0 var(--abc-amber); }
/* frecce/bullet dei sottomenu: leggibili ma non invadenti */
.aside .menu-bullet .bullet { background-color: rgba(255, 255, 255, 0.6); }
.aside .menu-arrow:after { opacity: 0.85; filter: brightness(2); }

/* 20.1b — Intestazioni di sezione (MANAGEMENT, AREA AZIENDA, STATUS…):
   più grandi e con contrasto adeguato sul fondo scuro. */
.aside .menu-heading,
.aside .menu-section,
.aside-menu .menu .menu-item .menu-content .menu-heading {
  color: #FFD9B8 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  opacity: 1 !important;
}

/* 20.2 — Bottoni export DataTables (Excel/PDF): icona + testo BIANCHI.
   Il contenuto sta in un .badge.bg-success/.bg-danger (verde/rosso pieno):
   il bianco è la scelta ad alto contrasto. Annulla la regola generica badge. */
.buttons-html5 .badge,
.buttons-excel .badge, .buttons-pdf .badge,
.buttons-excel .badge i, .buttons-pdf .badge i,
.dt-buttons .btn .badge,
.dt-buttons .btn .badge i,
.buttons-html5 .badge.bg-success,
.buttons-html5 .badge.bg-danger { color: #FFFFFF !important; }
.buttons-html5 .badge.bg-success { background-color: #0E8837 !important; }
.buttons-html5 .badge.bg-danger { background-color: #DF2450 !important; }
.dt-buttons .btn.btn-secondary { border-color: var(--abc-border); }

/* 20.3 — Stacco header ↔ contenuto.
   Metronic tirava il contenuto SOTTO la toolbar con margin-top negativo
   (si "perdeva" nell'header). Lo azzeriamo e diamo respiro, responsivo. */
.content, #kt_content {
  margin-top: 0 !important;
  padding-top: 2rem;
}
@media (max-width: 991.98px) {
  .content, #kt_content { margin-top: 0 !important; padding-top: 1.5rem; }
}
/* la toolbar (titolo pagina + breadcrumb) prende un filo di respiro sotto */
.toolbar { padding-bottom: 0.5rem; }

/* ============================================================================
   21. MENU UTENTE NELL'HEADER (spostato dall'aside, in alto a destra come pecincloud)
   ============================================================================ */
#abcHeaderUser { position: relative; }
#abcHeaderUser .abc-user-toggle {
  padding: 4px 10px 4px 4px;
  border-radius: 999px;
  text-decoration: none;
  transition: background-color 0.2s ease;
}
#abcHeaderUser .abc-user-toggle:hover,
#abcHeaderUser .abc-user-toggle.show { background-color: var(--abc-primary-light); }
#abcHeaderUser .abc-user-symbol {
  width: 40px; height: 40px;
  flex: 0 0 40px;
  border-radius: 50%;
  box-shadow: 0 0 0 2px var(--abc-bg), 0 0 0 4px rgba(var(--abc-primary-rgb), 0.30);
}
#abcHeaderUser .abc-user-symbol img {
  width: 40px !important; height: 40px !important;
  max-width: 40px; max-height: 40px;
  object-fit: cover;
  border-radius: 50%;
}
#abcHeaderUser .abc-user-name {
  color: var(--abc-text);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
}
#abcHeaderUser .abc-user-role {
  color: var(--abc-amber-text);
  font-weight: 600;
  font-size: 11px;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
#abcHeaderUser .abc-user-caret i,
#abcHeaderUser .abc-user-caret { color: var(--abc-text-muted); }
#abcHeaderUser .abc-user-caret path { fill: var(--abc-text-muted) !important; }
@media (max-width: 991.98px) {
  #abcHeaderUser .abc-user-symbol {
    box-shadow: 0 0 0 2px var(--abc-bg), 0 0 0 3px rgba(var(--abc-primary-rgb), 0.30);
  }
}

/* ============================================================================
   22. PALETTE SIDEBAR — sintesi QUORUM 3 agenti (submenu scuri + icone 24px)
   Icone bianche (hover ambra-cream), submenu dropdown col nuovo colore scuro
   caldo coerente col tema (prima erano chiari), contrasto WCAG AA/AAA.
   ============================================================================ */

/* 22.1 — Icone menu: 24px voci padre, 20px sottomenu; hover ambra-cream */
.aside-menu .menu-icon i,
.aside-menu .menu-icon .ki-duotone { font-size: 24px !important; }
.aside-menu .menu-sub .menu-icon i,
.aside-menu .menu-sub .menu-bullet i,
.aside-menu .menu-sub .menu-icon .ki-duotone { font-size: 20px !important; }
.aside-menu .menu-item > .menu-link:hover .menu-icon i,
.aside-menu .menu-item.hover > .menu-link .menu-icon i,
.aside-menu .menu-item > .menu-link:hover .menu-icon .ki-duotone { color: #FDC689 !important; }
.aside-menu .menu-item > .menu-link:hover .menu-icon .ki-duotone path { fill: #FDC689 !important; }

/* 22.2 — Sotto-menu (dropdown E accordion) dentro l'aside: fondo scuro caldo
   #401A09, testo bianco-caldo. Ambito .aside così NON tocca il dropdown utente
   nell'header (che resta chiaro). */
.aside .menu-sub-dropdown,
.aside-menu .menu-sub-lg-dropdown,
.aside-menu .menu .menu-sub.menu-sub-dropdown {
  background-color: #401A09 !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35) !important;
}
.aside .menu-sub .menu-link,
.aside .menu-sub .menu-link .menu-title,
.aside .menu-sub-dropdown .menu-link,
.aside .menu-sub-dropdown .menu-title { color: #F5E6D8 !important; }
.aside .menu-sub .menu-link:hover,
.aside .menu-sub .menu-item.hover > .menu-link,
.aside .menu-sub-dropdown .menu-link:hover {
  background-color: rgba(245, 158, 11, 0.16) !important;
  color: #FFFFFF !important;
}
.aside .menu-sub .menu-link:hover .menu-title,
.aside .menu-sub-dropdown .menu-link:hover .menu-title { color: #FFFFFF !important; }
.aside .menu-sub .menu-link.active,
.aside .menu-sub-dropdown .menu-link.active {
  background-color: rgba(245, 158, 11, 0.18) !important;
  box-shadow: inset 3px 0 0 var(--abc-amber);
}
.aside .menu-sub .menu-link.active .menu-title { color: #FBBF77 !important; }
/* bullet/icone dentro i sottomenu: bianco caldo pieno */
.aside .menu-sub .menu-bullet i,
.aside .menu-sub .menu-icon i,
.aside .menu-sub-dropdown .menu-bullet i { color: #F5E6D8 !important; }
.aside .menu-sub .menu-bullet .ki-duotone path,
.aside .menu-sub .menu-icon .ki-duotone path { fill: #F5E6D8 !important; opacity: 1 !important; }
.aside .menu-sub .bullet { background-color: rgba(255, 255, 255, 0.6) !important; }
