/* Stili propri dell'area «acceptance» nel restyling come HubLEM (docs/restyle).
   Prefisso acc-: Centro operativo, Planning Appuntamenti, Registro Ingressi,
   Registro Merci, Self Declaration, DDT Scarichi. */

/* --- Colori di HubLEM (Tailwind) usati nell'area --- */
.acc-tone--blue { color: #1d4ed8; }
.acc-tone--amber { color: #b45309; }
.acc-tone--emerald { color: #047857; }
.acc-tone--gray { color: #475569; }

/* --- Banda scura a tutta larghezza delle testate HubLEM --- */
.app-content:has(.acc-band) .app-page-header { display: none !important; }
.acc-band {
  display: flex; flex-wrap: wrap; gap: 1.25rem; align-items: flex-end; justify-content: space-between;
  margin: 0 0 1.5rem; padding: 1.75rem 2rem; color: #fff; border-radius: 1.25rem;
}
@media (max-width: 767.98px) { .acc-band { margin: 0 -.75rem 1.25rem; padding: 1.5rem .75rem; border-radius: 0; } }
.acc-band--navy { background: linear-gradient(90deg, #020617, #172554, #312e81); }
.acc-band--emerald { background: linear-gradient(90deg, #020617, #0f172a, #022c22); padding-top: 2rem; padding-bottom: 2.5rem; }
.acc-band__text { display: flex; gap: 1rem; align-items: flex-start; min-width: 0; }
.acc-band--emerald .acc-band__text { flex-direction: column; }
.acc-band__icon { width: 3rem; height: 3rem; flex: 0 0 3rem; border-radius: 1rem; display: grid; place-items: center; font-size: 1.6rem; background: rgba(255, 255, 255, .1); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2); }
.acc-band__eyebrow { margin: 0; font-size: .72rem; font-weight: 700; letter-spacing: .25em; color: #bfdbfe; }
.acc-band .acc-band__title { margin: .4rem 0 0; font-size: 1.9rem; font-weight: 900; color: #fff; line-height: 1.15; }
.acc-band__subtitle { margin: .5rem 0 0; font-size: .9rem; color: #e2e8f0; max-width: 48rem; line-height: 1.6; }
.acc-band__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.acc-btn-white { background: #fff; color: #020617; border-color: #fff; font-weight: 600; }
.acc-btn-white:hover { background: #eff6ff; color: #020617; }
.acc-btn-amber { background: #fbbf24; color: #020617; border-color: #fbbf24; font-weight: 600; }
.acc-btn-amber:hover { background: #fcd34d; color: #020617; border-color: #fcd34d; }
.acc-btn-emerald { background: #059669; color: #fff; border-color: #059669; }
.acc-btn-emerald:hover { background: #047857; color: #fff; border-color: #047857; }

/* --- Totali bianchi con icona colorata (Planning) --- */
.acc-stats { display: grid; grid-template-columns: repeat(var(--acc-stats, 3), minmax(0, 1fr)); gap: .75rem; margin-bottom: 1.25rem; }
@media (max-width: 575.98px) { .acc-stats { grid-template-columns: 1fr; } }
.acc-stat { background: #fff; border: 1px solid #e2e8f0; border-radius: 1rem; padding: 1rem; box-shadow: 0 1px 2px rgba(0, 0, 0, .05); }
.acc-stat .bi { font-size: 1.25rem; }
.acc-stat__value { margin-top: .75rem; font-size: 1.5rem; font-weight: 900; color: #0f172a; line-height: 1.1; }
.acc-stat__label { font-size: .85rem; color: #64748b; }
.acc-aside { margin: -.5rem 0 1rem; font-size: .8rem; text-align: right; }
.acc-aside a { color: #64748b; text-decoration: none; }

/* --- Riquadro bianco con ricerca e pulsanti filtro --- */
.acc-panel { background: #fff; border: 1px solid #e2e8f0; border-radius: 1.5rem; padding: 1.25rem; box-shadow: 0 1px 2px rgba(0, 0, 0, .05); }
.acc-panel__bar { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; justify-content: space-between; margin-bottom: .75rem; }
.acc-search { position: relative; flex: 1 1 18rem; max-width: 28rem; margin: 0; }
.acc-search .bi { position: absolute; left: .8rem; top: 50%; transform: translateY(-50%); color: #94a3b8; }
.acc-search .form-control { padding-left: 2.25rem; }
.acc-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.acc-panel .hub-more { margin-bottom: .75rem !important; }
.acc-empty { border-radius: 1rem; background: #f8fafc; padding: 2.5rem; text-align: center; font-size: .875rem; color: #64748b; }

/* --- Card visita (Planning) --- */
.acc-visits { display: grid; gap: .75rem; }
.acc-visit { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; border: 1px solid #e2e8f0; border-radius: 1rem; padding: 1rem; }
.acc-visit__main { min-width: 0; flex: 1 1 20rem; }
.acc-visit__head { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.acc-visit__name { font-weight: 900; color: #0f172a; text-decoration: none; }
.acc-visit__name:hover { text-decoration: underline; }
.acc-visit__line { margin: .25rem 0 0; font-size: .875rem; color: #475569; overflow-wrap: anywhere; }
.acc-visit__meta { margin: .5rem 0 0; font-size: .75rem; font-weight: 600; color: #64748b; }
.acc-visit__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.acc-visit__actions form { margin: 0; }
.acc-visit__note { flex: 1 1 100%; margin: 0; }
.acc-badge { display: inline-block; border-radius: 999px; padding: .2rem .65rem; font-size: .72rem; font-weight: 700; }
.acc-badge--planned { background: #dbeafe; color: #1e40af; }
.acc-badge--awaiting_authorization { background: #fef3c7; color: #78350f; }
.acc-badge--authorized { background: #cffafe; color: #164e63; }
.acc-badge--rejected { background: #fee2e2; color: #991b1b; }
.acc-badge--inside { background: #d1fae5; color: #064e3b; }
.acc-badge--exited { background: #e2e8f0; color: #334155; }
.acc-badge--cancelled { background: #f1f5f9; color: #64748b; }
.acc-badge-outline { background: #fff; color: #111827; border: 1px solid #d1d5db; }

/* --- Centro operativo: 8 aree --- */
.acc-areas { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1199.98px) { .acc-areas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .acc-areas { grid-template-columns: 1fr; } }
.acc-area { display: flex; flex-direction: column; min-height: 16rem; overflow: hidden; border: 1px solid #e2e8f0; border-radius: 1.5rem; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .05); }
.acc-area__head { padding: 1.25rem; color: #fff; }
.acc-area__head .bi { font-size: 2rem; }
.acc-area__head h2 { margin: 1rem 0 0; font-size: 1.1rem; font-weight: 900; line-height: 1.2; color: #fff; }
.acc-area__head--blue { background: linear-gradient(135deg, #3b82f6, #4f46e5); }
.acc-area__head--emerald { background: linear-gradient(135deg, #10b981, #0d9488); }
.acc-area__head--amber { background: linear-gradient(135deg, #f59e0b, #ea580c); }
.acc-area__head--violet { background: linear-gradient(135deg, #8b5cf6, #9333ea); }
.acc-area__head--cyan { background: linear-gradient(135deg, #06b6d4, #0284c7); }
.acc-area__head--fuchsia { background: linear-gradient(135deg, #d946ef, #db2777); }
.acc-area__head--slate { background: linear-gradient(135deg, #475569, #1f2937); }
.acc-area__head--rose { background: linear-gradient(135deg, #ef4444, #e11d48); }
.acc-area__body { display: flex; flex: 1 1 auto; flex-direction: column; padding: 1.25rem; }
.acc-area__body p { font-size: .875rem; line-height: 1.6; color: #475569; margin: 0; }
.acc-area__links { margin-top: auto; padding-top: 1.25rem; display: grid; gap: .5rem; }
.acc-area__links a { display: flex; align-items: center; justify-content: space-between; border: 1px solid #e2e8f0; border-radius: .75rem; padding: .6rem .75rem; font-size: .875rem; font-weight: 700; color: #1e293b; text-decoration: none; }
.acc-area__links a:hover { border-color: #94a3b8; background: #f8fafc; }
.acc-denied { max-width: 36rem; margin: 3rem auto; border: 1px solid #fde68a; background: #fffbeb; border-radius: 1.5rem; padding: 2rem; text-align: center; }
.acc-denied .bi { font-size: 2.5rem; color: #b45309; }
.acc-denied h2 { font-size: 1.25rem; font-weight: 900; margin-top: 1rem; }
.acc-denied p { font-size: .875rem; color: #475569; margin: .5rem 0 0; }

/* --- Registro Ingressi (desktop) --- */
.acc-register-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.acc-rstat { border: 2px solid #e5e7eb; border-radius: .75rem; background: #fff; padding: 1rem 1.25rem; }
.acc-rstat small { display: block; font-size: .875rem; font-weight: 500; color: #6b7280; margin-bottom: .6rem; }
.acc-rstat div { display: flex; align-items: center; gap: .75rem; }
.acc-rstat .bi { font-size: 1.9rem; color: #9ca3af; }
.acc-rstat strong { font-size: 1.85rem; font-weight: 700; color: #111827; }
.acc-rstat--orange { border-color: #fed7aa; background: #fff7ed; }
.acc-rstat--orange small, .acc-rstat--orange strong { color: #7c2d12; }
.acc-rstat--orange .bi { color: #ea580c; }
.acc-guest { display: flex; gap: 1rem; align-items: flex-start; justify-content: space-between; border: 2px solid #e5e7eb; border-radius: .75rem; background: #fff; padding: 1.5rem; margin-bottom: 1rem; transition: box-shadow .15s; }
.acc-guest:hover { box-shadow: 0 4px 12px -2px rgba(0, 0, 0, .12); }
.acc-guest--history { border-width: 1px; padding: 1rem; margin-bottom: .75rem; }
.acc-guest__main { flex: 1 1 auto; min-width: 0; }
.acc-guest__head { display: flex; align-items: center; gap: .75rem; margin-bottom: .75rem; }
.acc-guest__avatar { width: 3rem; height: 3rem; flex: 0 0 3rem; border-radius: 50%; display: grid; place-items: center; background: #ffedd5; color: #c2410c; font-weight: 600; font-size: 1.1rem; }
.acc-guest__name { font-size: 1.1rem; font-weight: 700; color: #111827; text-decoration: none; }
.acc-guest__company { font-size: .875rem; color: #6b7280; }
.acc-guest__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0 0 .75rem; }
.acc-guest__fields--3 { grid-template-columns: repeat(3, minmax(0, 8rem)); margin-top: .75rem; }
.acc-guest__fields dt { font-size: .85rem; font-weight: 400; color: #6b7280; }
.acc-guest--history .acc-guest__fields dt { font-size: .75rem; }
.acc-guest__fields dd { margin: 0; font-weight: 600; }
.acc-guest__files { display: flex; gap: .75rem; margin-top: 1rem; }
.acc-guest__icons { display: flex; gap: .5rem; }
.acc-guest__icons form { margin: 0; }
.acc-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.acc-empty-card { border: 2px solid #e5e7eb; border-radius: .75rem; background: #fff; padding: 3rem 1rem; text-align: center; color: #6b7280; }
.acc-empty-card .bi { display: block; font-size: 4rem; color: #d1d5db; margin-bottom: 1rem; }

/* --- Registro Ingressi (telefono) --- */
.hub-grad--blue-purple { background: linear-gradient(90deg, #2563eb, #9333ea); }
.acc-mlist { display: flex; flex-direction: column; gap: 1rem; padding-bottom: 7rem; }
.acc-mguest { background: #fff; border: 1px solid #ffedd5; border-radius: 1.5rem; padding: 1.25rem; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1); }
.acc-mguest--history { border-color: #f3f4f6; border-radius: 1rem; padding: 1rem; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .08); }
.acc-mguest__head { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.acc-mguest__avatar { position: relative; width: 4rem; height: 4rem; flex: 0 0 4rem; border-radius: 1rem; display: grid; place-items: center; color: #fff; font-weight: 900; font-size: 1.5rem; background: linear-gradient(135deg, #fb923c, #f97316, #ef4444); box-shadow: 0 6px 12px -4px rgba(0, 0, 0, .25); }
.acc-mguest__avatar--gray { width: 3rem; height: 3rem; flex-basis: 3rem; border-radius: .75rem; font-size: 1rem; background: linear-gradient(135deg, #d1d5db, #9ca3af); }
.acc-mguest__dot { position: absolute; right: -.25rem; bottom: -.25rem; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: #22c55e; border: 4px solid #fff; animation: acc-pulse 2s ease-in-out infinite; }
@keyframes acc-pulse { 50% { opacity: .5; } }
.acc-mguest__name { display: block; font-weight: 900; font-size: 1.1rem; color: #111827; text-decoration: none; line-height: 1.2; overflow-wrap: anywhere; }
.acc-mguest--history .acc-mguest__name { font-size: .875rem; }
.acc-mguest__company { font-size: .75rem; font-weight: 600; color: #6b7280; margin-top: .3rem; }
.acc-mguest__boxes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.acc-mguest__boxes--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin-bottom: .75rem; }
.acc-mbox { border-radius: 1rem; padding: .85rem; border: 1px solid; min-width: 0; }
.acc-mguest__boxes--3 .acc-mbox { border-radius: .75rem; padding: .6rem; text-align: center; }
.acc-mbox small { display: block; font-size: .62rem; font-weight: 900; margin-bottom: .25rem; }
.acc-mbox strong { display: block; font-size: 1.1rem; font-weight: 900; }
.acc-mguest__boxes--3 .acc-mbox strong { font-size: .875rem; }
.acc-mbox span { display: block; font-size: .62rem; font-weight: 600; }
.acc-mbox p { margin: 0; font-size: .85rem; font-weight: 700; line-height: 1.25; }
.acc-mbox--blue { background: linear-gradient(135deg, #eff6ff, #dbeafe); border-color: #bfdbfe; color: #1e3a8a; }
.acc-mbox--blue small { color: #2563eb; }
.acc-mbox--purple { background: linear-gradient(135deg, #faf5ff, #f3e8ff); border-color: #e9d5ff; color: #581c87; }
.acc-mbox--purple small { color: #9333ea; }
.acc-mbox--gray { background: #f9fafb; border-color: #f9fafb; color: #111827; }
.acc-mbox--gray small { color: #6b7280; }
.acc-mbox--green { background: #f0fdf4; border-color: #bbf7d0; color: #15803d; }
.acc-mbox--green small { color: #16a34a; }
.acc-mbox--red { background: #fef2f2; border-color: #fecaca; color: #b91c1c; }
.acc-mbox--red small { color: #dc2626; }
.acc-mguest__actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.acc-mguest__actions form { margin: 0; grid-column: -2; }
.acc-mguest__pair { display: flex; gap: .5rem; }
.acc-mbtn { width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; border: 0; border-radius: 1rem; padding: .85rem .25rem; background: #f3f4f6; color: #374151; text-decoration: none; }
.acc-mbtn .bi { font-size: 1.2rem; }
.acc-mbtn span { font-size: .58rem; font-weight: 900; }
.acc-mbtn--green { background: linear-gradient(90deg, #22c55e, #16a34a); color: #fff; box-shadow: 0 10px 15px -3px rgba(22, 163, 74, .3); }
.acc-mbtn--row { flex: 1 1 0; border-radius: .75rem; padding: .6rem; font-size: .75rem; font-weight: 900; background: linear-gradient(90deg, #f3f4f6, #e5e7eb); }
.acc-mtrash { border: 0; background: transparent; color: #ef4444; padding: .5rem; border-radius: .75rem; }
.acc-mempty { padding: 4rem 0; text-align: center; color: #9ca3af; }
.acc-mempty span { width: 6rem; height: 6rem; margin: 0 auto 1rem; border-radius: 50%; display: grid; place-items: center; font-size: 3rem; background: linear-gradient(135deg, #f3f4f6, #e5e7eb); }
.acc-mempty strong { display: block; font-size: 1.1rem; }
.acc-mempty small { display: block; margin-top: .25rem; }
@media (max-width: 767.98px) {
  .app-content:has(.acc-mlist) { background: linear-gradient(135deg, #eff6ff, #fff, #faf5ff); }
  .hub-pills a.active { color: #fff; background: linear-gradient(90deg, #f97316, #ea580c); }
  .hub-pills a.active[href*="tab=history"] { background: linear-gradient(90deg, #374151, #1f2937); }
}

/* --- Registra Nuovo Ingresso / Nuovo Ospite --- */
.acc-photo { display: flex; flex-direction: column; align-items: center; gap: .25rem; border: 2px dashed #fdba74; border-radius: 1rem; background: #fff7ed; color: #c2410c; padding: 1rem; cursor: pointer; text-align: center; }
.acc-photo .bi { font-size: 1.75rem; }
.acc-photo strong { font-size: .8rem; font-weight: 900; }
.acc-photo small { font-size: .72rem; color: #9a3412; overflow-wrap: anywhere; }
.acc-photo.is-done { border-style: solid; border-color: #86efac; background: #f0fdf4; color: #15803d; }
.acc-photo.is-done small { color: #166534; }
.acc-photo__input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.acc-signature { border: 1px solid #fde68a; background: linear-gradient(135deg, #fefce8, #fff7ed); border-radius: 1rem; padding: 1rem; }
.acc-entry-bar { display: flex; justify-content: flex-end; gap: .5rem; border-top: 1px solid #e5e7eb; padding-top: 1rem; margin-top: 1rem; }
@media (max-width: 767.98px) {
  .acc-entry-form .acc-step { flex: 0 0 100%; max-width: 100%; position: relative; background: #fff; border-radius: 1.5rem; padding: 1rem 1rem 1.1rem; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .08); border: 1px solid #f3f4f6; }
  .acc-entry-form .acc-step > .form-label, .acc-entry-form .acc-step .acc-signature > .form-label { display: flex; align-items: center; gap: .5rem; font-size: .75rem; font-weight: 900; color: #6b7280; }
  .acc-entry-form .acc-step::before { content: attr(data-step); position: absolute; right: 1rem; top: 1rem; width: 1.5rem; height: 1.5rem; border-radius: .5rem; display: grid; place-items: center; font-size: .7rem; font-weight: 900; color: #fff; background: linear-gradient(135deg, #2563eb, #9333ea); }
  .acc-entry-form .row { --bs-gutter-y: .75rem; }
  .acc-entry-bar { position: sticky; bottom: 0; z-index: 1020; display: grid; grid-template-columns: 1fr 2fr; background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff 30%); border: 0; padding: .75rem 0; }
  .acc-entry-bar .btn { padding: .9rem; border-radius: 1rem; font-weight: 900; }
  .acc-entry-submit { background: linear-gradient(90deg, #2563eb, #9333ea); border: 0; }
}

/* --- DDT Scarichi (HubEcology) --- */
.acc-ddts { display: grid; gap: .75rem; }
.acc-ddt { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; border: 2px solid #e5e7eb; border-radius: .75rem; background: #fff; padding: 1rem; transition: box-shadow .15s; }
.acc-ddt:hover { box-shadow: 0 4px 12px -2px rgba(0, 0, 0, .12); }
.acc-ddt__icon { width: 3rem; height: 3rem; flex: 0 0 3rem; border-radius: .75rem; display: grid; place-items: center; background: #111827; color: #fff; font-size: 1.4rem; }
.acc-ddt__main { flex: 1 1 16rem; min-width: 0; }
.acc-ddt__number { font-weight: 700; font-size: 1.1rem; color: #111827; text-decoration: none; }
.acc-ddt__line { margin: .1rem 0 0; font-size: .875rem; color: #6b7280; overflow-wrap: anywhere; }
.acc-ddt__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.acc-ddt__actions form { margin: 0; }
.acc-ddt-empty { text-align: center; padding: 5rem 1rem; color: #9ca3af; }
.acc-ddt-empty .bi { display: block; font-size: 4rem; opacity: .3; margin-bottom: 1rem; }
.acc-box { border: 2px solid #e5e7eb; border-radius: .75rem; padding: 1rem; height: 100%; }
.acc-box__title { font-size: .85rem; font-weight: 700; color: #374151; margin-bottom: .75rem; }
.acc-lines__qty { width: 8rem; }
.acc-lines__um { width: 6rem; }
.acc-lines__x { width: 2rem; }

/* --- Self Declaration (HubEcology) --- */
.acc-sd-box { background: #fff; border: 2px solid #e5e7eb; border-radius: .75rem; padding: 1.25rem; }
.acc-sd-box__head { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.acc-sd-box__head h2 { font-size: 1.1rem; font-weight: 700; margin: 0; }
.acc-sd-list { display: grid; gap: .75rem; }
.acc-sd { display: flex; align-items: center; gap: 1rem; border: 1px solid #e5e7eb; border-radius: .75rem; padding: .9rem 1rem; }
.acc-sd:hover { background: #f9fafb; }
.acc-sd__icon { width: 3rem; height: 3rem; flex: 0 0 3rem; border-radius: .75rem; display: grid; place-items: center; background: #d1fae5; color: #047857; font-size: 1.4rem; }
.acc-sd__main { flex: 1 1 auto; min-width: 0; }
.acc-sd__site { font-weight: 700; color: #111827; text-decoration: none; }
.acc-sd__address { font-size: .85rem; color: #6b7280; }
.acc-sd__side { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .6rem; }
.acc-sd__meta { text-align: right; font-size: .78rem; color: #4b5563; }
.acc-sd-mlist { display: flex; flex-direction: column; gap: 1rem; }
.acc-sd-m { background: #fff; border: 1px solid #d1fae5; border-radius: 1.5rem; padding: 1.1rem; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .08); }
.acc-sd-m__head { display: flex; gap: .75rem; align-items: flex-start; margin-bottom: .75rem; }
.acc-sd-m__icon { width: 3rem; height: 3rem; flex: 0 0 3rem; border-radius: 1rem; display: grid; place-items: center; color: #fff; font-size: 1.3rem; }
.acc-sd-m__site { display: block; font-weight: 900; color: #111827; text-decoration: none; }
.acc-sd-m__ddt { font-size: .75rem; color: #6b7280; margin-bottom: .25rem; }
.acc-sd-m__view { display: flex; justify-content: center; gap: .4rem; border-radius: 1rem; padding: .8rem; font-size: .8rem; font-weight: 900; color: #fff; text-decoration: none; background: linear-gradient(90deg, #10b981, #059669); }
@media (max-width: 767.98px) {
  .app-content:has(.acc-sd-mlist) { background: linear-gradient(135deg, #ecfdf5, #f0fdfa); }
  .acc-sd-box { border: 0; background: transparent; padding: 0; }
}

/* --- Registro Merci (HubLEM) --- */
.acc-goods-toolbar { justify-content: flex-end; gap: .5rem; margin: -.5rem 0 1rem; }
.acc-btn-indigo { color: #4338ca; background: #fff; border: 2px solid #a5b4fc; font-weight: 600; }
.acc-btn-indigo:hover { color: #3730a3; background: #eef2ff; border-color: #818cf8; }
.acc-btn-indigo-solid { color: #fff; background: #4f46e5; border-color: #4f46e5; }
.acc-btn-indigo-solid:hover { color: #fff; background: #4338ca; border-color: #4338ca; }
.acc-btn-violet { color: #7e22ce; background: #faf5ff; border: 1px solid #e9d5ff; }
.acc-btn-violet:hover { color: #6b21a8; background: #f3e8ff; }
.acc-goods-stats .hub-stats { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.acc-goods-stats--7 .hub-stats { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.acc-goods-stats .hub-stat__value { font-size: 1.25rem; }
@media (max-width: 1199.98px) { .acc-goods-stats .hub-stats, .acc-goods-stats--7 .hub-stats { grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); } }
.acc-text-yellow { color: #a16207; }
.acc-subcats { background: #fff; border: 2px solid #e5e7eb; border-radius: .75rem; padding: 1.25rem; margin-bottom: 1.25rem; }
.acc-subcats__title { font-size: 1.05rem; font-weight: 700; margin-bottom: 1rem; }
.acc-subcats__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
@media (max-width: 991.98px) { .acc-subcats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.acc-subcat { border: 2px solid #bfdbfe; border-radius: .75rem; padding: .75rem; font-size: .8rem; }
.acc-subcat > strong { display: block; font-size: .9rem; margin-bottom: .4rem; }
.acc-subcat span { color: #6b7280; }
.acc-subcat__stock { border-top: 1px solid #e5e7eb; margin-top: .4rem; padding-top: .4rem; }
.acc-subcat__stock b { color: #1d4ed8; }
.acc-goods-filters { background: #fff; border: 2px solid #e5e7eb; border-radius: .75rem; padding: 1.1rem 1.25rem; margin-bottom: 1rem; }
.acc-goods-filters header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem; margin-bottom: .75rem; }
.acc-goods-filters h2 { font-size: 1rem; font-weight: 700; margin: 0; }
.acc-goods-filters__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: .75rem; align-items: end; }
.acc-goods-filters__grid > label { font-size: .8rem; font-weight: 500; color: #374151; display: flex; flex-direction: column; gap: .25rem; margin: 0; }
.acc-check { border-radius: .6rem; padding: .55rem .75rem .55rem 2.2rem; margin: 0; border: 1px solid; }
.acc-check--violet { background: #faf5ff; border-color: #e9d5ff; color: #6b21a8; }
.acc-check--blue { background: #eff6ff; border-color: #bfdbfe; color: #1e40af; }
.acc-goods-box { background: #fff; border: 2px solid #e5e7eb; border-radius: .75rem; padding: 1.25rem; }
.acc-goods-box__title { font-size: 1.1rem; font-weight: 700; margin-bottom: 1rem; }
.acc-goods-list { display: grid; gap: 1rem; }
.acc-goods { display: flex; gap: .75rem; align-items: flex-start; justify-content: space-between; border: 1px solid; border-radius: .75rem; padding: 1.5rem; }
.acc-goods--in { background: #f0fdf4; border-color: #bbf7d0; }
.acc-goods--out { background: #fff7ed; border-color: #fed7aa; }
.acc-goods.is-muted { opacity: .65; }
.acc-goods__main { flex: 1 1 auto; min-width: 0; }
.acc-goods__head { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.acc-goods__date { font-size: .875rem; color: #6b7280; text-decoration: none; }
.acc-goods__date:hover { text-decoration: underline; }
.acc-goods__photo { display: inline-flex; gap: .25rem; align-items: center; font-size: .875rem; color: #2563eb; text-decoration: none; }
.acc-goods__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.acc-goods__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: .75rem; }
.acc-goods__grid small { display: block; font-size: .85rem; color: #6b7280; }
.acc-goods__grid strong { font-size: 1.1rem; font-weight: 600; }
.acc-goods__grid span { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }
.acc-goods__observed { color: #2563eb; font-size: 1.25rem !important; }
.acc-goods__out { border-top: 1px solid rgba(0, 0, 0, .1); padding-top: 1rem; }
.acc-goods__route { background: #ffedd5; border: 1px solid #fdba74; border-radius: .5rem; padding: .75rem; }
.acc-goods__route > small { display: block; font-size: .72rem; font-weight: 600; color: #c2410c; margin-bottom: .5rem; }
.acc-goods__route .acc-goods__grid { margin: 0; }
.acc-goods__route .acc-goods__grid small { color: #c2410c; font-size: .75rem; }
.acc-goods__route strong { color: #7c2d12; font-size: 1.25rem; font-weight: 700; }
.acc-goods__actions { display: flex; flex-shrink: 0; gap: .5rem; }
.acc-goods__actions form { margin: 0; }
@media (max-width: 767.98px) {
  .acc-goods { flex-direction: column; padding: 1rem; border-radius: 1.25rem; }
  .acc-goods__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
  .acc-goods__grid strong { font-size: .9rem; }
  .acc-goods-box { border: 0; padding: 0; background: transparent; }
  .app-content:has(.acc-goods-list) { background: linear-gradient(135deg, #ecfdf5, #fff, #f0fdfa); }
}
.acc-pager { display: flex; align-items: center; justify-content: center; gap: .75rem; margin-top: 1.25rem; font-size: .875rem; }
.acc-stats-table__day td { background: #fef9c3 !important; font-weight: 700; }

/* --- Modulo movimento --- */
.acc-gstep { border: 1px solid #e5e7eb; border-radius: .9rem; padding: 1rem 1.1rem; margin-bottom: 1rem; background: #fff; }
.acc-gstep__title { font-size: .95rem; font-weight: 700; margin-bottom: .75rem; }
.acc-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.acc-tile { position: relative; display: flex; flex-direction: column; align-items: center; gap: .35rem; padding: 1.1rem; border: 2px solid #e5e7eb; border-radius: 1rem; cursor: pointer; font-weight: 900; color: #6b7280; }
.acc-tile input { position: absolute; opacity: 0; pointer-events: none; }
.acc-tile .bi { font-size: 1.75rem; }
.acc-tile--green:has(input:checked) { border-color: #22c55e; background: #f0fdf4; color: #15803d; }
.acc-tile--orange:has(input:checked) { border-color: #f97316; background: #fff7ed; color: #c2410c; }
.acc-tile:has(input:disabled) { cursor: default; }
.acc-tile:has(input:focus-visible) { outline: 2px solid #2563eb; outline-offset: 2px; }
.acc-radios { display: flex; gap: .75rem; flex-wrap: wrap; }
.acc-radio { display: flex; align-items: center; gap: .5rem; border: 2px solid #e5e7eb; border-radius: .75rem; padding: .55rem 1rem; font-weight: 700; cursor: pointer; }
.acc-radio--blue:has(input:checked) { border-color: #3b82f6; background: #eff6ff; color: #1d4ed8; }
.acc-radio--purple:has(input:checked) { border-color: #a855f7; background: #faf5ff; color: #7e22ce; }
.acc-goods-bar { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; border-top: 1px solid #e5e7eb; padding-top: 1rem; }
@media (max-width: 767.98px) {
  .acc-gstep { position: relative; border-radius: 1.5rem; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .08); border-color: #f3f4f6; }
  .acc-gstep__title { font-size: .75rem; font-weight: 900; color: #6b7280; padding-right: 2rem; }
  .acc-gstep::before { content: attr(data-step); position: absolute; right: 1rem; top: .9rem; width: 1.5rem; height: 1.5rem; border-radius: .5rem; display: grid; place-items: center; font-size: .7rem; font-weight: 900; color: #fff; background: linear-gradient(135deg, #059669, #0d9488); }
  .acc-goods-bar { position: sticky; bottom: 0; z-index: 1020; display: grid; grid-template-columns: 1fr 1fr 2fr; background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff 30%); border: 0; padding: .75rem 0; }
  .acc-goods-bar .btn { padding: .9rem .5rem; border-radius: 1rem; font-weight: 900; }
}

/* DDT UCO come HubEcology (ADR-268, blocco 2) */
.uco-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 1rem; padding: 1.25rem; box-shadow: 0 1px 2px rgba(15, 23, 42, .05); }
.uco-card--conferito { background: #f0fdf4; border-color: #86efac; }
.uco-driver-totals > summary { cursor: pointer; list-style: none; }
.uco-driver-totals > summary::-webkit-details-marker { display: none; }
.uco-new__section { border: 1px solid #fde68a; border-radius: 1rem; background: #fff; padding: 1rem; margin-bottom: 1rem; }
.uco-new__section h2 { font-size: .85rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #92400e; }
.uco-new__rate { background: #ecfdf5; border: 1px solid #a7f3d0; border-radius: .75rem; padding: .5rem .75rem; font-weight: 700; color: #065f46; }
.uco-sign { font-family: "Dancing Script", "Segoe Script", "Brush Script MT", cursive; font-size: 1.5rem; }
