.card{
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--panel);
  box-shadow:var(--shadow);
  padding:18px;
}
.card-soft{
  background:var(--panel-2);
}
.card-title{
  font-size:1rem;
  font-weight:800;
  margin-bottom:10px;
}
.kpi{
  font-size:1.7rem;
  font-weight:900;
}
.kpi-label{
  margin-bottom:8px;
  color:var(--muted);
  text-transform:uppercase;
  font-size:.78rem;
  font-weight:800;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid var(--line);
  cursor:pointer;
}
.btn-primary{
  background:var(--primary);
  color:#fff;
  border-color:var(--primary);
}
.btn-soft{
  background:var(--panel-2);
  color:var(--text);
}
.btn-danger{
  background:#fff;
  color:var(--danger);
  border-color:#fecaca;
}
.nav-btn{
  width:100%;
  text-align:left;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid var(--line);
  background:var(--panel);
  cursor:pointer;
}
.nav-btn.active{
  background:var(--primary-soft);
  border-color:#cbd5e1;
  font-weight:800;
}
.pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 10px;
  border-radius:999px;
  font-size:.8rem;
  font-weight:800;
  border:1px solid transparent;
}
.pill.ok{background:var(--ok-bg);color:var(--ok)}
.pill.warn{background:var(--warn-bg);color:var(--warn)}
.pill.danger{background:var(--danger-bg);color:var(--danger)}
.list{
  display:grid;
  gap:10px;
}
.list-item{
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--panel);
  padding:14px;
}
.list-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.item-title{
  font-size:1rem;
  font-weight:800;
}
.item-sub{
  margin-top:6px;
  color:var(--muted);
  line-height:1.45;
  font-size:.92rem;
}
.empty{
  border:1px dashed var(--line);
  border-radius:16px;
  padding:20px;
  background:var(--panel-2);
  color:var(--muted);
  text-align:center;
}
.toolbar{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.search{
  max-width:420px;
}
.helper{
  border:1px dashed #cbd5e1;
  background:#f8fafc;
  border-radius:14px;
  padding:12px;
  color:var(--muted);
  margin-bottom:12px;
}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.form-grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}
.status.ok{color:var(--ok)}
.status.err{color:var(--danger)}
@media (max-width: 980px){
  .form-grid,.form-grid-3{grid-template-columns:1fr}
}


.check-groups{
  display:grid;
  gap:14px;
}
.check-group{
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--panel);
  padding:14px;
}
.check-group-title{
  font-size:.92rem;
  font-weight:800;
  margin-bottom:10px;
}
.check-list{
  display:grid;
  gap:8px;
}
.check-row{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:8px 0;
}
.check-row input{
  width:auto;
  margin-top:2px;
}
.rule-box{
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--panel-2);
  padding:14px;
}
.rule-note{
  font-size:.88rem;
  color:var(--muted);
  margin-bottom:10px;
}

/* Dashboard Admin: KPI + dati globali */
.dashboard-kpi-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
  margin-bottom: 18px;
}

.dashboard-kpi-row > .card {
  min-width: 0;
}

.dashboard-kpi-row .kpi-label,
.dashboard-kpi-row .card-title {
  line-height: 1.2;
}

.dashboard-kpi-row .item-sub {
  font-size: 0.86rem;
  line-height: 1.4;
}

@media (max-width: 1200px) {
  .dashboard-kpi-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .dashboard-kpi-row {
    grid-template-columns: 1fr;
  }
}

/* Dashboard Admin: forza 4 box KPI in orizzontale */
.dashboard-kpi-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  align-items: stretch !important;
  margin-bottom: 18px !important;
}

.dashboard-kpi-row > .card {
  display: block !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.dashboard-kpi-row .kpi {
  white-space: nowrap !important;
}

.dashboard-kpi-row .item-sub {
  font-size: 0.84rem !important;
  line-height: 1.35 !important;
}

@media (min-width: 1000px) {
  .dashboard-kpi-row {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 999px) {
  .dashboard-kpi-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  .dashboard-kpi-row {
    grid-template-columns: 1fr !important;
  }
}

/* Admin dark components alignment */
.card,
.brand,
.login-card,
.list-item,
.check-group,
.rule-box {
  background:var(--panel) !important;
  border-color:var(--line) !important;
  color:var(--text) !important;
}

.card-soft,
.empty,
.helper,
.btn-soft {
  background:var(--panel-2) !important;
  border-color:var(--line) !important;
  color:var(--text) !important;
}

.nav-btn {
  background:var(--panel) !important;
  color:var(--text) !important;
  border-color:var(--line) !important;
}

.nav-btn:hover {
  border-color:var(--primary) !important;
}

.nav-btn.active {
  background:var(--primary-soft) !important;
  color:var(--text) !important;
  border-color:color-mix(in srgb, var(--primary) 45%, var(--line)) !important;
}

.btn-primary {
  background:var(--primary) !important;
  border-color:var(--primary) !important;
  color:#fff !important;
}

.btn-danger {
  background:transparent !important;
  color:var(--danger) !important;
  border-color:color-mix(in srgb, var(--danger) 45%, var(--line)) !important;
}

.pill.ok {
  background:var(--ok-bg) !important;
  color:var(--ok) !important;
}

.pill.warn {
  background:var(--warn-bg) !important;
  color:var(--warn) !important;
}

.pill.danger {
  background:var(--danger-bg) !important;
  color:var(--danger) !important;
}

.login-overlay {
  background:rgba(2,6,23,.72) !important;
  backdrop-filter:blur(8px);
}

.item-sub,
.helper,
.empty,
.muted,
.brand-sub {
  color:var(--muted) !important;
}


/* Dark mode */
[data-theme="dark"] .admin-global-header {
  background:
    radial-gradient(circle at 42px 50%, rgba(239, 68, 68, .22) 0%, rgba(239, 68, 68, .12) 180px, transparent 360px),
    linear-gradient(135deg, rgba(127, 29, 29, .34) 0%, rgba(69, 10, 10, .24) 42%, rgba(15, 23, 42, .96) 100%) !important;
  color: #f8fafc !important;
  border-bottom: 1.5px solid rgba(248, 113, 113, .70) !important;
  box-shadow:
    0 8px 24px rgba(127, 29, 29, .22),
    0 2px 10px rgba(0, 0, 0, .36) !important;
}

[data-theme="dark"] .admin-header-title {
  color: #f8fafc !important;
}

[data-theme="dark"] .admin-header-sub {
  color: #fecaca !important;
  opacity: .84 !important;
}

[data-theme="dark"] .admin-logo-mark,
[data-theme="dark"] .admin-logo-helmet {
  background:
    linear-gradient(135deg, rgba(127, 29, 29, .30) 0%, rgba(248, 113, 113, .10) 100%) !important;
  border-color: rgba(248, 113, 113, .48) !important;
  box-shadow:
    0 2px 10px rgba(127, 29, 29, .22),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

[data-theme="dark"] .admin-logo-svg {
  opacity: .90 !important;
  filter: saturate(.88) contrast(1.02) brightness(1.02) !important;
}

[data-theme="dark"] .admin-header-brand:hover .admin-logo-mark,
[data-theme="dark"] .admin-header-brand:hover .admin-logo-helmet {
  background:
    linear-gradient(135deg, #ef4444 0%, #b91c1c 100%) !important;
  border-color: rgba(248, 113, 113, .90) !important;
  box-shadow:
    0 7px 18px rgba(127, 29, 29, .38),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
}

[data-theme="dark"] .admin-header-brand:hover .admin-logo-svg {
  opacity: 1 !important;
  filter: brightness(0) invert(1) contrast(1.08) saturate(1.05) !important;
}

[data-theme="dark"] .admin-theme-btn {
  background: rgba(254, 226, 226, .10) !important;
  border: 1px solid rgba(248, 113, 113, .34) !important;
  color: #fecaca !important;
}

[data-theme="dark"] .admin-theme-btn:hover {
  background: rgba(248, 113, 113, .18) !important;
  border-color: rgba(248, 113, 113, .55) !important;
}

@media (max-width: 720px) {
  .admin-global-header {
    min-height: 58px !important;
    padding: 9px 12px !important;
    gap: 10px !important;
  }

  .admin-logo-mark,
  .admin-logo-helmet,
  .admin-theme-btn {
    width: 36px !important;
    height: 36px !important;
    border-radius: 11px !important;
  }

  .admin-logo-svg {
    width: 26px !important;
    height: 26px !important;
  }

  .admin-header-title {
    font-size: .98rem !important;
  }

  .admin-header-sub {
    display: none !important;
  }
}


/* Dark mode per la topbar reale */
[data-theme="dark"] .topbar {
  background:
    radial-gradient(circle at 42px 50%, rgba(239, 68, 68, .20) 0%, rgba(239, 68, 68, .10) 190px, transparent 360px),
    linear-gradient(135deg, rgba(127, 29, 29, .34) 0%, rgba(69, 10, 10, .24) 42%, rgba(15, 23, 42, .96) 100%) !important;

  border-color: rgba(248, 113, 113, .70) !important;

  box-shadow:
    0 8px 24px rgba(127, 29, 29, .22),
    0 2px 10px rgba(0, 0, 0, .36) !important;
}

[data-theme="dark"] .topbar h1,
[data-theme="dark"] .topbar #pageTitle {
  color: #f8fafc !important;
}

[data-theme="dark"] .topbar .muted,
[data-theme="dark"] .topbar #pageSubtitle {
  color: #fecaca !important;
  opacity: .84 !important;
}

[data-theme="dark"] .topbar .eyebrow,
[data-theme="dark"] .topbar #pageEyebrow,
[data-theme="dark"] .topbar .pill,
[data-theme="dark"] .topbar .pill.ok {
  background: rgba(254, 226, 226, .10) !important;
  color: #fecaca !important;
  border-color: rgba(248, 113, 113, .34) !important;
}

@media (max-width: 720px) {
  .topbar {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 13px 14px !important;
    border-radius: 18px !important;
  }
}


/* Logo/home: leggero a riposo, pieno in hover */
.admin-logo-mark,
.admin-logo-helmet {
  width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;
  flex: 0 0 auto !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background:
    linear-gradient(135deg, rgba(254, 226, 226, .72) 0%, rgba(255, 247, 247, .92) 100%) !important;
  border: 1px solid rgba(239, 68, 68, .42) !important;
  box-shadow:
    0 2px 8px rgba(239, 68, 68, .10),
    inset 0 1px 0 rgba(255,255,255,.60) !important;

  overflow: hidden !important;

  transition:
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease,
    filter .18s ease !important;
}

.admin-logo-svg {
  width: 28px !important;
  height: 28px !important;
  display: block !important;
  opacity: .88 !important;
  filter: saturate(.82) contrast(.98) !important;
  transition:
    opacity .18s ease,
    filter .18s ease,
    transform .18s ease !important;
}

.admin-header-brand:hover .admin-logo-mark,
.admin-header-brand:hover .admin-logo-helmet {
  background:
    linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  border-color: #ef4444 !important;
  box-shadow:
    0 6px 16px rgba(239, 68, 68, .28),
    inset 0 1px 0 rgba(255,255,255,.26) !important;
  transform: translateY(-1px) !important;
}

.admin-header-brand:hover .admin-logo-svg {
  opacity: 1 !important;
  filter: brightness(0) invert(1) contrast(1.08) saturate(1.05) !important;
  transform: scale(1.03) !important;
}

.admin-theme-btn {
  width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #fee2e2 !important;
  border: 1px solid #fecaca !important;
  color: #991b1b !important;

  cursor: pointer !important;
  transition:
    background .18s ease,
    border-color .18s ease,
    transform .18s ease,
    box-shadow .18s ease !important;
}

.admin-theme-btn:hover {
  background: #fecaca !important;
  border-color: #fca5a5 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 5px 14px rgba(239, 68, 68, .18) !important;
}

/* La barra interna torna al suo comportamento normale */
.topbar {
  position: relative !important;
  top: auto !important;
}

/* Dark mode della topbar superiore */
[data-theme="dark"] .admin-global-header {
  background:
    radial-gradient(circle at 42px 50%, rgba(239, 68, 68, .22) 0%, rgba(239, 68, 68, .12) 180px, transparent 360px),
    linear-gradient(135deg, rgba(127, 29, 29, .34) 0%, rgba(69, 10, 10, .24) 42%, rgba(15, 23, 42, .96) 100%) !important;
  color: #f8fafc !important;
  border-bottom: 1.5px solid rgba(248, 113, 113, .70) !important;
  box-shadow:
    0 8px 24px rgba(127, 29, 29, .22),
    0 2px 10px rgba(0, 0, 0, .36) !important;
}

[data-theme="dark"] .admin-header-title {
  color: #f8fafc !important;
}

[data-theme="dark"] .admin-header-sub {
  color: #fecaca !important;
  opacity: .84 !important;
}

[data-theme="dark"] .admin-logo-mark,
[data-theme="dark"] .admin-logo-helmet {
  background:
    linear-gradient(135deg, rgba(127, 29, 29, .30) 0%, rgba(248, 113, 113, .10) 100%) !important;
  border-color: rgba(248, 113, 113, .48) !important;
  box-shadow:
    0 2px 10px rgba(127, 29, 29, .22),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

[data-theme="dark"] .admin-logo-svg {
  opacity: .90 !important;
  filter: saturate(.88) contrast(1.02) brightness(1.02) !important;
}

[data-theme="dark"] .admin-header-brand:hover .admin-logo-mark,
[data-theme="dark"] .admin-header-brand:hover .admin-logo-helmet {
  background:
    linear-gradient(135deg, #ef4444 0%, #b91c1c 100%) !important;
  border-color: rgba(248, 113, 113, .90) !important;
  box-shadow:
    0 7px 18px rgba(127, 29, 29, .38),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
}

[data-theme="dark"] .admin-header-brand:hover .admin-logo-svg {
  opacity: 1 !important;
  filter: brightness(0) invert(1) contrast(1.08) saturate(1.05) !important;
}

[data-theme="dark"] .admin-theme-btn {
  background: rgba(254, 226, 226, .10) !important;
  border: 1px solid rgba(248, 113, 113, .34) !important;
  color: #fecaca !important;
}

[data-theme="dark"] .admin-theme-btn:hover {
  background: rgba(248, 113, 113, .18) !important;
  border-color: rgba(248, 113, 113, .55) !important;
}

@media (max-width: 720px) {
  .admin-global-header {
    min-height: 58px !important;
    padding: 9px 12px !important;
    gap: 10px !important;
  }

  .admin-logo-mark,
  .admin-logo-helmet,
  .admin-theme-btn {
    width: 36px !important;
    height: 36px !important;
    border-radius: 11px !important;
  }

  .admin-logo-svg {
    width: 26px !important;
    height: 26px !important;
  }

  .admin-header-title {
    font-size: .98rem !important;
  }

  .admin-header-sub {
    display: none !important;
  }
}

/* ADMIN_GLOBAL_TOPBAR_RM_STYLE_CLEAN_V3
   Topbar superiore Admin.
   Replica struttura/stile Richiesta Materiali:
   - non fixed
   - non sticky
   - scorre via con la pagina
   - logo leggero a riposo e pieno in hover
   - tema chiaro/notte
   - NON modifica la .topbar interna Dashboard
*/
body {
  padding-top: 0 !important;
}

.admin-global-header {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  z-index: 80 !important;

  min-height: 64px !important;
  height: auto !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;

  padding: 12px 22px !important;

  background:
    linear-gradient(135deg, #fff7f7 0%, #fee2e2 100%) !important;
  color: #475569 !important;

  border-bottom: 1.5px solid #ef4444 !important;
  box-shadow:
    0 8px 22px rgba(239, 68, 68, .10),
    0 2px 8px rgba(15, 23, 42, .06) !important;
}

.admin-header-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
  text-decoration: none !important;
  color: inherit !important;
}

.admin-header-title {
  display: block !important;
  color: #334155 !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
}

.admin-header-sub {
  display: block !important;
  margin-top: 2px !important;
  color: #64748b !important;
  opacity: 1 !important;
  font-size: .70rem !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

/* Logo/home */
.admin-logo-mark,
.admin-logo-helmet {
  width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;
  flex: 0 0 auto !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background:
    linear-gradient(135deg, rgba(254, 226, 226, .72) 0%, rgba(255, 247, 247, .92) 100%) !important;
  border: 1px solid rgba(239, 68, 68, .42) !important;
  box-shadow:
    0 2px 8px rgba(239, 68, 68, .10),
    inset 0 1px 0 rgba(255,255,255,.60) !important;

  overflow: hidden !important;

  transition:
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease,
    filter .18s ease !important;
}

.admin-logo-svg {
  width: 28px !important;
  height: 28px !important;
  display: block !important;
  opacity: .88 !important;
  filter: saturate(.82) contrast(.98) !important;

  transition:
    opacity .18s ease,
    filter .18s ease,
    transform .18s ease !important;
}

.admin-header-brand:hover .admin-logo-mark,
.admin-header-brand:hover .admin-logo-helmet {
  background:
    linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  border-color: #ef4444 !important;
  box-shadow:
    0 6px 16px rgba(239, 68, 68, .28),
    inset 0 1px 0 rgba(255,255,255,.26) !important;
  transform: translateY(-1px) !important;
}

.admin-header-brand:hover .admin-logo-svg {
  opacity: 1 !important;
  filter: brightness(0) invert(1) contrast(1.08) saturate(1.05) !important;
  transform: scale(1.03) !important;
}

.admin-theme-btn {
  width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #fee2e2 !important;
  border: 1px solid #fecaca !important;
  color: #991b1b !important;

  cursor: pointer !important;
  transition:
    background .18s ease,
    border-color .18s ease,
    transform .18s ease,
    box-shadow .18s ease !important;
}

.admin-theme-btn:hover {
  background: #fecaca !important;
  border-color: #fca5a5 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 5px 14px rgba(239, 68, 68, .18) !important;
}

/* Modalità notte */
[data-theme="dark"] .admin-global-header {
  background:
    radial-gradient(circle at 42px 50%, rgba(239, 68, 68, .22) 0%, rgba(239, 68, 68, .12) 180px, transparent 360px),
    linear-gradient(135deg, rgba(127, 29, 29, .34) 0%, rgba(69, 10, 10, .24) 42%, rgba(15, 23, 42, .96) 100%) !important;

  color: #f8fafc !important;
  border-bottom: 1.5px solid rgba(248, 113, 113, .70) !important;
  box-shadow:
    0 8px 24px rgba(127, 29, 29, .22),
    0 2px 10px rgba(0, 0, 0, .36) !important;
}

[data-theme="dark"] .admin-header-title {
  color: #f8fafc !important;
}

[data-theme="dark"] .admin-header-sub {
  color: #fecaca !important;
  opacity: .84 !important;
}

[data-theme="dark"] .admin-logo-mark,
[data-theme="dark"] .admin-logo-helmet {
  background:
    linear-gradient(135deg, rgba(127, 29, 29, .30) 0%, rgba(248, 113, 113, .10) 100%) !important;
  border-color: rgba(248, 113, 113, .48) !important;
  box-shadow:
    0 2px 10px rgba(127, 29, 29, .22),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

[data-theme="dark"] .admin-logo-svg {
  opacity: .90 !important;
  filter: saturate(.88) contrast(1.02) brightness(1.02) !important;
}

[data-theme="dark"] .admin-header-brand:hover .admin-logo-mark,
[data-theme="dark"] .admin-header-brand:hover .admin-logo-helmet {
  background:
    linear-gradient(135deg, #ef4444 0%, #b91c1c 100%) !important;
  border-color: rgba(248, 113, 113, .90) !important;
  box-shadow:
    0 7px 18px rgba(127, 29, 29, .38),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
}

[data-theme="dark"] .admin-header-brand:hover .admin-logo-svg {
  opacity: 1 !important;
  filter: brightness(0) invert(1) contrast(1.08) saturate(1.05) !important;
}

[data-theme="dark"] .admin-theme-btn {
  background: rgba(254, 226, 226, .10) !important;
  border: 1px solid rgba(248, 113, 113, .34) !important;
  color: #fecaca !important;
}

[data-theme="dark"] .admin-theme-btn:hover {
  background: rgba(248, 113, 113, .18) !important;
  border-color: rgba(248, 113, 113, .55) !important;
}

@media (max-width: 720px) {
  .admin-global-header {
    min-height: 58px !important;
    padding: 9px 12px !important;
    gap: 10px !important;
  }

  .admin-logo-mark,
  .admin-logo-helmet,
  .admin-theme-btn {
    width: 36px !important;
    height: 36px !important;
    border-radius: 11px !important;
  }

  .admin-logo-svg {
    width: 26px !important;
    height: 26px !important;
  }

  .admin-header-title {
    font-size: .98rem !important;
  }

  .admin-header-sub {
    display: none !important;
  }
}



/* ADMIN_TOPBAR_HOMEPAGE_STYLE_V4
   Topbar superiore Admin coerente con homepage/Richiesta Materiali.
   - usa logo recuperato dalla homepage
   - syncBadge spostato nella topbar superiore
   - barra interna .topbar ripristinata neutra
   - topbar superiore non fixed/sticky
*/

/* Ripristino barra interna Dashboard: non deve prendere lo stile modulo */
.topbar {
  display: flex !important;
  justify-content: space-between !important;
  gap: 16px !important;
  align-items: flex-start !important;
  border: 1px solid var(--line) !important;
  border-radius: 20px !important;
  background: var(--panel) !important;
  box-shadow: var(--shadow) !important;
  padding: 18px !important;
  margin-bottom: 16px !important;
  position: relative !important;
  top: auto !important;
}

/* Topbar superiore vera */
.admin-global-header {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  z-index: 80 !important;

  min-height: 64px !important;
  height: auto !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;

  padding: 12px 22px !important;

  background: var(--panel) !important;
  color: #475569 !important;

  border-bottom: 1.5px solid #ef4444 !important;
  box-shadow:
    0 8px 22px rgba(239, 68, 68, .10),
    0 2px 8px rgba(15, 23, 42, .06) !important;

  overflow: hidden !important;
}

.admin-global-header::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, #fee2e2 0%, transparent 72%) !important;
  opacity: .42 !important;
  pointer-events: none !important;
}

.admin-global-header > * {
  position: relative !important;
  z-index: 1 !important;
}

.admin-header-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
  text-decoration: none !important;
  color: inherit !important;
}

.admin-header-title {
  display: block !important;
  color: #334155 !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
}

.admin-header-sub {
  display: block !important;
  margin-top: 2px !important;
  color: #64748b !important;
  opacity: 1 !important;
  font-size: .70rem !important;
  font-weight: 700 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

.admin-header-actions {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex: 0 0 auto !important;
}

/* Badge sincronizzazione nella topbar superiore */
.admin-global-header #syncBadge {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 32px !important;
  padding: 6px 11px !important;
  border-radius: 999px !important;
  background: #fee2e2 !important;
  color: #991b1b !important;
  border: 1px solid #fecaca !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

/* Logo homepage: leggero a riposo */
.admin-logo-mark,
.admin-logo-homepage {
  width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;
  flex: 0 0 auto !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #fee2e2 !important;
  color: #dc2626 !important;
  border: 1px solid #fecaca !important;
  box-shadow:
    0 2px 8px rgba(239, 68, 68, .10),
    inset 0 1px 0 rgba(255,255,255,.60) !important;

  overflow: hidden !important;

  transition:
    background .18s ease,
    color .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease !important;
}

.admin-logo-svg,
.admin-logo-homepage svg {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
  opacity: .88 !important;
  transition:
    opacity .18s ease,
    transform .18s ease,
    filter .18s ease !important;
}

/* Normalizza il logo homepage se usa SVG con stroke/fill */
.admin-logo-homepage svg [stroke] {
  stroke: currentColor !important;
}

.admin-logo-homepage svg [fill]:not([fill="none"]) {
  fill: currentColor !important;
}

/* Hover logo: pieno come RM */
.admin-header-brand:hover .admin-logo-mark,
.admin-header-brand:hover .admin-logo-homepage {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  color: #ffffff !important;
  border-color: #ef4444 !important;
  box-shadow:
    0 6px 16px rgba(239, 68, 68, .28),
    inset 0 1px 0 rgba(255,255,255,.26) !important;
  transform: translateY(-1px) !important;
}

.admin-header-brand:hover .admin-logo-svg,
.admin-header-brand:hover .admin-logo-homepage svg {
  opacity: 1 !important;
  transform: scale(1.03) !important;
}

/* Toggle tema coerente con card Admin homepage */
.admin-theme-btn {
  width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #fee2e2 !important;
  border: 1px solid #fecaca !important;
  color: #991b1b !important;

  cursor: pointer !important;
  transition:
    background .18s ease,
    border-color .18s ease,
    transform .18s ease,
    box-shadow .18s ease !important;
}

.admin-theme-btn:hover {
  background: #fecaca !important;
  border-color: #fca5a5 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 5px 14px rgba(239, 68, 68, .18) !important;
}

/* Dark mode */
[data-theme="dark"] .admin-global-header {
  background: var(--panel) !important;
  color: #f8fafc !important;
  border-bottom: 1.5px solid rgba(248, 113, 113, .70) !important;
  box-shadow:
    0 8px 24px rgba(127, 29, 29, .22),
    0 2px 10px rgba(0, 0, 0, .36) !important;
}

[data-theme="dark"] .admin-global-header::before {
  background:
    radial-gradient(circle at 42px 50%, rgba(239, 68, 68, .24) 0%, rgba(239, 68, 68, .12) 180px, transparent 360px),
    linear-gradient(135deg, rgba(127, 29, 29, .28) 0%, transparent 70%) !important;
  opacity: 1 !important;
}

[data-theme="dark"] .admin-header-title {
  color: #f8fafc !important;
}

[data-theme="dark"] .admin-header-sub {
  color: #fecaca !important;
  opacity: .84 !important;
}

[data-theme="dark"] .admin-global-header #syncBadge {
  background: rgba(254, 226, 226, .10) !important;
  color: #fecaca !important;
  border-color: rgba(248, 113, 113, .34) !important;
}

[data-theme="dark"] .admin-logo-mark,
[data-theme="dark"] .admin-logo-homepage {
  background: rgba(254, 226, 226, .10) !important;
  color: #fecaca !important;
  border-color: rgba(248, 113, 113, .42) !important;
  box-shadow:
    0 2px 10px rgba(127, 29, 29, .22),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

[data-theme="dark"] .admin-header-brand:hover .admin-logo-mark,
[data-theme="dark"] .admin-header-brand:hover .admin-logo-homepage {
  background: linear-gradient(135deg, #ef4444 0%, #b91c1c 100%) !important;
  color: #ffffff !important;
  border-color: rgba(248, 113, 113, .90) !important;
  box-shadow:
    0 7px 18px rgba(127, 29, 29, .38),
    inset 0 1px 0 rgba(255,255,255,.18) !important;
}

[data-theme="dark"] .admin-theme-btn {
  background: rgba(254, 226, 226, .10) !important;
  border: 1px solid rgba(248, 113, 113, .34) !important;
  color: #fecaca !important;
}

[data-theme="dark"] .admin-theme-btn:hover {
  background: rgba(248, 113, 113, .18) !important;
  border-color: rgba(248, 113, 113, .55) !important;
}

/* Mobile */
@media (max-width: 720px) {
  .admin-global-header {
    min-height: 58px !important;
    padding: 9px 12px !important;
    gap: 10px !important;
  }

  .admin-logo-mark,
  .admin-logo-homepage,
  .admin-theme-btn {
    width: 36px !important;
    height: 36px !important;
    border-radius: 11px !important;
  }

  .admin-logo-svg,
  .admin-logo-homepage svg {
    width: 22px !important;
    height: 22px !important;
  }

  .admin-header-title {
    font-size: .98rem !important;
  }

  .admin-header-sub {
    display: none !important;
  }

  .admin-global-header #syncBadge {
    max-width: 120px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

/* ADMIN_TOPBAR_BADGE_STATE_V5
   Rifinitura topbar Admin:
   - niente linea inferiore netta
   - badge sincronizzazione colorato per stato
*/
.admin-global-header {
  border-bottom: 0 !important;
  box-shadow:
    0 8px 22px rgba(239, 68, 68, .10),
    0 2px 8px rgba(15, 23, 42, .06) !important;
}

/* Stato neutro/default */
.admin-global-header #syncBadge,
.admin-global-header #syncBadge.sync-neutral {
  background: #f1f5f9 !important;
  color: #475569 !important;
  border: 1px solid #cbd5e1 !important;
}

/* Stato OK / sincronizzato */
.admin-global-header #syncBadge.ok,
.admin-global-header #syncBadge.sync-ok,
.admin-global-header #syncBadge[data-sync-state="ok"] {
  background: #dcfce7 !important;
  color: #166534 !important;
  border: 1px solid #86efac !important;
}

/* Stato in corso / caricamento / pending */
.admin-global-header #syncBadge.pending,
.admin-global-header #syncBadge.loading,
.admin-global-header #syncBadge.sync-pending,
.admin-global-header #syncBadge[data-sync-state="pending"] {
  background: #fef3c7 !important;
  color: #92400e !important;
  border: 1px solid #fcd34d !important;
}

/* Stato warning */
.admin-global-header #syncBadge.warn,
.admin-global-header #syncBadge.warning,
.admin-global-header #syncBadge.sync-warn,
.admin-global-header #syncBadge[data-sync-state="warn"] {
  background: #ffedd5 !important;
  color: #9a3412 !important;
  border: 1px solid #fdba74 !important;
}

/* Stato errore */
.admin-global-header #syncBadge.error,
.admin-global-header #syncBadge.err,
.admin-global-header #syncBadge.offline,
.admin-global-header #syncBadge.sync-error,
.admin-global-header #syncBadge[data-sync-state="error"] {
  background: #fee2e2 !important;
  color: #991b1b !important;
  border: 1px solid #fca5a5 !important;
}

/* Dark mode */
[data-theme="dark"] .admin-global-header {
  border-bottom: 0 !important;
  box-shadow:
    0 8px 24px rgba(127, 29, 29, .22),
    0 2px 10px rgba(0, 0, 0, .36) !important;
}

[data-theme="dark"] .admin-global-header #syncBadge,
[data-theme="dark"] .admin-global-header #syncBadge.sync-neutral {
  background: rgba(148, 163, 184, .14) !important;
  color: #cbd5e1 !important;
  border-color: rgba(148, 163, 184, .36) !important;
}

[data-theme="dark"] .admin-global-header #syncBadge.ok,
[data-theme="dark"] .admin-global-header #syncBadge.sync-ok,
[data-theme="dark"] .admin-global-header #syncBadge[data-sync-state="ok"] {
  background: rgba(34, 197, 94, .15) !important;
  color: #bbf7d0 !important;
  border-color: rgba(74, 222, 128, .42) !important;
}

[data-theme="dark"] .admin-global-header #syncBadge.pending,
[data-theme="dark"] .admin-global-header #syncBadge.loading,
[data-theme="dark"] .admin-global-header #syncBadge.sync-pending,
[data-theme="dark"] .admin-global-header #syncBadge[data-sync-state="pending"] {
  background: rgba(245, 158, 11, .16) !important;
  color: #fde68a !important;
  border-color: rgba(251, 191, 36, .44) !important;
}

[data-theme="dark"] .admin-global-header #syncBadge.warn,
[data-theme="dark"] .admin-global-header #syncBadge.warning,
[data-theme="dark"] .admin-global-header #syncBadge.sync-warn,
[data-theme="dark"] .admin-global-header #syncBadge[data-sync-state="warn"] {
  background: rgba(249, 115, 22, .16) !important;
  color: #fed7aa !important;
  border-color: rgba(251, 146, 60, .44) !important;
}

[data-theme="dark"] .admin-global-header #syncBadge.error,
[data-theme="dark"] .admin-global-header #syncBadge.err,
[data-theme="dark"] .admin-global-header #syncBadge.offline,
[data-theme="dark"] .admin-global-header #syncBadge.sync-error,
[data-theme="dark"] .admin-global-header #syncBadge[data-sync-state="error"] {
  background: rgba(239, 68, 68, .18) !important;
  color: #fecaca !important;
  border-color: rgba(248, 113, 113, .50) !important;
}

/* ADMIN_BLUE_TO_SOFT_RED_V1
   Conversione accenti blu residui in rosso tenue Admin.
   Non modifica gli stati semantici ok/warning/error del badge sync.
*/

:root {
  --admin-red: #ef4444;
  --admin-red-strong: #dc2626;
  --admin-red-dark: #991b1b;
  --admin-red-soft: #fee2e2;
  --admin-red-soft-2: #fff7f7;
  --admin-red-border: #fecaca;
  --admin-red-border-2: #fca5a5;
}

/* Selezione testo coerente */
::selection {
  background: rgba(239, 68, 68, .22);
  color: inherit;
}

/* Focus generico accessibile, ma rosso tenue */
:focus-visible {
  outline: 3px solid rgba(239, 68, 68, .26) !important;
  outline-offset: 2px !important;
}

/* Input, select, textarea */
input:focus,
select:focus,
textarea:focus,
.search:focus {
  border-color: var(--admin-red) !important;
  box-shadow:
    0 0 0 3px rgba(239, 68, 68, .14),
    0 1px 2px rgba(15, 23, 42, .04) !important;
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--admin-red) !important;
}

/* Bottoni primari */
.btn-primary,
button.btn-primary,
a.btn-primary {
  background:
    linear-gradient(135deg, var(--admin-red) 0%, var(--admin-red-strong) 100%) !important;
  border-color: var(--admin-red) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(239, 68, 68, .18) !important;
}

.btn-primary:hover,
button.btn-primary:hover,
a.btn-primary:hover {
  background:
    linear-gradient(135deg, #f87171 0%, var(--admin-red-strong) 100%) !important;
  border-color: var(--admin-red-strong) !important;
  box-shadow: 0 10px 22px rgba(239, 68, 68, .24) !important;
}

/* Bottoni soft / secondari con accento Admin */
.btn-soft:hover,
button.btn-soft:hover,
a.btn-soft:hover {
  background: var(--admin-red-soft) !important;
  border-color: var(--admin-red-border) !important;
  color: var(--admin-red-dark) !important;
}

/* Navigazione laterale: attivo e hover */
.nav-btn.active,
.nav-btn[aria-current="page"],
.nav-btn.is-active {
  background:
    linear-gradient(135deg, var(--admin-red-soft-2) 0%, var(--admin-red-soft) 100%) !important;
  border-color: var(--admin-red-border) !important;
  color: var(--admin-red-dark) !important;
  box-shadow:
    0 8px 18px rgba(239, 68, 68, .10),
    inset 3px 0 0 var(--admin-red) !important;
}

.nav-btn:hover {
  background: var(--admin-red-soft-2) !important;
  border-color: var(--admin-red-border) !important;
  color: var(--admin-red-dark) !important;
}

/* Card/righe selezionate o attive */
.selected,
.is-selected,
.active-row,
.row-selected,
.card.selected,
.card.is-selected,
.item.selected,
.item.is-selected,
[aria-selected="true"],
[data-selected="true"] {
  background:
    linear-gradient(135deg, var(--admin-red-soft-2) 0%, var(--admin-red-soft) 100%) !important;
  border-color: var(--admin-red-border) !important;
  box-shadow: 0 8px 18px rgba(239, 68, 68, .08) !important;
}

/* Tab e pill non semantiche */
.tab.active,
.tab.is-active,
.tabs .active,
.segment.active,
.segment.is-active,
.filter-chip.active,
.filter-chip.is-active,
.chip.active,
.chip.is-active {
  background: var(--admin-red-soft) !important;
  color: var(--admin-red-dark) !important;
  border-color: var(--admin-red-border) !important;
}

/* Badge/pill generici: NON tocca ok/warning/error */
.pill:not(.ok):not(.warning):not(.warn):not(.error):not(.offline):not(.sync-ok):not(.sync-pending):not(.sync-warn):not(.sync-error),
.badge:not(.ok):not(.warning):not(.warn):not(.error),
.tag:not(.ok):not(.warning):not(.warn):not(.error) {
  background: var(--admin-red-soft) !important;
  color: var(--admin-red-dark) !important;
  border-color: var(--admin-red-border) !important;
}

/* Link e azioni inline */
a:not(.admin-header-brand):not(.btn) {
  color: var(--admin-red-strong);
}

a:not(.admin-header-brand):not(.btn):hover {
  color: var(--admin-red-dark);
}

/* Tabelle/listati: hover leggero rosso */
tbody tr:hover,
.list-row:hover,
.table-row:hover {
  background: rgba(254, 226, 226, .40) !important;
}

/* Stati in dark mode */
[data-theme="dark"] :root {
  --admin-red-soft: rgba(248, 113, 113, .14);
  --admin-red-soft-2: rgba(127, 29, 29, .18);
}

[data-theme="dark"] input:focus,
[data-theme="dark"] select:focus,
[data-theme="dark"] textarea:focus,
[data-theme="dark"] .search:focus {
  border-color: rgba(248, 113, 113, .78) !important;
  box-shadow:
    0 0 0 3px rgba(248, 113, 113, .16),
    0 1px 2px rgba(0, 0, 0, .20) !important;
}

[data-theme="dark"] .nav-btn.active,
[data-theme="dark"] .nav-btn[aria-current="page"],
[data-theme="dark"] .nav-btn.is-active {
  background:
    linear-gradient(135deg, rgba(127, 29, 29, .28) 0%, rgba(248, 113, 113, .12) 100%) !important;
  border-color: rgba(248, 113, 113, .42) !important;
  color: #fecaca !important;
  box-shadow:
    0 8px 18px rgba(127, 29, 29, .18),
    inset 3px 0 0 rgba(248, 113, 113, .82) !important;
}

[data-theme="dark"] .nav-btn:hover {
  background: rgba(248, 113, 113, .10) !important;
  border-color: rgba(248, 113, 113, .34) !important;
  color: #fecaca !important;
}

[data-theme="dark"] .selected,
[data-theme="dark"] .is-selected,
[data-theme="dark"] .active-row,
[data-theme="dark"] .row-selected,
[data-theme="dark"] .card.selected,
[data-theme="dark"] .card.is-selected,
[data-theme="dark"] .item.selected,
[data-theme="dark"] .item.is-selected,
[data-theme="dark"] [aria-selected="true"],
[data-theme="dark"] [data-selected="true"] {
  background:
    linear-gradient(135deg, rgba(127, 29, 29, .24) 0%, rgba(248, 113, 113, .10) 100%) !important;
  border-color: rgba(248, 113, 113, .38) !important;
  box-shadow: 0 8px 18px rgba(127, 29, 29, .14) !important;
}

[data-theme="dark"] .btn-soft:hover,
[data-theme="dark"] button.btn-soft:hover,
[data-theme="dark"] a.btn-soft:hover,
[data-theme="dark"] .tab.active,
[data-theme="dark"] .tab.is-active,
[data-theme="dark"] .tabs .active,
[data-theme="dark"] .segment.active,
[data-theme="dark"] .segment.is-active,
[data-theme="dark"] .filter-chip.active,
[data-theme="dark"] .filter-chip.is-active,
[data-theme="dark"] .chip.active,
[data-theme="dark"] .chip.is-active {
  background: rgba(248, 113, 113, .12) !important;
  color: #fecaca !important;
  border-color: rgba(248, 113, 113, .36) !important;
}

[data-theme="dark"] tbody tr:hover,
[data-theme="dark"] .list-row:hover,
[data-theme="dark"] .table-row:hover {
  background: rgba(248, 113, 113, .08) !important;
}

