
/* -------------------------------------------------------------------
   TUTORIAL GUIDATO � Spotlight + Balloon onboarding
   Ispirato a Linear / Intercom: minimal, professionale, zero librerie.
   z-index: 99000 (sopra tutto tranne i modali critici a 999999)
   ------------------------------------------------------------------- */

/* -- Curtain divs: 4 pannelli semi-opachi attorno al target ------- */
.tutorial-curtain {
    position: fixed;
    background: rgba(0, 0, 0, 0.58);
    z-index: 99000;
    pointer-events: auto;
    transition: top 0.28s ease, left 0.28s ease,
                width 0.28s ease, height 0.28s ease,
                right 0.28s ease, bottom 0.28s ease;
}

/* -- Highlight: bordo luminoso sopra il target ------------------- */
.tutorial-highlight {
    position: fixed;
    z-index: 99001;
    pointer-events: none;
    border-radius: 10px;
    box-shadow:
        0 0 0 2px rgba(255,255,255,0.9),
        0 0 0 5px rgba(255,255,255,0.15),
        0 0 24px 4px rgba(255,255,255,0.08);
    transition: left 0.28s ease, top 0.28s ease,
                width 0.28s ease, height 0.28s ease;
    animation: tutorialPulse 2.2s ease-in-out infinite;
}
@keyframes tutorialPulse {
    0%, 100% { box-shadow: 0 0 0 2px rgba(255,255,255,0.9), 0 0 0 5px rgba(255,255,255,0.15), 0 0 24px 4px rgba(255,255,255,0.08); }
    50%       { box-shadow: 0 0 0 2px rgba(255,255,255,1),   0 0 0 9px rgba(255,255,255,0.10), 0 0 32px 8px rgba(255,255,255,0.12); }
}

/* -- Balloon: la card con titolo, testo e pulsanti --------------- */
.tutorial-balloon {
    position: fixed;
    z-index: 99100;
    width: 320px;
    max-width: calc(100vw - 32px);
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.22), 0 2px 8px rgba(0,0,0,0.10);
    padding: 20px 20px 16px;
    animation: modalSpring 0.28s cubic-bezier(0.22, 1, 0.36, 1) both;
    transition: left 0.28s ease, top 0.28s ease;
}

/* Variante centrata (welcome/completamento): centrata nel viewport */
.tutorial-balloon-centrato {
    position: fixed;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%);
    width: 360px;
    text-align: center;
}

/* -- Progress dots ----------------------------------------------- */
.tutorial-progress-dots {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-bottom: 14px;
}
.tutorial-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    transition: background 0.2s, transform 0.2s;
}
.tutorial-dot-active {
    background: #242424;
    transform: scale(1.3);
}
.tutorial-dot-done {
    background: #c4c8cc;
}
.tutorial-dot-todo {
    background: #e5e7eb;
}

/* -- Contenuto testuale ------------------------------------------- */
.tutorial-balloon-body {
    margin-bottom: 18px;
}
.tutorial-titolo {
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 7px;
    line-height: 1.3;
}
.tutorial-corpo {
    font-size: 13.5px;
    color: #475569;
    line-height: 1.6;
}

/* -- Pulsanti azioni ---------------------------------------------- */
.tutorial-azioni {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.tutorial-azioni-destra {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}
.tutorial-btn-primary {
    background: #242424;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.18s, transform 0.14s;
    white-space: nowrap;
}
.tutorial-btn-primary:hover {
    background: #3a3a3a;
    transform: translateY(-1px);
}
.tutorial-btn-ghost {
    background: transparent;
    color: #64748b;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: border-color 0.18s, color 0.18s;
    white-space: nowrap;
}
.tutorial-btn-ghost:hover {
    border-color: #94a3b8;
    color: #0f172a;
}
.tutorial-btn-skip {
    background: transparent;
    color: #94a3b8;
    border: none;
    padding: 8px 6px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: color 0.18s;
    white-space: nowrap;
}
.tutorial-btn-skip:hover {
    color: #64748b;
}

/* -- Link "Salta il tutorial" in fondo ---------------------------- */
.tutorial-skip-tutto {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid #f1f5f9;
    text-align: center;
}
.tutorial-skip-tutto button {
    background: none;
    border: none;
    font-size: 11.5px;
    color: #b0b8c1;
    cursor: pointer;
    padding: 0;
    transition: color 0.18s;
}
.tutorial-skip-tutto button:hover {
    color: #64748b;
    text-decoration: underline;
}

/* -- Voce menu sidebar "Guida rapida" ----------------------------- */
.menu-item-guida {
    border-top: 1px solid rgba(255,255,255,0.07);
    margin-top: 4px;
    opacity: 0.75;
}
.menu-item-guida:hover {
    opacity: 1;
}

/* -- Responsive mobile -------------------------------------------- */
@media (max-width: 768px) {
    .tutorial-balloon {
        width: calc(100vw - 32px);
        max-width: 360px;
    }
    .tutorial-balloon-centrato {
        width: calc(100vw - 48px);
    }
}

/* ═══════════════════════════════════════════════════════════════
   TRIAL — Banner countdown e overlay scaduto
   Palette coerente con la PWA: dark #242424, accenti neutrali.
   ═══════════════════════════════════════════════════════════════ */

/* ── Banner trial attivo (sticky top) ─────────────────────────── */
.trial-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    background: #1e293b;
    color: #e2e8f0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    position: relative;
    z-index: 9000;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    animation: trialBannerEntrata 0.35s ease;
}

.trial-banner--urgente {
    background: #7c2d12;
    border-bottom-color: rgba(255,255,255,0.1);
}

.trial-banner--uscita {
    animation: trialBannerUscita 0.3s ease forwards;
}

@keyframes trialBannerEntrata {
    from { opacity: 0; transform: translateY(-100%); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes trialBannerUscita {
    from { opacity: 1; transform: translateY(0); }
    to   { opacity: 0; transform: translateY(-100%); }
}

.trial-banner__icona {
    flex-shrink: 0;
    font-size: 15px;
}

.trial-banner__testo {
    flex: 1;
}

.trial-banner__testo strong {
    color: #f8fafc;
}

.trial-banner__link {
    color: #60a5fa;
    text-decoration: none;
    margin-left: 8px;
    font-weight: 500;
    white-space: nowrap;
}

.trial-banner__link:hover {
    color: #93c5fd;
    text-decoration: underline;
}

.trial-banner__chiudi {
    background: none;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    font-size: 14px;
    padding: 4px 6px;
    border-radius: 4px;
    line-height: 1;
    flex-shrink: 0;
    transition: color 0.15s, background 0.15s;
}

.trial-banner__chiudi:hover {
    color: #e2e8f0;
    background: rgba(255,255,255,0.08);
}

/* ── Overlay trial scaduto (fullscreen, non bypassabile) ───────── */
.trial-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(15, 23, 42, 0.92);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    overflow-y: auto;
    animation: trialOverlayEntrata 0.4s ease;
}

@keyframes trialOverlayEntrata {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.trial-overlay__card {
    background: #ffffff;
    border-radius: 16px;
    padding: 40px 36px 32px;
    max-width: 720px;
    width: 100%;
    box-shadow: 0 24px 80px rgba(0,0,0,0.5);
    text-align: center;
}

.trial-overlay__card--operatore {
    max-width: 480px;
    padding: 48px 36px;
}

.trial-overlay__logo {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #94a3b8;
    margin-bottom: 20px;
}

.trial-overlay__titolo {
    font-size: 22px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 10px;
    line-height: 1.3;
}

.trial-overlay__sottotitolo {
    font-size: 14px;
    color: #64748b;
    margin: 0 0 28px;
    line-height: 1.6;
}

/* ── Piani pricing dentro l'overlay ─────────────────────────────── */
.trial-overlay__piani {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-bottom: 24px;
}

.trial-piano {
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px 20px 20px;
    flex: 1;
    max-width: 240px;
    text-align: left;
    position: relative;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.trial-piano:hover {
    border-color: #94a3b8;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

.trial-piano--pro {
    background: #242424;
    border-color: #242424;
    color: #f8fafc;
}

.trial-piano--pro:hover {
    border-color: #3f3f3f;
    box-shadow: 0 4px 20px rgba(0,0,0,0.25);
}

.trial-piano__badge {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    background: #3b82f6;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 99px;
    white-space: nowrap;
}

.trial-piano__nome {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #94a3b8;
    margin-bottom: 8px;
}

.trial-piano--pro .trial-piano__nome {
    color: #94a3b8;
}

.trial-piano__prezzo {
    margin-bottom: 16px;
}

.trial-piano__cifra {
    font-size: 30px;
    font-weight: 700;
    color: #0f172a;
}

.trial-piano--pro .trial-piano__cifra {
    color: #f8fafc;
}

.trial-piano__periodo {
    font-size: 13px;
    color: #64748b;
}

.trial-piano--pro .trial-piano__periodo {
    color: #94a3b8;
}

.trial-piano__features {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 13px;
    color: #475569;
}

.trial-piano__features li::before {
    content: '✓  ';
    color: #22c55e;
    font-weight: 700;
}

.trial-piano--pro .trial-piano__features {
    color: #cbd5e1;
}

.trial-piano__cta {
    display: block;
    width: 100%;
    text-align: center;
    padding: 10px 0;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    background: #f1f5f9;
    color: #0f172a;
    border: 1.5px solid #e2e8f0;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}

.trial-piano__cta:hover {
    background: #e2e8f0;
    border-color: #cbd5e1;
}

.trial-piano__cta--pro {
    background: #ffffff;
    color: #0f172a;
    border-color: transparent;
}

.trial-piano__cta--pro:hover {
    background: #f8fafc;
}

/* ── Footer overlay ─────────────────────────────────────────────── */
.trial-overlay__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 13px;
    color: #94a3b8;
    flex-wrap: wrap;
}

.trial-overlay__link-contatti {
    color: #3b82f6;
    text-decoration: none;
    font-weight: 500;
}

.trial-overlay__link-contatti:hover {
    text-decoration: underline;
}

.trial-overlay__divider {
    opacity: 0.4;
}

.trial-overlay__btn-preview {
    background: none;
    border: none;
    color: #94a3b8;
    font-size: 12px;
    cursor: pointer;
    padding: 2px 4px;
    border-radius: 4px;
    transition: color 0.15s;
}

.trial-overlay__btn-preview:hover {
    color: #475569;
    text-decoration: underline;
}

/* ── Vista operatore bloccato ────────────────────────────────────── */
.trial-overlay__info-operatore {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px 20px;
    font-size: 13px;
    color: #475569;
    margin-top: 8px;
}

.trial-overlay__info-operatore strong {
    color: #0f172a;
}

/* ── Responsive mobile ───────────────────────────────────────────── */
@media (max-width: 640px) {
    .trial-overlay__piani {
        flex-direction: column;
        align-items: center;
    }

    .trial-piano {
        max-width: 100%;
        width: 100%;
    }

    .trial-overlay__card {
        padding: 28px 20px 24px;
    }

    .trial-banner {
        font-size: 12px;
        padding: 10px 12px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   ADMIN TEMPLATE — Overlay PIN numpad
   ═══════════════════════════════════════════════════════════════ */

.admin-pin-overlay {
    position: fixed;
    inset: 0;
    z-index: 300000;
    background: #0f172a;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    animation: adminPinEntrata 0.3s ease;
}

@keyframes adminPinEntrata {
    from { opacity: 0; transform: scale(0.96); }
    to   { opacity: 1; transform: scale(1); }
}

.admin-pin-card {
    background: #1e293b;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 20px;
    padding: 36px 32px 28px;
    width: 100%;
    max-width: 320px;
    text-align: center;
    box-shadow: 0 32px 80px rgba(0,0,0,0.6);
}

.admin-pin-card--shake {
    animation: adminPinShake 0.4s ease;
}

@keyframes adminPinShake {
    0%,100% { transform: translateX(0); }
    20%      { transform: translateX(-8px); }
    40%      { transform: translateX(8px); }
    60%      { transform: translateX(-6px); }
    80%      { transform: translateX(6px); }
}

.admin-pin-logo {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #475569;
    margin-bottom: 20px;
}

.admin-pin-titolo {
    font-size: 17px;
    font-weight: 700;
    color: #f1f5f9;
    margin-bottom: 6px;
}

.admin-pin-sottotitolo {
    font-size: 13px;
    color: #64748b;
    margin-bottom: 28px;
}

/* ── 4 pallini display PIN ─────────────────────────────── */
.admin-pin-display {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-bottom: 12px;
}

.admin-pin-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 2px solid #475569;
    background: transparent;
    transition: background 0.15s, border-color 0.15s, transform 0.1s;
}

.admin-pin-dot--pieno {
    background: #f1f5f9;
    border-color: #f1f5f9;
    transform: scale(1.1);
}

/* ── Messaggio errore ──────────────────────────────────── */
.admin-pin-errore {
    font-size: 12px;
    color: #f87171;
    min-height: 18px;
    margin-bottom: 20px;
    transition: opacity 0.2s;
}

/* ── Numpad 3x4 ────────────────────────────────────────── */
.admin-pin-numpad {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 20px;
    transition: opacity 0.3s;
}

.admin-pin-tasto {
    background: #273548;
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 12px;
    color: #e2e8f0;
    font-size: 20px;
    font-weight: 600;
    height: 58px;
    cursor: pointer;
    transition: background 0.12s, transform 0.08s;
    user-select: none;
}

.admin-pin-tasto:hover {
    background: #334155;
}

.admin-pin-tasto:active {
    background: #3b4f68;
    transform: scale(0.94);
}

.admin-pin-tasto--canc {
    font-size: 18px;
    color: #94a3b8;
}

.admin-pin-tasto--ok {
    background: #334155;
    color: #fff;
    font-size: 22px;
}

.admin-pin-tasto--ok:hover {
    background: #475569;
}

/* ── Footer ────────────────────────────────────────────── */
.admin-pin-footer {
    font-size: 11px;
    color: #64748b;
    line-height: 1.5;
}

@media (max-width: 400px) {
    .admin-pin-card { padding: 28px 20px 24px; }
    .admin-pin-tasto { height: 52px; font-size: 18px; }
}

/* ═══════════════════════════════════════════════════════════════
   DEMO SANDBOX — Pill timer sessione (basso destra, non copre UI)
   ═══════════════════════════════════════════════════════════════ */

.demo-timer-banner {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9000;
    background: #1e293b;
    color: #f1f5f9;
    font-size: 12px;
    font-weight: 500;
    padding: 8px 12px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.25);
    transition: background 0.4s, opacity 0.3s;
    white-space: nowrap;
    pointer-events: auto;
}

/* Versione mobile: più piccola e spostata leggermente in alto */
@media (max-width: 600px) {
    .demo-timer-banner {
        bottom: 72px; /* sopra la bottom-nav mobile se presente */
        right: 12px;
        font-size: 11px;
        padding: 6px 10px;
    }
}

.demo-timer-banner--urgente {
    background: #b91c1c;
    animation: demoBannerPulse 1.5s ease infinite;
}

@keyframes demoBannerPulse {
    0%,100% { opacity: 1; }
    50%      { opacity: 0.85; }
}

.demo-timer-testo {
    color: #cbd5e1;
    font-size: 12px;
}

.demo-timer-testo strong {
    color: #f1f5f9;
    font-weight: 700;
}

.demo-timer-cta {
    background: rgba(255,255,255,0.12);
    color: #e2e8f0;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 999px;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s;
    white-space: nowrap;
}

.demo-timer-cta:hover {
    background: rgba(255,255,255,0.22);
    color: #fff;
}

/* Rimosso: .main-content.demo-banner-visible non più necessaria
   perché la pill è in basso a destra e non occupa spazio verticale */

/* ── Pulsante dismiss pill ── */
.demo-timer-dismiss {
    background: transparent;
    border: none;
    color: rgba(255,255,255,0.5);
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
    padding: 0 2px;
    flex-shrink: 0;
}
.demo-timer-dismiss:hover { color: #fff; }

/* ================================================================
   CONSOLE DI CONTROLLO PROD (super admin)
   Stile coerente con il resto dell'app: palette #242424, bordi
   sottili, badge arancioni, tabella e filtri chip.
   ================================================================ */

/* ── Container principale ─────────────────────────────────────── */
.console-prod-wrap {
    padding: 24px 20px 48px;
    max-width: 900px;
    margin: 0 auto;
}

/* ── Header ───────────────────────────────────────────────────── */
.console-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 24px;
}
.console-title {
    font-size: 1.4rem;
    font-weight: 700;
    color: #111;
    margin: 0 0 4px;
}
.console-subtitle {
    font-size: 0.82rem;
    color: #9ca3af;
    margin: 0;
}

/* ── Tab bar ──────────────────────────────────────────────────── */
.console-tabs {
    display: flex;
    gap: 4px;
    border-bottom: 2px solid #e5e7eb;
    margin-bottom: 24px;
}
.console-tab {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    padding: 8px 18px;
    font-size: 0.9rem;
    font-weight: 500;
    color: #6b7280;
    cursor: pointer;
    border-radius: 6px 6px 0 0;
    transition: color .15s, border-color .15s;
    display: flex;
    align-items: center;
    gap: 6px;
}
.console-tab:hover { color: #111; }
.console-tab.active {
    color: #111;
    border-bottom-color: #242424;
    font-weight: 700;
}
.console-badge-tab {
    background: #f97316;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    border-radius: 9px;
    padding: 1px 6px;
    min-width: 18px;
    text-align: center;
}

/* ── Filtri chip ──────────────────────────────────────────────── */
.console-filtri {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
.console-filtro-btn {
    background: #f3f4f6;
    border: 1.5px solid #e5e7eb;
    border-radius: 20px;
    padding: 4px 14px;
    font-size: 0.81rem;
    color: #374151;
    cursor: pointer;
    font-weight: 500;
    transition: background .15s, border-color .15s, color .15s;
}
.console-filtro-btn:hover { background: #e5e7eb; }
.console-filtro-btn.active {
    background: #242424;
    border-color: #242424;
    color: #fff;
}

/* ── Cards lista richieste ────────────────────────────────────── */
.console-cards-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.console-card {
    background: #fff;
    border: 1.5px solid #e5e7eb;
    border-radius: 12px;
    padding: 18px 20px;
    transition: box-shadow .15s;
}
.console-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.07); }

.console-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    gap: 12px;
    flex-wrap: wrap;
}
.console-card-head-left {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.console-card-azienda {
    font-size: 1.05rem;
    font-weight: 700;
    color: #111;
}
.console-card-data {
    font-size: 0.79rem;
    color: #9ca3af;
    white-space: nowrap;
}

/* ── Badge stato richiesta ────────────────────────────────────── */
.console-stato-badge {
    font-size: 0.75rem;
    font-weight: 700;
    border-radius: 20px;
    padding: 2px 10px;
}
.stato-pending   { background: #fff7ed; color: #f97316; border: 1px solid #fed7aa; }
.stato-approvata { background: #f0fdf4; color: #16a34a; border: 1px solid #bbf7d0; }
.stato-ignorata  { background: #f9fafb; color: #9ca3af; border: 1px solid #e5e7eb; }

/* ── Campi della card ─────────────────────────────────────────── */
.console-card-fields {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 8px 20px;
    margin-bottom: 14px;
}
.console-field {
    font-size: 0.83rem;
    color: #374151;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.console-field-lbl {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #9ca3af;
    font-weight: 600;
}
.console-field-note {
    grid-column: 1 / -1;
}
.console-link {
    color: #2563eb;
    text-decoration: none;
}
.console-link:hover { text-decoration: underline; }

/* ── Azioni card ──────────────────────────────────────────────── */
.console-card-actions {
    display: flex;
    gap: 10px;
    padding-top: 12px;
    border-top: 1px solid #f3f4f6;
    flex-wrap: wrap;
}
.btn-console-approva,
.btn-console-ignora {
    padding: 6px 18px;
    border-radius: 8px;
    font-size: 0.84rem;
    font-weight: 600;
    cursor: pointer;
    border: 1.5px solid transparent;
    transition: background .15s, color .15s;
}
.btn-console-approva {
    background: #242424;
    color: #fff;
    border-color: #242424;
}
.btn-console-approva:hover { background: #111; }
.btn-console-ignora {
    background: #fff;
    color: #6b7280;
    border-color: #e5e7eb;
}
.btn-console-ignora:hover { background: #f3f4f6; color: #374151; }

/* ── Tabella Clienti ──────────────────────────────────────────── */
.console-table-wrap {
    overflow-x: auto;
    border-radius: 10px;
    border: 1.5px solid #e5e7eb;
}
.console-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.86rem;
}
.console-table thead tr {
    background: #f9fafb;
    border-bottom: 1.5px solid #e5e7eb;
}
.console-table th {
    text-align: left;
    padding: 10px 16px;
    font-weight: 600;
    color: #6b7280;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.console-table td {
    padding: 12px 16px;
    color: #374151;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: middle;
}
.console-table tbody tr:last-child td { border-bottom: none; }
.console-table tbody tr:hover td { background: #f9fafb; }
.console-td-nome { font-weight: 600; color: #111; }

/* ── Badge piano ──────────────────────────────────────────────── */
.console-piano-badge {
    font-size: 0.75rem;
    font-weight: 700;
    border-radius: 6px;
    padding: 2px 8px;
    text-transform: capitalize;
}
.piano-starter   { background: #f0fdf4; color: #16a34a; }
.piano-pro       { background: #eff6ff; color: #2563eb; }
.piano-enterprise{ background: #faf5ff; color: #7c3aed; }
.piano-demo      { background: #f9fafb; color: #9ca3af; }

/* ── Tenant ID copiabile ──────────────────────────────────────── */
.console-tenant-id {
    font-family: monospace;
    font-size: 0.82rem;
    background: #f3f4f6;
    padding: 2px 6px;
    border-radius: 4px;
    cursor: pointer;
    color: #374151;
    transition: background .15s;
}
.console-tenant-id:hover { background: #e5e7eb; }



/* Manuali — redesign visivo pagina, modali e viewer */
.manuali-page {
    width: 100%;
    min-width: 0;
}

.manuali-shell {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    min-width: 0;
}

.manuali-toolbar {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    width: 100%;
}

.manuali-hero {
    position: relative;
    overflow: hidden;
    padding: 22px 24px;
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,0.08);
    background:
        radial-gradient(circle at top right, rgba(255,255,255,0.12), transparent 34%),
        radial-gradient(circle at bottom left, rgba(255,255,255,0.08), transparent 38%),
        linear-gradient(135deg, #111111 0%, #26221d 100%);
    box-shadow: 0 18px 40px rgba(17,17,17,0.14);
    color: #ffffff;
}

.manuali-hero-head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
}

.manuali-hero-copy {
    min-width: 0;
}

.manuali-kicker,
.manuali-section-kicker {
    display: block;
    margin-bottom: 6px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.manuali-kicker {
    color: rgba(255,255,255,0.65);
}

.manuali-title {
    margin: 0;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -0.02em;
}

.manuali-subtitle {
    margin: 10px 0 0;
    max-width: 54ch;
    color: rgba(255,255,255,0.78);
    font-size: 0.95rem;
    line-height: 1.55;
}

.manuali-toolbar-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.manuali-toolbar-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.14);
    color: #ffffff;
    font-size: 0.76rem;
    font-weight: 800;
    white-space: nowrap;
}

.manuali-toolbar-chip i {
    color: rgba(255,255,255,0.72);
    font-size: 0.76rem;
}

.manuali-toolbar-updated {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 12px;
    color: rgba(255,255,255,0.72);
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.3;
}

.manuali-toolbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    min-width: 0;
    max-width: 340px;
}

.manuali-toolbar-btn {
    min-height: 46px;
    padding: 0 14px;
    border-radius: 16px;
    border: 1px solid transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 0.82rem;
    font-weight: 800;
    white-space: nowrap;
    box-shadow: 0 10px 20px rgba(17,17,17,0.18);
}

.manuali-toolbar-btn i {
    flex-shrink: 0;
}

.manuali-toolbar-btn-primary {
    background: #ffffff;
    color: #111111;
    border-color: #ffffff;
}

.manuali-toolbar-btn-primary:hover {
    background: #f3f4f6;
    color: #111111;
}

.manuali-toolbar-btn-soft {
    background: rgba(255,255,255,0.08);
    color: #ffffff;
    border-color: rgba(255,255,255,0.18);
}

.manuali-toolbar-btn-soft:hover {
    background: rgba(255,255,255,0.16);
    color: #ffffff;
}

.manuali-stats-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.manuali-stat-card {
    display: grid;
    gap: 6px;
    align-content: start;
    min-width: 0;
    padding: 16px 18px;
    border-radius: 20px;
    border: 1px solid rgba(17,17,17,0.08);
    background: linear-gradient(180deg, #ffffff 0%, #f3f0eb 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.85), 0 10px 22px rgba(17,17,17,0.06);
}

.manuali-stat-label {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #78716c;
}

.manuali-stat-value {
    font-size: 1.35rem;
    font-weight: 900;
    color: #0f172a;
}

.manuali-stat-note {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.45;
    color: #64748b;
}

.manuali-library-panel {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 20px;
    border-radius: 26px;
    border: 1px solid rgba(15,23,42,0.08);
    background: linear-gradient(180deg, #ffffff 0%, #f8f5ef 100%);
    box-shadow: 0 18px 40px rgba(15,23,42,0.06);
}

.manuali-library-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.manuali-library-head .manuali-section-kicker {
    margin-bottom: 4px;
    color: #78716c;
}

.manuali-section-title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 800;
    color: #0f172a;
}

.manuali-section-note {
    margin: 0;
    max-width: 38ch;
    text-align: right;
    color: #64748b;
    font-size: 0.9rem;
    line-height: 1.5;
}

.manuali-library-counter {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(15,23,42,0.06);
    color: #0f172a;
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

.manuali-grid,
.manuali-loading-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}

.manuali-card-surface {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    border-radius: 24px !important;
    border: 1px solid rgba(15,23,42,0.08) !important;
    background: linear-gradient(180deg, #ffffff 0%, #fdfcf8 100%) !important;
    box-shadow: 0 14px 30px rgba(15,23,42,0.08) !important;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.manuali-card-surface:hover {
    transform: translateY(-2px);
    border-color: rgba(15,23,42,0.14) !important;
    box-shadow: 0 18px 34px rgba(15,23,42,0.12) !important;
}

.manuali-card-surface:focus-visible {
    outline: 3px solid rgba(59,130,246,0.35);
    outline-offset: 3px;
}

.manuali-card-cover {
    position: relative;
    aspect-ratio: 16 / 11;
    flex: 0 0 auto;
    overflow: hidden;
    background: linear-gradient(135deg, #f3f0eb, #e7ded0);
}

.manuali-card-cover-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.manuali-card-cover-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at top left, rgba(255,255,255,0.8), transparent 58%),
        linear-gradient(135deg, #ede4d6, #d8cbc0);
    color: #475569;
    font-size: 2rem;
}

.manuali-card-cover-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 16px;
    background: linear-gradient(180deg, rgba(15,23,42,0.26) 0%, rgba(15,23,42,0) 52%, rgba(15,23,42,0.58) 100%);
}

.manuali-card-overlay-actions {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 8px;
    margin-left: auto;
}

.manuali-card-overlay-btn {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 12px;
    background: rgba(15,23,42,0.42);
    color: #ffffff;
    box-shadow: 0 12px 20px rgba(15,23,42,0.16);
    backdrop-filter: blur(8px);
}

.manuali-card-overlay-btn:hover {
    background: rgba(15,23,42,0.62);
    color: #ffffff;
}

.manuali-card-kicker {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.8);
}

.manuali-card-version {
    border-color: rgba(255,255,255,0.12) !important;
    background: rgba(255,255,255,0.14) !important;
    color: #ffffff !important;
}

.manuali-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 14px;
    padding: 18px;
    min-height: 0;
}

.manuali-card-heading {
    display: grid;
    gap: 6px;
    min-width: 0;
    min-height: 64px;
    align-content: start;
}

.manuali-card-title {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.25;
    color: #0f172a;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}

.manuali-card-category {
    margin: 6px 0 0;
    font-size: 0.88rem;
    color: #64748b;
}

.manuali-card-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    align-items: stretch;
}

.manuali-card-stat {
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border-radius: 16px;
    border: 1px solid rgba(15,23,42,0.06);
    background: #f5f4ef;
    min-height: 58px;
    align-content: start;
}

.manuali-card-stat-label {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #78716c;
}

.manuali-card-stat-value {
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
}

.manuali-card-meta {
    display: grid;
    gap: 6px;
    font-size: 0.8rem;
    color: #64748b;
    min-height: 40px;
    align-content: start;
}

.manuali-card-meta span {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.manuali-card-meta i {
    width: 14px;
    color: #94a3b8;
    text-align: center;
}

.manuali-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
}

.manuali-card-action {
    flex: 1 1 110px;
    justify-content: center;
}

.manuali-card-action.ui-btn-ghost {
    background: #f5f4ef;
}

.manuali-card-action.ui-btn-ghost:hover {
    background: #ede7dd;
}

.manuali-card-action.ui-btn-primary {
    box-shadow: 0 10px 18px rgba(17,17,17,0.12);
}

.manuali-empty-state,
.manuali-feedback-card {
    display: grid;
    gap: 12px;
    place-items: center;
    padding: 36px 24px;
    text-align: center;
    border-radius: 24px;
}

.manuali-empty-state {
    border: 1px dashed rgba(15,23,42,0.16);
    background: linear-gradient(180deg, #f8fafc 0%, #f6f3ed 100%);
}

.manuali-feedback-card {
    border: 1px solid rgba(15,23,42,0.08);
    background: linear-gradient(180deg, #ffffff 0%, #f8f5ef 100%);
    box-shadow: 0 14px 28px rgba(15,23,42,0.08);
}

.manuali-empty-icon,
.manuali-feedback-icon,
.manuali-confirm-icon {
    width: 60px;
    height: 60px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: #111111;
    color: #ffffff;
    font-size: 1.35rem;
    box-shadow: 0 12px 24px rgba(17,17,17,0.16);
}

.manuali-feedback-card-error .manuali-feedback-icon {
    background: #dc2626;
}

.manuali-empty-title,
.manuali-confirm-title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 900;
    color: #0f172a;
}

.manuali-empty-copy,
.manuali-confirm-copy {
    margin: 0;
    max-width: 46ch;
    color: #475569;
    font-size: 0.92rem;
    line-height: 1.55;
}

.manuali-skeleton {
    position: relative;
    overflow: hidden;
    border-radius: 999px;
    background: #ece7df;
}

.manuali-skeleton::after {
    content: '';
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.75), transparent);
    animation: manualiShimmer 1.4s ease-in-out infinite;
}

@keyframes manualiShimmer {
    100% { transform: translateX(100%); }
}

.manuali-skeleton-line {
    height: 14px;
}

.manuali-skeleton-line.is-short { width: 32%; }
.manuali-skeleton-line.is-medium { width: 48%; }
.manuali-skeleton-line.is-wide { width: 72%; }

.manuali-skeleton-block {
    height: 170px;
    border-radius: 18px;
}

.manuali-loading-card {
    display: grid;
    gap: 12px;
    min-height: 250px;
    padding: 20px;
    border-radius: 22px;
    border: 1px solid rgba(15,23,42,0.08);
    background: linear-gradient(180deg, #ffffff 0%, #f8f5ef 100%);
}

.manuali-hero-loading {
    display: grid;
    align-content: center;
    gap: 12px;
    min-height: 190px;
}

.manuali-modal-shell {
    padding: 24px;
    background: rgba(15,23,42,0.52);
    backdrop-filter: blur(10px);
}

.manuali-modal-content {
    width: min(1180px, 94vw);
    padding: 0;
    border-radius: 28px;
    border: 1px solid rgba(15,23,42,0.08);
    background: linear-gradient(180deg, #ffffff 0%, #f8f5ef 100%);
    box-shadow: 0 26px 70px rgba(15,23,42,0.22);
    overflow: hidden;
}

.manuali-modal-content-view {
    max-height: min(92vh, calc(100dvh - 48px));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.manuali-modal-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 24px 26px;
    background:
        radial-gradient(circle at top left, rgba(255,255,255,0.14), transparent 44%),
        linear-gradient(135deg, #111111 0%, #252320 100%);
    color: #ffffff;
}

.manuali-modal-kicker {
    display: block;
    margin-bottom: 6px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.65);
}

.manuali-modal-title {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.12;
}

.manuali-modal-subtitle {
    margin: 10px 0 0;
    max-width: 60ch;
    color: rgba(255,255,255,0.78);
    font-size: 0.94rem;
    line-height: 1.5;
}

.manuali-modal-hero-badges,
.manuali-view-meta {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.manuali-modal-hero-badges {
    justify-content: flex-end;
    align-content: flex-start;
}

.manuali-modal-badge,
.manuali-view-meta-item,
.manuali-history-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
}

.manuali-modal-badge,
.manuali-view-meta-item {
    border: 1px solid rgba(255,255,255,0.14);
    background: rgba(255,255,255,0.11);
    color: #ffffff;
}

.manuali-modal-badge-muted {
    background: rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.78);
}

.manuali-modal-body {
    display: grid;
    gap: 18px;
    padding: 22px 24px 26px;
}

.manuali-modal-actions,
.manuali-confirm-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.manuale-form-section,
.manuali-form-block,
.manuali-occ-card,
.manuali-proc-card,
.manuali-disegno-card,
.manuali-history-item {
    min-width: 0;
}

.manuali-form-block {
    display: grid;
    gap: 16px;
    padding: 18px 18px 20px;
    border-radius: 24px;
    border: 1px solid rgba(15,23,42,0.08);
    background: rgba(255,255,255,0.82);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.72), 0 10px 20px rgba(15,23,42,0.04);
}

.manuali-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.manuali-section-head-main {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

.manuali-section-icon {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 14px;
    background: #111111;
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(17,17,17,0.18);
}

.manuali-section-label {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
}

.manuali-section-copy {
    margin: 4px 0 0;
    max-width: 52ch;
    color: #64748b;
    font-size: 0.86rem;
    line-height: 1.45;
}

.manuali-inline-action,
.manuali-inline-danger {
    justify-content: center;
    white-space: nowrap;
}

.manuali-inline-action.ui-btn-ghost {
    background: #ffffff;
    border-color: rgba(15,23,42,0.08);
    color: #0f172a;
}

.manuali-inline-action.ui-btn-ghost:hover {
    background: #f8fafc;
}

.manuali-form-cover-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    gap: 16px;
}

.manuali-form-two-cols,
.manuali-occ-fields,
.manuali-history-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.manuali-form-field {
    display: grid;
    gap: 6px;
}

.manuali-field-label {
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #78716c;
}

.manuali-field-copy {
    margin: 12px 0 0;
    color: #94a3b8;
    font-size: 0.8rem;
    line-height: 1.5;
}

.manuali-cover-frame {
    display: grid;
    gap: 12px;
    align-content: start;
    min-height: 100%;
    padding: 14px;
    border-radius: 20px;
    border: 1px solid rgba(15,23,42,0.08);
    background: linear-gradient(180deg, #f6f4ef 0%, #efe7da 100%);
}

.manuali-cover-preview,
.manuali-view-cover-card img,
.manuali-view-drawing img {
    width: 100%;
    display: block;
    border-radius: 18px;
    border: 1px solid rgba(15,23,42,0.08);
    background: #ffffff;
}

.manuali-cover-preview {
    min-height: 220px;
    max-height: 280px;
    object-fit: cover;
}

.manuali-cover-placeholder {
    min-height: 220px;
}

.manuali-modal-content .input-field-modern {
    min-height: 46px;
    border-radius: 14px;
    border: 1px solid rgba(15,23,42,0.1);
    background: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.85);
}

.manuali-modal-content .input-field-modern:focus {
    border-color: #111111;
    box-shadow: 0 0 0 4px rgba(17,17,17,0.08);
}

.manuali-input-control {
    width: 100%;
}

.manuali-scheda-row {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.1fr) auto;
    gap: 10px;
    align-items: start;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(15,23,42,0.08);
    background: #f8fafc;
}

.manuali-scheda-row-custom {
    background: linear-gradient(180deg, #fbf8f3 0%, #f4efe7 100%);
}

.manuali-scheda-key,
.manuali-scheda-input-group {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.manuali-scheda-badge {
    width: fit-content;
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid rgba(15,23,42,0.08);
    background: #ffffff;
    color: #78716c;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.manuali-scheda-label {
    font-size: 0.93rem;
    font-weight: 700;
    line-height: 1.35;
    color: #0f172a;
}

.manuali-occ-card,
.manuali-proc-card,
.manuali-disegno-card,
.manuali-view-occ-card,
.manuali-view-step,
.manuali-history-item {
    border-radius: 22px;
    border: 1px solid rgba(15,23,42,0.08);
    background: linear-gradient(180deg, #ffffff 0%, #faf7f2 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.82), 0 10px 18px rgba(15,23,42,0.04);
}

.manuali-occ-card,
.manuali-proc-card,
.manuali-disegno-card,
.manuali-view-occ-card {
    padding: 14px;
}

.manuali-occ-head {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
    margin-bottom: 12px;
}

.manuali-occ-letter .input-field-modern {
    text-align: center;
    font-weight: 800;
    font-size: 1rem;
}

.manuali-occ-media,
.manuali-disegno-card {
    display: grid;
    gap: 10px;
}

.manuali-proc-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.manuali-proc-kicker,
.manuali-disegno-kicker,
.manuali-proc-slot-title {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #78716c;
}

.manuali-proc-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
}

.manuali-proc-slots,
.manuali-view-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.manuali-proc-slot {
    display: grid;
    gap: 10px;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(15,23,42,0.08);
    background: #f8fafc;
}

.manuali-proc-slot-title span {
    opacity: 0.65;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.manuali-proc-textarea {
    min-height: 118px;
    resize: vertical;
}

.manuali-disegno-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.manuali-disegno-note {
    color: #94a3b8;
    font-size: 0.8rem;
}

.manuali-media-preview {
    position: relative;
    display: block;
    width: 100%;
}

.manuali-media-preview-img,
.manuali-view-occ-card img,
.manuali-view-step-media img {
    width: 100%;
    display: block;
    border-radius: 16px;
    border: 1px solid rgba(15,23,42,0.08);
    background: #ffffff;
}

.manuali-media-preview-img {
    max-height: 220px;
    object-fit: cover;
}

.manuali-view-occ-card img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.manuali-media-placeholder {
    min-height: 148px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    border-radius: 18px;
    border: 1px dashed rgba(15,23,42,0.16);
    background: linear-gradient(180deg, #fbfaf7 0%, #f1ece4 100%);
    text-align: center;
    font-size: 0.85rem;
    color: #94a3b8;
}

.manuali-media-remove {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 999px;
    background: rgba(15,23,42,0.82);
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 18px rgba(15,23,42,0.18);
}

.manuali-media-remove:hover {
    background: #ef4444;
}

.manuali-upload-trigger {
    width: fit-content;
    padding: 11px 16px;
    border-radius: 14px;
    background: #111111;
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 700;
    box-shadow: 0 10px 18px rgba(17,17,17,0.14);
}

.manuali-upload-trigger:hover {
    background: #1f1f1f;
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(17,17,17,0.18);
}

.manuali-view-hero {
    align-items: stretch;
}

.manuali-view-hero-copy {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.manuali-view-cover-card {
    display: grid;
    width: min(280px, 32vw);
    flex-shrink: 0;
}

.manuali-view-cover-card .manuali-card-cover-fallback {
    min-height: 200px;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,0.12);
}

.manuali-view-section {
    display: grid;
    gap: 14px;
    scroll-margin-top: 116px;
}

.manuali-view-sections {
    display: grid;
    gap: 16px;
}

.manuali-view-table {
    display: grid;
    gap: 10px;
}

.manuali-view-table-row {
    display: grid;
    grid-template-columns: minmax(180px, 0.72fr) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(15,23,42,0.08);
    background: #f8fafc;
}

.manuali-view-table-key {
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #78716c;
}

.manuali-view-table-value {
    font-size: 0.94rem;
    font-weight: 700;
    color: #0f172a;
}

.manuali-view-occ-card {
    display: grid;
    gap: 12px;
    cursor: default;
}

.manuali-view-occ-card.is-clickable {
    cursor: pointer;
}

.manuali-view-occ-top {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.manuali-view-occ-badge {
    min-width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #111111;
    color: #ffffff;
    font-weight: 800;
}

.manuali-view-occ-title {
    margin: 0;
    font-size: 0.96rem;
    font-weight: 800;
    color: #0f172a;
}

.manuali-view-occ-code {
    margin: 4px 0 0;
    font-size: 0.82rem;
    color: #64748b;
    word-break: break-word;
}

.manuali-view-step {
    overflow: hidden;
}

.manuali-view-step summary,
.manuali-history-summary {
    list-style: none;
    cursor: pointer;
}

.manuali-view-step summary::-webkit-details-marker,
.manuali-history-summary::-webkit-details-marker {
    display: none;
}

.manuali-view-step summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    font-weight: 800;
    color: #0f172a;
}

.manuali-view-step-body,
.manuali-history-body {
    display: grid;
    gap: 14px;
    padding: 0 18px 18px;
}

.manuali-view-step-media {
    display: grid;
    gap: 10px;
}

.manuali-view-step-media.has-multiple {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.manuali-view-step-copy {
    margin: 0;
    color: #334155;
    font-size: 0.95rem;
    line-height: 1.6;
    white-space: pre-wrap;
}

.manuali-view-step-hint {
    color: #78716c;
    font-size: 0.78rem;
    font-weight: 700;
}

.manuali-view-drawing img {
    max-height: 520px;
    object-fit: contain;
}

.manuali-history-list {
    display: grid;
    gap: 12px;
}

.manuali-history-summary {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
}

.manuali-history-version {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 900;
}

.manuali-history-date {
    margin: 4px 0 0;
    color: #64748b;
    font-size: 0.85rem;
}

.manuali-history-badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: #111111;
    color: #ffffff;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.manuali-history-meta {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.manuali-history-meta-card {
    display: grid;
    gap: 6px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(15,23,42,0.08);
    background: #f8fafc;
}

.manuali-history-meta-card span {
    color: #78716c;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.manuali-history-meta-card strong {
    color: #0f172a;
    font-size: 0.92rem;
    font-weight: 800;
}

.manuali-history-stats {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.manuali-history-chip {
    border: 1px solid rgba(15,23,42,0.08);
    background: #f5f4ef;
    color: #475569;
}

.manuali-mobile-section-nav {
    display: none;
}

.manuali-mobile-nav-btn {
    border: 1px solid rgba(15,23,42,0.08);
    border-radius: 999px;
    background: #ffffff;
    color: #0f172a;
    box-shadow: 0 10px 18px rgba(15,23,42,0.06);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    min-height: 40px;
    padding: 0 14px;
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

.manuali-mobile-nav-btn:hover {
    background: #f8fafc;
    color: #0f172a;
}

.manuali-mobile-nav-btn.is-dark {
    background: #111111;
    color: #ffffff;
    border-color: #111111;
}

.manuali-mobile-nav-btn.is-dark:hover {
    background: #1f2937;
    color: #ffffff;
}

.manuali-confirm-shell {
    position: fixed;
    inset: 0;
    z-index: 11000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(15,23,42,0.48);
    backdrop-filter: blur(6px);
}

.manuali-confirm-card {
    display: grid;
    gap: 12px;
    width: min(420px, 100%);
    padding: 28px 24px;
    text-align: center;
    border-radius: 24px;
    border: 1px solid rgba(15,23,42,0.08);
    background: linear-gradient(180deg, #ffffff 0%, #f8f5ef 100%);
    box-shadow: 0 26px 60px rgba(15,23,42,0.18);
}

.manuali-confirm-btn {
    min-width: 120px;
}

.manuali-confirm-btn-danger {
    background: #dc2626 !important;
}

.manuali-confirm-btn-danger:hover {
    background: #b91c1c !important;
}

@media (max-width: 1100px) {
    .manuali-toolbar,
    .manuali-form-cover-grid {
        grid-template-columns: 1fr;
    }

    .manuali-view-hero {
        flex-direction: column;
    }

    .manuali-view-cover-card {
        width: 100%;
        max-width: 320px;
    }

    .manuali-history-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .manuali-library-head,
    .manuali-hero-head,
    .manuali-section-head,
    .manuali-modal-hero {
        flex-direction: column;
        align-items: stretch;
    }

    .manuali-toolbar-actions,
    .manuali-modal-hero-badges {
        justify-content: flex-start;
    }

    .manuali-grid,
    .manuali-loading-grid,
    .manuali-proc-slots,
    .manuali-view-grid,
    .manuali-view-step-media.has-multiple,
    .manuali-view-table-row,
    .manuali-occ-fields,
    .manuali-form-two-cols,
    .manuali-history-meta {
        grid-template-columns: 1fr;
    }

    .manuali-scheda-row,
    .manuali-occ-head {
        grid-template-columns: 1fr;
    }

    .manuali-section-note {
        text-align: left;
    }

    .manuali-modal-shell {
        padding: 12px;
    }
}

@media (max-width: 620px) {
    .manuali-hero,
    .manuali-library-panel,
    .manuali-form-block,
    .manuali-loading-card,
    .manuali-feedback-card {
        padding: 16px;
    }

    .manuali-title {
        font-size: 1.5rem;
    }

    .manuali-stats-grid,
    .manuali-card-stats {
        grid-template-columns: 1fr;
    }

    .manuali-grid,
    .manuali-loading-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .manuali-card-actions .ui-btn,
    .manuali-modal-actions .btn-modal-cancel,
    .manuali-modal-actions .btn-modal-send,
    .manuali-confirm-btn {
        width: 100%;
    }

    .manuali-modal-body,
    .manuali-modal-hero {
        padding: 18px 16px;
    }

    .manuali-modal-title {
        font-size: 1.35rem;
    }

    .manuali-view-meta,
    .manuali-history-stats,
    .manuali-modal-actions,
    .manuali-confirm-actions {
        flex-direction: column;
        align-items: stretch;
    }
}

@media (max-width: 720px) {
    .manuali-toolbar {
        gap: 12px;
    }

    .manuali-hero,
    .manuali-library-panel,
    .manuali-form-block,
    .manuali-loading-card,
    .manuali-feedback-card {
        padding: 16px;
        border-radius: 22px;
    }

    .manuali-title {
        font-size: 1.42rem;
    }

    .manuali-toolbar-summary {
        margin-top: 12px;
        gap: 6px;
    }

    .manuali-toolbar-chip {
        min-height: 28px;
        padding: 0 10px;
        font-size: 0.7rem;
    }

    .manuali-toolbar-updated {
        margin-top: 10px;
        font-size: 0.72rem;
    }

    .manuali-subtitle,
    .manuali-modal-subtitle {
        font-size: 0.88rem;
    }

    .manuali-subtitle {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }

    .manuali-section-note,
    .manuali-stat-note,
    .manuali-modal-hero-badges,
    .manuali-form-block .manuali-section-copy {
        display: none;
    }

    .manuali-toolbar-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .manuali-toolbar-actions .manuali-toolbar-btn:only-child {
        grid-column: 1 / -1;
    }

    .manuali-toolbar-btn {
        width: 100%;
        min-height: 46px;
        justify-content: center;
        padding-inline: 12px;
    }

    .manuali-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .manuali-stat-card {
        padding: 12px 14px;
        gap: 4px;
        border-radius: 18px;
    }

    .manuali-stat-value {
        font-size: 1.08rem;
    }

    .manuali-grid,
    .manuali-loading-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .manuali-card-surface {
        position: relative;
        min-height: 0;
        aspect-ratio: 0.94 / 1;
        border-radius: 22px !important;
        transform: none;
    }

    .manuali-card-cover {
        position: absolute;
        inset: 0;
        height: 100%;
        aspect-ratio: auto;
    }

    .manuali-card-cover-overlay {
        padding: 12px;
        background: linear-gradient(180deg, rgba(15,23,42,0.2) 0%, rgba(15,23,42,0.02) 32%, rgba(15,23,42,0.12) 50%, rgba(15,23,42,0.68) 100%);
    }

    .manuali-card-kicker {
        display: none;
    }

    .manuali-card-overlay-actions {
        width: 100%;
        justify-content: space-between;
        align-items: flex-start;
    }

    .manuali-card-overlay-btn {
        width: 30px;
        height: 30px;
        border-radius: 10px;
        box-shadow: 0 10px 18px rgba(15,23,42,0.18);
    }

    .manuali-card-version {
        min-height: 30px;
        padding-inline: 10px;
        font-size: 0.68rem;
    }

    .manuali-card-body {
        position: absolute;
        inset: auto 0 0;
        z-index: 1;
        min-height: 0;
        justify-content: flex-end;
        padding: 14px 12px 12px;
        gap: 8px;
        background: linear-gradient(180deg, rgba(15,23,42,0) 0%, rgba(15,23,42,0.14) 16%, rgba(15,23,42,0.86) 100%);
    }

    .manuali-card-title {
        color: #ffffff;
        font-size: 0.94rem;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        text-shadow: 0 8px 22px rgba(15,23,42,0.35);
    }

    .manuali-card-category {
        display: none;
    }

    .manuali-card-stats,
    .manuali-card-meta,
    .manuali-card-actions {
        display: none;
    }

    .manuali-card-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .manuali-card-stat {
        padding: 8px 10px;
        border-radius: 14px;
    }

    .manuali-card-stat-label {
        font-size: 0.62rem;
    }

    .manuali-card-stat-value {
        font-size: 0.88rem;
    }

    .manuali-card-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        font-size: 0.74rem;
    }

    .manuali-card-meta span:last-child {
        display: none;
    }

    .manuali-card-action {
        width: auto;
        min-width: 0;
    }

    .manuali-card-action-primary {
        grid-column: 1 / -1;
    }

    .manuali-card-action-secondary {
        padding-inline: 10px;
        font-size: 0.78rem;
    }

    .manuali-modal-shell {
        padding: 8px;
    }

    .manuali-modal-content {
        width: 100%;
        border-radius: 22px;
    }

    .manuali-modal-content-view {
        width: 100% !important;
        max-height: calc(100dvh - 16px) !important;
    }

    .manuali-modal-hero {
        position: sticky;
        top: 0;
        z-index: 4;
        padding: 16px;
        gap: 12px;
        border-bottom: 1px solid rgba(255,255,255,0.08);
    }

    .manuali-modal-content-view .manuali-modal-hero {
        position: static;
    }

    .manuali-modal-title {
        font-size: 1.24rem;
    }

    .manuali-view-hero {
        gap: 14px;
    }

    .manuali-view-hero-copy {
        gap: 12px;
    }

    .manuali-view-cover-card {
        order: -1;
        width: 100%;
        max-width: none;
    }

    .manuali-view-cover-card img,
    .manuali-view-cover-card .manuali-card-cover-fallback {
        aspect-ratio: 16 / 10;
        min-height: 0;
        max-height: 210px;
        object-fit: cover;
    }

    .manuali-mobile-section-nav {
        position: sticky;
        top: 86px;
        z-index: 3;
        display: flex;
        gap: 8px;
        padding: 10px 16px 14px;
        overflow-x: auto;
        scrollbar-width: none;
        background: linear-gradient(180deg, #f8f5ef 0%, rgba(248,245,239,0.96) 100%);
        border-bottom: 1px solid rgba(15,23,42,0.08);
    }

    .manuali-modal-content-view .manuali-mobile-section-nav-view {
        top: 0;
    }

    .manuali-modal-content-view .manuali-view-section {
        scroll-margin-top: 74px;
    }

    .manuali-mobile-section-nav::-webkit-scrollbar {
        display: none;
    }

    .manuali-modal-body {
        padding: 16px;
        gap: 14px;
    }

    .manuali-view-body {
        gap: 12px;
        padding: 14px 14px 18px;
    }

    .manuali-view-sections {
        gap: 12px;
    }

    .manuali-view-section {
        gap: 12px;
        padding: 14px;
        border-radius: 20px;
        border: 1px solid rgba(15,23,42,0.08);
        background: linear-gradient(180deg, #ffffff 0%, #faf7f2 100%);
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.82), 0 10px 18px rgba(15,23,42,0.04);
        scroll-margin-top: 112px;
    }

    .manuali-view-section .manuali-section-copy {
        display: none;
    }

    .manuali-section-icon {
        width: 34px;
        height: 34px;
        border-radius: 12px;
    }

    .manuali-section-label {
        font-size: 0.92rem;
    }

    .manuali-inline-action {
        width: 100%;
    }

    .manuali-cover-preview,
    .manuali-cover-placeholder {
        min-height: 160px;
        max-height: 220px;
    }

    .manuali-proc-textarea {
        min-height: 90px;
    }

    .manuali-media-placeholder {
        min-height: 120px;
    }

    .manuali-view-meta {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .manuali-view-meta-item {
        width: 100%;
        justify-content: flex-start;
        min-width: 0;
        min-height: 40px;
        padding: 9px 10px;
        border-radius: 14px;
        font-size: 0.72rem;
    }

    .manuali-view-table-row {
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 11px 12px;
        border-radius: 16px;
    }

    .manuali-view-step summary,
    .manuali-history-summary {
        padding: 13px 14px;
    }

    .manuali-view-step-body,
    .manuali-history-body {
        padding: 0 14px 14px;
    }

    .manuali-history-summary {
        flex-direction: column;
        align-items: flex-start;
    }

    .manuali-history-badge {
        font-size: 0.68rem;
        padding: 7px 10px;
    }

    .manuali-history-meta {
        grid-template-columns: 1fr;
    }

    .manuali-history-meta-card {
        padding: 10px 12px;
    }

    .manuali-history-stats {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .manuali-history-chip {
        justify-content: center;
        padding: 8px 6px;
        font-size: 0.7rem;
    }

    .manuali-modal-content-form .manuali-modal-actions {
        position: sticky;
        bottom: 0;
        z-index: 3;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin: 4px -16px -16px;
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
        background: linear-gradient(180deg, rgba(248,245,239,0.1) 0%, rgba(248,245,239,0.96) 26%, #f8f5ef 100%);
        border-top: 1px solid rgba(15,23,42,0.08);
    }

    .manuali-modal-content-form .manuali-modal-actions .btn-modal-cancel,
    .manuali-modal-content-form .manuali-modal-actions .btn-modal-send {
        width: 100%;
        min-height: 44px;
        padding: 0 12px;
        border-radius: 14px;
        font-size: 0.84rem;
    }
}

@media (max-width: 460px) {
    .manuali-toolbar-actions,
    .manuali-view-meta,
    .manuali-history-stats {
        grid-template-columns: 1fr;
    }

    .manuali-toolbar-updated {
        display: none;
    }

    .manuali-stats-grid,
    .manuali-card-meta {
        grid-template-columns: 1fr;
    }

    .manuali-card-meta span:last-child {
        display: flex;
    }

    .manuali-history-chip,
    .manuali-view-meta-item {
        justify-content: flex-start;
    }

    .manuali-mobile-section-nav {
        top: 82px;
        padding-inline: 14px;
    }

    .manuali-modal-content-form .manuali-modal-actions .btn-modal-cancel,
    .manuali-modal-content-form .manuali-modal-actions .btn-modal-send {
        width: 100%;
    }
}

@media (max-width: 359px) {
    .manuali-modal-content-form .manuali-modal-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 399px) {
    .manuali-grid,
    .manuali-loading-grid {
        grid-template-columns: 1fr;
    }
}

/* ── Workspace Acquisti redesign ─────────────────────────────── */
#acq-tab-bar,
#req-tab-bar,
#kit-tab-bar,
#pip-tab-bar,
#crm-tab-bar,
#contenitore-dati[data-acq-view],
#contenitore-dati[data-kit-view],
#contenitore-dati[data-pip-view],
#contenitore-dati[data-crm-view] {
    --acq-ink: #0f172a;
    --acq-ink-soft: #475569;
    --acq-muted: #64748b;
    --acq-border: rgba(15, 23, 42, 0.08);
    --acq-border-strong: rgba(15, 23, 42, 0.14);
    --acq-panel-bg: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(246,242,236,0.98) 100%);
    --acq-shell-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
    --acq-card-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
    --acq-dark: #111111;
    --acq-teal: #0f766e;
    --acq-amber: #c2410c;
    --acq-blue: #1d4ed8;
    --acq-green: #15803d;
}

#acq-tab-bar,
#req-tab-bar,
#kit-tab-bar {
    position: relative;
    gap: 10px;
    padding: 10px 2px 2px;
    margin: 0 0 18px;
    background: transparent;
}

.acq-tab {
    min-height: 50px;
    padding: 10px 14px;
    border: 1px solid var(--acq-border);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(243,238,232,0.92) 100%);
    color: var(--acq-muted);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.72), 0 10px 22px rgba(15, 23, 42, 0.05);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.acq-tab:hover {
    transform: translateY(-1px);
    color: var(--acq-ink);
    border-color: var(--acq-border-strong);
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(239,234,227,0.98) 100%);
}

.acq-tab.active,
#acq-tab-bar .acq-tab.active,
#req-tab-bar .acq-tab.active,
#kit-tab-bar .acq-tab.active,
#pip-tab-bar .acq-tab.active,
#crm-tab-bar .acq-tab.active {
    color: #ffffff !important;
    background: #111111 !important;
    border-color: transparent !important;
    box-shadow: 0 4px 12px rgba(17, 24, 39, 0.15) !important;
}

.badge-acq-tab {
    min-width: 20px;
    padding: 2px 7px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ef4444 0%, #f97316 100%);
    box-shadow: 0 6px 14px rgba(239, 68, 68, 0.22);
}

.acq-page-shell {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    min-width: 0;
    padding: 0 2px 28px;
    box-sizing: border-box;
}

.acq-page-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.55fr);
    align-items: center;
    gap: 12px;
    width: 100%;
    min-width: 0;
}

.acq-page-title-group {
    position: relative;
    overflow: hidden;
    padding: 12px 18px;
    border-radius: 16px;
    background: linear-gradient(145deg, #111111 0%, #1f2937 56%, #334155 100%);
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
}

.acq-page-kicker,
.acq-panel-kicker {
    display: block;
    margin-bottom: 2px;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.acq-page-kicker {
    color: rgba(255,255,255,0.7);
}

.acq-panel-kicker {
    color: var(--acq-muted);
}

.acq-page-title {
    margin: 0;
    color: #ffffff;
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1.15;
}

.acq-page-subtitle {
    margin: 3px 0 0;
    color: rgba(255,255,255,0.68);
    font-size: 0.76rem;
    line-height: 1.35;
    max-width: 50ch;
}

.acq-page-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    min-width: 0;
}

.acq-stat-chip {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
        "icon value"
        "icon label"
        "icon meta";
    column-gap: 8px;
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid var(--acq-border);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(243,238,232,0.98) 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.76), 0 4px 10px rgba(15, 23, 42, 0.04);
}

.acq-stat-chip i {
    grid-area: icon;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--acq-dark);
    color: #ffffff;
    font-size: 0.68rem;
}

.acq-stat-chip.is-highlight {
    background: linear-gradient(135deg, var(--acq-dark) 0%, #334155 100%);
    border-color: transparent;
    box-shadow: 0 18px 28px rgba(15, 23, 42, 0.14);
}

.acq-stat-chip.is-highlight i {
    background: rgba(255,255,255,0.08);
}

.acq-stat-chip.tone-warm i {
    background: rgba(194, 65, 12, 0.12);
    color: var(--acq-amber);
}

.acq-stat-chip.tone-success i {
    background: rgba(21, 128, 61, 0.12);
    color: var(--acq-green);
}

.acq-stat-chip.tone-neutral i {
    background: rgba(29, 78, 216, 0.12);
    color: var(--acq-blue);
}

.acq-stat-chip.tone-warm {
    background: linear-gradient(180deg, #fff7ed 0%, #ffedd5 100%);
    border-color: rgba(194, 65, 12, 0.14);
}

.acq-stat-chip.tone-success {
    background: linear-gradient(180deg, #f0fdf4 0%, #dcfce7 100%);
    border-color: rgba(21, 128, 61, 0.14);
}

.acq-stat-chip.tone-neutral {
    background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
    border-color: rgba(29, 78, 216, 0.14);
}

.acq-stat-chip.is-highlight .acq-stat-value,
.acq-stat-chip.is-highlight .acq-stat-label,
.acq-stat-chip.is-highlight .acq-stat-meta {
    color: #ffffff;
}

.acq-stat-value {
    grid-area: value;
    color: var(--acq-ink);
    font-size: 0.92rem;
    font-weight: 900;
    line-height: 1.1;
}

.acq-stat-label {
    grid-area: label;
    color: var(--acq-ink);
    font-size: 0.66rem;
    font-weight: 700;
    line-height: 1.1;
}

.acq-stat-meta {
    grid-area: meta;
    color: var(--acq-muted);
    font-size: 0.6rem;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.acq-page-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.acq-page-actions .ui-btn,
.acq-page-actions .btn-nuovo-fisso {
    min-height: 40px;
    border-radius: 14px;
    box-shadow: 0 10px 18px rgba(15, 23, 42, 0.07);
}

#contenitore-dati[data-acq-view="catalogo"] .acq-page-actions {
    gap: 12px;
    align-items: stretch;
}

#contenitore-dati[data-acq-view="catalogo"] .acq-page-actions .acq-catalog-action {
    position: relative;
    min-height: 48px;
    padding: 6px 18px 6px 8px;
    border-radius: 18px;
    border-color: rgba(148,163,184,0.18);
    background: linear-gradient(135deg, rgba(255,255,255,0.98) 0%, rgba(246,241,235,0.98) 100%);
    color: var(--acq-ink);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.88), 0 14px 28px rgba(15, 23, 42, 0.08);
    font-weight: 800;
    gap: 10px;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

#contenitore-dati[data-acq-view="catalogo"] .acq-page-actions .acq-catalog-action:hover {
    transform: translateY(-2px);
    border-color: rgba(15,23,42,0.14);
    background: linear-gradient(135deg, rgba(255,255,255,1) 0%, rgba(241,236,229,1) 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.92), 0 18px 32px rgba(15, 23, 42, 0.1);
}

#contenitore-dati[data-acq-view="catalogo"] .acq-page-actions .acq-catalog-action:focus-visible {
    outline: none;
    border-color: rgba(37,99,235,0.32);
    box-shadow: 0 0 0 4px rgba(37,99,235,0.12), inset 0 1px 0 rgba(255,255,255,0.88), 0 16px 28px rgba(15, 23, 42, 0.08);
}

#contenitore-dati[data-acq-view="catalogo"] .acq-page-actions .acq-catalog-action i {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(15,23,42,0.08);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.68);
    color: #64748b;
    flex-shrink: 0;
}

#contenitore-dati[data-acq-view="catalogo"] .acq-page-actions .acq-catalog-action-select i {
    background: rgba(15,23,42,0.1);
    color: var(--acq-ink);
}

#contenitore-dati[data-acq-view="catalogo"] .acq-page-actions .acq-catalog-action-section i {
    background: rgba(245,158,11,0.16);
    color: #b45309;
}

#contenitore-dati[data-acq-view="catalogo"] .acq-page-actions .acq-catalog-action-new i {
    background: rgba(20,184,166,0.16);
    color: #0f766e;
}

#contenitore-dati[data-acq-view="catalogo"] .acq-page-actions .acq-catalog-action-delete {
    border-color: rgba(248,113,113,0.24);
    background: linear-gradient(135deg, rgba(255,247,247,0.98) 0%, rgba(254,242,242,0.98) 100%);
    color: #991b1b;
}

#contenitore-dati[data-acq-view="catalogo"] .acq-page-actions .acq-catalog-action-delete:hover {
    border-color: rgba(239,68,68,0.3);
    background: linear-gradient(135deg, rgba(255,250,250,1) 0%, rgba(254,226,226,1) 100%);
}

#contenitore-dati[data-acq-view="catalogo"] .acq-page-actions .acq-catalog-action-delete i {
    background: rgba(239,68,68,0.16);
    color: #b91c1c;
}

.acq-page-panel {
    width: 100%;
    min-width: 0;
    padding: 16px;
    border-radius: 24px;
    border: 1px solid var(--acq-border);
    background: var(--acq-panel-bg);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.78), 0 14px 28px rgba(15, 23, 42, 0.06);
    box-sizing: border-box;
}

.acq-page-panel-plain {
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
}

.acq-panel-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
    padding: 4px 2px 0;
}

.acq-panel-intro strong {
    display: block;
    color: var(--acq-ink);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.2;
}

.acq-panel-note {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.06);
    color: var(--acq-ink);
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}

#contenitore-dati[data-acq-view] .empty-msg {
    border: 1px dashed rgba(148, 163, 184, 0.42);
    border-radius: 18px;
    background: rgba(255,255,255,0.72);
    color: var(--acq-ink-soft);
}

#contenitore-dati[data-acq-view="hub"] .acq-hub-shell {
    gap: 16px;
    padding: 0;
}

#contenitore-dati[data-acq-view="hub"] .acq-hub-hero-copy,
#contenitore-dati[data-acq-view="hub"] .acq-hub-ai-panel,
#contenitore-dati[data-acq-view="hub"] .acq-hub-card,
#contenitore-dati[data-acq-view="hub"] .acq-hub-warning {
    border-radius: 22px;
    border-color: var(--acq-border);
    box-shadow: var(--acq-card-shadow);
}

#contenitore-dati[data-acq-view="hub"] .acq-hub-hero-copy {
    padding: 22px 24px;
}

#contenitore-dati[data-acq-view="hub"] .acq-hub-hero-copy h3 {
    margin: 16px 0 10px;
    color: var(--acq-ink);
    font-size: 1.72rem;
    line-height: 1.15;
}

#contenitore-dati[data-acq-view="hub"] .acq-hub-hero-copy p,
#contenitore-dati[data-acq-view="hub"] .acq-hub-card-head p,
#contenitore-dati[data-acq-view="hub"] .acq-hub-inline-panel p,
#contenitore-dati[data-acq-view="hub"] .acq-hub-list-item p {
    color: var(--acq-ink-soft);
}

.acq-hub-status-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-radius: 14px;
    border: 1px solid var(--acq-border);
    background: var(--acq-panel-bg, rgba(255,255,255,0.7));
    color: var(--acq-ink-soft);
    font-size: 0.92rem;
}

.acq-hub-status-row.is-ready i {
    color: var(--acq-success, #16a34a);
}

.acq-hub-status-row.is-warning i {
    color: var(--acq-warning, #d97706);
}

.acq-cf-item {
    cursor: pointer;
}

.acq-cf-item.is-selected {
    border-color: var(--acq-accent, #2563eb);
    box-shadow: 0 0 0 1px var(--acq-accent, #2563eb);
}

.acq-cf-msg {
    padding: 10px 14px;
    border-radius: 12px;
    border: 1px solid var(--acq-border);
    margin-bottom: 8px;
}

.acq-cf-msg-out {
    background: rgba(37, 99, 235, 0.06);
}

.acq-cf-msg-in {
    background: rgba(22, 163, 74, 0.06);
}

.acq-cf-msg-head {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 6px;
    font-size: 0.85rem;
    color: var(--acq-ink-soft);
}

.acq-cf-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 14px;
    padding: 14px;
    border-radius: 14px;
    border: 1px solid var(--acq-border);
}

.acq-cf-form input,
.acq-cf-form textarea {
    border-radius: 10px;
    border: 1px solid var(--acq-border);
    padding: 8px 10px;
    font: inherit;
}

#contenitore-dati[data-acq-view="hub"] .acq-hub-grid {
    gap: 16px;
}

#contenitore-dati[data-acq-view="hub"] .acq-hub-list-item,
#contenitore-dati[data-acq-view="hub"] .acq-hub-inline-item {
    border-radius: 16px;
    background: rgba(255,255,255,0.74);
    border-color: rgba(148,163,184,0.2);
}

#contenitore-dati[data-acq-view="catalogo"] #lista-materiali-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(195px, 1fr));
    gap: 18px;
}

#contenitore-dati[data-acq-view="catalogo"] .sezione-materiali-wrapper {
    margin: 0;
    padding: 14px;
    border: 1px solid rgba(148,163,184,0.18);
    border-radius: 22px;
    background: rgba(255,255,255,0.76);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.78), 0 10px 22px rgba(15, 23, 42, 0.04);
}

#contenitore-dati[data-acq-view="catalogo"] .sezione-header {
    padding: 15px 18px;
    border-radius: 18px;
    border-color: rgba(15, 23, 42, 0.08);
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(244,239,233,0.98) 100%);
}

#contenitore-dati[data-acq-view="catalogo"] .sezione-header:hover {
    border-color: rgba(15, 23, 42, 0.14);
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(239,234,227,1) 100%);
}

#contenitore-dati[data-acq-view="catalogo"] .sezione-count {
    background: rgba(15,23,42,0.08);
    color: var(--acq-ink);
}

#contenitore-dati[data-acq-view="catalogo"] .materiali-grid {
    margin-top: 14px;
    gap: 14px;
}

#contenitore-dati[data-acq-view="catalogo"] .materiale-card {
    border-radius: 20px;
    border: 1px solid rgba(148,163,184,0.2);
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(251,247,242,0.98) 100%);
    box-shadow: 0 12px 22px rgba(15, 23, 42, 0.06);
}

#contenitore-dati[data-acq-view="catalogo"] .materiale-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 28px rgba(15, 23, 42, 0.08);
}

#contenitore-dati[data-acq-view="catalogo"] .mat-card-img {
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(241,245,249,0.96) 100%);
}

#contenitore-dati[data-acq-view="catalogo"] .materiale-actions {
    margin: 10px 14px 14px;
    padding: 10px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    border: 1px solid rgba(148,163,184,0.16);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,0.94) 0%, rgba(244,239,233,0.82) 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.82);
}

#contenitore-dati[data-acq-view="catalogo"] .qty-order-container {
    width: 100%;
    min-width: 0;
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) 36px;
    align-items: center;
    gap: 8px;
    padding: 4px;
    border: 1px solid rgba(148,163,184,0.16);
    border-radius: 14px;
    background: rgba(255,255,255,0.88);
    box-sizing: border-box;
}

#contenitore-dati[data-acq-view="catalogo"] .btn-qty-step {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    border-color: rgba(226,232,240,0.9);
    background: #ffffff;
    box-shadow: 0 6px 12px rgba(148,163,184,0.14);
}

#contenitore-dati[data-acq-view="catalogo"] .btn-qty-step:hover {
    background: #f8fafc;
}

#contenitore-dati[data-acq-view="catalogo"] .materiale-card input[type="number"] {
    width: 100%;
    min-width: 0;
    height: 36px;
    border: none;
    background: transparent;
    box-shadow: none;
    font-size: 0.95rem;
    line-height: 36px;
}

#contenitore-dati[data-acq-view="catalogo"] .btn-add-cart {
    width: 100%;
    min-width: 0;
    height: 46px;
    padding: 0 14px;
    border-radius: 14px;
    background: linear-gradient(135deg, #0f172a 0%, #334155 100%);
    box-shadow: 0 16px 28px rgba(15, 23, 42, 0.18), inset 0 1px 0 rgba(255,255,255,0.16);
    gap: 8px;
    justify-content: center;
    letter-spacing: 0.01em;
}

#contenitore-dati[data-acq-view="catalogo"] .btn-add-cart:hover {
    background: linear-gradient(135deg, #111827 0%, #1f2937 100%);
    color: #ffffff;
    box-shadow: 0 20px 30px rgba(15, 23, 42, 0.22), inset 0 1px 0 rgba(255,255,255,0.16);
}

#contenitore-dati[data-acq-view="catalogo"] .btn-add-cart:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px rgba(37,99,235,0.14), 0 16px 28px rgba(15, 23, 42, 0.18), inset 0 1px 0 rgba(255,255,255,0.16);
}

#contenitore-dati[data-acq-view="catalogo"] .btn-add-cart i {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(255,255,255,0.14);
    flex-shrink: 0;
}

#contenitore-dati[data-acq-view="catalogo"] .btn-add-cart .btn-cart-txt {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

#contenitore-dati[data-acq-view="ordini"] .ordini-acq-page {
    padding-bottom: 0;
}

#contenitore-dati[data-acq-view="ordini"] .ordini-groups {
    gap: 14px;
    margin-top: 0;
}

#contenitore-dati[data-acq-view="ordini"] .ordine-group {
    border-radius: 22px;
    border-color: rgba(148,163,184,0.2);
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(247,242,235,0.98) 100%);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

#contenitore-dati[data-acq-view="ordini"] .ordine-group-summary {
    padding: 15px 18px;
    background: rgba(255,255,255,0.74);
}

#contenitore-dati[data-acq-view="ordini"] .ordine-group[open] .ordine-group-summary {
    background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(242,236,229,0.96) 100%);
    border-bottom-color: rgba(148,163,184,0.18);
}

#contenitore-dati[data-acq-view="ordini"] .ordine-items {
    gap: 8px;
    padding: 10px;
}

#contenitore-dati[data-acq-view="ordini"] .ordine-item {
    padding: 14px 16px;
    border: 1px solid rgba(148,163,184,0.16);
    border-radius: 18px;
    background: rgba(255,255,255,0.78);
}

#contenitore-dati[data-acq-view="ordini"] .ordine-item:last-child {
    border-bottom: 1px solid rgba(148,163,184,0.16);
}

#contenitore-dati[data-acq-view="ordini"] .ordine-item.is-ordinato {
    background: linear-gradient(180deg, rgba(240,253,244,0.96) 0%, rgba(220,252,231,0.94) 100%);
}

#contenitore-dati[data-acq-view="ordini"] .og-progress,
#contenitore-dati[data-acq-view="ordini"] .og-done-badge,
#contenitore-dati[data-acq-view="ordini"] .oi-stato-badge {
    border-radius: 999px;
}

#contenitore-dati[data-acq-view="fornitori"] {
    padding-bottom: 28px;
}

#contenitore-dati[data-acq-view="fornitori"] .acquisti-header.header-flex {
    margin-bottom: 16px;
    padding: 20px 22px;
    border-radius: 24px;
    background: linear-gradient(145deg, #111111 0%, #1f2937 56%, #334155 100%);
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.14);
}

#contenitore-dati[data-acq-view="fornitori"] .acquisti-title {
    color: #ffffff;
    font-size: 1.52rem;
}

#contenitore-dati[data-acq-view="fornitori"] .acquisti-subtitle {
    color: rgba(255,255,255,0.78);
    font-size: 0.92rem;
}

#contenitore-dati[data-acq-view="fornitori"] .of-ordine-wrapper {
    border: 1px solid rgba(148,163,184,0.2);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(247,242,235,0.98) 100%);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06);
}

#contenitore-dati[data-acq-view="fornitori"] .of-riga-ordine {
    padding: 16px 18px;
    background: rgba(255,255,255,0.74);
}

#contenitore-dati[data-acq-view="fornitori"] .of-ordine-wrapper .dettagli-container {
    padding: 10px;
}

#contenitore-dati[data-acq-view="fornitori"] .of-item-card {
    border-radius: 18px;
    border: 1px solid rgba(148,163,184,0.16);
    background: rgba(255,255,255,0.78);
}

#contenitore-dati[data-acq-view="fornitori"] .of-progress-mini {
    border-radius: 999px;
    background: rgba(148,163,184,0.18);
}

@media (max-width: 1180px) {
    .acq-page-toolbar {
        grid-template-columns: 1fr;
    }

    .acq-page-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    /* ── Tab bar mobile condivise: chip orizzontali con scroll-snap ──
       NB: niente display: flex !important — il JS gestisce show/hide via
       style.display, qui solo le proprieta di layout interno (scroll, gap). */
    #acq-tab-bar,
    #req-tab-bar,
    #pip-tab-bar,
    #crm-tab-bar,
    #prod-tab-bar {
        flex-wrap: nowrap;
        align-items: center;
        gap: 8px;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 8px 14px 10px;
        margin: 0 -14px 14px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
    #acq-tab-bar::-webkit-scrollbar,
    #req-tab-bar::-webkit-scrollbar,
    #pip-tab-bar::-webkit-scrollbar,
    #crm-tab-bar::-webkit-scrollbar,
    #prod-tab-bar::-webkit-scrollbar { display: none; }

    /* Tab che non si comprimono e con testo integro */
    .acq-tab,
    .prod-tab {
        flex: 0 0 auto !important;
        min-height: var(--touch-min, 44px) !important;
        border-radius: 99px !important;
        padding: 10px 14px !important;
        white-space: nowrap !important;
        scroll-snap-align: start;
    }
    .acq-tab .acq-tab-label,
    .prod-tab .acq-tab-label {
        white-space: nowrap;
    }
    /* Pill attiva accent (lime in prod-v2) */
    .acq-tab.active,
    .prod-tab.active {
        background: var(--accent-color, #84cc16) !important;
        color: #0d0d0d !important;
        border-color: var(--accent-color, #84cc16) !important;
    }
    .acq-tab.active i,
    .prod-tab.active i {
        color: #0d0d0d !important;
    }

    .acq-page-shell {
        gap: 14px;
        padding-bottom: 22px;
    }

    .acq-page-title-group,
    .acq-page-panel,
    #contenitore-dati[data-acq-view="hub"] .acq-hub-hero-copy,
    #contenitore-dati[data-acq-view="hub"] .acq-hub-ai-panel,
    #contenitore-dati[data-acq-view="hub"] .acq-hub-card,
    #contenitore-dati[data-acq-view="fornitori"] .acquisti-header.header-flex,
    #contenitore-dati[data-acq-view="fornitori"] .of-ordine-wrapper {
        border-radius: 20px;
    }

    .acq-page-title-group,
    .acq-page-panel {
        padding: 18px;
    }

    .acq-page-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .acq-page-actions .ui-btn,
    .acq-page-actions .btn-nuovo-fisso {
        width: 100%;
        justify-content: center;
    }

    .acq-panel-intro {
        flex-direction: column;
        align-items: flex-start;
    }

    #contenitore-dati[data-acq-view="catalogo"] .sezione-materiali-wrapper {
        padding: 12px;
    }
}

@media (max-width: 560px) {
    .acq-page-stats {
        grid-template-columns: 1fr;
    }

    .acq-page-title {
        font-size: 1.38rem;
    }

    .acq-page-subtitle {
        font-size: 0.9rem;
    }

    #contenitore-dati[data-acq-view="hub"] .acq-hub-hero-copy h3 {
        font-size: 1.46rem;
    }

    .acq-page-actions {
        grid-template-columns: 1fr;
    }
}

/* ── Workspace Acquisti mobile refinement ───────────────────── */
@media (max-width: 768px) {
    #contenitore-dati[data-acq-view] .acquisti-title,
    #contenitore-dati[data-acq-view] .acquisti-subtitle,
    #contenitore-dati[data-acq-view] .btn-label-nuovo,
    #contenitore-dati[data-acq-view] .btn-sel-txt,
    #contenitore-dati[data-acq-view] .btn-elimina-label,
    #contenitore-dati[data-acq-view] .btn-cart-txt {
        display: inline !important;
    }

    #contenitore-dati[data-acq-view] .acquisti-subtitle {
        display: -webkit-box !important;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    #acq-tab-bar,
#req-tab-bar,
    #kit-tab-bar {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 4px 0 0;
        margin-bottom: 12px;
    }

    #acq-tab-bar .acq-tab,
#req-tab-bar .acq-tab,
    #kit-tab-bar .acq-tab {
        min-width: 0;
        min-height: 54px;
        justify-content: flex-start;
        gap: 8px;
        padding: 10px 12px;
        text-align: left;
    }

    #acq-tab-bar .acq-tab i,
#req-tab-bar .acq-tab i,
    #kit-tab-bar .acq-tab i {
        font-size: 0.92rem;
    }

    #acq-tab-bar .badge-acq-tab,
#req-tab-bar .badge-acq-tab,
    #kit-tab-bar .badge-acq-tab {
        margin-left: auto;
    }

    #contenitore-dati[data-acq-view] .acq-page-shell,
    #contenitore-dati[data-kit-view] .acq-page-shell {
        gap: 12px;
        padding-bottom: 16px;
    }

    #contenitore-dati[data-acq-view] .acq-page-title-group,
    #contenitore-dati[data-acq-view] .acq-page-panel,
    #contenitore-dati[data-kit-view] .acq-page-title-group,
    #contenitore-dati[data-kit-view] .acq-page-panel,
    #contenitore-dati[data-acq-view="hub"] .acq-hub-hero-copy,
    #contenitore-dati[data-acq-view="hub"] .acq-hub-ai-panel,
    #contenitore-dati[data-acq-view="hub"] .acq-hub-card,
    #contenitore-dati[data-acq-view="hub"] .acq-hub-warning,
    #contenitore-dati[data-acq-view="fornitori"] .acquisti-header.header-flex,
    #contenitore-dati[data-acq-view="fornitori"] .of-ordine-wrapper {
        border-radius: 18px;
    }

    #contenitore-dati[data-acq-view] .acq-page-title-group,
    #contenitore-dati[data-kit-view] .acq-page-title-group {
        padding: 16px 16px 15px;
    }

    #contenitore-dati[data-acq-view] .acq-page-kicker,
    #contenitore-dati[data-kit-view] .acq-page-kicker {
        display: none;
    }

    #contenitore-dati[data-acq-view] .acq-page-title,
    #contenitore-dati[data-kit-view] .acq-page-title {
        font-size: 1.28rem;
        line-height: 1.08;
    }

    #contenitore-dati[data-acq-view] .acq-page-subtitle,
    #contenitore-dati[data-kit-view] .acq-page-subtitle {
        margin-top: 7px;
        font-size: 0.84rem;
        line-height: 1.35;
    }

    #contenitore-dati[data-acq-view] .acq-page-stats,
    #contenitore-dati[data-kit-view] .acq-page-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px;
    }

    #contenitore-dati[data-acq-view] .acq-stat-chip,
    #contenitore-dati[data-kit-view] .acq-stat-chip {
        padding: 10px 11px;
        border-radius: 16px;
        column-gap: 8px;
    }

    #contenitore-dati[data-acq-view] .acq-stat-chip i,
    #contenitore-dati[data-kit-view] .acq-stat-chip i {
        width: 26px;
        height: 26px;
        border-radius: 9px;
        font-size: 0.74rem;
    }

    #contenitore-dati[data-acq-view] .acq-stat-value,
    #contenitore-dati[data-kit-view] .acq-stat-value {
        font-size: 0.98rem;
    }

    #contenitore-dati[data-acq-view] .acq-stat-label,
    #contenitore-dati[data-kit-view] .acq-stat-label {
        font-size: 0.69rem;
        line-height: 1.15;
    }

    #contenitore-dati[data-acq-view] .acq-stat-meta,
    #contenitore-dati[data-kit-view] .acq-stat-meta {
        display: none;
    }

    #contenitore-dati[data-acq-view] .acq-page-actions {
        display: flex !important;
        flex-wrap: wrap;
        gap: 8px;
        padding: 10px;
        border: 1px solid var(--acq-border);
        border-radius: 18px;
        background: rgba(255,255,255,0.84);
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.72), 0 10px 20px rgba(15, 23, 42, 0.05);
    }

    #contenitore-dati[data-acq-view] .acq-page-actions .ui-btn,
    #contenitore-dati[data-acq-view] .acq-page-actions .btn-nuovo-fisso {
        flex: 1 1 auto;
        min-height: 42px;
        justify-content: center;
        gap: 8px;
        padding: 0 16px;
        border-radius: 14px;
        box-shadow: none;
        font-size: 0.79rem;
    }

    #contenitore-dati[data-acq-view] .acq-page-actions .ui-btn i,
    #contenitore-dati[data-acq-view] .acq-page-actions .btn-nuovo-fisso i {
        width: 16px;
        text-align: center;
        flex-shrink: 0;
    }

    #contenitore-dati[data-acq-view] .acq-panel-intro {
        gap: 8px;
        margin-bottom: 12px;
    }

    #contenitore-dati[data-acq-view] .acq-panel-kicker {
        margin-bottom: 3px;
        font-size: 0.64rem;
    }

    #contenitore-dati[data-acq-view] .acq-panel-intro strong {
        font-size: 0.9rem;
        line-height: 1.28;
    }

    #contenitore-dati[data-acq-view] .acq-panel-note {
        min-height: 30px;
        padding: 0 10px;
        font-size: 0.71rem;
    }

    #contenitore-dati[data-acq-view="hub"] .acq-hub-shell {
        gap: 12px;
    }

    #contenitore-dati[data-acq-view="hub"] .acq-hub-hero {
        gap: 10px;
    }

    #contenitore-dati[data-acq-view="hub"] .acq-hub-hero-copy,
    #contenitore-dati[data-acq-view="hub"] .acq-hub-ai-panel,
    #contenitore-dati[data-acq-view="hub"] .acq-hub-card {
        padding: 16px;
    }

    #contenitore-dati[data-acq-view="hub"] .acq-hub-hero-copy h3 {
        margin: 12px 0 8px;
        font-size: 1.34rem;
    }

    #contenitore-dati[data-acq-view="hub"] .acq-hub-hero-copy p {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    #contenitore-dati[data-acq-view="hub"] .acq-hub-actions {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        margin-top: 14px;
    }

    #contenitore-dati[data-acq-view="hub"] .acq-hub-actions .ui-btn {
        min-height: 44px;
        padding: 0 10px;
        justify-content: center;
        font-size: 0.76rem;
    }

    #contenitore-dati[data-acq-view="hub"] .acq-hub-ai-panel p {
        display: none;
    }

    #contenitore-dati[data-acq-view="hub"] .acq-hub-ai-panel ul {
        margin: 0;
        padding: 0;
        list-style: none;
        display: grid;
        gap: 6px;
    }

    #contenitore-dati[data-acq-view="hub"] .acq-hub-ai-panel li {
        position: relative;
        padding-left: 14px;
        font-size: 0.76rem;
        line-height: 1.35;
    }

    #contenitore-dati[data-acq-view="hub"] .acq-hub-ai-panel li::before {
        content: '';
        position: absolute;
        top: 0.45rem;
        left: 0;
        width: 5px;
        height: 5px;
        border-radius: 999px;
        background: rgba(255,255,255,0.72);
    }

    #contenitore-dati[data-acq-view="hub"] .acq-hub-card-head {
        gap: 8px;
    }

    #contenitore-dati[data-acq-view="hub"] .acq-hub-card-head p {
        display: none;
    }

    #contenitore-dati[data-acq-view="hub"] .acq-hub-list-item,
    #contenitore-dati[data-acq-view="hub"] .acq-hub-inline-item,
    #contenitore-dati[data-acq-view="hub"] .acq-hub-empty {
        padding: 12px;
    }

    #contenitore-dati[data-acq-view="hub"] .acq-hub-list-meta {
        width: 100%;
        justify-content: flex-start;
        gap: 6px;
        text-align: left;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-page-panel {
        padding: 14px;
    }

    #contenitore-dati[data-acq-view="catalogo"] .sezione-materiali-wrapper {
        padding: 10px;
    }

    #contenitore-dati[data-acq-view="catalogo"] .sezione-header {
        padding: 12px 14px;
        border-radius: 16px;
    }

    #contenitore-dati[data-acq-view="catalogo"] .sezione-header-left {
        min-width: 0;
        flex: 1 1 auto;
    }

    #contenitore-dati[data-acq-view="catalogo"] .sezione-header-right {
        flex-shrink: 0;
    }

    #contenitore-dati[data-acq-view="catalogo"] .sezione-nome {
        min-width: 0;
        flex: 1 1 auto;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    #contenitore-dati[data-acq-view="catalogo"] .sezione-count {
        min-width: 24px;
        height: 24px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 0.68rem;
        font-weight: 800;
    }

    #contenitore-dati[data-acq-view="catalogo"] .materiali-grid {
        gap: 10px !important;
        margin-top: 10px;
    }

    #contenitore-dati[data-acq-view="catalogo"] .materiale-card {
        grid-template-columns: 62px minmax(0, 1fr) auto !important;
        padding: 10px !important;
        gap: 0 8px !important;
        border-radius: 18px !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .mat-card-img {
        width: 62px !important;
        height: 62px !important;
        margin-bottom: 10px !important;
        border-radius: 12px !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .materiale-info {
        padding: 0 0 10px 0 !important;
        gap: 4px !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .materiale-nome {
        font-size: 12px !important;
        line-height: 1.34 !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .materiale-codice {
        font-size: 9px !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .mat-fornitore-mobile {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 9px !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .mat-card-opts {
        padding-bottom: 10px !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .materiale-actions {
        margin: 10px 0 0 !important;
        padding: 8px !important;
        gap: 8px !important;
        border: 1px solid rgba(148,163,184,0.14) !important;
        border-radius: 16px !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .qty-order-container {
        grid-template-columns: 30px minmax(0, 1fr) 30px !important;
        gap: 6px !important;
        padding: 3px !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .btn-qty-step {
        width: 30px !important;
        height: 30px !important;
        border-radius: 10px !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .materiale-card input[type="number"] {
        width: 100% !important;
        height: 30px !important;
        line-height: 30px !important;
        font-size: 13px !important;
        border: none !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .btn-add-cart {
        width: 100% !important;
        height: 40px !important;
        padding: 0 12px !important;
        gap: 6px !important;
        font-size: 12px !important;
        border-radius: 12px !important;
        box-shadow: 0 12px 20px rgba(15, 23, 42, 0.16) !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .btn-add-cart i {
        width: 22px !important;
        height: 22px !important;
        font-size: 0.84rem;
    }

    #contenitore-dati[data-acq-view="ordini"] .ordine-group {
        border-radius: 20px;
    }

    #contenitore-dati[data-acq-view="ordini"] .ordine-group-summary {
        position: relative;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 14px 16px 16px;
    }

    #contenitore-dati[data-acq-view="ordini"] .og-left {
        width: 100%;
        padding-right: 22px;
        gap: 6px;
    }

    #contenitore-dati[data-acq-view="ordini"] .og-operatore {
        width: 100%;
        line-height: 1.25;
    }

    #contenitore-dati[data-acq-view="ordini"] .og-data {
        font-size: 11px;
    }

    #contenitore-dati[data-acq-view="ordini"] .og-progress,
    #contenitore-dati[data-acq-view="ordini"] .og-done-badge {
        min-height: 24px;
        padding: 0 8px;
        font-size: 10px;
        display: inline-flex;
        align-items: center;
    }

    #contenitore-dati[data-acq-view="ordini"] .og-chevron {
        position: absolute;
        top: 18px;
        right: 16px;
    }

    #contenitore-dati[data-acq-view="ordini"] .ordine-items {
        padding: 8px;
    }

    #contenitore-dati[data-acq-view="ordini"] .ordine-item {
        display: grid;
        grid-template-columns: auto auto minmax(0, 1fr);
        grid-template-areas:
            "state thumb info"
            ". badge badge";
        align-items: center;
        gap: 10px;
        padding: 12px;
        border-radius: 16px;
    }

    #contenitore-dati[data-acq-view="ordini"] .oi-check-btn,
    #contenitore-dati[data-acq-view="ordini"] .oi-stato-dot {
        grid-area: state;
    }

    #contenitore-dati[data-acq-view="ordini"] .oi-check-btn {
        width: 30px;
        height: 30px;
        font-size: 16px;
    }

    #contenitore-dati[data-acq-view="ordini"] .oi-stato-dot {
        align-self: start;
        margin-top: 5px;
    }

    #contenitore-dati[data-acq-view="ordini"] .oi-thumb {
        grid-area: thumb;
        width: 38px;
        height: 38px;
    }

    #contenitore-dati[data-acq-view="ordini"] .oi-info {
        grid-area: info;
        width: 100%;
    }

    #contenitore-dati[data-acq-view="ordini"] .oi-nome {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        white-space: normal;
        overflow: hidden;
    }

    #contenitore-dati[data-acq-view="ordini"] .oi-details {
        display: block;
        margin-top: 2px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    #contenitore-dati[data-acq-view="ordini"] .oi-stato-badge {
        grid-area: badge;
        justify-self: flex-start;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    #contenitore-dati[data-acq-view="fornitori"] .acquisti-header.header-flex {
        padding: 16px 16px 15px;
        margin-bottom: 12px;
    }

    #contenitore-dati[data-acq-view="fornitori"] .acquisti-title {
        font-size: 1.28rem;
        line-height: 1.08;
    }

    #contenitore-dati[data-acq-view="fornitori"] .acquisti-subtitle {
        margin-top: 7px;
        font-size: 0.84rem;
        line-height: 1.35;
    }

    #contenitore-dati[data-acq-view="fornitori"] .of-riga-ordine {
        padding: 14px 16px;
    }

    #contenitore-dati[data-acq-view="fornitori"] .of-ordine-wrapper .dettagli-container {
        padding: 8px;
    }

    #contenitore-dati[data-acq-view="fornitori"] .of-item-card {
        padding: 12px;
        border-radius: 16px;
    }

    #contenitore-dati[data-acq-view="fornitori"] .of-cell-importo {
        display: none !important;
    }
}

@media (max-width: 560px) {
    #contenitore-dati[data-acq-view] .acq-page-stats,
    #contenitore-dati[data-kit-view] .acq-page-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    #contenitore-dati[data-acq-view] .acq-page-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    #contenitore-dati[data-acq-view] .acq-page-actions .ui-btn,
    #contenitore-dati[data-acq-view] .acq-page-actions .btn-nuovo-fisso {
        min-height: 40px;
        padding: 0 10px;
        font-size: 0.75rem;
    }

    #contenitore-dati[data-acq-view="hub"] .acq-hub-actions {
        grid-template-columns: 1fr;
    }

    #contenitore-dati[data-acq-view="catalogo"] .materiale-card {
        grid-template-columns: 56px minmax(0, 1fr) auto !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .mat-card-img {
        width: 56px !important;
        height: 56px !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .btn-add-cart {
        min-width: 104px;
        justify-content: center;
    }
}

@media (max-width: 390px) {
    #contenitore-dati[data-acq-view] .acq-page-title,
    #contenitore-dati[data-kit-view] .acq-page-title {
        font-size: 1.18rem;
    }

    #contenitore-dati[data-acq-view] .acq-page-subtitle,
    #contenitore-dati[data-kit-view] .acq-page-subtitle {
        font-size: 0.8rem;
    }

    #contenitore-dati[data-acq-view] .acq-stat-chip,
    #contenitore-dati[data-kit-view] .acq-stat-chip {
        padding: 9px 10px;
    }

    #contenitore-dati[data-acq-view="ordini"] .ordine-item {
        grid-template-columns: auto minmax(0, 1fr);
        grid-template-areas:
            "state info"
            "thumb info"
            "badge badge";
    }

    #contenitore-dati[data-acq-view="ordini"] .oi-thumb {
        align-self: start;
        margin-left: 0;
    }
}

@media (max-width: 768px) {
    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        margin-top: 10px;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-card {
        position: relative !important;
        display: block !important;
        padding: 0 !important;
        border-radius: 18px !important;
        overflow: hidden !important;
        border: 1px solid rgba(148,163,184,0.22) !important;
        background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(251,247,242,0.98) 100%) !important;
        box-shadow: 0 12px 22px rgba(15, 23, 42, 0.06) !important;
        transform: none !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-select-wrap {
        position: absolute;
        top: 12px;
        right: 12px;
        z-index: 4;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-select {
        margin: 0;
        width: 18px !important;
        height: 18px !important;
        border-radius: 999px;
        background: rgba(255,255,255,0.96);
        box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-top {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 8px;
        min-width: 0;
        flex-wrap: wrap;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-tag,
    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-code-chip {
        display: inline-flex;
        align-items: center;
        min-height: 24px;
        padding: 0 8px;
        border-radius: 999px;
        background: rgba(15, 23, 42, 0.06);
        color: var(--acq-ink);
        font-size: 0.64rem;
        font-weight: 800;
        letter-spacing: 0.02em;
        white-space: nowrap;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-code-chip {
        background: rgba(29, 78, 216, 0.08);
        color: #1d4ed8;
        min-width: 0;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-media {
        width: 100% !important;
        height: auto !important;
        min-height: 190px !important;
        margin: 0 !important;
        aspect-ratio: 16 / 9;
        border-radius: 18px 18px 0 0 !important;
        border: 1px solid rgba(148,163,184,0.18) !important;
        border-bottom: 1px solid rgba(148,163,184,0.18) !important;
        background: linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(241,245,249,0.96) 100%) !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-media .mat-img-icon {
        font-size: 34px !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-media .mat-img-hint {
        display: block !important;
        opacity: 1 !important;
        transform: none !important;
        bottom: 14px;
        color: #475569;
        font-size: 0.72rem;
        letter-spacing: 0.02em;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-media .mat-badge-fornitore {
        display: inline-flex !important;
        max-width: calc(100% - 24px);
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-content {
        display: flex;
        flex-direction: column;
        gap: 12px;
        padding: 14px 14px 15px;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-copy {
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-title {
        color: #1e293b;
        font-size: 1.05rem;
        font-weight: 900;
        line-height: 1.28;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        word-break: break-word;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-subtitle {
        color: #64748b;
        font-size: 0.82rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-meta-row {
        display: flex;
        flex-wrap: wrap;
        gap: 7px;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-meta-chip {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        min-height: 26px;
        min-width: 0;
        padding: 0 9px;
        border-radius: 999px;
        background: #ffffff;
        border: 1px solid rgba(148,163,184,0.18);
        color: #475569;
        font-size: 0.68rem;
        font-weight: 700;
        box-sizing: border-box;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-meta-chip i {
        color: #64748b;
        font-size: 0.68rem;
        flex-shrink: 0;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-meta-chip span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* Su mobile il tasto carrello resta un'azione compatta a icona. */
    /* ── QTY + CART: riga allineata, qty pill elegante, cart fissato a destra ── */
    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-action-zone {
        width: 100%;
        box-sizing: border-box;
    }
    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-qty-row {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Qty pill: stessa altezza del cart, +/- e input perfettamente centrati */
    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-qty-box {
        box-sizing: border-box !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        display: grid !important;
        grid-template-columns: 36px minmax(0, 1fr) 36px !important;
        align-items: center !important;
        gap: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 1px solid rgba(148,163,184,0.20) !important;
        border-radius: 14px !important;
        background: #ffffff !important;
        overflow: hidden;
    }
    /* +/- pulsanti senza ombra, integrati nella pill */
    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-qty-box .btn-qty-step {
        width: 36px !important;
        height: 100% !important;
        border-radius: 0 !important;
        border: none !important;
        background: transparent !important;
        box-shadow: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #475569;
    }
    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-qty-box .btn-qty-step:hover {
        background: rgba(0,0,0,0.04) !important;
    }
    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-qty-box .btn-qty-step i {
        font-size: 12px;
    }
    /* Input numero centrato senza bordi interni */
    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-qty-box input[type="number"] {
        width: 100% !important;
        height: 100% !important;
        line-height: 1 !important;
        text-align: center !important;
        border: none !important;
        background: transparent !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        color: #1e293b !important;
        padding: 0 !important;
        margin: 0 !important;
        -moz-appearance: textfield;
    }
    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-qty-box input[type="number"]::-webkit-inner-spin-button,
    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-qty-box input[type="number"]::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

    /* Cart button: 44x44 fisso, ancorato a destra (non shrinkable) */
    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .materiale-card .acq-mobile-mat-add,
    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-add {
        box-sizing: border-box !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        flex: 0 0 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        max-height: 44px !important;
        align-self: center !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        padding: 0 !important;
        margin: 0 0 0 auto !important;
        border-radius: 14px !important;
        box-shadow: 0 6px 14px rgba(15, 23, 42, 0.16) !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-add i {
        font-size: 1rem;
        margin: 0 !important;
    }
    /* Forza assenza di label/testo accanto all'icona carrello sul mobile */
    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-add .btn-cart-txt {
        display: none !important;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-footer {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        padding-top: 2px;
        border-top: 1px solid rgba(148,163,184,0.14);
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-footnote {
        color: #64748b;
        font-size: 0.74rem;
        line-height: 1.35;
        max-width: 24ch;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-menu {
        min-width: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 8px;
        margin-left: auto;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-menu summary::-webkit-details-marker {
        display: none;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-menu-trigger {
        list-style: none;
        min-height: 38px;
        padding: 0 12px;
        border-radius: 999px;
        border: 1px solid rgba(148,163,184,0.18);
        background: #ffffff;
        color: #334155;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        font-size: 0.74rem;
        font-weight: 800;
        cursor: pointer;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-menu-body {
        width: min(100%, 190px);
        display: none;
        flex-direction: column;
        gap: 6px;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-menu[open] .acq-mobile-mat-menu-body {
        display: flex;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-menu-item {
        min-height: 38px;
        padding: 0 12px;
        border-radius: 14px;
        border: 1px solid rgba(148,163,184,0.18);
        background: #ffffff;
        color: #334155;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: 0.74rem;
        font-weight: 700;
        cursor: pointer;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-menu-item i {
        width: 14px;
        text-align: center;
        color: #64748b;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-menu-item.is-danger {
        background: #fff7f7;
        border-color: rgba(239, 68, 68, 0.18);
        color: #dc2626;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid .acq-mobile-mat-menu-item.is-danger i {
        color: #dc2626;
    }
}

@media (max-width: 359px) {
    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-mat-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ── Acquisti mobile above-the-fold e sottotab stabili ───────────────────── */
.acq-tab-label {
    min-width: 0;
}

#acq-tab-bar .acq-tab-textonly,
#req-tab-bar .acq-tab-textonly,
#kit-tab-bar .acq-tab-textonly {
    justify-content: center;
}

#acq-tab-bar .acq-tab-textonly .acq-tab-label,
#req-tab-bar .acq-tab-textonly .acq-tab-label,
#kit-tab-bar .acq-tab-textonly .acq-tab-label {
    font-weight: 800;
}

.acq-catalog-mobile-lead {
    display: none;
}

.acq-mobile-action-drawer {
    width: 100%;
}

.acq-stat-chip.is-action {
    width: 100%;
    cursor: pointer;
    text-align: left;
    font: inherit;
}

.acq-stat-chip.is-action.is-active {
    border-color: rgba(15, 23, 42, 0.18);
    box-shadow: 0 16px 26px rgba(15, 23, 42, 0.12);
    transform: translateY(-1px);
}

#contenitore-dati[data-acq-view="ordini"] .acq-page-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

#contenitore-dati[data-acq-view="ordini"] .acq-supplier-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

#contenitore-dati[data-acq-view="ordini"] .acq-supplier-card {
    padding: 16px 18px;
    border: 1px solid rgba(148,163,184,0.18);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(247,242,235,0.96) 100%);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.05);
}

#contenitore-dati[data-acq-view="ordini"] .acq-supplier-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

#contenitore-dati[data-acq-view="ordini"] .acq-supplier-card-copy {
    min-width: 0;
}

#contenitore-dati[data-acq-view="ordini"] .acq-supplier-card-kicker {
    display: block;
    margin-bottom: 5px;
    color: var(--acq-muted);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#contenitore-dati[data-acq-view="ordini"] .acq-supplier-card h3 {
    margin: 0;
    color: var(--acq-ink);
    font-size: 1rem;
    font-weight: 800;
}

#contenitore-dati[data-acq-view="ordini"] .acq-supplier-card p {
    margin: 8px 0 0;
    color: var(--acq-ink-soft);
    font-size: 0.82rem;
    line-height: 1.45;
}

#contenitore-dati[data-acq-view="ordini"] .acq-supplier-state {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    white-space: nowrap;
}

#contenitore-dati[data-acq-view="ordini"] .acq-supplier-state.tone-success {
    background: rgba(21,128,61,0.12);
    color: var(--acq-green);
}

#contenitore-dati[data-acq-view="ordini"] .acq-supplier-state.tone-neutral {
    background: rgba(29,78,216,0.1);
    color: var(--acq-blue);
}

#contenitore-dati[data-acq-view="ordini"] .acq-supplier-meta-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 14px;
}

#contenitore-dati[data-acq-view="ordini"] .acq-supplier-meta-row span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(15,23,42,0.06);
    color: var(--acq-ink);
    font-size: 0.76rem;
    font-weight: 700;
}

#contenitore-dati[data-acq-view="ordini"] .acq-supplier-meta-row i {
    color: var(--acq-muted);
}

@media (max-width: 768px) {
    #acq-tab-bar,
#req-tab-bar,
    #kit-tab-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    #acq-tab-bar .acq-tab,
#req-tab-bar .acq-tab,
    #kit-tab-bar .acq-tab {
        justify-content: center;
        align-items: center;
        gap: 6px;
        padding: 10px 12px;
        text-align: center;
    }

    #acq-tab-bar .acq-tab i,
#req-tab-bar .acq-tab i,
    #kit-tab-bar .acq-tab i {
        flex-shrink: 0;
    }

    #acq-tab-bar .acq-tab-textonly,
#req-tab-bar .acq-tab-textonly,
    #kit-tab-bar .acq-tab-textonly {
        gap: 0;
    }

    #acq-tab-bar .acq-tab-textonly .acq-tab-label,
#req-tab-bar .acq-tab-textonly .acq-tab-label,
    #kit-tab-bar .acq-tab-textonly .acq-tab-label {
        width: 100%;
        text-align: center;
    }

    #acq-tab-bar .badge-acq-tab,
#req-tab-bar .badge-acq-tab,
    #kit-tab-bar .badge-acq-tab {
        margin-left: 6px;
        position: static;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-page-shell {
        gap: 10px;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-page-toolbar {
        gap: 8px;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-page-title-group {
        padding: 14px 15px 13px;
        border-radius: 16px;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-page-title {
        font-size: 1.18rem;
        line-height: 1.04;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-page-subtitle {
        margin-top: 5px;
        font-size: 0.8rem;
        line-height: 1.3;
        max-width: none;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-page-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-stat-chip {
        padding: 9px 10px;
        border-radius: 14px;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-stat-label {
        font-size: 0.67rem;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-page-actions.acq-page-actions-drawer {
        display: block !important;
        padding: 0;
        border: none;
        background: transparent;
        box-shadow: none;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-page-actions.acq-page-actions-drawer::before {
        content: none;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-drawer {
        overflow: hidden;
        border: 1px solid rgba(148,163,184,0.18);
        border-radius: 16px;
        background: rgba(255,255,255,0.86);
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.76), 0 8px 18px rgba(15, 23, 42, 0.05);
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-summary {
        list-style: none;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 12px 14px;
        cursor: pointer;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-summary::-webkit-details-marker {
        display: none;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-summary-copy {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-width: 0;
        color: var(--acq-ink);
        font-size: 0.84rem;
        font-weight: 800;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-summary-copy i {
        width: 18px;
        text-align: center;
        color: var(--acq-blue);
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-summary-state {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: var(--acq-muted);
        font-size: 0.72rem;
        font-weight: 700;
        white-space: nowrap;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-summary-state i {
        font-size: 0.72rem;
        color: var(--acq-muted);
        transition: transform 0.18s ease;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-drawer[open] .acq-mobile-action-summary-state i {
        transform: rotate(180deg);
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-summary-count {
        color: var(--acq-ink);
        font-weight: 800;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-summary-meta {
        color: var(--acq-muted);
        font-size: 0.68rem;
        font-weight: 700;
        text-align: right;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-body {
        padding: 0 12px 12px;
        border-top: 1px solid rgba(148,163,184,0.16);
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding-top: 12px;
    }

    /* ── Toolbar catalogo: filtro + azioni allineati in riga ── */
    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-toolbar {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 8px 0 12px;
    }
    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-toolbar .dropdown-filter-container {
        display: inline-flex;
        margin: 0;
    }
    /* Tutti i bottoni della toolbar mobile (filtro + azioni) hanno la stessa estetica e altezza */
    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-toolbar .acq-mobile-action-btn,
    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-toolbar .dropdown-filter-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 46px;
        padding: 0 14px;
        border: 1px solid rgba(148,163,184,0.18);
        border-radius: 15px;
        background: #ffffff;
        color: var(--acq-ink, #1e293b);
        font-size: 0.79rem;
        font-weight: 800;
        cursor: pointer;
        white-space: nowrap;
    }
    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-toolbar .acq-mobile-action-btn i,
    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-toolbar .dropdown-filter-btn i {
        width: 16px;
        text-align: center;
        color: #64748b;
        flex-shrink: 0;
    }
    /* Toni: identici a quelli della grid */
    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-toolbar .acq-mobile-action-btn.is-primary {
        background: linear-gradient(135deg, var(--acq-dark, #0f172a) 0%, #334155 100%);
        border-color: transparent;
        color: #ffffff;
    }
    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-toolbar .acq-mobile-action-btn.is-primary i {
        color: inherit;
    }
    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-toolbar .acq-mobile-action-btn.is-soft,
    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-toolbar .dropdown-filter-btn {
        background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(244,239,233,0.98) 100%);
    }
    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-toolbar .acq-mobile-action-btn.is-danger {
        background: #fff7f7;
        border-color: rgba(239,68,68,0.18);
        color: #dc2626;
    }
    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-toolbar .acq-mobile-action-btn.is-danger i {
        color: #dc2626;
    }
    /* Elimina nascosto di default, visibile quando selezione attiva (classe applicata da JS) */
    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-toolbar .acq-mobile-action-btn.btn-fade-action {
        display: none;
    }
    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-toolbar .acq-mobile-action-btn.btn-fade-action.visible {
        display: inline-flex;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-grid .acq-mobile-action-btn {
        width: 100%;
        min-width: 0;
        min-height: 46px;
        display: inline-flex;
        align-items: center;
        justify-content: flex-start;
        gap: 9px;
        padding: 0 14px;
        border: 1px solid rgba(148,163,184,0.18);
        border-radius: 15px;
        background: #ffffff;
        color: var(--acq-ink);
        box-shadow: none;
        font-size: 0.79rem;
        font-weight: 800;
        cursor: pointer;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-grid .acq-mobile-action-btn i {
        width: 16px;
        text-align: center;
        color: #64748b;
        flex-shrink: 0;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-grid .acq-mobile-action-btn.is-primary {
        background: linear-gradient(135deg, var(--acq-dark) 0%, #334155 100%);
        border-color: transparent;
        color: #ffffff;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-grid .acq-mobile-action-btn.is-primary i,
    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-grid .acq-mobile-action-btn.is-dark i {
        color: inherit;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-grid .acq-mobile-action-btn.is-dark {
        background: #111111;
        border-color: #111111;
        color: #ffffff;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-grid .acq-mobile-action-btn.is-soft {
        background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(244,239,233,0.98) 100%);
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-grid .acq-mobile-action-btn.is-danger {
        background: #fff7f7;
        border-color: rgba(239,68,68,0.18);
        color: #dc2626;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-grid .acq-mobile-action-btn.is-danger i {
        color: #dc2626;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-grid .acq-mobile-action-btn.btn-fade-action {
        display: none;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-grid .acq-mobile-action-btn.btn-fade-action.visible {
        display: inline-flex;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-lead {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        margin-bottom: 8px;
        padding: 0 1px;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-copy {
        min-width: 0;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-kicker {
        display: block;
        margin-bottom: 2px;
        color: var(--acq-muted);
        font-size: 0.62rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-copy strong {
        display: block;
        color: var(--acq-ink);
        font-size: 0.92rem;
        font-weight: 800;
        line-height: 1.22;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-note {
        display: inline-flex;
        align-items: center;
        min-height: 28px;
        padding: 0 10px;
        border-radius: 999px;
        background: rgba(15,23,42,0.06);
        color: var(--acq-ink);
        font-size: 0.7rem;
        font-weight: 700;
        white-space: nowrap;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-panel-intro {
        display: none;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-page-panel {
        padding: 12px;
        border-radius: 18px;
    }

    #contenitore-dati[data-acq-view="catalogo"] #lista-materiali-grid {
        gap: 10px;
    }

    #contenitore-dati[data-acq-view="catalogo"] .sezione-materiali-wrapper {
        padding: 10px;
        border-radius: 18px;
    }

    #contenitore-dati[data-acq-view="catalogo"] .sezione-header {
        padding: 12px 14px;
        border-radius: 16px;
    }

    #contenitore-dati[data-acq-view="catalogo"] .materiali-grid {
        margin-top: 10px;
        gap: 10px;
    }

    #contenitore-dati[data-acq-view="ordini"] .acq-page-stats {
        grid-template-columns: 1fr !important;
    }

    #contenitore-dati[data-acq-view="ordini"] .acq-supplier-list {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    #contenitore-dati[data-acq-view="ordini"] .acq-supplier-card {
        padding: 14px;
        border-radius: 18px;
    }

    #contenitore-dati[data-acq-view="ordini"] .acq-supplier-card-head {
        flex-direction: column;
        align-items: flex-start;
    }

    #contenitore-dati[data-acq-view="ordini"] .acq-supplier-state {
        min-height: 28px;
        padding: 0 10px;
    }
}

@media (max-width: 420px) {
    #contenitore-dati[data-acq-view="catalogo"] .acq-mobile-action-grid {
        grid-template-columns: 1fr;
    }

    #contenitore-dati[data-acq-view="catalogo"] .acq-catalog-mobile-lead {
        align-items: flex-start;
        flex-direction: column;
    }

    #acq-tab-bar .acq-tab ,
#req-tab-bar .acq-tab  {
        min-height: 50px;
        padding: 9px 10px;
    }
}

/* ============================================================
   42. MOBILE RECOVERY — login / produzione / richieste / acquisti
   ============================================================ */
@media (max-width: 768px) {
    /* Login: gli override storici puntavano a h2/p, ma il markup mobile usa i nuovi blocchi login-*.
       Qui riallineiamo la bottom sheet senza toccare il desktop. */
    #login-overlay {
        align-items: flex-end !important;
        justify-content: flex-end !important;
        padding: 0 !important;
    }

    #login-overlay .login-card {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        max-height: min(92dvh, 820px) !important;
        margin: 0 !important;
        padding: 20px 18px calc(28px + env(safe-area-inset-bottom, 0px)) !important;
        border-radius: 26px 26px 0 0 !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
    }

    #login-overlay .login-logo-container {
        margin-bottom: 12px !important;
    }

    #login-overlay .login-logo-img {
        width: 108px !important;
    }

    #login-overlay .login-heading-block {
        margin-bottom: 12px !important;
    }

    #login-overlay .login-main-title {
        font-size: 1.72rem !important;
        line-height: 1.02 !important;
    }

    #login-overlay .login-mode-tabs {
        margin-bottom: 18px !important;
        border-radius: 14px !important;
    }

    #login-overlay .login-tab {
        min-height: 44px !important;
        font-size: 0.78rem !important;
    }

    #login-overlay .login-form {
        gap: 10px !important;
    }

    #login-overlay .login-field-label {
        font-size: 0.68rem !important;
        margin-bottom: 7px !important;
    }

    #login-overlay .input-field-modern {
        min-height: 48px !important;
        padding: 13px 14px !important;
        font-size: 16px !important;
        border-radius: 14px !important;
    }

    #login-overlay .login-password-row .input-field-modern {
        padding-right: 50px !important;
    }

    #login-overlay .btn-toggle-pwd {
        right: 8px !important;
        width: 34px !important;
        height: 34px !important;
        border-radius: 10px !important;
    }

    #login-overlay .btn-login {
        min-height: 48px !important;
        border-radius: 14px !important;
    }

    /* Le pagine operative condividono la stessa shell mobile: fissiamo il respiro sotto la bottom bar
       e limitiamo i ritocchi ai soli moduli che hanno mostrato regressioni. */
    body.page-produzione #contenitore-dati,
    body.page-richieste #contenitore-dati,
    body.page-acquisti #contenitore-dati {
        padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px)) !important;
    }

    body.page-produzione .prod-page-shell {
        gap: 12px !important;
    }

    body.page-produzione .ov-accordion,
    body.page-produzione .prod-orders-panel,
    body.page-produzione .prod-orders-panel .ordine-wrapper {
        border-radius: 20px !important;
    }

    body.page-produzione .prod-orders-head {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }

    body.page-produzione .prod-orders-title-group {
        order: 1 !important;
        width: 100% !important;
    }

    body.page-produzione .prod-orders-title {
        font-size: 1.02rem !important;
    }

    body.page-produzione .prod-orders-actions {
        order: 2 !important;
        width: 100% !important;
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    body.page-produzione .prod-orders-count,
    body.page-produzione .prod-orders-actions .scroll-btn {
        min-height: 36px !important;
        padding: 0 14px !important;
    }

    body.page-richieste .req-page-shell {
        gap: 14px !important;
    }

    body.page-richieste .req-page-toolbar,
    body.page-richieste .req-groups-head,
    body.page-richieste .req-mobile-quickbar {
        display: none !important;
    }

    body.page-richieste .req-page-shell .req-groups {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    body.page-richieste .req-page-shell .req-group,
    body.page-richieste .req-page-shell .req-group-archive {
        border-radius: 18px !important;
    }

    body.page-richieste .req-page-shell .req-group:not([open]) .req-group-summary {
        min-height: 124px !important;
        aspect-ratio: 1 / 1 !important;
        padding: 14px !important;
        border-radius: 18px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 10px !important;
    }

    body.page-richieste .req-page-shell .req-group:not([open]) .rg-left {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
        padding-right: 0 !important;
    }

    body.page-richieste .req-page-shell .req-group:not([open]) .rg-heading {
        gap: 5px !important;
    }

    body.page-richieste .req-page-shell .req-group:not([open]) .rg-meta {
        display: none !important;
    }

    body.page-richieste .req-page-shell .req-group:not([open]) .rg-chevron {
        position: absolute !important;
        right: 14px !important;
        bottom: 14px !important;
        top: auto !important;
        margin-left: 0 !important;
        flex-shrink: 0 !important;
    }

    body.page-acquisti #acq-tab-bar,
#req-tab-bar,
    body.page-richieste #req-tab-bar,
    body.page-kit #kit-tab-bar {
        margin-bottom: 12px !important;
    }
}

/* KIT PRODOTTI: catalogo compatto con focus sul nome del kit */
body.page-kit #kit-page-actions[data-page="kits"] .kit-main-cta {
    min-height: 40px;
    padding: 9px 14px;
    border-radius: 14px;
    gap: 8px;
    font-size: 0.76rem;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-section {
    gap: 14px;
    padding: 2px 0 10px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-section-copy {
    max-width: 540px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-section-title {
    font-size: 1.04rem;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-section-text {
    font-size: 0.8rem;
    line-height: 1.45;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-summary-strip {
    min-width: 0;
    gap: 8px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-summary-card {
    padding: 10px 12px;
    border-radius: 14px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-summary-value {
    font-size: 0.98rem;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-summary-label {
    font-size: 0.66rem;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    align-items: start;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group {
    min-width: 0;
    border-radius: 18px;
    overflow: hidden;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] {
    grid-column: 1 / -1;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group > .kit-group-summary .kit-summary-actions {
    display: none !important;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group .kit-mobile-summary-actions {
    display: none !important;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-mobile-summary-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin: 2px 0 12px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-mobile-summary-action {
    min-height: 38px;
    padding: 8px 10px;
    border-radius: 12px;
    gap: 7px;
    font-size: 0.74rem;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-mobile-summary-action i {
    font-size: 0.72rem;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-group-summary {
    padding: 13px 15px 11px;
    column-gap: 10px;
    row-gap: 8px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-heading {
    gap: 10px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-icon {
    width: 32px;
    height: 32px;
    border-radius: 11px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-heading .og-operatore {
    font-size: 0.92rem;
    line-height: 1.22;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-status {
    padding: 3px 8px;
    font-size: 0.62rem;
    letter-spacing: 0.07em;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-pills {
    gap: 6px;
    margin-top: 0;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-pill {
    padding: 4px 8px;
    font-size: 0.67rem;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-mobile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-top: 8px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-mobile-stat {
    padding: 8px 10px;
    border-radius: 12px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-mobile-stat strong {
    font-size: 0.86rem;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-mobile-stat span {
    font-size: 0.61rem;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-mobile-hint {
    display: none;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-group-summary {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
    gap: 12px;
    min-height: 0;
    aspect-ratio: 1 / 1;
    padding: 14px;
    background: linear-gradient(180deg, #fbfdff 0%, #f5f8fc 100%);
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-left {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding-right: 0;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-heading {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-heading-copy {
    width: 100%;
    gap: 4px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-icon {
    width: 34px;
    height: 34px;
    border-radius: 11px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-heading .og-operatore {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 0.96rem;
    font-weight: 800;
    line-height: 1.22;
    white-space: normal;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-status {
    min-height: 0;
    align-self: flex-start;
    padding: 3px 8px;
    font-size: 0.58rem;
    letter-spacing: 0.07em;
    opacity: 0.78;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-pills,
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-mobile-grid,
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-mobile-hint,
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-meta {
    display: none !important;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .og-chevron {
    position: absolute;
    right: 12px;
    bottom: 12px;
    top: auto;
    margin: 0;
    font-size: 0.7rem;
    color: #94a3b8;
    opacity: 0.58;
    transform: none;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-accordion-body {
    padding: 0 12px 12px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-section-card {
    border-radius: 16px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-section-card + .kit-section-card {
    margin-top: 8px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-section-card-summary {
    gap: 10px;
    padding: 11px 12px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-section-card-name {
    font-size: 0.84rem;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-section-card-meta,
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-component-head,
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-component-field-label {
    font-size: 0.64rem;
    letter-spacing: 0.06em;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-section-card-body {
    padding: 12px 12px 14px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-section-editor-row {
    margin-bottom: 10px;
    padding: 8px 10px;
    border-radius: 12px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-component-head {
    gap: 8px;
    margin-bottom: 8px;
    padding-bottom: 8px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-component-row {
    gap: 8px;
    padding: 8px 0;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-component-controls {
    gap: 8px;
    grid-template-columns: minmax(0, 104px) minmax(0, 94px) minmax(0, 98px);
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-component-name {
    font-size: 0.82rem;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-component-code {
    font-size: 0.7rem;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-component-input,
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-component-unit,
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-component-delete {
    min-height: 34px;
    font-size: 0.74rem;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-component-empty {
    padding: 10px 0;
    font-size: 0.78rem;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-section-footer {
    margin-top: 10px;
    padding-top: 10px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-section-footer .btn-archive-action {
    min-height: 36px;
    padding: 0 12px;
    border-radius: 10px;
    font-size: 0.74rem;
}

@media (max-width: 900px) {
    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    body.page-kit #kit-page-actions[data-page="kits"] .kit-main-cta {
        width: 100%;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-group-summary {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        aspect-ratio: auto;
        gap: 10px;
        padding: 12px 14px 12px 12px;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-left {
        width: auto;
        flex: 1;
        flex-direction: row;
        align-items: center;
        gap: 10px;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-heading {
        flex-direction: row;
        align-items: center;
        gap: 10px;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-heading-copy {
        gap: 3px;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-heading .og-operatore {
        -webkit-line-clamp: 2;
        font-size: 0.86rem;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-icon {
        width: 32px;
        height: 32px;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-status {
        font-size: 0.56rem;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .og-chevron {
        position: static;
        margin-left: 8px;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-mobile-grid,
    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-mobile-summary-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 420px) {
    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-mobile-grid,
    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-mobile-summary-actions {
        grid-template-columns: 1fr;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-mobile-summary-action {
        width: 100%;
    }
}

/* KIT PRODOTTI: cover card + micro-animazioni */
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group {
    transition: transform 0.18s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group > .kit-group-summary {
    transition: transform 0.16s ease, background 0.22s ease, box-shadow 0.22s ease;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group > .kit-group-summary:active {
    transform: scale(0.987);
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group .og-chevron {
    transition: transform 0.22s ease, opacity 0.22s ease, color 0.22s ease;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] {
    box-shadow: 0 22px 40px rgba(15, 23, 42, 0.1);
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] > .kit-group-summary {
    display: grid;
    grid-template-columns: minmax(172px, 220px) minmax(0, 1fr) auto;
    align-items: stretch;
    background: linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .og-chevron {
    transform: rotate(180deg);
    color: #0f172a;
    opacity: 0.9;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group .kit-summary-media {
    width: 100%;
    min-width: 0;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group .kit-summary-cover {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(135deg, #ece5d9 0%, #d9e6f3 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 10px 22px rgba(15, 23, 42, 0.08);
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group .kit-summary-cover.has-image {
    background: #dbe5f0;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group .kit-summary-cover-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.3s ease, opacity 0.22s ease;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group .kit-summary-cover-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
    padding: 14px;
    background:
        radial-gradient(circle at top left, rgba(255,255,255,0.74), transparent 54%),
        linear-gradient(135deg, rgba(249, 239, 228, 0.96) 0%, rgba(210, 226, 240, 0.96) 100%);
    color: #0f172a;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group .kit-summary-cover-fallback span {
    font-size: 1.46rem;
    font-weight: 800;
    line-height: 1;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group .kit-summary-cover-fallback i {
    font-size: 1.02rem;
    opacity: 0.56;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group .kit-summary-cover-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.04) 0%, rgba(15, 23, 42, 0.18) 100%);
    pointer-events: none;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:hover .kit-summary-cover-img,
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:hover .kit-summary-cover-fallback {
    transform: scale(1.03);
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-cover-img,
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-cover-fallback {
    transform: scale(1.015);
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group .kit-summary-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 18px;
    color: #64748b;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group .kit-summary-heading {
    gap: 0;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group .kit-summary-heading-copy {
    gap: 5px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-group-summary {
    padding: 12px;
    gap: 12px;
    background: linear-gradient(180deg, #fbfdff 0%, #f6f9fd 100%);
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-cover {
    aspect-ratio: 16 / 11;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-left {
    flex: 1;
    justify-content: flex-start;
    gap: 8px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-heading {
    flex: 1;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-heading .og-operatore {
    font-size: 0.94rem;
    line-height: 1.2;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-status {
    margin-top: 1px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-media {
    align-self: stretch;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-cover {
    height: 100%;
    min-height: 128px;
    aspect-ratio: auto;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-left {
    justify-content: center;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-kicker {
    font-size: 0.6rem;
}

@keyframes kit-card-reveal {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-accordion-body,
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-mobile-summary-actions {
    animation: kit-card-reveal 0.22s ease both;
}

body.page-kit #modal-kit-config .kit-cfg-cover-panel {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

body.page-kit #modal-kit-config .kit-cfg-cover-preview {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 16px;
    background: linear-gradient(135deg, #ece5d9 0%, #d9e6f3 100%);
}

body.page-kit #modal-kit-config .kit-cfg-cover-preview-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.page-kit #modal-kit-config .kit-cfg-cover-preview-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
    padding: 14px;
    background:
        radial-gradient(circle at top left, rgba(255,255,255,0.74), transparent 54%),
        linear-gradient(135deg, rgba(249, 239, 228, 0.96) 0%, rgba(210, 226, 240, 0.96) 100%);
    color: #0f172a;
}

body.page-kit #modal-kit-config .kit-cfg-cover-preview-fallback span {
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1;
}

body.page-kit #modal-kit-config .kit-cfg-cover-preview-fallback i {
    font-size: 1.08rem;
    opacity: 0.56;
}

body.page-kit #modal-kit-config .kit-cfg-cover-preview-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 14px;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.18) 0%, rgba(15, 23, 42, 0) 42%, rgba(15, 23, 42, 0.54) 100%);
}

body.page-kit #modal-kit-config .kit-cfg-cover-kicker {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.page-kit #modal-kit-config .kit-cfg-cover-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.page-kit #modal-kit-config .kit-cfg-cover-actions .kit-cfg-add-btn,
body.page-kit #modal-kit-config .kit-cfg-cover-actions .kit-btn-danger {
    min-height: 36px;
}

@media (max-width: 600px) {
    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-group-summary {
        flex-direction: row;
        align-items: stretch;
        gap: 10px;
        padding: 10px 12px 10px 10px;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-media {
        flex: 0 0 92px;
        width: 92px;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-cover {
        aspect-ratio: 1 / 1;
        min-height: 92px;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-left {
        width: auto;
        flex: 1;
        justify-content: center;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-heading {
        width: 100%;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-heading .og-operatore {
        -webkit-line-clamp: 2;
        font-size: 0.84rem;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-kicker {
        font-size: 0.55rem;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .og-chevron {
        position: static;
        align-self: center;
        margin-left: 0;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] > .kit-group-summary {
        position: relative;
        grid-template-columns: 1fr;
        padding: 12px;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-cover {
        aspect-ratio: 16 / 9;
        min-height: 0;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .og-chevron {
        position: absolute;
        top: 14px;
        right: 14px;
        margin: 0;
    }

    body.page-kit #modal-kit-config .kit-cfg-cover-actions .kit-cfg-add-btn,
    body.page-kit #modal-kit-config .kit-cfg-cover-actions .kit-btn-danger {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 420px) {
    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-media {
        flex-basis: 82px;
        width: 82px;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group:not([open]) .kit-summary-cover {
        min-height: 82px;
    }
}

/* KIT PRODOTTI: rifinitura header espanso + CTA nuova shell */
body.page-kit .kit-main-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: -2px 0 4px;
    padding: 0 2px;
}

body.page-kit #kit-page-actions[data-page="kits"] .kit-main-cta,
body.page-kit .kit-empty-state--panel .kit-main-cta {
    min-height: 46px;
    padding: 0 18px;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(244,239,233,0.98) 100%);
    color: #0f172a;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.78), 0 10px 24px rgba(15, 23, 42, 0.08);
}

body.page-kit #kit-page-actions[data-page="kits"] .kit-main-cta i,
body.page-kit .kit-empty-state--panel .kit-main-cta i {
    color: #0f766e;
    font-size: 0.82rem;
}

body.page-kit #kit-page-actions[data-page="kits"] .kit-main-cta:hover,
body.page-kit .kit-empty-state--panel .kit-main-cta:hover {
    border-color: rgba(15, 23, 42, 0.16);
    background: linear-gradient(180deg, #ffffff 0%, #f0ece6 100%);
    color: #0f172a;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.86), 0 14px 28px rgba(15, 23, 42, 0.12);
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] > .kit-group-summary {
    position: relative;
    grid-template-columns: minmax(176px, 208px) minmax(0, 1fr);
    align-items: center;
    column-gap: 18px;
    row-gap: 12px;
    padding: 16px 18px 16px 16px;
    padding-right: 52px;
    border-bottom: 1px solid rgba(226, 232, 240, 0.82);
    background: linear-gradient(180deg, #fbfdff 0%, #f1f6fc 100%);
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-media {
    max-width: 208px;
    align-self: stretch;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-cover {
    min-height: 144px;
    border-radius: 18px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.76), 0 12px 24px rgba(15, 23, 42, 0.08);
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-left {
    align-items: flex-start;
    justify-content: center;
    gap: 12px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-heading {
    width: 100%;
    align-items: flex-start;
    gap: 0;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-heading-copy {
    width: 100%;
    gap: 7px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-kicker {
    font-size: 0.63rem;
    color: #64748b;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-heading .og-operatore {
    font-size: 1.24rem;
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.015em;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-status {
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 0.63rem;
    letter-spacing: 0.08em;
    opacity: 1;
    box-shadow: none;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-pills {
    display: none;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-mobile-grid {
    width: auto;
    max-width: 360px;
    grid-template-columns: repeat(2, minmax(128px, 1fr));
    gap: 8px;
    margin-top: 0;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-mobile-stat {
    min-height: 58px;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, 0.16);
    background: rgba(255,255,255,0.88);
    box-shadow: none;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-mobile-stat strong {
    font-size: 1rem;
    line-height: 1;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-mobile-stat span {
    margin-top: 4px;
    color: #64748b;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .og-chevron {
    position: absolute;
    top: 18px;
    right: 16px;
    margin: 0;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-accordion-body {
    padding: 12px 14px 14px;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-mobile-summary-actions {
    margin: 0 0 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(226, 232, 240, 0.82);
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-mobile-summary-action {
    min-height: 40px;
    border-radius: 13px;
    font-size: 0.75rem;
}

@media (max-width: 900px) {
    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] > .kit-group-summary {
        grid-template-columns: minmax(156px, 188px) minmax(0, 1fr);
        column-gap: 14px;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-heading .og-operatore {
        font-size: 1.12rem;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-mobile-grid {
        max-width: 330px;
    }
}

@media (max-width: 600px) {
    body.page-kit .kit-main-actions {
        margin-bottom: 8px;
        padding: 0;
    }

    body.page-kit #kit-page-actions[data-page="kits"] .kit-main-cta,
    body.page-kit .kit-empty-state--panel .kit-main-cta {
        width: 100%;
        justify-content: center;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] > .kit-group-summary {
        grid-template-columns: 1fr;
        padding: 12px;
        padding-right: 46px;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-media {
        max-width: none;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-cover {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-left {
        gap: 10px;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-heading .og-operatore {
        font-size: 1.02rem;
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-mobile-grid {
        width: 100%;
        max-width: none;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .og-chevron {
        top: 14px;
        right: 14px;
    }
}

@media (max-width: 420px) {
    body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list .kit-main-group[open] .kit-summary-mobile-grid {
        grid-template-columns: 1fr;
    }
}


/* ── Theme picker UI — classi base (indipendenti dal tema attivo) ── */

.theme-picker-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
    padding: 4px 0 8px;
}

/* Mobile: 1 card per riga garantita, preview piu grande, touch comfort */
@media (max-width: 480px) {
    .theme-picker-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .theme-card {
        padding: 14px;
        min-height: var(--touch-comfort, 48px);
    }
    .theme-card .theme-preview {
        height: 80px;
    }
}

.theme-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px;
    border-radius: 14px;
    border: 2px solid rgba(0,0,0,0.08);
    background: #ffffff;
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
    user-select: none;
}

.theme-card:hover {
    border-color: rgba(0,0,0,0.18);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.10);
}

.theme-card--active {
    border-color: #16a34a;
    box-shadow: 0 0 0 3px rgba(22,163,74,0.18), 0 6px 16px rgba(0,0,0,0.08);
}

.theme-preview {
    display: flex;
    height: 64px;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,0.06);
    background: #f1f5f9;
}

.theme-preview__sidebar {
    width: 28%;
    flex-shrink: 0;
    background: #242424;
}

.theme-preview__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 8px 7px;
    background: #f8fafc;
}

.theme-preview__bar {
    height: 8px;
    border-radius: 4px;
    background: #e2e8f0;
}

.theme-card__label {
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
}

.theme-card__desc {
    font-size: 11px;
    color: #64748b;
    line-height: 1.4;
}

.theme-card__check {
    display: none;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 700;
    color: #16a34a;
    margin-top: 2px;
}

.theme-card--active .theme-card__check {
    display: flex;
}

.theme-card:not(.theme-card--active) .theme-card__check {
    display: none;
}

/* ============================================================
   SISTEMA TEMI — CRM / Originale
   Il tema "Originale" non ha blocco: è lo stile base di default.
   Il tema "CRM" importa il design system del CRM aziendale:
   font Manrope + Space Grotesk, palette verde-teal calda,
   superfici crema, glassmorphism sulla topbar, shadows morbide.
   ============================================================ */

/* ── Variabili radice del tema CRM ──────────────────────────────── */
:root[data-theme="crm"] {
    /* Font */
    --font-ui:      'Manrope', sans-serif;
    --font-display: 'Space Grotesk', sans-serif;
    --font-mono:    ui-monospace, SFMono-Regular, Menlo, monospace;

    /* Palette brand */
    --crm-green:        #1f6f5c;
    --crm-green-strong: #165646;
    --crm-green-soft:   rgba(31, 111, 92, 0.10);
    --crm-green-mid:    #155e4f;

    /* Superfici */
    --crm-body:         #f7f8f8;
    --crm-surface:      #fffdf8;
    --crm-surface-hard: #ffffff;
    --crm-surface-soft: #f4f6f6;
    --crm-cream:        #f8f5ef;

    /* Testo */
    --crm-text:         #132120;
    --crm-text-muted:   #5f6f6b;
    --crm-text-light:   #8a9d98;

    /* Border */
    --crm-border:       #e3e8e7;
    --crm-border-warm:  #ddd6c8;
    --crm-border-mid:   rgba(125, 115, 96, 0.18);

    /* Shadow */
    --crm-shadow-sm:    0 6px 18px rgba(11, 31, 25, 0.05);
    --crm-shadow-md:    0 16px 34px rgba(11, 31, 25, 0.08);
    --crm-shadow-lg:    0 28px 80px rgba(15, 23, 42, 0.18);

    /* Mappatura delle variabili standard sui design token CRM */
    --primary:          var(--crm-green);
    --bg-body:          var(--crm-body);
    --text-main:        var(--crm-text);
    --text-muted:       var(--crm-text-muted);
    --border-color:     var(--crm-border);
    --card-bg:          var(--crm-surface);
    --bg-surface-strong: var(--crm-surface);
    --bg-surface-soft:  var(--crm-surface-soft);
    --accent-color:     var(--crm-green);
    --border-radius-card: 18px;
}

/* ── Body e contenitore principale ──────────────────────────────── */
[data-theme="crm"] body {
    background-color: var(--crm-body) !important;
    font-family: var(--font-ui) !important;
    color: var(--crm-text) !important;
}
[data-theme="crm"] #contenitore-principale {
    background-color: var(--crm-body) !important;
}

/* ── Font su tutti gli elementi testuali ────────────────────────── */
[data-theme="crm"] body,
[data-theme="crm"] input,
[data-theme="crm"] textarea,
[data-theme="crm"] select,
[data-theme="crm"] button,
[data-theme="crm"] .sidebar-nav-label,
[data-theme="crm"] .sidebar-brand-name {
    font-family: var(--font-ui) !important;
}

/* Titoli con Space Grotesk */
[data-theme="crm"] h1,
[data-theme="crm"] h2,
[data-theme="crm"] h3,
[data-theme="crm"] .prod-page-title,
[data-theme="crm"] .acq-page-title,
[data-theme="crm"] .req-page-title,
[data-theme="crm"] .manuali-hero-title,
[data-theme="crm"] .settings-hero-title,
[data-theme="crm"] .section-title,
[data-theme="crm"] .modal-title,
[data-theme="crm"] .settings-group-title {
    font-family: var(--font-display) !important;
    letter-spacing: -0.01em !important;
}

/* ── SIDEBAR (mobile + desktop) ─────────────────────────────────── */
[data-theme="crm"] .sidebar {
    background: var(--crm-surface) !important;
    border-color: var(--crm-border) !important;
    box-shadow: var(--crm-shadow-md) !important;
}
[data-theme="crm"] .sidebar-user-section,
[data-theme="crm"] .sidebar-footer {
    border-color: var(--crm-border) !important;
}
[data-theme="crm"] .sidebar-brand-home-btn {
    background: linear-gradient(180deg, var(--crm-green), var(--crm-green-strong)) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 18px rgba(21, 94, 79, 0.25) !important;
}
[data-theme="crm"] .sidebar-brand-name {
    color: var(--crm-text) !important;
}
[data-theme="crm"] .sidebar .menu-item {
    color: var(--crm-text-muted) !important;
    background: transparent !important;
    border-color: transparent !important;
}
[data-theme="crm"] .sidebar .menu-item:hover {
    background: var(--crm-green-soft) !important;
    color: var(--crm-green) !important;
    border-color: rgba(31, 111, 92, 0.22) !important;
}
[data-theme="crm"] .sidebar .menu-item.active,
[data-theme="crm"] .sidebar .menu-item[aria-current="page"] {
    background: rgba(31, 111, 92, 0.12) !important;
    color: var(--crm-green) !important;
    border-color: rgba(31, 111, 92, 0.28) !important;
}
[data-theme="crm"] .sidebar .menu-item.active i,
[data-theme="crm"] .sidebar .menu-item[aria-current="page"] i {
    color: var(--crm-green) !important;
}
[data-theme="crm"] .sidebar .menu-item i {
    color: var(--crm-text-light) !important;
}
[data-theme="crm"] .notifiche-bell-btn {
    color: var(--crm-text-muted) !important;
    background: transparent !important;
}
[data-theme="crm"] .notifiche-bell-btn:hover {
    background: var(--crm-green-soft) !important;
    color: var(--crm-green) !important;
}

/* Badge sidebar */
[data-theme="crm"] .sidebar-badge {
    background: var(--crm-green) !important;
    color: #ffffff !important;
}

/* ── DESKTOP TOPBAR (top-float-bar) ─────────────────────────────── */
[data-theme="crm"] .top-float-bar {
    background: rgba(255, 252, 246, 0.88) !important;
    backdrop-filter: blur(20px) saturate(1.8) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.8) !important;
    border-color: rgba(125, 115, 96, 0.18) !important;
    box-shadow: 0 2px 0 rgba(255,255,255,0.65) inset,
                0 8px 32px rgba(24, 32, 28, 0.10) !important;
}
[data-theme="crm"] .top-brand-card {
    border-right-color: var(--crm-border-mid) !important;
    background: transparent !important;
}
[data-theme="crm"] .top-brand-card .sidebar-brand-name {
    color: var(--crm-text) !important;
    font-family: var(--font-display) !important;
    font-weight: 700 !important;
}
[data-theme="crm"] .top-search-card {
    background: rgba(255, 253, 248, 0.7) !important;
    border-color: rgba(125, 115, 96, 0.14) !important;
}
[data-theme="crm"] .top-search-card:focus-within {
    border-color: rgba(21, 94, 79, 0.35) !important;
    box-shadow: 0 0 0 3px rgba(21, 94, 79, 0.10), 0 8px 16px rgba(21, 94, 79, 0.06) !important;
}
[data-theme="crm"] .top-search-input {
    color: var(--crm-text) !important;
    font-family: var(--font-ui) !important;
}
[data-theme="crm"] .top-search-input::placeholder {
    color: var(--crm-text-light) !important;
}
[data-theme="crm"] .top-hamburger-btn {
    color: var(--crm-text-muted) !important;
    background: rgba(0, 0, 0, 0.04) !important;
}
[data-theme="crm"] .top-hamburger-btn:hover {
    background: rgba(0, 0, 0, 0.08) !important;
    color: var(--crm-text) !important;
}

/* ── CRM: override stile pulsanti azione e badge ordini ───────────── */
[data-theme="crm"] .prod-orders-panel .badge-count {
    background: linear-gradient(135deg, var(--crm-green) 0%, var(--crm-green-strong) 100%) !important;
    color: #fffdf8 !important;
    border-color: transparent !important;
    box-shadow: 0 10px 20px rgba(21,94,79,0.22) !important;
}

[data-theme="crm"] .prod-orders-panel .ord-azione-inline,
[data-theme="crm"] .prod-orders-panel .prod-orders-panel .ord-azioni-trigger,
[data-theme="crm"] .prod-orders-panel .ord-azioni-trigger {
    background: var(--crm-surface-soft) !important;
    border: 1px solid var(--crm-border) !important;
    color: var(--crm-green) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.7) !important;
}

[data-theme="crm"] .prod-orders-panel .ord-azione-inline::after,
[data-theme="crm"] .prod-orders-panel .ord-azioni-trigger::after {
    background: var(--crm-text) !important;
    color: var(--crm-surface) !important;
}

[data-theme="crm"] .prod-orders-panel .ord-azione-inline:hover,
[data-theme="crm"] .prod-orders-panel .ord-azione-inline:focus-visible,
[data-theme="crm"] .prod-orders-panel .ord-azioni-trigger:hover,
[data-theme="crm"] .prod-orders-panel .ord-azioni-trigger:focus-visible {
    background: linear-gradient(135deg, var(--crm-green) 0%, var(--crm-green-strong) 100%) !important;
    border-color: var(--crm-green) !important;
    color: #fffdf8 !important;
    box-shadow: 0 10px 18px rgba(21,94,79,0.12) !important;
}

[data-theme="crm"] .prod-orders-panel .ord-azioni-popup {
    background: var(--crm-surface) !important;
    border: 1px solid var(--crm-border) !important;
    box-shadow: var(--crm-shadow-sm) !important;
    color: var(--crm-text) !important;
}

[data-theme="crm"] .prod-orders-panel .op-trigger-ord,
[data-theme="crm"] .prod-orders-panel .stato-dropdown-ord .stato-trigger,
[data-theme="crm"] .prod-orders-panel .btn-chiedi-assegna,
[data-theme="crm"] .prod-orders-panel .btn-sollecita,
[data-theme="crm"] .prod-orders-panel .btn-assegnami,
[data-theme="crm"] .prod-orders-panel .btn-assegnami-ord {
    background: var(--crm-surface) !important;
    border-color: var(--crm-border) !important;
    color: var(--crm-text) !important;
    box-shadow: var(--crm-shadow-sm) !important;
}
[data-theme="crm"] .top-brand-card .notifiche-bell-btn {
    color: var(--crm-text-muted) !important;
    background: transparent !important;
}
[data-theme="crm"] .top-brand-card .notifiche-bell-btn:hover {
    background: var(--crm-green-soft) !important;
    color: var(--crm-green) !important;
}

/* ── Input / Textarea / Select focus ────────────────────────────── */
[data-theme="crm"] input:focus,
[data-theme="crm"] textarea:focus,
[data-theme="crm"] select:focus {
    outline-color: rgba(21, 94, 79, 0.35) !important;
    border-color: var(--crm-green) !important;
    box-shadow: 0 0 0 3px rgba(21, 94, 79, 0.10) !important;
}

/* ── HERO BANNER — Produzione ────────────────────────────────────── */
/* Stile CRM: card crema con bordo sinistro brand + radial glow */
[data-theme="crm"] .prod-page-title-group {
    background: var(--crm-surface) !important;
    border: 1px solid var(--crm-border-warm) !important;
    border-left: 4px solid var(--crm-green-mid) !important;
    box-shadow: 0 2px 12px rgba(24, 32, 28, 0.06) !important;
    position: relative !important;
    overflow: hidden !important;
}
[data-theme="crm"] .prod-page-title-group::after {
    content: "" !important;
    position: absolute !important;
    right: -10px !important;
    top: -10px !important;
    width: 110px !important;
    height: 110px !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(21, 94, 79, 0.08), transparent 70%) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}
[data-theme="crm"] .prod-page-title,
[data-theme="crm"] .prod-page-subtitle {
    color: var(--crm-text) !important;
    position: relative !important;
    z-index: 1 !important;
}
[data-theme="crm"] .prod-page-eyebrow {
    color: var(--crm-green-mid) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

/* ── HERO BANNER — Acquisti / Kit / Pipistrelli ──────────────────── */
[data-theme="crm"] .acq-page-title-group {
    background: var(--crm-surface) !important;
    border: 1px solid var(--crm-border-warm) !important;
    border-left: 4px solid var(--crm-green-mid) !important;
    box-shadow: 0 2px 12px rgba(24, 32, 28, 0.06) !important;
}
[data-theme="crm"] .acq-page-title,
[data-theme="crm"] .acq-page-subtitle {
    color: var(--crm-text) !important;
}

/* ── HERO BANNER — Richieste ─────────────────────────────────────── */
[data-theme="crm"] .req-page-hero {
    background: var(--crm-surface) !important;
    border: 1px solid var(--crm-border-warm) !important;
    border-left: 4px solid var(--crm-green-mid) !important;
    box-shadow: 0 2px 12px rgba(24, 32, 28, 0.06) !important;
}
[data-theme="crm"] .req-page-title,
[data-theme="crm"] .req-page-subtitle,
[data-theme="crm"] .req-hero-title,
[data-theme="crm"] .req-hero-eyebrow {
    color: var(--crm-text) !important;
}

/* ── HERO BANNER — Manuali ───────────────────────────────────────── */
[data-theme="crm"] .manuali-hero {
    background: var(--crm-surface) !important;
    border: 1px solid var(--crm-border-warm) !important;
    border-left: 4px solid var(--crm-green-mid) !important;
    box-shadow: 0 2px 12px rgba(24, 32, 28, 0.06) !important;
}
[data-theme="crm"] .manuali-hero-title,
[data-theme="crm"] .manuali-hero-subtitle {
    color: var(--crm-text) !important;
}

/* ── HERO BANNER — Impostazioni ──────────────────────────────────── */
[data-theme="crm"] .settings-hero {
    background: var(--crm-surface) !important;
    border: 1px solid var(--crm-border-warm) !important;
    border-left: 4px solid var(--crm-green-mid) !important;
    box-shadow: 0 2px 12px rgba(24, 32, 28, 0.06) !important;
}
[data-theme="crm"] .settings-hero-title,
[data-theme="crm"] .settings-hero-eyebrow,
[data-theme="crm"] .settings-hero-subtitle {
    color: var(--crm-text) !important;
}
[data-theme="crm"] .settings-stat-chip i {
    background: var(--crm-green) !important;
    color: #ffffff !important;
}
[data-theme="crm"] .settings-action-btn {
    background: var(--crm-cream) !important;
    color: var(--crm-text) !important;
    border-color: var(--crm-border-warm) !important;
}
[data-theme="crm"] .settings-action-btn:hover {
    background: linear-gradient(180deg, var(--crm-green), var(--crm-green-strong)) !important;
    color: #ffffff !important;
    border-color: transparent !important;
    box-shadow: 0 6px 16px rgba(21, 94, 79, 0.28) !important;
}
[data-theme="crm"] .settings-row-icon {
    background: rgba(21, 94, 79, 0.10) !important;
    color: var(--crm-green) !important;
}

/* ── TAB BAR navigazione acquisti/kit/pip ────────────────────────── */
/* Le variabili acq-dark → verde teal CRM */
[data-theme="crm"] #acq-tab-bar,
#req-tab-bar,
[data-theme="crm"] #kit-tab-bar,
[data-theme="crm"] #pip-tab-bar,
[data-theme="crm"] #contenitore-dati[data-acq-view],
[data-theme="crm"] #contenitore-dati[data-kit-view],
[data-theme="crm"] #contenitore-dati[data-pip-view] {
    --acq-dark: #18201c;
    --acq-green: var(--crm-green);
}
/* Tab inattive: stile crema caldo */
[data-theme="crm"] .acq-tab {
    background: linear-gradient(180deg, var(--crm-surface) 0%, var(--crm-cream) 100%) !important;
    border-color: var(--crm-border-warm) !important;
    color: var(--crm-text-muted) !important;
}
[data-theme="crm"] .acq-tab:hover {
    background: var(--crm-surface) !important;
    border-color: rgba(21, 94, 79, 0.20) !important;
    color: var(--crm-text) !important;
}
/* Tab attiva: nero profondo stile CRM (come top-nav-section-btn.is-active) */
[data-theme="crm"] .acq-tab.active,
[data-theme="crm"] #acq-tab-bar .acq-tab.active,
[data-theme="crm"] #req-tab-bar .acq-tab.active,
[data-theme="crm"] #kit-tab-bar .acq-tab.active,
[data-theme="crm"] #pip-tab-bar .acq-tab.active,
[data-theme="crm"] #crm-tab-bar .acq-tab.active {
    background: linear-gradient(135deg, #18201c 0%, #243028 100%) !important;
    border-color: transparent !important;
    color: #fffdf8 !important;
    box-shadow: 0 10px 22px rgba(24, 32, 28, 0.18) !important;
}

/* ── BOARD STATO AVANZAMENTO (ov-accordion) ──────────────────────── */
[data-theme="crm"] .ov-accordion {
    background: var(--crm-surface) !important;
    border-color: var(--crm-border) !important;
    box-shadow: var(--crm-shadow-sm) !important;
}
[data-theme="crm"] .ov-accordion-summary {
    color: var(--crm-text) !important;
}

/* ── STAT CHIP — produzione ──────────────────────────────────────── */
[data-theme="crm"] .prod-stat-chip i {
    background: var(--crm-green) !important;
    color: #ffffff !important;
}
[data-theme="crm"] .prod-stat-chip.is-highlight {
    background: linear-gradient(135deg, var(--crm-green), var(--crm-green-strong)) !important;
    border-color: var(--crm-green) !important;
    box-shadow: 0 10px 24px rgba(21, 94, 79, 0.22) !important;
}
[data-theme="crm"] .prod-stat-chip.is-highlight i {
    background: rgba(255, 255, 255, 0.15) !important;
}

/* ── RIEPILOGO CHART SECTION ─────────────────────────────────────── */
[data-theme="crm"] .riepilogo-chart-section {
    background: var(--crm-cream) !important;
    border-color: var(--crm-border-warm) !important;
    box-shadow: 0 4px 20px rgba(21, 94, 79, 0.06) !important;
}
[data-theme="crm"] .riepilogo-chart-title {
    color: var(--crm-green) !important;
}

/* ── PRODUZIONE: colonna kanban header ───────────────────────────── */
[data-theme="crm"] .prod-col-header {
    background: var(--crm-surface) !important;
    border-color: var(--crm-border) !important;
    color: var(--crm-text) !important;
}
[data-theme="crm"] .prod-col-header .prod-col-badge {
    background: var(--crm-green-soft) !important;
    color: var(--crm-green) !important;
}

/* ── BOTTONI ─────────────────────────────────────────────────────── */
/* Bottone primario */
[data-theme="crm"] .btn-nuovo-fisso,
[data-theme="crm"] .ui-btn-primary,
[data-theme="crm"] .btn-modal-send,
[data-theme="crm"] .btn-reply-send,
[data-theme="crm"] .btn-add-cart,
[data-theme="crm"] .btn-archivia-prod,
[data-theme="crm"] .btn-ripristina,
[data-theme="crm"] .floating-cart-btn {
    background: linear-gradient(180deg, var(--crm-green), var(--crm-green-strong)) !important;
    color: #fffdf8 !important;
    border-color: transparent !important;
    box-shadow: 0 4px 14px rgba(21, 94, 79, 0.22) !important;
}
[data-theme="crm"] .btn-nuovo-fisso:hover,
[data-theme="crm"] .ui-btn-primary:hover,
[data-theme="crm"] .btn-modal-send:hover,
[data-theme="crm"] .btn-reply-send:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 8px 22px rgba(21, 94, 79, 0.32) !important;
}

/* Bottone secondario */
[data-theme="crm"] .btn-modal-cancel,
[data-theme="crm"] .btn-cancel,
[data-theme="crm"] .btn-modal-art-close,
[data-theme="crm"] .scroll-btn {
    background: var(--crm-cream) !important;
    color: var(--crm-text) !important;
    border-color: var(--crm-border-warm) !important;
    box-shadow: none !important;
}
[data-theme="crm"] .btn-modal-cancel:hover,
[data-theme="crm"] .btn-cancel:hover {
    background: #eee8dc !important;
    color: var(--crm-text) !important;
}

/* Bottoni azione accent */
[data-theme="crm"] .btn-chiedi-assegna,
[data-theme="crm"] .btn-reply,
[data-theme="crm"] .btn-alert,
[data-theme="crm"] .btn-archive,
[data-theme="crm"] .btn-archive-action,
[data-theme="crm"] .btn-chat-action,
[data-theme="crm"] .btn-sezione-edit:hover,
[data-theme="crm"] .chooser-azione-target-ordine {
    background: var(--crm-green-soft) !important;
    color: var(--crm-green) !important;
    border-color: rgba(21, 94, 79, 0.22) !important;
}
[data-theme="crm"] .btn-chiedi-assegna:hover,
[data-theme="crm"] .btn-reply:hover,
[data-theme="crm"] .btn-archive:hover,
[data-theme="crm"] .chooser-azione-target-ordine:hover {
    background: linear-gradient(180deg, var(--crm-green), var(--crm-green-strong)) !important;
    color: #fffdf8 !important;
    border-color: transparent !important;
    box-shadow: 0 6px 16px rgba(21, 94, 79, 0.26) !important;
}

/* Bottone aggiungi articolo dashed */
[data-theme="crm"] .btn-add-dashed {
    border-color: rgba(21, 94, 79, 0.30) !important;
    color: var(--crm-green) !important;
}
[data-theme="crm"] .btn-add-dashed:hover {
    background: var(--crm-green-soft) !important;
    border-color: var(--crm-green) !important;
}

/* Filtri articoli */
[data-theme="crm"] .btn-filtro-articoli:hover,
[data-theme="crm"] .btn-filtro-articoli.active {
    background: linear-gradient(180deg, var(--crm-green), var(--crm-green-strong)) !important;
    color: #fffdf8 !important;
    border-color: transparent !important;
    box-shadow: 0 4px 14px rgba(21, 94, 79, 0.22) !important;
}

/* Tipo btn pill attivo */
[data-theme="crm"] .btn-tipo.active {
    background: linear-gradient(135deg, #18201c 0%, #243028 100%) !important;
    color: #fffdf8 !important;
    border-color: transparent !important;
}

/* ── CHAT / MESSAGGI ─────────────────────────────────────────────── */
/* Bolla messaggio inviato */
[data-theme="crm"] .msg-sent .msg-bubble,
[data-theme="crm"] .chat-msg-sent .chat-bubble {
    background: linear-gradient(135deg, var(--crm-green), var(--crm-green-strong)) !important;
    color: #fffdf8 !important;
}

/* ── ACQUISTI — sezione badge e icon ────────────────────────────── */
[data-theme="crm"] .sezione-count {
    background: linear-gradient(135deg, var(--crm-green), var(--crm-green-strong)) !important;
    color: #ffffff !important;
}
[data-theme="crm"] .sezione-icon {
    color: var(--crm-green) !important;
}
[data-theme="crm"] .acq-hub-card-icon {
    color: var(--crm-green) !important;
}

/* ── ADMIN tab attiva ─────────────────────────────────────────────── */
[data-theme="crm"] .admin-tab.active {
    border-bottom-color: var(--crm-green) !important;
    color: var(--crm-green) !important;
}

/* ── RIGA ORDINE aperta ───────────────────────────────────────────── */
[data-theme="crm"] .riga-ordine.open {
    border-left-color: var(--crm-green) !important;
}

/* ── PIP TABLE header ───────────────────────────────────────────── */
[data-theme="crm"] .pip-table thead,
[data-theme="crm"] .pip-table th {
    background: var(--crm-cream) !important;
    color: var(--crm-text-muted) !important;
    border-color: var(--crm-border-warm) !important;
}

/* ── AI PANEL acquisti ──────────────────────────────────────────── */
[data-theme="crm"] .acq-hub-ai-panel {
    background: linear-gradient(160deg, #18201c 0%, #243028 100%) !important;
    border-color: rgba(255,255,255,0.06) !important;
}

/* ── SCROLL btn ─────────────────────────────────────────────────── */
[data-theme="crm"] .scroll-btn:hover {
    background: var(--crm-green) !important;
    color: #ffffff !important;
    border-color: var(--crm-green) !important;
}

/* ── TEMA PICKER (nella pagina impostazioni) ─────────────────────── */
/* Stile delle card nell'aspetto per tema CRM */
[data-theme="crm"] .theme-card {
    border-color: var(--crm-border-warm) !important;
    background: var(--crm-surface) !important;
    box-shadow: var(--crm-shadow-sm) !important;
}
[data-theme="crm"] .theme-card:hover {
    border-color: rgba(21, 94, 79, 0.35) !important;
    box-shadow: 0 8px 22px rgba(21, 94, 79, 0.12) !important;
}
[data-theme="crm"] .theme-card--active {
    border-color: var(--crm-green) !important;
    box-shadow: 0 0 0 2px rgba(21, 94, 79, 0.25), var(--crm-shadow-sm) !important;
}
[data-theme="crm"] .theme-card__check {
    background: var(--crm-green) !important;
    color: #ffffff !important;
}
[data-theme="crm"] .theme-card__label {
    color: var(--crm-text) !important;
}

/* ── MODAL overlay ───────────────────────────────────────────────── */
/* Backdrop stile CRM: sfocato con tinta verde-scura */
[data-theme="crm"] .modal-overlay,
[data-theme="crm"] .overlay-modale,
[data-theme="crm"] [class*="modal-overlay"],
[data-theme="crm"] [class*="overlay-backdrop"] {
    background: rgba(24, 32, 28, 0.52) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

/* ══════════════════════════════════════════════════════════════════
   CRM ROUND 2 — Kanban, Console PIP, Manuali, Sidebar logo, Stat chips
   ══════════════════════════════════════════════════════════════════ */

/* ── FASE 1: Kanban "Stato Avanzamento" ───────────────────────────── */
/* Colonne kanban: da sfondo scuro a bianco */
[data-theme="crm"] .ov-stato-card {
    background: #ffffff !important;
    border-color: var(--crm-border) !important;
    box-shadow: var(--crm-shadow-sm) !important;
}
/* Header di colonna: striscia teal leggera (mantiene il border-left colorato per stato) */
[data-theme="crm"] .ov-stato-header {
    background: rgba(21, 94, 79, 0.07) !important;
    border-color: var(--crm-border) !important;
}
/* Testo nome stato e label riga */
[data-theme="crm"] .ov-stato-nome {
    color: var(--crm-text) !important;
}
[data-theme="crm"] .ov-row-label {
    color: var(--crm-text) !important;
}
/* Badge quantità: sfondo teal soft + testo verde */
[data-theme="crm"] .ov-badge-qty {
    background: rgba(21, 94, 79, 0.10) !important;
    color: #155e4f !important;
}
/* Badge operazione: sfondo chiaro neutro */
[data-theme="crm"] .ov-badge-op {
    background: #f1f5f4 !important;
    color: #5f6f6b !important;
}
/* Separatore righe kanban */
[data-theme="crm"] .ov-stato-row {
    border-bottom-color: var(--crm-border) !important;
}
/* Hover item kanban: sfondo teal soft */
[data-theme="crm"] .ov-kanban-item:hover {
    background: rgba(21, 94, 79, 0.06) !important;
}
/* Etichetta "vuoto" */
[data-theme="crm"] .ov-empty-lbl {
    color: var(--crm-text-muted) !important;
}
/* Scrollbar colonna */
[data-theme="crm"] .ov-stato-body {
    scrollbar-color: rgba(21, 94, 79, 0.25) transparent !important;
}
/* Card operatori: bordi e testi su sfondo chiaro */
[data-theme="crm"] .ov-op-row {
    border-bottom-color: var(--crm-border) !important;
}
[data-theme="crm"] .ov-op-nome {
    color: var(--crm-text) !important;
}
[data-theme="crm"] .ov-op-free-badge {
    background: rgba(21, 94, 79, 0.08) !important;
    color: var(--crm-text-muted) !important;
}

/* ── FASE 2: Console PIP hero ─────────────────────────────────────── */
/* Card header prodotto: da nero a crema */
[data-theme="crm"] body.page-pip .pip-header-copy {
    background: var(--crm-surface) !important;
    border: 1px solid var(--crm-border-warm) !important;
    border-left: 4px solid var(--crm-green-mid) !important;
    box-shadow: var(--crm-shadow-sm) !important;
}
/* Kicker (etichetta sopra) → verde teal */
[data-theme="crm"] body.page-pip .pip-header-kicker,
[data-theme="crm"] body.page-pip .pip-section-kicker {
    color: var(--crm-green-mid) !important;
}
/* Titolo prodotto principale */
[data-theme="crm"] body.page-pip .pip-header-product {
    color: var(--crm-text) !important;
}
/* Sottotitolo / note */
[data-theme="crm"] body.page-pip .pip-header-subtitle {
    color: var(--crm-text-muted) !important;
}
/* Icona prodotto */
[data-theme="crm"] body.page-pip .pip-header-icon {
    background: rgba(21, 94, 79, 0.12) !important;
    color: var(--crm-green) !important;
}
/* Stat chip evidenziata nella console PIP: gradiente verde */
[data-theme="crm"] body.page-pip .pip-stat-chip.is-highlight {
    background: linear-gradient(135deg, var(--crm-green) 0%, var(--crm-green-strong) 100%) !important;
    border-color: var(--crm-green) !important;
    box-shadow: 0 12px 24px rgba(21, 94, 79, 0.22) !important;
}
[data-theme="crm"] body.page-pip .pip-stat-chip.is-highlight .pip-stat-value,
[data-theme="crm"] body.page-pip .pip-stat-chip.is-highlight .pip-stat-label,
[data-theme="crm"] body.page-pip .pip-stat-chip.is-highlight .pip-stat-meta {
    color: #fffdf8 !important;
}
/* Pulsante Reset (secondario) nella console PIP */
[data-theme="crm"] body.page-pip .pip-reset-btn {
    background: var(--crm-surface) !important;
    border-color: var(--crm-border) !important;
    color: var(--crm-text) !important;
    box-shadow: var(--crm-shadow-sm) !important;
}
[data-theme="crm"] body.page-pip .pip-reset-btn:hover {
    background: var(--crm-surface-hard) !important;
    border-color: var(--crm-green) !important;
}
/* Pulsante Salva (primario) nella console PIP → verde CRM */
[data-theme="crm"] body.page-pip .pip-save-btn {
    background: linear-gradient(135deg, var(--crm-green) 0%, var(--crm-green-strong) 100%) !important;
    border-color: var(--crm-green) !important;
    color: #fffdf8 !important;
    box-shadow: 0 12px 24px rgba(21, 94, 79, 0.22) !important;
}
[data-theme="crm"] body.page-pip .pip-save-btn:hover:not(:disabled) {
    background: linear-gradient(135deg, #1d6554 0%, #144e41 100%) !important;
}

/* ── FASE 3: Manuali hero — testi invisibili su sfondo crema ─────── */
/* Il kicker (etichetta sopra il titolo) che era bianco su scuro */
[data-theme="crm"] .manuali-kicker,
[data-theme="crm"] .manuali-section-kicker {
    color: var(--crm-green-mid) !important;
}
/* Titolo principale Manuali */
[data-theme="crm"] .manuali-title {
    color: var(--crm-text) !important;
}
/* Sottotitolo Manuali */
[data-theme="crm"] .manuali-subtitle {
    color: var(--crm-text-muted) !important;
}
/* Chip toolbar (erano bianche su scuro, ora su sfondo chiaro) */
[data-theme="crm"] .manuali-toolbar-chip {
    background: rgba(21, 94, 79, 0.08) !important;
    border-color: rgba(21, 94, 79, 0.18) !important;
    color: var(--crm-green-mid) !important;
}
[data-theme="crm"] .manuali-toolbar-chip i {
    color: var(--crm-green) !important;
}
/* Riga "aggiornato il" sotto la toolbar */
[data-theme="crm"] .manuali-toolbar-updated {
    color: var(--crm-text-muted) !important;
}

/* ── FASE 4: Sidebar logo — angoli scuri del logo ────────────────── */
/* Rimuove il background ereditato dal contenitore icona, lascia trasparente */
[data-theme="crm"] .sidebar-brand-icon {
    background: transparent !important;
}
[data-theme="crm"] .sidebar-brand-img {
    border-radius: 8px !important;
}
/* Stesso fix per la versione nel topbar mobile */
[data-theme="crm"] .top-brand-card .sidebar-brand-icon {
    background: transparent !important;
}

/* ── FASE 5: Acquisti stat chip — icone e chip highlight nere ──────── */
/* Icona dentro ogni chip: da nero a verde teal */
[data-theme="crm"] .acq-stat-chip i {
    background: rgba(21, 94, 79, 0.12) !important;
    color: var(--crm-green) !important;
}
/* Chip evidenziata: da gradiente scuro a gradiente verde */
[data-theme="crm"] .acq-stat-chip.is-highlight {
    background: linear-gradient(135deg, var(--crm-green) 0%, var(--crm-green-strong) 100%) !important;
    border-color: transparent !important;
    box-shadow: 0 18px 28px rgba(21, 94, 79, 0.18) !important;
}
[data-theme="crm"] .acq-stat-chip.is-highlight i {
    background: rgba(255, 255, 255, 0.15) !important;
    color: #fffdf8 !important;
}
[data-theme="crm"] .acq-stat-chip.is-highlight .acq-stat-value,
[data-theme="crm"] .acq-stat-chip.is-highlight .acq-stat-label,
[data-theme="crm"] .acq-stat-chip.is-highlight .acq-stat-meta {
    color: #fffdf8 !important;
}
/* ── Ulteriori override per pagina Produzione: sidebar, logo e kanban ── */
[data-theme="crm"] .sidebar {
    background: var(--crm-surface) !important;
}
[data-theme="crm"] .sidebar .sidebar-brand-img[src$=".png"] {
    display: block !important;
    width: 36px !important;
    height: 36px !important;
    object-fit: contain !important;
}
[data-theme="crm"] .sidebar .sidebar-brand-img[src$=".svg"] {
    display: block !important;
    width: 36px !important;
    height: 36px !important;
    object-fit: contain !important;
}
[data-theme="crm"] .sidebar .sidebar-brand-name {
    font-weight: 900 !important;
    color: var(--crm-text) !important;
    letter-spacing: 0.12em !important;
    font-family: var(--font-display) !important;
}
/* Forza colore testo Kanban (etichette/links) su scuro -> scuro CRM */
[data-theme="crm"] .ov-kanban-item,
[data-theme="crm"] .ov-kanban-item .ov-row-label,
[data-theme="crm"] .ov-kanban-item .ov-row-main,
[data-theme="crm"] .ov-stato-nome,
[data-theme="crm"] .ov-row-label,
[data-theme="crm"] .ov-row-label a {
    color: var(--crm-text) !important;
}

/* Override completo leggibilita' Stato Avanzamento sotto tema CRM */
[data-theme="crm"] .ov-accordion-summary,
[data-theme="crm"] .ov-summary-label i,
[data-theme="crm"] .ov-summary-meta,
[data-theme="crm"] .ov-summary-chevron,
[data-theme="crm"] .ov-op-nome,
[data-theme="crm"] .ov-op-free-badge,
[data-theme="crm"] .ov-op-item-meta,
[data-theme="crm"] .ov-op-item-cod,
[data-theme="crm"] .ov-op-item-label,
[data-theme="crm"] .ov-op-item-label em,
[data-theme="crm"] .ov-op-item-cli,
[data-theme="crm"] .ov-op-item-qty,
[data-theme="crm"] .ov-stato-nome,
[data-theme="crm"] .ov-sub-chevron,
[data-theme="crm"] .ov-row-label,
[data-theme="crm"] .ov-badge-ord,
[data-theme="crm"] .ov-row-ordini,
[data-theme="crm"] .ov-badge-op,
[data-theme="crm"] .ov-empty-lbl,
[data-theme="crm"] .ov-drag-handle,
[data-theme="crm"] .ov-row-sub,
[data-theme="crm"] .ov-row-sub em {
    color: var(--crm-text) !important;
}

/* redeploy-bump: 2026-06-04T12:00Z - commento innocuo per cambiare hash build */

/* ── KANBAN PIPELINE CRM (Utilizza classi native .ov-stato-card e .ov-stato-row) ────────────────── */

/* Modals & Contact Role dynamic row design */
.crm-contact-role-row {
    display: grid !important;
    grid-template-columns: 2fr 1.5fr 1fr 2fr auto !important;
    gap: 8px !important;
    align-items: center !important;
    background: var(--crm-surface-soft, #f1f5f9) !important;
    padding: 8px !important;
    border-radius: 4px !important;
    border: 1px solid var(--crm-border, var(--border-color, #e2e8f0)) !important;
    margin-top: 6px !important;
}

.crm-contact-role-row select,
.crm-contact-role-row input {
    margin: 0 !important;
}

.crm-contact-role-trash-btn {
    color: var(--crm-text-muted, var(--text-muted, #64748b)) !important;
    border: none !important;
    background: transparent !important;
    cursor: pointer !important;
    padding: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color 0.15s ease !important;
}

.crm-contact-role-trash-btn:hover {
    color: #e11d48 !important;
}





/* --- INIZIO STILI ESTENSIONI CRM --- */
/* ── 8. SLIDE-OVER DRAWER COMPONENTE (STRIPE / LINEAR STYLE) ─────────────── */
.crm-drawer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.4);
    backdrop-filter: blur(4px);
    z-index: 2000;
    display: flex;
    justify-content: flex-end;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.crm-drawer-overlay.active {
    opacity: 1;
    pointer-events: auto;
}

/* Document custom styling inside crm-drawer (renders as centered modal overlay) */
.crm-drawer-overlay.is-document {
    justify-content: center !important;
    align-items: center !important;
    padding: 24px !important;
}

.crm-drawer-overlay.is-document .crm-drawer-content {
    width: min(1380px, 95vw) !important;
    height: min(95vh, 960px) !important;
    border-radius: var(--radius-drawer, 20px) !important;
    transform: translateY(20px) scale(0.96) !important;
    box-shadow: var(--shadow-premium-lg) !important;
    border: 1px solid var(--border-color) !important;
    opacity: 0;
    transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.3s ease, background-color 0.3s, border-color 0.3s !important;
}

.crm-drawer-overlay.active.is-document .crm-drawer-content {
    transform: translateY(0) scale(1) !important;
    opacity: 1 !important;
}

@media (min-width: 769px) {
    .crm-drawer-overlay.is-document .drawer-info-grid {
        grid-template-columns: repeat(6, 1fr) !important;
    }
    .crm-drawer-overlay.is-document .crm-drawer-body.modal-form-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: 6px 10px !important;
        padding: 10px 16px !important;
    }
    .crm-drawer-overlay.is-document .drawer-info-item.full-width {
        grid-column: 1 / -1 !important;
    }
    .crm-drawer-overlay.is-document .field-full {
        grid-column: 1 / -1 !important;
    }
    .crm-drawer-overlay.is-document .form-field {
        gap: 2px;
    }
    .crm-drawer-overlay.is-document .input-field-modern {
        min-height: 26px;
        padding: 0 6px;
        font-size: 11px;
    }
    .crm-drawer-overlay.is-document textarea.input-field-modern {
        min-height: 40px;
    }
    .crm-drawer-overlay.is-document .modal-label {
        font-size: 8.5px;
        margin-bottom: 2px;
    }
    .crm-drawer-overlay.is-document .form-section-title {
        font-size: 11.5px;
        margin-top: 6px;
        margin-bottom: 6px;
        padding-bottom: 2px;
    }
    .crm-drawer-overlay.is-document .line-input {
        min-height: 24px;
        font-size: 10px;
        padding: 0 6px;
        width: 100%;
    }
    
    .document-lines-list {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
    .document-line-card {
        background: #f8fafc;
        border: 1px solid var(--border-color);
        border-radius: 8px;
        padding: 10px 14px;
    }
    [data-theme="dark"] .document-line-card {
        background: var(--dk-surface);
    }
    .line-card-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 8px;
        padding-bottom: 6px;
        border-bottom: 1px solid var(--border-color);
    }
    .line-card-index {
        font-size: 11px;
        font-weight: 600;
        color: var(--text-color);
    }
    .line-card-grid {
        display: grid;
        grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) 65px 60px 80px 75px 100px 70px;
        gap: 8px 10px;
        align-items: end;
    }
    .line-field {
        display: flex;
        flex-direction: column;
        gap: 4px;
        align-items: flex-start;
        width: 100%;
        min-width: 0;
    }
    .line-field label {
        font-size: 9px;
        color: var(--text-muted);
        font-weight: 600;
        text-transform: uppercase;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-bottom: 2px;
    }
    
    .line-imponibile-cell, .line-total-cell {
        font-size: 11px;
        font-weight: 600;
        height: 24px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        width: 100%;
    }
    
    .line-input[type="number"], .global-discount-input {
        text-align: right;
    }
    
    .crm-drawer-overlay.is-document .lines-editor-title {
        font-size: 12px;
        margin-bottom: 6px;
    }
    .crm-drawer-overlay.is-document .document-totals-card {
        font-size: 11px;
        padding: 8px 12px;
    }
    .crm-drawer-overlay.is-document .btn-dark,
    .crm-drawer-overlay.is-document .btn-secondary,
    .crm-drawer-overlay.is-document .btn-line-add {
        min-height: 26px;
        padding: 0 10px;
        font-size: 10.5px;
    }
}

.crm-drawer-content {
    width: min(560px, 90vw);
    height: 100%;
    background: #ffffff;
    box-shadow: -10px 0 40px rgba(15, 23, 42, 0.15);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
    overflow: hidden;
}

[data-theme="dark"] .crm-drawer-content {
    background: var(--dk-surface-mid);
    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.5);
}

.crm-drawer-overlay.active .crm-drawer-content {
    transform: translateX(0);
}

.crm-drawer-header {
    padding: 24px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--bg-surface-soft);
}

.crm-drawer-eyebrow {
    font-size: 10.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    margin-bottom: 4px;
    display: block;
}

.crm-drawer-title {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 700;
    color: var(--text-main);
    line-height: 1.25;
}

.btn-drawer-close {
    background: transparent;
    border: none;
    font-size: 28px;
    line-height: 1;
    color: var(--text-muted);
    cursor: pointer;
    transition: color 0.2s ease;
    padding: 0 6px;
}
.btn-drawer-close:hover {
    color: var(--text-main);
}

.crm-drawer-tabs {
    display: flex;
    padding: 0 16px;
    background: var(--bg-surface-soft);
    border-bottom: 1px solid var(--border-color);
}

.crm-drawer-tab-btn {
    border: none;
    background: transparent;
    padding: 14px 16px;
    font-size: 13px;
    font-weight: 700;
    color: var(--text-muted);
    cursor: pointer;
    position: relative;
    transition: color 0.2s ease;
}

.crm-drawer-tab-btn:hover {
    color: var(--text-main);
}

.crm-drawer-tab-btn.active {
    color: var(--brand-primary);
}

.crm-drawer-tab-btn.active::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 16px;
    right: 16px;
    height: 2.5px;
    background: var(--brand-primary);
    border-radius: 99px;
}

.crm-drawer-body {
    flex: 1;
    overflow-y: auto;
    padding: 24px;
}

.crm-drawer-footer {
    padding: 20px 24px;
    border-top: 1px solid var(--border-color);
    background: var(--bg-surface-soft);
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

/* Campi informativi dentro il drawer */
.drawer-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.drawer-info-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.drawer-info-item.full-width {
    grid-column: span 2;
}

.drawer-info-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--text-muted);
    letter-spacing: 0.04em;
}

.drawer-info-value {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--text-main);
    word-break: break-word;
}

/* --- FINE STILI ESTENSIONI CRM --- */


/* --- CRM SIDE-PROJECT STYLES --- */
/* ==========================================================================
   TIMELINE DETAILS AND SIDEBAR INFO CARDS
   ========================================================================== */

.detail-layout {
    display: grid;
        grid-template-columns: 1fr 1.5fr;
        gap: 24px;
        align-items: start;
}

.detail-sidebar-card {
    background: var(--bg-surface-strong);
        border: 1px solid var(--border-color);
        border-radius: 24px;
        padding: 24px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.02);
        display: flex;
        flex-direction: column;
        gap: 20px;
}

.detail-user-block {
    display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding-bottom: 20px;
        border-bottom: 1px solid var(--border-color);
}

.detail-avatar-large {
    width: 64px;
        height: 64px;
        background: #f1f5f9;
        color: var(--text-main);
        font-size: 22px;
        font-weight: 800;
        border-radius: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 12px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

.detail-info-list {
    display: flex;
        flex-direction: column;
        gap: 14px;
}

.detail-info-item {
    display: flex;
        flex-direction: column;
        gap: 4px;
}

.detail-info-label {
    font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: var(--text-muted);
}

.detail-info-value {
    font-size: 14px;
        font-weight: 600;
        color: var(--text-main);
}

.detail-panel-title {
    font-family: var(--font-display);
        font-size: 18px;
        font-weight: 700;
        margin-bottom: 20px;
        color: var(--text-main);
        display: flex;
        justify-content: space-between;
        align-items: center;
}

.timeline-item {
    position: relative;
        margin-bottom: 24px;
}

.timeline-item:last-child {
    margin-bottom: 0;
}

.timeline-icon {
    position: absolute;
        left: -32px;
        top: 2px;
        width: 24px;
        height: 24px;
        background-color: #ffffff;
        border: 2px solid var(--border-color);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 2;
}

.timeline-icon i {
    font-size: 10px;
        color: var(--text-muted);
}

.timeline-item.active-item .timeline-icon {
    border-color: #111111;
        background-color: #111111;
}

.timeline-item.active-item .timeline-icon i {
    color: #ffffff;
}

.timeline-content {
    background: #f8fafc;
        border: 1px solid var(--border-color);
        border-radius: 16px;
        padding: 14px 16px;
}

.timeline-header {
    display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 6px;
}

.timeline-title {
    font-size: 13px;
        font-weight: 700;
        color: var(--text-main);
}

.timeline-time {
    font-size: 11px;
        color: var(--text-muted);
}

.timeline-text {
    font-size: 13px;
        line-height: 1.45;
        color: #475569;
}

.csv-cleaner-select-row {
    display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 8px;
}

.csv-cleaner-select-btn {
    min-height: 34px;
        padding: 0 12px;
        border-radius: 8px;
        border: 1px solid #cbd5e1;
        background: #ffffff;
        color: #0f172a;
        font-family: inherit;
        font-size: 12px;
        font-weight: 700;
        cursor: pointer;
}

.csv-cleaner-actions {
    display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 10px;
}

.csv-cleaner-action-btn {
    min-height: 40px;
        padding: 0 10px;
        border-radius: 10px;
        border-width: 1px;
        border-style: solid;
        font-family: inherit;
        font-size: 13px;
        font-weight: 800;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        cursor: pointer;
        white-space: nowrap;
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.csv-cleaner-action-btn.is-keep {
    border-color: #22c55e;
        background: #f0fdf4;
        color: #166534;
}

.csv-cleaner-action-btn.is-drop {
    border-color: #ef4444;
        background: #fef2f2;
        color: #991b1b;
}

.csv-cleaner-action-btn.is-review {
    border-color: #f59e0b;
        background: #fffbeb;
        color: #92400e;
}

.csv-cleaner-action-btn:hover,
.csv-cleaner-select-btn:hover {
    transform: translateY(-1px);
}

.csv-cleaner-view-row {
    display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 10px;
}

.csv-cleaner-view-btn {
    min-height: 34px;
        border-radius: 8px;
        border: 1px solid #cbd5e1;
        background: #ffffff;
        color: #334155;
        font-size: 12px;
        font-weight: 700;
        cursor: pointer;
}

.csv-cleaner-view-btn.is-active {
    border-color: #0f172a;
        background: #0f172a;
        color: #ffffff;
}

/* Grid dettali */
    .detail-layout {
    grid-template-columns: 1fr !important;
}

.document-totals-panel {
    justify-content: stretch;
}

/* Riepilogo totali del documento */
.document-totals-panel {
    display: flex;
        justify-content: flex-end;
        margin-top: 18px;
        margin-bottom: 12px;
}

.modal-content.modal-document .document-totals-panel {
    justify-content: flex-end;
}

.totals-row {
    display: flex;
        justify-content: space-between;
        font-size: 12.5px;
        color: #cbd5e1;
        font-weight: 500;
}

.totals-row span:last-child {
    font-family: monospace;
        font-weight: 700;
        color: #ffffff;
        font-size: 13.5px;
}

.totals-row.totals-final {
    margin-top: 6px;
        padding-top: 12px;
        border-top: 1px solid rgba(255, 255, 255, 0.18);
        font-size: 15px;
        font-weight: 800;
        color: #ffffff;
}

.totals-row.totals-final span:last-child {
    font-size: 17px;
        color: #5eead4;
}

.relation-list,
.record-checklist,
.detail-related-stack {
    display: grid;
        gap: 10px;
}

.relation-row,
.relation-card {
    width: 100%;
        border: 1px solid #e8e0d2;
        border-radius: 14px;
        background: rgba(255,255,255,0.72);
        padding: 12px 14px;
        text-align: left;
}

.relation-row strong,
.relation-row small,
.relation-row span,
.relation-card strong,
.relation-card small {
    display: block;
}

.relation-row strong,
.relation-card strong {
    color: #18201c;
}

.relation-row small,
.relation-card small {
    margin-top: 4px;
        color: var(--text-muted);
        font-size: 12px;
}

.relation-card .dashboard-mini-btn {
    margin-top: 10px;
}

.detail-related-card {
    border-top: 1px solid #ece4d7;
        padding-top: 14px;
}

.detail-related-card:first-child {
    border-top: 0;
        padding-top: 0;
}

.detail-sidebar-card,
.timeline-content-card,
.settings-theme-card,
.settings-switch-item {
    border-radius: 8px;
        background: #fffdf8;
        border-color: #ddd6c8;
}

/* ── 16. DETAIL CARD E TIMELINE ──────────────────────────────────────────── */
.detail-sidebar-card,
.detail-timeline-panel {
    border: 1px solid #ddd6c8 !important;
        background: #fffdf8 !important;
        box-shadow: 0 2px 12px rgba(24,32,28,0.06) !important;
}

.detail-avatar-large {
    background: linear-gradient(135deg, rgba(21,94,79,0.10), rgba(154,107,31,0.08)) !important;
        color: #155e4f !important;
        border: 2px solid rgba(21,94,79,0.12) !important;
}

.timeline-icon {
    box-shadow: 0 2px 6px rgba(24,32,28,0.08) !important;
}

.timeline-item.active-item .timeline-icon {
    background: linear-gradient(135deg, #155e4f, #0f3f36) !important;
        border-color: #155e4f !important;
        box-shadow: 0 4px 12px rgba(21,94,79,0.24) !important;
}

.timeline-content {
    background: linear-gradient(180deg, #fffdf8, #f8f4ed) !important;
        border-color: #ddd6c8 !important;
        box-shadow: 0 2px 8px rgba(24,32,28,0.04) !important;
}



/* ==========================================================================
   RESPONSIVE CRM HARDENING
   ========================================================================== */

.detail-quick-note-row {
    display: flex;
        gap: 10px;
}

.detail-quick-note-row .input-field-modern {
    min-width: 0;
        flex: 1 1 auto;
}

.detail-layout {
    grid-template-columns: 1fr;
}

.detail-panel-title {
    gap: 12px;
            flex-wrap: wrap;
}

.crm-workbench,
    .crm-page-header,
    .crm-header-card,
    .crm-table-container,
    .detail-sidebar-card,
    .detail-timeline-panel {
    width: 100%;
            min-width: 0;
            max-width: 100%;
}

.detail-sidebar-card,
    .detail-timeline-panel {
    padding: 18px;
            border-radius: 18px;
}

.detail-panel-title,
    .timeline-header {
    flex-direction: column;
            align-items: flex-start;
}

.detail-quick-note-row {
    flex-direction: column;
}

.detail-quick-note-row .btn-dark {
    width: 100%;
}

.document-totals-panel,
    .modal-content.modal-document .document-totals-panel {
    justify-content: stretch;
}

.print-totals-row {
    display: flex;
            justify-content: space-between;
            padding: 5px 0;
            font-size: 14px;
}

.print-totals-row.grand-total {
    font-weight: bold;
            font-size: 16px;
            border-top: 2px solid #165646;
            padding-top: 10px;
            margin-top: 5px;
}

.print-totals-row {
    display: flex;
            justify-content: space-between;
            padding: 8px 0;
            color: #4b5563;
}

/* Override for specific dark mode items */
[data-theme="dark"] .app-sidebar,
[data-theme="dark"] .app-sidebar-submenu,
[data-theme="dark"] .top-brand-card,
[data-theme="dark"] .top-search-card,
[data-theme="dark"] .crm-table-container,
[data-theme="dark"] .crm-kpi-card,
[data-theme="dark"] .crm-header-card,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .crm-drawer-content,
[data-theme="dark"] .settings-theme-card,
[data-theme="dark"] .form-field,
[data-theme="dark"] .search-select-container,
[data-theme="dark"] .document-lines-editor,
[data-theme="dark"] .document-totals-panel {
    background: var(--dk-surface) !important;
        border-color: var(--dk-border-mid) !important;
        box-shadow: var(--dk-shadow-md) !important;
}

/* Rimuovi freccette spin globalmente per tutti gli input number */
    .crm-drawer-overlay.is-document .document-totals-card {
    font-size: 11px;
            padding: 8px 12px;
}

/* ==========================================================================
   PREVENTIVI DRAWER CUSTOM STYLING & REDESIGN
   ========================================================================== */

/* Drawer Custom Container */
.crm-drawer-body.preventivi-drawer-custom {
    display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
        width: 100% !important;
        padding: 24px 32px !important;
        box-sizing: border-box !important;
}

.crm-drawer-body.preventivi-drawer-custom #drawer-edit-form {
    display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
        width: 100% !important;
}

/* ==========================================================================
   CRM THEME VARIABLE OVERRIDES & STANDARD MAPPINGS
   ========================================================================== */
:root[data-theme="crm"] {
    --primary:             #1f6f5c;
    --sidebar-bg:          #ffffff;
    --sidebar-text:        #5f6f6b;
    --sidebar-active:      #1f6f5c;
    --bg-body:             #f7f8f8;
    --bg-surface:          #ffffff;
    --bg-surface-strong:   #ffffff;
    --bg-surface-soft:     #f4f6f6;
    --text-main:           #132120;
    --text-muted:          #5f6f6b;
    --border-color:        #e3e8e7;
    --accent-color:        #1f6f5c;
    --accent-soft:         rgba(31, 111, 92, 0.08);
}

/* ==========================================================================
   SIDEBAR HOVER EXPANSION & SUBMENU OVERLAYS (DESKTOP ONLY)
   ========================================================================== */
@media (min-width: 769px) {
    /* Reset main content width/margin to assume collapsed sidebar by default, so expanded sidebar overlaps it */
    body .main-content {
        margin-left: calc(var(--desk-shell-edge) + var(--desk-sidebar-collapsed-width) + var(--desk-shell-gap)) !important;
        width: calc(100% - var(--desk-shell-edge) - var(--desk-shell-edge) - var(--desk-sidebar-collapsed-width) - var(--desk-shell-gap)) !important;
        transition: margin-left 0.28s cubic-bezier(0.4, 0, 0.2, 1), width 0.28s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }
    
    .sidebar {
        width: var(--desk-sidebar-collapsed-width) !important;
        padding: var(--desk-sidebar-padding-y) 8px !important;
        transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
        overflow: visible !important;
    }

    .sidebar:hover,
    .sidebar.submenu-open {
        width: var(--desk-sidebar-width) !important;
        padding: var(--desk-sidebar-padding-y) var(--desk-sidebar-padding-x) !important;
    }

    /* By default, hide brand text, labels, user info, etc. unless sidebar is hovered */
    .sidebar:not(:hover):not(.submenu-open) .sidebar-brand-text,
    .sidebar:not(:hover):not(.submenu-open) #user-info-top,
    .sidebar:not(:hover):not(.submenu-open) .menu-item .menu-label,
    .sidebar:not(:hover):not(.submenu-open) .badge-sidebar-inline {
        display: none !important;
        opacity: 0;
    }
    
    .sidebar:hover .sidebar-brand-text,
    .sidebar.submenu-open .sidebar-brand-text,
    .sidebar:hover #user-info-top,
    .sidebar.submenu-open #user-info-top,
    .sidebar:hover .menu-item .menu-label,
    .sidebar.submenu-open .menu-item .menu-label {
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        overflow: visible !important;
        opacity: 1;
    }

    /* Adjust alignments when collapsed vs hovered */
    .sidebar .menu-item {
        justify-content: center !important;
        padding: 12px 0 !important;
        width: 100% !important;
    }
    
    .sidebar:hover .menu-item,
    .sidebar.submenu-open .menu-item {
        justify-content: flex-start !important;
        padding: 10px 14px !important;
    }
    
    .sidebar .menu-content {
        gap: 0 !important;
        justify-content: center !important;
    }
    
    .sidebar:hover .menu-content,
    .sidebar.submenu-open .menu-content {
        gap: 10px !important;
        justify-content: flex-start !important;
    }
    
    .sidebar .sidebar-brand-home-btn {
        justify-content: center !important;
        padding: 10px 0 !important;
    }
    
    .sidebar:hover .sidebar-brand-home-btn,
    .sidebar.submenu-open .sidebar-brand-home-btn {
        justify-content: flex-start !important;
        padding: 10px 14px !important;
    }
    
    .sidebar .sidebar-user-section {
        justify-content: center !important;
        padding: 12px 0 !important;
    }
    
    .sidebar:hover .sidebar-user-section,
    .sidebar.submenu-open .sidebar-user-section {
        justify-content: space-between !important;
        padding: 14px 8px !important;
    }

    /* Hide page tab bars/navigation buttons on desktop */
    #acq-tab-bar,
#req-tab-bar,
    #pip-tab-bar,
    #crm-tab-bar {
        display: none !important;
    }
}

/* ==========================================================================
   APP SIDEBAR SUBMENU STYLING
   ========================================================================== */
.app-sidebar-submenu {
    position: absolute;
    left: calc(100% + 14px);
    width: 250px;
    background: #ffffff;
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 14px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    padding: 14px;
    opacity: 0;
    pointer-events: none;
    transform: translate3d(0, 8px, 0);
    transition: all 0.18s ease;
    z-index: 250;
}

.app-sidebar-submenu::before {
    content: "";
    position: absolute;
    top: -8px;
    bottom: -8px;
    left: -18px;
    width: 18px;
    background: transparent;
    pointer-events: auto;
}

.app-sidebar-submenu.active {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

[data-theme="crm"] .app-sidebar-submenu {
    background: var(--crm-surface);
    border-color: var(--crm-border);
    box-shadow: var(--crm-shadow-md);
}

.app-subtab-title {
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
    font-weight: 800;
    margin-bottom: 10px;
    text-align: left;
}

.app-subtab-row {
    display: grid;
    gap: 6px;
}

.app-subtab-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: var(--bg-surface-strong, #ffffff);
    color: var(--text-main);
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
    text-align: left;
    width: 100%;
}

.app-subtab-btn:hover {
    background: var(--bg-surface-soft, #f8fafc);
    border-color: var(--primary);
    color: var(--primary);
}

.app-subtab-btn.active {
    background: var(--accent-soft, rgba(36, 36, 36, 0.08));
    border-color: var(--primary);
    color: var(--primary);
    font-weight: 700;
}

/* ==========================================================================
   CRM WORKBENCH & REPORTING STYLING
   ========================================================================== */
.crm-workbench {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.dashboard-metric-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

.dashboard-metric-card {
    display: flex;
    gap: 14px;
    align-items: center;
    padding: 16px 18px;
    border: 1px solid var(--border-color);
    background: var(--bg-surface-strong);
    border-radius: 16px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.02);
}

.dashboard-metric-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--accent-soft);
    color: var(--primary);
    font-size: 1.2rem;
    flex-shrink: 0;
}

.dashboard-metric-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
    text-align: left;
}

.dashboard-metric-label {
    font-size: 9.5px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    font-weight: 800;
}

.dashboard-metric-value {
    font-size: 21px;
    font-weight: 800;
    color: var(--text-main);
    margin: 2px 0;
}

.dashboard-metric-subtext {
    font-size: 11px;
    color: var(--text-muted);
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 20px;
}

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

.dashboard-panel {
    padding: 18px;
    border: 1px solid var(--border-color);
    background: var(--bg-surface-strong);
    border-radius: 18px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
}

.dashboard-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
    text-align: left;
}

.dashboard-panel-eyebrow {
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    font-weight: 800;
}

.dashboard-panel-head h3 {
    margin-top: 2px;
    font-size: 18px;
    font-weight: 700;
    color: var(--text-main);
}

.dashboard-inline-link {
    border: none;
    background: transparent;
    color: var(--primary);
    font-weight: 700;
    font-size: 12px;
    cursor: pointer;
}

.dashboard-alert-list,
.dashboard-task-list {
    display: grid;
    gap: 12px;
}

.dashboard-alert-card {
    text-align: left;
    padding: 12px 14px;
    cursor: pointer;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: var(--bg-surface-soft);
    display: flex;
    flex-direction: column;
}

.dashboard-alert-card.tone-critical {
    border-color: rgba(239, 68, 68, 0.25);
    background: linear-gradient(180deg, rgba(254, 242, 242, 0.9), var(--bg-surface-strong));
}

.dashboard-alert-card.tone-warning {
    border-color: rgba(245, 158, 11, 0.25);
    background: linear-gradient(180deg, rgba(254, 243, 199, 0.9), var(--bg-surface-strong));
}

.dashboard-alert-card.tone-info {
    border-color: rgba(59, 130, 246, 0.25);
    background: linear-gradient(180deg, rgba(239, 246, 255, 0.9), var(--bg-surface-strong));
}

.dashboard-alert-title {
    font-weight: 700;
    font-size: 13.5px;
    color: var(--text-main);
}

.dashboard-alert-detail {
    color: var(--text-muted);
    font-size: 11.5px;
    margin-top: 2px;
}

.dashboard-alert-cta {
    margin-top: 6px;
    font-size: 10.5px;
    font-weight: 700;
    color: var(--primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.dashboard-task-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: var(--bg-surface-soft);
    text-align: left;
}

.dashboard-task-row strong {
    font-size: 13px;
    color: var(--text-main);
}

.dashboard-task-row span {
    font-size: 11px;
    color: var(--text-muted);
    display: block;
}

.dashboard-mini-btn {
    min-height: 30px;
    padding: 0 10px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 8px;
    border: 1px solid var(--border-color);
    background: var(--bg-surface-strong);
    color: var(--text-main);
    cursor: pointer;
}

.dashboard-mini-btn:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.dashboard-pipeline-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.dashboard-pipeline-card {
    padding: 14px;
    text-align: left;
    border: 1px solid var(--border-color);
    background: var(--bg-surface-strong);
    border-radius: 14px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
}

.dashboard-pipeline-card:hover {
    border-color: var(--primary);
}

.dashboard-pipeline-card i {
    color: var(--primary);
    margin-bottom: 8px;
    font-size: 1.1rem;
}

.dashboard-pipeline-card strong {
    font-size: 13px;
    color: var(--text-main);
}

.dashboard-pipeline-card span {
    margin: 4px 0;
    font-size: 20px;
    font-weight: 800;
    color: var(--text-main);
}

.dashboard-pipeline-card small {
    font-size: 11px;
    color: var(--text-muted);
}

.dashboard-quick-actions {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.dashboard-quick-action {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--border-color);
    background: var(--bg-surface-strong);
    border-radius: 14px;
    cursor: pointer;
    font-weight: 700;
    font-size: 12px;
    color: var(--text-main);
    text-align: left;
}

.dashboard-quick-action:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.dashboard-quick-action i {
    color: var(--primary);
    font-size: 1rem;
}

.dashboard-empty {
    padding: 18px;
    border: 1px dashed var(--border-color);
    border-radius: 12px;
    background: var(--bg-surface-soft);
    color: var(--text-muted);
    font-size: 12px;
    text-align: center;
}

.analysis-snapshot-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
    margin-top: 16px;
}

.analysis-snapshot-card {
    padding: 16px;
    border: 1px solid var(--border-color);
    background: var(--bg-surface-strong);
    border-radius: 18px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.02);
}

.analysis-state-list {
    display: grid;
    gap: 8px;
}

.analysis-state-row,
.analysis-top-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-top: 1px solid var(--border-color);
    font-size: 12.5px;
    text-align: left;
}

.analysis-state-row:first-child,
.analysis-top-row:first-child {
    border-top: 0;
    padding-top: 0;
}

.analysis-state-row span {
    color: var(--text-main);
    font-weight: 600;
}

.analysis-state-row strong {
    color: var(--text-main);
    font-weight: 700;
}

.analysis-top-row div {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.analysis-top-row span {
    font-weight: 700;
    color: var(--text-main);
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.analysis-top-row small {
    font-size: 11px;
    color: var(--text-muted);
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.analysis-top-row strong {
    font-weight: 800;
    color: var(--primary);
    flex-shrink: 0;
}

.analysis-health-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-top: 16px;
}

.analysis-health-card {
    padding: 14px 16px;
    border: 1px solid var(--border-color);
    background: var(--bg-surface-strong);
    border-radius: 16px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    text-align: left;
}

.analysis-health-card span {
    font-size: 9.5px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    font-weight: 800;
}

.analysis-health-card strong {
    font-size: 19px;
    font-weight: 800;
    color: var(--text-main);
    margin-top: 4px;
}

.analysis-health-card small {
    font-size: 11px;
    color: var(--text-muted);
    margin-top: 4px;
}

/* --- Tenant Switcher --- */
.tenant-switcher-section {
    padding: 12px 14px;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 10px;
    margin: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.05);
}
.tenant-switcher-header {
    font-size: 0.7rem;
    color: #8fe45e; /* green accent of PROD */
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.tenant-switcher-select {
    width: 100%;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background-color: #2c2c2e;
    font-size: 0.85rem;
    color: #ffffff;
    cursor: pointer;
    outline: none;
    transition: all 0.2s ease;
    appearance: none; /* remove default arrow */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%238fe45e'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px;
    padding-right: 32px;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.tenant-switcher-select:hover {
    border-color: #8fe45e;
    background-color: #3a3a3c;
    box-shadow: 0 4px 12px rgba(143, 228, 94, 0.15);
}
.tenant-switcher-select:focus {
    border-color: #8fe45e;
    box-shadow: 0 0 0 3px rgba(143, 228, 94, 0.25);
}
.tenant-switcher-select option {
    background-color: #1c1c1e;
    color: #ffffff;
    font-weight: 500;
    padding: 8px;
}

/* --- Ordini Estero --- */
.oe-page {
    width: 100%;
    padding: 18px;
    color: var(--text-main);
}

.oe-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.oe-header h2 {
    margin: 2px 0 0;
    font-size: 1.45rem;
    font-weight: 850;
    letter-spacing: 0;
}

.oe-kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

.oe-tabs {
    display: inline-flex;
    gap: 4px;
    padding: 4px;
    border: 1px solid #d7dde7;
    border-radius: 8px;
    background: #f8fafc;
}

.oe-tab {
    border: 0;
    background: transparent;
    color: #475569;
    font-weight: 800;
    font-size: 0.78rem;
    padding: 8px 12px;
    border-radius: 6px;
    cursor: pointer;
}

.oe-tab.active {
    background: #ffffff;
    color: #0f172a;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.12);
}

.oe-kpi-row {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.oe-kpi {
    min-height: 72px;
    padding: 12px;
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.oe-kpi span {
    font-size: 0.68rem;
    text-transform: uppercase;
    font-weight: 850;
    color: #64748b;
}

.oe-kpi strong {
    font-size: 1.35rem;
    line-height: 1;
    color: #111827;
}

.oe-kpi small {
    margin-top: 4px;
    color: #475569;
    font-size: 0.72rem;
}

.oe-kpi.is-alert {
    border-color: #fecaca;
    background: #fff7f7;
}

.oe-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 10px;
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    background: #ffffff;
    margin-bottom: 12px;
}

.oe-search {
    min-width: 260px;
    flex: 1 1 280px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid #d9e2ec;
    border-radius: 7px;
    background: #f8fafc;
}

.oe-search input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 0.85rem;
    color: #111827;
}

.oe-select,
.oe-toggle {
    height: 38px;
    border: 1px solid #d9e2ec;
    border-radius: 7px;
    background: #ffffff;
    color: #334155;
    font-weight: 750;
    font-size: 0.78rem;
    padding: 0 10px;
}

.oe-toggle {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    cursor: pointer;
}

.oe-toggle.active {
    background: #ecfdf5;
    border-color: #86efac;
    color: #166534;
}

.oe-toolbar-spacer {
    flex: 1 1 auto;
}

.oe-last-import {
    color: #64748b;
    font-size: 0.75rem;
    white-space: nowrap;
}

.oe-table-wrap {
    width: 100%;
    overflow: auto;
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    background: #ffffff;
    max-height: calc(100vh - 310px);
}

.oe-grid {
    width: max-content;
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.76rem;
}

.oe-grid th,
.oe-grid td {
    border-right: 1px solid #e6edf5;
    border-bottom: 1px solid #e6edf5;
    padding: 8px 9px;
    vertical-align: middle;
    max-width: 240px;
}

.oe-grid th {
    position: sticky;
    top: 28px;
    z-index: 3;
    background: #f8fafc;
    color: #334155;
    text-align: left;
    font-size: 0.68rem;
    font-weight: 850;
    text-transform: uppercase;
    white-space: nowrap;
}

.oe-grid .oe-group-row th {
    top: 0;
    z-index: 4;
    background: #1f2937;
    color: #ffffff;
    text-align: center;
    letter-spacing: 0.04em;
}

.oe-grid tbody tr {
    cursor: pointer;
}

.oe-grid tbody tr:hover {
    background: #f8fbff;
}

.oe-grid tbody tr.is-missing {
    background: #fff7ed;
}

.oe-inserto {
    position: sticky;
    left: 0;
    z-index: 2;
    background: inherit;
    min-width: 110px;
}

.oe-inserto strong {
    display: block;
    color: #0f172a;
}

.oe-inserto span {
    display: inline-block;
    margin-top: 3px;
    padding: 1px 6px;
    border-radius: 999px;
    background: #e0f2fe;
    color: #0369a1;
    font-size: 0.64rem;
    font-weight: 850;
}

.oe-desc {
    min-width: 260px;
}

.oe-note {
    min-width: 220px;
}

.oe-track {
    min-width: 160px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.7rem;
}

.oe-money {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.oe-pay-alert {
    background: #fff7ed;
    color: #9a3412;
    font-weight: 850;
}

.oe-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 104px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 0.64rem;
    font-weight: 850;
    white-space: nowrap;
}

.oe-status.is-done { background: #dcfce7; color: #166534; }
.oe-status.is-pay { background: #ffedd5; color: #9a3412; }
.oe-status.is-ship { background: #dbeafe; color: #1d4ed8; }
.oe-status.is-accounting { background: #ede9fe; color: #5b21b6; }
.oe-status.is-docs { background: #fef9c3; color: #854d0e; }
.oe-status.is-open { background: #e2e8f0; color: #334155; }

.oe-flag {
    min-width: 54px;
    height: 26px;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #f8fafc;
    color: #64748b;
    font-size: 0.67rem;
    font-weight: 900;
    cursor: pointer;
}

.oe-flag.is-yes {
    border-color: #86efac;
    background: #ecfdf5;
    color: #166534;
}

.oe-flag.is-check {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.oe-panel,
.oe-big-list {
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    background: #ffffff;
    padding: 12px;
}

.oe-side-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

.oe-side-table th,
.oe-side-table td {
    padding: 10px;
    border-bottom: 1px solid #e6edf5;
    text-align: left;
}

.oe-side-table th {
    font-size: 0.68rem;
    text-transform: uppercase;
    color: #64748b;
}

.oe-side-table small {
    display: block;
    color: #64748b;
    margin-top: 3px;
}

.oe-big-list {
    display: grid;
    gap: 10px;
}

.oe-big-card {
    border: 1px solid #d9e2ec;
    border-radius: 8px;
    padding: 12px;
    background: #f8fafc;
}

.oe-big-head,
.oe-big-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.oe-big-head strong {
    display: block;
    font-size: 1rem;
}

.oe-big-head span,
.oe-big-meta span {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 750;
}

.oe-big-card p {
    margin: 10px 0;
    color: #334155;
}

.oe-big-children {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.oe-big-children button {
    border: 1px solid #cbd5e1;
    background: #ffffff;
    border-radius: 999px;
    padding: 6px 9px;
    color: #334155;
    font-size: 0.74rem;
    font-weight: 800;
    cursor: pointer;
}

.oe-big-children button span {
    color: #64748b;
    margin-left: 5px;
}

.oe-import-history {
    margin-top: 10px;
    color: #475569;
    font-size: 0.78rem;
}

.oe-import-history summary {
    cursor: pointer;
    font-weight: 850;
}

.oe-import-history div {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 8px;
}

.oe-empty {
    min-height: 180px;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.oe-modal-content {
    max-width: 860px;
    width: min(860px, calc(100vw - 32px));
}

.oe-modal-head,
.oe-modal-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.oe-modal-head h2 {
    margin: 2px 0 0;
}

.oe-modal-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 14px 0;
}

.oe-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.oe-detail-grid div {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 10px;
    background: #f8fafc;
}

.oe-detail-grid span,
.oe-note-editor span {
    display: block;
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 850;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.oe-detail-grid strong {
    color: #111827;
    font-size: 0.86rem;
}

.oe-note-editor {
    display: block;
    margin-top: 12px;
}

.oe-note-editor textarea {
    width: 100%;
    min-height: 120px;
    resize: vertical;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 10px;
    font: inherit;
}

.oe-modal-footer {
    margin-top: 14px;
    justify-content: flex-end;
}

@media (max-width: 900px) {
    .oe-page {
        padding: 12px;
    }

    .oe-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .oe-tabs,
    .oe-toolbar {
        width: 100%;
    }

    .oe-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .oe-table-wrap {
        max-height: calc(100vh - 360px);
    }

    .oe-detail-grid {
        grid-template-columns: 1fr;
    }

    .oe-last-import {
        white-space: normal;
    }
}

/* ──────────────────────────────────────────────────────────────────────────
   NUOVI STILI ORDINI ESTERO - REDESIGN V1
   ────────────────────────────────────────────────────────────────────────── */

/* Switcher Viste */
.oe-views-switcher {
    display: inline-flex;
    background: #f1f5f9;
    padding: 3px;
    border-radius: 8px;
    margin-right: 12px;
}

.oe-view-btn {
    border: none;
    background: none;
    padding: 6px 12px;
    font-size: 0.76rem;
    font-weight: 600;
    color: #475569;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.15s ease;
}

.oe-view-btn.active {
    background: #ffffff;
    color: #0f172a;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

/* Vista Operativa Card List */
.oe-operative-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 16px;
    margin-top: 12px;
}

.oe-operative-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02);
}

.oe-operative-card:hover {
    transform: translateY(-2px);
    border-color: #cbd5e1;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05), 0 2px 4px -1px rgba(0,0,0,0.03);
}

.oe-operative-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 10px;
}

.oe-operative-card-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
}

.oe-operative-card-supplier {
    font-size: 0.72rem;
    color: #64748b;
    text-transform: uppercase;
    font-weight: 600;
}

.oe-operative-card-body {
    font-size: 0.82rem;
    color: #334155;
    margin-bottom: 12px;
    line-height: 1.4;
}

.oe-operative-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px dashed #f1f5f9;
    padding-top: 10px;
    margin-top: auto;
}

.oe-badge-priority {
    font-size: 0.64rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    text-transform: uppercase;
}
.oe-badge-priority.normale { background: #f1f5f9; color: #475569; }
.oe-badge-priority.attenzione { background: #fff7ed; color: #c2410c; }
.oe-badge-priority.urgente { background: #fee2e2; color: #b91c1c; }
.oe-badge-priority.bloccato { background: #7f1d1d; color: #ffffff; }

/* Kanban Board Layout */
.oe-kanban-board {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    padding-bottom: 12px;
    align-items: flex-start;
    min-height: 550px;
}

.oe-kanban-column {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    width: 280px;
    flex-shrink: 0;
    max-height: 700px;
    display: flex;
    flex-direction: column;
}

.oe-kanban-column-header {
    padding: 12px 14px;
    font-size: 0.78rem;
    font-weight: 700;
    color: #334155;
    border-bottom: 1px solid #e2e8f0;
    text-transform: uppercase;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #ffffff;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

.oe-kanban-column-count {
    background: #e2e8f0;
    color: #475569;
    font-size: 0.68rem;
    padding: 1px 6px;
    border-radius: 999px;
}

.oe-kanban-cards-container {
    padding: 12px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex-grow: 1;
}

.oe-kanban-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(0,0,0,0.03);
    transition: all 0.15s ease;
}

.oe-kanban-card:hover {
    border-color: #cbd5e1;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.04);
}

.oe-kanban-card-title {
    font-size: 0.84rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 4px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.oe-kanban-card-supplier {
    font-size: 0.7rem;
    color: #64748b;
    font-weight: 600;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.oe-kanban-card-meta {
    font-size: 0.72rem;
    color: #475569;
    display: flex;
    flex-direction: column;
    gap: 4px;
    border-top: 1px solid #f1f5f9;
    padding-top: 8px;
    margin-top: 8px;
}

.oe-kanban-card-next {
    font-size: 0.68rem;
    color: #0369a1;
    background: #f0f9ff;
    padding: 2px 6px;
    border-radius: 4px;
    margin-top: 4px;
    display: inline-block;
}

/* Vista Tabella Gruppi Colonne */
.oe-table-tabs {
    display: flex;
    gap: 6px;
    background: #f8fafc;
    padding: 4px;
    border-radius: 8px;
    margin-bottom: 12px;
    border: 1px solid #e2e8f0;
    overflow-x: auto;
}

.oe-table-tab {
    border: none;
    background: none;
    padding: 6px 12px;
    font-size: 0.74rem;
    font-weight: 600;
    color: #64748b;
    border-radius: 6px;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.15s ease;
}

.oe-table-tab.active {
    background: #1e293b;
    color: #ffffff;
}

/* Offcanvas/Drawer Custom Stili */
.oe-drawer {
    box-shadow: -4px 0 24px rgba(0,0,0,0.15);
    border-left: 1px solid #e2e8f0;
}

.oe-drawer-header {
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    padding: 16px 20px;
}

.oe-drawer-body {
    padding: 20px;
}

.oe-drawer-section {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 16px;
}

.oe-drawer-section-title {
    font-size: 0.82rem;
    font-weight: 700;
    color: #0f172a;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 8px;
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    display: flex;
    align-items: center;
    gap: 8px;
}

.oe-drawer-section-title i {
    color: #3b82f6;
}

.oe-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.oe-form-group.full-width {
    grid-column: span 2;
}

.oe-form-group label {
    display: block;
    font-size: 0.7rem;
    font-weight: 600;
    color: #475569;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.oe-form-group input,
.oe-form-group select,
.oe-form-group textarea {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 6px 10px;
    font-size: 0.8rem;
    font-family: inherit;
    background: #ffffff;
    color: #0f172a;
}

.oe-form-group input:focus,
.oe-form-group select:focus,
.oe-form-group textarea:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59,130,246,0.1);
}

.oe-form-group textarea {
    resize: vertical;
    min-height: 60px;
}

/* Pagamenti Sezione */
.oe-payments-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.oe-payment-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 10px 12px;
    font-size: 0.78rem;
}

.oe-payment-item-details {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.oe-payment-item-title {
    font-weight: 700;
    color: #1e293b;
}

.oe-payment-item-meta {
    font-size: 0.7rem;
    color: #64748b;
}

.oe-payment-item-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.oe-btn-icon {
    border: none;
    background: none;
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
}

.oe-btn-icon:hover {
    background: #e2e8f0;
    color: #0f172a;
}

.oe-btn-icon.delete:hover {
    background: #fee2e2;
    color: #ef4444;
}

/* Conflitti UI */
.oe-conflicts-container {
    background: #fff7ed;
    border: 1px solid #ffedd5;
    border-radius: 8px;
    padding: 14px;
    margin-bottom: 16px;
}

.oe-conflicts-title {
    font-size: 0.8rem;
    font-weight: 700;
    color: #c2410c;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.oe-conflict-item {
    background: #ffffff;
    border: 1px solid #ffd8a8;
    border-radius: 6px;
    padding: 10px;
    margin-bottom: 8px;
    font-size: 0.76rem;
}

.oe-conflict-item:last-child {
    margin-bottom: 0;
}

.oe-conflict-header {
    display: flex;
    justify-content: space-between;
    font-weight: 700;
    color: #495057;
    margin-bottom: 6px;
    text-transform: uppercase;
    font-size: 0.68rem;
}

.oe-conflict-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 8px;
}

.oe-conflict-val {
    background: #f8f9fa;
    border-radius: 4px;
    padding: 6px;
    border: 1px solid #e9ecef;
}

.oe-conflict-val span {
    display: block;
    font-size: 0.64rem;
    color: #868e96;
    margin-bottom: 2px;
}

.oe-conflict-val strong {
    color: #212529;
}

.oe-conflict-actions {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
}

.oe-conflict-btn {
    border: 1px solid #cbd5e1;
    background: #ffffff;
    border-radius: 4px;
    padding: 4px 8px;
    font-size: 0.7rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.1s ease;
}

.oe-conflict-btn.keep-app {
    border-color: #86efac;
    background: #f0fdf4;
    color: #166534;
}

.oe-conflict-btn.take-csv {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #1d4ed8;
}

.oe-conflict-btn:hover {
    opacity: 0.85;
}

/* ==========================================================================
   Mobile polish fixes - sidebar, search, production cards
   ========================================================================== */

/* CRM theme: keep menu labels readable when the sidebar switches to light CRM surfaces. */
[data-theme="crm"] .sidebar .menu-content,
[data-theme="crm"] .sidebar .menu-label,
[data-theme="crm"] .sidebar .menu-item span,
[data-theme="crm"] .mobile-sidebar-brand-copy strong {
    color: var(--crm-text) !important;
}

[data-theme="crm"] .sidebar .menu-item i {
    color: var(--crm-text-light) !important;
}

[data-theme="crm"] .sidebar .menu-item:hover .menu-content,
[data-theme="crm"] .sidebar .menu-item:hover .menu-label,
[data-theme="crm"] .sidebar .menu-item:hover span,
[data-theme="crm"] .sidebar .menu-item:hover i,
[data-theme="crm"] .sidebar .menu-item.active .menu-content,
[data-theme="crm"] .sidebar .menu-item.active .menu-label,
[data-theme="crm"] .sidebar .menu-item.active span,
[data-theme="crm"] .sidebar .menu-item.active i,
[data-theme="crm"] .sidebar .menu-item[aria-current="page"] .menu-content,
[data-theme="crm"] .sidebar .menu-item[aria-current="page"] .menu-label,
[data-theme="crm"] .sidebar .menu-item[aria-current="page"] span,
[data-theme="crm"] .sidebar .menu-item[aria-current="page"] i {
    color: var(--crm-green) !important;
}

[data-theme="crm"] .mobile-sidebar-eyebrow {
    color: var(--crm-text-light) !important;
}

@media (max-width: 768px) {
    body.sidebar-is-open {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        overscroll-behavior: none !important;
        touch-action: none !important;
    }

    body.sidebar-is-open .sidebar {
        max-width: calc(100vw - 18px) !important;
        overflow: hidden auto !important;
        overscroll-behavior-x: none !important;
        overscroll-behavior-y: contain !important;
        touch-action: pan-y !important;
        contain: layout paint !important;
    }

    body.sidebar-is-open .mobile-sidebar-backdrop {
        touch-action: none !important;
    }

    .sidebar .menu-item,
    .sidebar .menu-content,
    .sidebar-footer {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    body.sidebar-is-open .sidebar *,
    body.sidebar-is-open .sidebar-footer,
    body.sidebar-is-open .sidebar-user-section {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    body.sidebar-is-open .app-sidebar-submenu {
        display: none !important;
    }

    .sidebar .menu-label {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    /* The article-filter button was absolutely positioned by an older search style. */
    .mobile-search-shell .btn-filtro-articoli-mobile {
        position: static !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        transform: none !important;
        margin: 0 !important;
        display: inline-flex !important;
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        flex: 0 0 34px !important;
        border-radius: 12px !important;
        border: 1px solid rgba(17,17,17,0.08) !important;
        background: rgba(17,17,17,0.04) !important;
        color: #575757 !important;
        z-index: 1 !important;
    }

    .mobile-search-shell .mobile-search-close {
        position: static !important;
        margin: 0 !important;
        flex: 0 0 34px !important;
    }

    .mobile-search-shell .btn-filtro-articoli-mobile:hover,
    .mobile-search-shell .btn-filtro-articoli-mobile.active {
        background: #111111 !important;
        color: #ffffff !important;
        border-color: #111111 !important;
    }

    .mobile-search-shell input {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        padding-right: 0 !important;
    }

    /* Production cards: override the legacy nth-child mobile grid so qty is always visible. */
    body.page-produzione .prod-orders-panel .item-card {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-areas:
            "product product"
            "dates dates"
            "qty status"
            "operators operators" !important;
        gap: 7px !important;
        padding: 12px 14px !important;
        overflow: visible !important;
    }

    body.page-produzione .prod-orders-panel .item-card > .item-card-field-product,
    body.page-produzione .prod-orders-panel .item-card > .item-card-field-dates,
    body.page-produzione .prod-orders-panel .item-card > .item-card-field-qty,
    body.page-produzione .prod-orders-panel .item-card > .item-card-field-status,
    body.page-produzione .prod-orders-panel .item-card > .item-card-field-operator {
        display: flex !important;
        min-width: 0 !important;
        width: auto !important;
    }

    body.page-produzione .prod-orders-panel .item-card > .item-card-field-product { grid-area: product !important; }
    body.page-produzione .prod-orders-panel .item-card > .item-card-field-dates { grid-area: dates !important; }
    body.page-produzione .prod-orders-panel .item-card > .item-card-field-qty { grid-area: qty !important; }
    body.page-produzione .prod-orders-panel .item-card > .item-card-field-status { grid-area: status !important; }
    body.page-produzione .prod-orders-panel .item-card > .item-card-field-operator { grid-area: operators !important; }

    body.page-produzione .prod-orders-panel .item-card-field-qty {
        min-height: 72px !important;
        justify-content: space-between !important;
        background: transparent !important;
        color: inherit !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    body.page-produzione .prod-orders-panel .qty-row {
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 5px !important;
        min-width: 0 !important;
        overflow: visible !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    body.page-produzione .prod-orders-panel .qty-totale {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 28px !important;
        padding: 2px 6px !important;
        border-radius: 8px !important;
        background: #f1f5f9 !important;
        color: #111111 !important;
        font-size: 0.88rem !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    body.page-produzione .prod-orders-panel .qty-rim-inline,
    body.page-produzione .prod-orders-panel .qty-rimanente-wrap {
        max-width: 100% !important;
        white-space: normal !important;
    }
}

/* ── Tab Distinte compatti ed eleganti (verde attivo) ── */
.kit-tab-btn {
    min-height: 46px;
    padding: 0 18px;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(244,239,233,0.98) 100%);
    color: #0f172a;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.78), 0 10px 24px rgba(15, 23, 42, 0.08);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    text-transform: none;
}
.kit-tab-btn:hover {
    background: linear-gradient(180deg, rgba(244,239,233,0.98) 0%, rgba(220,215,205,0.98) 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.78), 0 12px 28px rgba(15, 23, 42, 0.12);
}
.kit-tab-btn.active {
    background: var(--acq-green) !important;
    color: #ffffff !important;
    border-color: var(--acq-green) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.2), 0 10px 24px rgba(21, 128, 61, 0.2) !important;
}

/* ── Vista Lista per Distinte ── */
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list.kit-layout-list {
    display: flex;
    flex-direction: column;
    grid-template-columns: none !important;
    gap: 10px !important;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list.kit-layout-list .kit-main-group {
    width: 100% !important;
    grid-column: auto !important;
}

/* Allineamento orizzontale della riga summary chiusa */
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list.kit-layout-list .kit-main-group:not([open]) .kit-group-summary {
    aspect-ratio: auto !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 20px !important;
    min-height: 64px !important;
    gap: 16px !important;
}

/* Modifica dimensione copertina in miniatura */
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list.kit-layout-list .kit-main-group:not([open]) .kit-summary-media {
    flex-basis: 44px !important;
    width: 44px !important;
    height: 44px !important;
    margin-right: 0 !important;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list.kit-layout-list .kit-main-group:not([open]) .kit-summary-cover {
    min-height: 44px !important;
    height: 44px !important;
    width: 44px !important;
    border-radius: 10px !important;
}

/* Allineamento orizzontale dei testi della riga */
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list.kit-layout-list .kit-main-group:not([open]) .kit-summary-left {
    width: auto !important;
    flex-grow: 1 !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    padding-right: 0 !important;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list.kit-layout-list .kit-main-group:not([open]) .kit-summary-heading {
    width: auto !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list.kit-layout-list .kit-main-group:not([open]) .kit-summary-heading-copy {
    width: auto !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list.kit-layout-list .kit-main-group:not([open]) .kit-summary-kicker {
    display: none !important; /* Nascondi il kicker "Distinta" per pulizia */
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list.kit-layout-list .kit-main-group:not([open]) .og-operatore {
    font-size: 0.94rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list.kit-layout-list .kit-main-group:not([open]) .kit-summary-status {
    align-self: center !important;
}

/* Forza la visualizzazione dei pill statistici inline */
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list.kit-layout-list .kit-main-group:not([open]) .kit-summary-pills {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 0 !important;
}

/* Nasconde i dettagli interni superflui quando chiuso */
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list.kit-layout-list .kit-main-group:not([open]) .kit-summary-mobile-grid,
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list.kit-layout-list .kit-main-group:not([open]) .kit-summary-mobile-hint {
    display: none !important;
}

/* Rende visibili le azioni orizzontali a destra su desktop */
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list.kit-layout-list .kit-main-group:not([open]) .kit-summary-actions {
    display: flex !important;
    gap: 6px !important;
    align-items: center !important;
}

body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list.kit-layout-list .kit-main-group:not([open]) .kit-summary-action-chip {
    padding: 6px 12px !important;
    min-height: 32px !important;
    font-size: 0.74rem !important;
}

/* Chevron allineata a destra delle azioni */
body.page-kit #kit-main-content[data-kit-view="kits"] .kit-main-list.kit-layout-list .kit-main-group:not([open]) .og-chevron {
    position: static !important;
    margin: 0 0 0 6px !important;
    opacity: 0.58 !important;
    transform: none !important;
}




/* Responsive CRM Kanban Board */
[data-theme="crm"] .crm-kanban-board {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
@media (max-width: 1024px) {
    [data-theme="crm"] .crm-kanban-board {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 680px) {
    [data-theme="crm"] .crm-kanban-board {
        grid-template-columns: 1fr !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   TEMA PROD V.2 — Warm Minimal Premium
   Evoluzione del tema originale: token semantici completi,
   superfici più definite, tipografia pesata, lime accent confermato.
   ══════════════════════════════════════════════════════════════ */
:root[data-theme="prod-v2"] {
    color-scheme: light;

    /* ── Palette brand ── */
    --v2-black:       #0d0d0d;
    --v2-lime:        #84cc16;
    --v2-lime-strong: #65a30d;
    --v2-lime-soft:   rgba(132, 204, 22, 0.10);

    /* ── Superfici ── */
    --v2-body:        #f5f4f2;
    --v2-surface:     #ffffff;
    --v2-surface-mid: #faf9f7;
    --v2-surface-soft:#f0ede8;

    /* ── Testo ── */
    --v2-text:        #0d0d0d;
    --v2-text-muted:  #6b6b6b;
    --v2-text-light:  #9ca3af;

    /* ── Border ── */
    --v2-border:      rgba(0, 0, 0, 0.08);
    --v2-border-mid:  rgba(0, 0, 0, 0.12);
    --v2-border-hard: rgba(0, 0, 0, 0.18);

    /* ── Ombre più definite ── */
    --v2-shadow-xs:   0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.06);
    --v2-shadow-sm:   0 4px 12px rgba(0,0,0,0.05), 0 2px 6px rgba(0,0,0,0.04);
    --v2-shadow-md:   0 8px 24px rgba(0,0,0,0.07), 0 4px 12px rgba(0,0,0,0.05);
    --v2-shadow-lg:   0 16px 40px rgba(0,0,0,0.09), 0 8px 20px rgba(0,0,0,0.06);

    /* ── Feedback semantici ── */
    --v2-success:     #16a34a;
    --v2-warning:     #d97706;
    --v2-error:       #dc2626;
    --v2-info:        #2563eb;

    /* ── Font ── */
    --v2-font-ui:      'Inter', 'Geist', sans-serif;
    --v2-font-display: 'Space Grotesk', 'Inter', sans-serif;

    /* ── Mapping variabili base ── */
    --primary:           var(--v2-black);
    --sidebar-bg:        var(--v2-surface);
    --sidebar-text:      var(--v2-text-muted);
    --bg-body:           var(--v2-body);
    --bg-surface:        var(--v2-surface);
    --bg-surface-strong: var(--v2-surface-mid);
    --bg-surface-soft:   var(--v2-surface-soft);
    --text-main:         var(--v2-text);
    --text-muted:        var(--v2-text-muted);
    --border-color:      var(--v2-border);
    --accent-color:      var(--v2-lime);
    --accent-dark:       var(--v2-black);
    --accent-soft:       var(--v2-lime-soft);
    --shadow-soft:       var(--v2-shadow-sm);
    --shadow-medium:     var(--v2-shadow-md);
    --shadow-premium:    var(--v2-shadow-lg);
    --color-success:     var(--v2-success);
    --color-warning:     var(--v2-warning);
    --color-error:       var(--v2-error);
    --color-info:        var(--v2-info);
}

/* ── PROD V.2 — Override componenti ──────────────────────────────── */

/* Body & contenitore principale */
[data-theme="prod-v2"] body {
    background: var(--v2-body) !important;
    color: var(--v2-text) !important;
}

/* ── SIDEBAR MOBILE / ICON RAIL ── */
[data-theme="prod-v2"] .sidebar-user-section,
[data-theme="prod-v2"] .sidebar-footer {
    border-color: rgba(0, 0, 0, 0.08) !important;
}
[data-theme="prod-v2"] .sidebar-brand-name {
    color: #0d0d0d !important;
}
[data-theme="prod-v2"] .sidebar .menu-item {
    color: #2a2a2a !important;
    background: transparent !important;
    border-color: transparent !important;
    font-weight: 600 !important;
}
[data-theme="prod-v2"] .sidebar .menu-item i {
    color: #57534e !important;
}
[data-theme="prod-v2"] .sidebar .menu-item .menu-label {
    color: #2a2a2a !important;
}
[data-theme="prod-v2"] .sidebar .menu-item:hover {
    background: rgba(132, 204, 22, 0.08) !important;
    color: #0d0d0d !important;
    border-color: rgba(132, 204, 22, 0.18) !important;
}
[data-theme="prod-v2"] .sidebar .menu-item:hover i {
    color: var(--v2-lime) !important;
}
[data-theme="prod-v2"] .sidebar .menu-item.active,
[data-theme="prod-v2"] .sidebar .menu-item[aria-current="page"] {
    background: rgba(132, 204, 22, 0.10) !important;
    color: #0d0d0d !important;
    border-color: rgba(132, 204, 22, 0.24) !important;
    font-weight: 600 !important;
}
[data-theme="prod-v2"] .sidebar .menu-item.active i,
[data-theme="prod-v2"] .sidebar .menu-item[aria-current="page"] i {
    color: var(--v2-lime-strong) !important;
}
[data-theme="prod-v2"] .sidebar-badge {
    background: var(--v2-lime) !important;
    color: #0d0d0d !important;
}

/* ── TOPBAR DESKTOP ── */
[data-theme="prod-v2"] .top-float-bar {
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(20px) saturate(1.4) !important;
    -webkit-backdrop-filter: blur(20px) saturate(1.4) !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 1px 0 rgba(255,255,255,0.9) inset,
                0 6px 24px rgba(0, 0, 0, 0.07) !important;
}
[data-theme="prod-v2"] .top-brand-card {
    border-right-color: rgba(0, 0, 0, 0.08) !important;
    background: transparent !important;
}
[data-theme="prod-v2"] .top-brand-card .sidebar-brand-name {
    color: #0d0d0d !important;
    font-weight: 700 !important;
}

/* ── TOP NAV DESKTOP (menu pills orizzontale) ── */
[data-theme="prod-v2"] .top-menu-item {
    color: #6b6b6b !important;
}
[data-theme="prod-v2"] .top-menu-item:hover {
    color: #0d0d0d !important;
    background: rgba(0, 0, 0, 0.05) !important;
}
[data-theme="prod-v2"] .top-menu-item.active {
    background: #84cc16 !important;
    color: #0d0d0d !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 12px rgba(132, 204, 22, 0.35) !important;
}
[data-theme="prod-v2"] .top-menu-badge {
    background: #0d0d0d !important;
    color: #84cc16 !important;
}

/* ── DESK SIDEBAR ICONA COLLASSATA ── */
[data-theme="prod-v2"] .sidebar {
    background: #ffffff !important;
    border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
}

/* ── CAMPANELLINA NOTIFICHE ── */
[data-theme="prod-v2"] .notifiche-bell-btn {
    color: #9ca3af !important;
}
[data-theme="prod-v2"] .notifiche-bell-btn:hover {
    background: rgba(132, 204, 22, 0.08) !important;
    color: var(--v2-lime-strong) !important;
}

/* ── BOTTOM NAV MOBILE ── */
[data-theme="prod-v2"] .bottom-nav {
    background: #ffffff !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.05) !important;
}
[data-theme="prod-v2"] .bottom-nav-item {
    color: #9ca3af !important;
}
[data-theme="prod-v2"] .bottom-nav-item.active,
[data-theme="prod-v2"] .bottom-nav-item[aria-current="page"] {
    color: var(--v2-lime-strong) !important;
}

/* ── PULSANTI PRIMARI ── */
[data-theme="prod-v2"] .btn-login,
[data-theme="prod-v2"] .btn-modal-send,
[data-theme="prod-v2"] .btn-primary {
    background: var(--v2-black) !important;
    color: #ffffff !important;
    border-color: var(--v2-black) !important;
}
[data-theme="prod-v2"] .btn-login:hover,
[data-theme="prod-v2"] .btn-modal-send:hover,
[data-theme="prod-v2"] .btn-primary:hover {
    background: #2a2a2a !important;
    border-color: #2a2a2a !important;
}

/* ── FLOATING ACTION BUTTON ── */
[data-theme="prod-v2"] .btn-floating,
[data-theme="prod-v2"] #floating-cart-btn {
    background: var(--v2-black) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 26px rgba(13, 13, 13, 0.22),
                0 2px 6px rgba(13, 13, 13, 0.12) !important;
    transition: transform 0.2s var(--ease-enter, cubic-bezier(0.22,1,0.36,1)),
                box-shadow 0.2s ease !important;
}
[data-theme="prod-v2"] .btn-floating:hover,
[data-theme="prod-v2"] #floating-cart-btn:hover {
    transform: translateY(-3px) scale(1.04) !important;
    box-shadow: 0 16px 34px rgba(13, 13, 13, 0.28),
                0 0 0 4px rgba(132, 204, 22, 0.22) !important;
}

/* ══════════════════════════════════════════════════════════════
   PROD V.2 — DESIGN SYSTEM ESTESO (componenti, ombre, effetti)
   Warm Minimal Premium: neutri caldi + accento lime, elevazione
   coerente, micro-interazioni fluide. Layout invariato.
   ══════════════════════════════════════════════════════════════ */

/* ── Scala di elevazione warm-tinted (token locali) ── */
:root[data-theme="prod-v2"] {
    --v2-warm-border:  #e7e4de;
    --v2-warm-bg:      #faf9f7;
    --v2-warm-chip:    #f0ede8;
    --v2-warm-chip-tx: #57534e;
    --v2-elev-1: 0 1px 2px rgba(28, 25, 23, 0.04), 0 1px 3px rgba(28, 25, 23, 0.06);
    --v2-elev-2: 0 4px 10px rgba(28, 25, 23, 0.05), 0 2px 6px rgba(28, 25, 23, 0.04);
    --v2-elev-3: 0 12px 28px rgba(28, 25, 23, 0.08), 0 4px 10px rgba(28, 25, 23, 0.05);
    --v2-elev-4: 0 22px 48px rgba(28, 25, 23, 0.12), 0 8px 18px rgba(28, 25, 23, 0.07);
    --v2-ring:   0 0 0 4px rgba(132, 204, 22, 0.22);
}

/* ── Scrollbar custom (warm + lime) ── */
[data-theme="prod-v2"] *::-webkit-scrollbar {
    width: 11px;
    height: 11px;
}
[data-theme="prod-v2"] *::-webkit-scrollbar-track {
    background: transparent;
}
[data-theme="prod-v2"] *::-webkit-scrollbar-thumb {
    background: rgba(120, 113, 108, 0.32);
    border-radius: 99px;
    border: 3px solid transparent;
    background-clip: padding-box;
}
[data-theme="prod-v2"] *::-webkit-scrollbar-thumb:hover {
    background: rgba(132, 204, 22, 0.55);
    background-clip: padding-box;
}

/* ── Superficie pagina ── */
[data-theme="prod-v2"] #contenitore-dati {
    background: var(--v2-body) !important;
}

/* ── KANBAN: righe ordine / item card ── */
[data-theme="prod-v2"] .riga-ordine,
[data-theme="prod-v2"] .item-card,
[data-theme="prod-v2"] .dettagli-container {
    background: #ffffff !important;
    border: 1px solid var(--v2-warm-border) !important;
    box-shadow: var(--v2-elev-1) !important;
    transition: transform 0.2s var(--ease-enter, cubic-bezier(0.22,1,0.36,1)),
                box-shadow 0.22s ease, border-color 0.22s ease !important;
}
[data-theme="prod-v2"] .riga-ordine:hover,
[data-theme="prod-v2"] .item-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: var(--v2-elev-3) !important;
    border-color: rgba(132, 204, 22, 0.30) !important;
}
[data-theme="prod-v2"] .riga-ordine.aperta,
[data-theme="prod-v2"] .riga-ordine[open],
[data-theme="prod-v2"] .ordine-wrapper.aperto .riga-ordine {
    border-left: 4px solid var(--v2-lime) !important;
    background: #fdfdfc !important;
}

/* ── STATUS: trigger / popup / badge ── */
[data-theme="prod-v2"] .stato-trigger,
[data-theme="prod-v2"] .op-trigger,
[data-theme="prod-v2"] .op-trigger-ord {
    background: #ffffff !important;
    border: 1.5px solid var(--v2-warm-border) !important;
    box-shadow: var(--v2-elev-1) !important;
    transition: background 0.18s ease, border-color 0.18s ease,
                box-shadow 0.18s ease, transform 0.12s ease !important;
}
[data-theme="prod-v2"] .stato-trigger:hover,
[data-theme="prod-v2"] .op-trigger:hover,
[data-theme="prod-v2"] .op-trigger-ord:hover {
    background: var(--v2-lime-soft) !important;
    border-color: rgba(132, 204, 22, 0.45) !important;
}
[data-theme="prod-v2"] .stato-trigger:active,
[data-theme="prod-v2"] .op-trigger:active {
    transform: scale(0.97) !important;
}
[data-theme="prod-v2"] .stato-popup,
[data-theme="prod-v2"] .op-popup {
    background: #ffffff !important;
    border: 1px solid var(--v2-warm-border) !important;
    box-shadow: var(--v2-elev-4) !important;
    border-radius: 16px !important;
}
[data-theme="prod-v2"] .badge-count {
    background: var(--v2-warm-chip) !important;
    color: var(--v2-warm-chip-tx) !important;
}

/* ── BOTTONI primari produzione/azioni ── */
[data-theme="prod-v2"] .btn-chiedi-assegna,
[data-theme="prod-v2"] .btn-archivia-prod,
[data-theme="prod-v2"] .btn-ripristina,
[data-theme="prod-v2"] .ui-btn-primary {
    background: var(--v2-black) !important;
    color: #ffffff !important;
    border: 1px solid var(--v2-black) !important;
    box-shadow: var(--v2-elev-1) !important;
    transition: background 0.18s ease, color 0.18s ease,
                box-shadow 0.2s ease, transform 0.12s ease !important;
}
[data-theme="prod-v2"] .btn-chiedi-assegna:hover,
[data-theme="prod-v2"] .btn-archivia-prod:hover,
[data-theme="prod-v2"] .btn-ripristina:hover,
[data-theme="prod-v2"] .ui-btn-primary:hover {
    background: #1c1917 !important;
    box-shadow: var(--v2-elev-2), 0 0 0 3px rgba(132, 204, 22, 0.20) !important;
    transform: translateY(-1px) !important;
}
[data-theme="prod-v2"] .btn-chiedi-assegna:active,
[data-theme="prod-v2"] .btn-archivia-prod:active,
[data-theme="prod-v2"] .ui-btn-primary:active {
    transform: scale(0.96) !important;
}
[data-theme="prod-v2"] .ui-btn-ghost {
    background: #ffffff !important;
    border: 1px solid var(--v2-warm-border) !important;
    color: #44403c !important;
}
[data-theme="prod-v2"] .ui-btn-ghost:hover {
    background: var(--v2-lime-soft) !important;
    border-color: rgba(132, 204, 22, 0.40) !important;
    color: var(--v2-black) !important;
}
[data-theme="prod-v2"] .ui-btn-success {
    background: rgba(22, 163, 74, 0.10) !important;
    color: #15803d !important;
}
[data-theme="prod-v2"] .ui-btn-danger {
    background: rgba(220, 38, 38, 0.08) !important;
    color: #b91c1c !important;
}

/* ── INPUT / SELECT ── */
[data-theme="prod-v2"] .select-interattivo,
[data-theme="prod-v2"] .pip-mov-form select,
[data-theme="prod-v2"] .pip-mov-form input,
[data-theme="prod-v2"] .pip-qty-input,
[data-theme="prod-v2"] .pip-pronti-input {
    background: var(--v2-warm-bg) !important;
    border: 1.5px solid var(--v2-warm-border) !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease,
                background 0.18s ease !important;
}
[data-theme="prod-v2"] .select-interattivo:focus,
[data-theme="prod-v2"] .pip-mov-form select:focus,
[data-theme="prod-v2"] .pip-mov-form input:focus,
[data-theme="prod-v2"] .pip-qty-input:focus,
[data-theme="prod-v2"] .pip-pronti-input:focus,
[data-theme="prod-v2"] input:focus,
[data-theme="prod-v2"] textarea:focus,
[data-theme="prod-v2"] select:focus {
    border-color: var(--v2-lime) !important;
    box-shadow: var(--v2-ring) !important;
    background: #ffffff !important;
    outline: none !important;
}

/* ── CARD / PANEL ── */
[data-theme="prod-v2"] .materiale-card,
[data-theme="prod-v2"] .kit-card,
[data-theme="prod-v2"] .pip-qty-card {
    background: #ffffff !important;
    border: 1px solid var(--v2-warm-border) !important;
    box-shadow: var(--v2-elev-1) !important;
    transition: transform 0.2s var(--ease-enter, cubic-bezier(0.22,1,0.36,1)),
                box-shadow 0.22s ease, border-color 0.22s ease !important;
}
[data-theme="prod-v2"] .materiale-card:hover,
[data-theme="prod-v2"] .kit-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--v2-elev-3) !important;
    border-color: rgba(132, 204, 22, 0.28) !important;
}

/* ── MODALI ── */
[data-theme="prod-v2"] .modal-content,
[data-theme="prod-v2"] .notifiche-modal-content {
    background: #ffffff !important;
    border: 1px solid var(--v2-warm-border) !important;
    box-shadow: var(--v2-elev-4),
                0 0 0 1px rgba(28, 25, 23, 0.03) !important;
}
[data-theme="prod-v2"] .modal-overlay {
    background: rgba(28, 25, 23, 0.45) !important;
    backdrop-filter: blur(3px) !important;
    -webkit-backdrop-filter: blur(3px) !important;
}

/* ── TABS ── */
[data-theme="prod-v2"] .acq-tab:hover,
[data-theme="prod-v2"] .kit-main-tab:hover {
    background: var(--v2-lime-soft) !important;
}
[data-theme="prod-v2"] .acq-tab.active,
[data-theme="prod-v2"] .kit-main-tab.active {
    background: var(--v2-black) !important;
    color: #ffffff !important;
    box-shadow: var(--v2-elev-2) !important;
}
[data-theme="prod-v2"] .kit-tab.active {
    border-bottom-color: var(--v2-lime) !important;
    color: var(--v2-black) !important;
}

/* ── SETTINGS: card tema attiva ── */
[data-theme="prod-v2"] .theme-card--active {
    border-color: var(--v2-lime) !important;
    box-shadow: var(--v2-ring) !important;
}

/* ══════════════════════════════════════════════════════════════
   PROD V.2 — SUPERFICI CARD GLOBALI (tutte le pagine)
   Elevazione coerente + bordi caldi su ogni contenitore card.
   ══════════════════════════════════════════════════════════════ */
[data-theme="prod-v2"] .crm-kpi-card,
[data-theme="prod-v2"] .crm-table-container,
[data-theme="prod-v2"] .crm-opp-card,
[data-theme="prod-v2"] .crm-card,
[data-theme="prod-v2"] .chat-card,
[data-theme="prod-v2"] .manuale-card,
[data-theme="prod-v2"] .settings-section-card,
[data-theme="prod-v2"] .settings-card,
[data-theme="prod-v2"] .section-card,
[data-theme="prod-v2"] .pip-card,
[data-theme="prod-v2"] .pip-qty-card,
[data-theme="prod-v2"] .pip-section-card,
[data-theme="prod-v2"] .modal-card,
[data-theme="prod-v2"] .scad-card,
[data-theme="prod-v2"] .notifica-card,
[data-theme="prod-v2"] .notifiche-card,
[data-theme="prod-v2"] .stat-card,
[data-theme="prod-v2"] .riepilogo-card,
[data-theme="prod-v2"] .kit-main-group,
[data-theme="prod-v2"] .chart-card,
[data-theme="prod-v2"] .dashboard-card,
[data-theme="prod-v2"] .console-card,
[data-theme="prod-v2"] .mag-card,
[data-theme="prod-v2"] .admin-panel {
    background: #ffffff !important;
    border: 1px solid var(--v2-warm-border) !important;
    box-shadow: var(--v2-elev-1) !important;
    transition: transform 0.2s var(--ease-enter, cubic-bezier(0.22,1,0.36,1)),
                box-shadow 0.22s ease, border-color 0.22s ease !important;
}
[data-theme="prod-v2"] .crm-opp-card:hover,
[data-theme="prod-v2"] .crm-kpi-card:hover,
[data-theme="prod-v2"] .pip-card:hover,
[data-theme="prod-v2"] .console-card:hover,
[data-theme="prod-v2"] .mag-card:hover,
[data-theme="prod-v2"] .riepilogo-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: var(--v2-elev-3) !important;
    border-color: rgba(132, 204, 22, 0.28) !important;
}

/* ── PIPISTRELLI: tabella ── */
[data-theme="prod-v2"] .pip-table thead tr {
    background: var(--v2-black) !important;
}
[data-theme="prod-v2"] .pip-table tbody tr {
    border-bottom: 1px solid var(--v2-warm-border) !important;
}
[data-theme="prod-v2"] .pip-table tbody tr:nth-child(even) {
    background: var(--v2-warm-bg) !important;
}
[data-theme="prod-v2"] .pip-table tbody tr:hover {
    background: var(--v2-lime-soft) !important;
}

/* ── CONSOLE: tab + filtri ── */
[data-theme="prod-v2"] .console-tab.active {
    color: var(--v2-black) !important;
    border-bottom-color: var(--v2-lime) !important;
}
[data-theme="prod-v2"] .console-filtro-btn.active {
    background: var(--v2-black) !important;
    color: #ffffff !important;
}

/* ── CRM: drawer + tab ── */
[data-theme="prod-v2"] .crm-drawer-content {
    background: #ffffff !important;
    box-shadow: var(--v2-elev-4) !important;
}
[data-theme="prod-v2"] .crm-drawer-tab-btn.active {
    color: var(--v2-black) !important;
}
[data-theme="prod-v2"] .crm-drawer-tab-btn.active::after {
    background: var(--v2-lime) !important;
}

/* ── IMPOSTAZIONI: layout due pannelli (warm) ── */
[data-theme="prod-v2"] .settings-v2 .settings-list {
    background: #ffffff !important;
    border: 1px solid var(--v2-warm-border) !important;
    box-shadow: var(--v2-elev-2) !important;
}
[data-theme="prod-v2"] .settings-v2 .settings-list .settings-section-slot {
    border-bottom-color: var(--v2-warm-border) !important;
}
[data-theme="prod-v2"] .settings-v2 .set-nav-item:hover,
[data-theme="prod-v2"] .settings-v2 .settings-list .settings-row:hover {
    background: var(--v2-lime-soft) !important;
}
[data-theme="prod-v2"] .settings-v2 .set-nav-ico,
[data-theme="prod-v2"] .settings-v2 .settings-list .settings-row-icon {
    background: var(--v2-warm-chip) !important;
}
[data-theme="prod-v2"] .settings-v2 .set-save-btn {
    background: var(--v2-black) !important;
}

/* ── ACCOUNT MODAL: tinte coerenti con prod-v2 ── */
[data-theme="prod-v2"] .account-modal {
    background: var(--v2-body) !important;
    border-color: var(--v2-warm-border) !important;
}
[data-theme="prod-v2"] .account-modal-topbar {
    background: #ffffff !important;
    border-bottom-color: var(--v2-warm-border) !important;
}
[data-theme="prod-v2"] .account-modal-save-btn {
    background: var(--v2-lime) !important;
    color: #0d0d0d !important;
    box-shadow: 0 4px 14px rgba(132, 204, 22, 0.32),
                0 1px 2px rgba(0,0,0,0.06) !important;
}
[data-theme="prod-v2"] .account-modal-save-btn:hover {
    background: var(--v2-lime-strong) !important;
    box-shadow: 0 8px 24px rgba(132, 204, 22, 0.45),
                0 2px 4px rgba(0,0,0,0.08) !important;
}
[data-theme="prod-v2"] .account-modal-close {
    background: var(--v2-warm-chip) !important;
}
[data-theme="prod-v2"] .account-modal-footer {
    background: #ffffff !important;
    border-top-color: var(--v2-warm-border) !important;
}
[data-theme="prod-v2"] .account-modal-footer-hint {
    color: var(--v2-text-muted) !important;
}
[data-theme="prod-v2"] .account-dropdown-v2 {
    background: #ffffff !important;
    border-color: var(--v2-warm-border) !important;
    box-shadow: var(--v2-elev-4),
                0 0 0 1px rgba(132, 204, 22, 0.18) !important;
}
[data-theme="prod-v2"] .account-dropdown-v2 .account-dropdown-header {
    background: linear-gradient(135deg, #f8fbf0 0%, #ffffff 55%, #fdfcf6 100%) !important;
    border-bottom: 1px solid var(--v2-warm-border) !important;
    position: relative;
}
[data-theme="prod-v2"] .account-dropdown-v2 .account-dropdown-header::before {
    content: "";
    position: absolute;
    left: 0; right: 0; top: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--v2-lime) 0%, var(--v2-lime-strong) 100%);
}
[data-theme="prod-v2"] .account-dropdown-v2 .account-ddrop-avatar {
    box-shadow: 0 4px 14px rgba(132, 204, 22, 0.30),
                0 0 0 3px rgba(132, 204, 22, 0.18) !important;
}
[data-theme="prod-v2"] .account-dropdown-v2 .account-ddrop-name {
    color: var(--v2-black) !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em;
}
[data-theme="prod-v2"] .account-dropdown-v2 .account-ddrop-role {
    color: var(--v2-text-muted) !important;
}
[data-theme="prod-v2"] .account-dropdown-v2 .account-menu-section {
    border-bottom-color: var(--v2-warm-border) !important;
}
[data-theme="prod-v2"] .account-dropdown-v2 .tenant-switcher-section {
    background: var(--v2-warm-bg) !important;
    border-bottom-color: var(--v2-warm-border) !important;
}
[data-theme="prod-v2"] .account-dropdown-v2 .tenant-switcher-select {
    background: #ffffff !important;
    border-color: var(--v2-warm-border) !important;
}
[data-theme="prod-v2"] .account-dropdown-v2 .account-menu-item {
    color: var(--v2-text) !important;
    font-weight: 600 !important;
}
[data-theme="prod-v2"] .account-dropdown-v2 .account-menu-item > i:first-child {
    color: var(--v2-text-muted) !important;
}
[data-theme="prod-v2"] .account-dropdown-v2 .account-menu-item:hover {
    background: var(--v2-lime-soft) !important;
}
[data-theme="prod-v2"] .account-dropdown-v2 .account-menu-item:hover > i:first-child {
    color: var(--v2-lime-strong) !important;
}
[data-theme="prod-v2"] .account-dropdown-v2 .account-menu-logout {
    color: #b91c1c !important;
}
[data-theme="prod-v2"] .account-dropdown-v2 .account-menu-logout > i:first-child {
    color: #dc2626 !important;
}
[data-theme="prod-v2"] .account-dropdown-v2 .avatar-color-add-btn {
    border-color: var(--v2-border-mid) !important;
}

/* ── IMPOSTAZIONI: layout due pannelli (DARK) ── */
[data-theme="dark"] .settings-v2 .settings-list {
    background: var(--dk-surface) !important;
    border: 1px solid var(--dk-border) !important;
    box-shadow: var(--dk-shadow-md) !important;
}
[data-theme="dark"] .settings-v2 .settings-list .settings-section-slot {
    border-bottom-color: var(--dk-border) !important;
}
[data-theme="dark"] .settings-v2 .set-nav-ico,
[data-theme="dark"] .settings-v2 .settings-list .settings-row-icon,
[data-theme="dark"] .settings-v2 .set-nav-count,
[data-theme="dark"] .settings-v2 .settings-list .settings-row-pill {
    background: var(--dk-surface-high) !important;
    color: var(--dk-text-muted) !important;
}
[data-theme="dark"] .settings-v2 .set-nav-item:hover,
[data-theme="dark"] .settings-v2 .settings-list .settings-row:hover {
    background: var(--dk-hover) !important;
}
[data-theme="dark"] .settings-v2 .set-nav-item.is-active {
    background: var(--dk-green-soft) !important;
    border-color: rgba(163, 230, 53, 0.35) !important;
}
[data-theme="dark"] .settings-v2 .set-nav-item.is-active .set-nav-ico,
[data-theme="dark"] .settings-v2 .set-nav-item.is-active .set-nav-count {
    background: var(--dk-green) !important;
    color: #0d0d0d !important;
}
[data-theme="dark"] .settings-v2 .settings-list .settings-row-active {
    background: var(--dk-green-soft) !important;
}
[data-theme="dark"] .settings-v2 .set-save-btn {
    background: var(--dk-green) !important;
    color: #0d0d0d !important;
}

/* ── ACCOUNT MODAL / DROPDOWN: dark ── */
[data-theme="dark"] .account-modal {
    background: var(--dk-bg) !important;
    border-color: var(--dk-border) !important;
}
[data-theme="dark"] .account-modal-topbar {
    background: var(--dk-surface) !important;
    border-bottom-color: var(--dk-border) !important;
    color: var(--dk-text) !important;
}
[data-theme="dark"] .account-modal-title,
[data-theme="dark"] .account-modal-title i { color: var(--dk-text) !important; }
[data-theme="dark"] .account-modal-close {
    background: var(--dk-surface-high) !important;
    color: var(--dk-text-muted) !important;
}
[data-theme="dark"] .account-modal-save-btn {
    background: var(--dk-green) !important;
    color: #0d0d0d !important;
    box-shadow: 0 4px 14px rgba(163, 230, 53, 0.30) !important;
}
[data-theme="dark"] .account-modal-save-btn:hover {
    background: var(--dk-green-strong) !important;
    box-shadow: 0 8px 22px rgba(163, 230, 53, 0.45) !important;
}
[data-theme="dark"] .account-modal-footer {
    background: var(--dk-surface) !important;
    border-top-color: var(--dk-border) !important;
}
[data-theme="dark"] .account-modal-footer-hint {
    color: var(--dk-text-muted) !important;
}
[data-theme="dark"] .account-dropdown-v2 {
    background: var(--dk-surface) !important;
    border-color: var(--dk-border) !important;
}
[data-theme="dark"] .account-dropdown-v2 .account-dropdown-header {
    background: linear-gradient(180deg, var(--dk-surface) 0%, var(--dk-surface-mid) 100%) !important;
    border-bottom-color: var(--dk-border) !important;
}
[data-theme="dark"] .account-dropdown-v2 .account-ddrop-name { color: var(--dk-text) !important; }
[data-theme="dark"] .account-dropdown-v2 .account-ddrop-role { color: var(--dk-text-muted) !important; }
[data-theme="dark"] .account-dropdown-v2 .account-menu-section { border-bottom-color: var(--dk-border) !important; }
[data-theme="dark"] .account-dropdown-v2 .account-menu-item { color: var(--dk-text) !important; }
[data-theme="dark"] .account-dropdown-v2 .account-menu-item > i:first-child { color: var(--dk-text-muted) !important; }
[data-theme="dark"] .account-dropdown-v2 .account-menu-item:hover {
    background: var(--dk-hover) !important;
}
[data-theme="dark"] .account-dropdown-v2 .account-menu-item:hover > i:first-child {
    color: var(--dk-green) !important;
}

/* ── RICHIESTE: card richiesta + chat ── */
[data-theme="prod-v2"] .req-card {
    background: #ffffff !important;
    border: 1.5px solid var(--v2-warm-border) !important;
    box-shadow: var(--v2-elev-1) !important;
    transition: transform 0.18s var(--ease-enter, cubic-bezier(0.22,1,0.36,1)),
                box-shadow 0.2s ease, border-color 0.2s ease !important;
}
[data-theme="prod-v2"] .req-card:hover {
    border-color: rgba(132, 204, 22, 0.35) !important;
    box-shadow: var(--v2-elev-2) !important;
    transform: translateY(-2px) !important;
}
[data-theme="prod-v2"] .req-group .chat-inbox,
[data-theme="prod-v2"] .req-page-shell .chat-inbox {
    background: var(--v2-warm-bg) !important;
    border: 1px solid var(--v2-warm-border) !important;
}
[data-theme="prod-v2"] .chat-bubble-wrapper.received .chat-bubble {
    background: var(--v2-warm-chip) !important;
    color: #1c1917 !important;
}
[data-theme="prod-v2"] .chat-bubble-wrapper.sent .chat-bubble {
    background: var(--v2-black) !important;
    color: #ffffff !important;
}
[data-theme="prod-v2"] .btn-reply-send {
    background: var(--v2-black) !important;
    color: #ffffff !important;
}

/* ── ACQUISTI: hub, metriche, stat chip ── */
[data-theme="prod-v2"] .acq-hub-hero-copy,
[data-theme="prod-v2"] .acq-hub-card,
[data-theme="prod-v2"] .acq-hub-metric,
[data-theme="prod-v2"] .acq-hub-ai-panel,
[data-theme="prod-v2"] .acq-hub-warning {
    background: #ffffff !important;
    border: 1px solid var(--v2-warm-border) !important;
    box-shadow: var(--v2-elev-1) !important;
}
[data-theme="prod-v2"] .acq-hub-card,
[data-theme="prod-v2"] .acq-hub-metric {
    transition: transform 0.2s var(--ease-enter, cubic-bezier(0.22,1,0.36,1)),
                box-shadow 0.22s ease, border-color 0.22s ease !important;
}
[data-theme="prod-v2"] .acq-hub-card:hover,
[data-theme="prod-v2"] .acq-hub-metric:hover {
    transform: translateY(-3px) !important;
    box-shadow: var(--v2-elev-3) !important;
    border-color: rgba(132, 204, 22, 0.28) !important;
}
[data-theme="prod-v2"] .acq-stat-chip {
    background: var(--v2-warm-bg) !important;
    border: 1px solid var(--v2-warm-border) !important;
}
[data-theme="prod-v2"] .acq-stat-chip.is-highlight {
    background: var(--v2-lime-soft) !important;
    border-color: rgba(132, 204, 22, 0.40) !important;
}
[data-theme="prod-v2"] .acq-tab.active {
    background: var(--v2-black) !important;
    color: #ffffff !important;
}

/* ── LOGIN: accenti lime premium ── */
[data-theme="prod-v2"] .login-brand-dot {
    background: linear-gradient(135deg, #a3e635 0%, #84cc16 100%) !important;
    box-shadow: 0 0 16px rgba(132, 204, 22, 0.55) !important;
}
[data-theme="prod-v2"] #login-overlay .input-field-modern:focus {
    border-color: rgba(132, 204, 22, 0.55) !important;
    box-shadow: 0 0 0 4px rgba(132, 204, 22, 0.18) !important;
}
[data-theme="prod-v2"] .btn-login:hover {
    box-shadow: 0 24px 48px rgba(255,255,255,0.16),
                0 0 0 3px rgba(132, 204, 22, 0.30) !important;
}

/* ── DARK: scrollbar + focus ring lime (allineato a PROD V.2) ── */
[data-theme="dark"] *::-webkit-scrollbar {
    width: 11px;
    height: 11px;
}
[data-theme="dark"] *::-webkit-scrollbar-track {
    background: transparent;
}
[data-theme="dark"] *::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.14);
    border-radius: 99px;
    border: 3px solid transparent;
    background-clip: padding-box;
}
[data-theme="dark"] *::-webkit-scrollbar-thumb:hover {
    background: rgba(163, 230, 53, 0.50);
    background-clip: padding-box;
}
[data-theme="dark"] input:focus,
[data-theme="dark"] textarea:focus,
[data-theme="dark"] select:focus {
    border-color: var(--dk-green) !important;
    box-shadow: 0 0 0 4px rgba(163, 230, 53, 0.18) !important;
    outline: none !important;
}
[data-theme="dark"] .theme-card--active {
    border-color: var(--dk-green) !important;
    box-shadow: 0 0 0 4px rgba(163, 230, 53, 0.18) !important;
}

/* ══════════════════════════════════════════════════════════════
    SISTEMA TEMI — DARK (v3 — Premium Zinc/Charcoal Flat Redesign)
   Palette di riferimento ispirata a temi moderni minimalisti (Vercel/Linear)
   ══════════════════════════════════════════════════════════════ */

:root[data-theme="dark"] {
    color-scheme: dark;

    /* ── Surfaces (Apex Zinc-950 based) ── */
    --dk-bg:            #09090b;    /* zinc-950: page background */
    --dk-surface:       #0f0f12;    /* card / elevated surface */
    --dk-surface-mid:   #09090b;    /* sidebar / inner panels (= page bg, Apex-style) */
    --dk-surface-high:  #1a1a1e;    /* input fields, active states */
    --dk-elevated:      #1a1a1e;    /* dropdowns, floating modals */
    --dk-hover:         #1f1f23;    /* hover states */

    /* ── Accent Colors (allineato al lime PROD V.2) ── */
    --dk-primary:       #a3e635;    /* lime-400 — buon contrasto su zinc-950 */
    --dk-green:         #a3e635;
    --dk-green-strong:  #84cc16;    /* lime-500 */
    --dk-green-soft:    rgba(163, 230, 53, 0.12);

    --dk-pink:          #ef4444;    /* Red-500 (Danger) */
    --dk-pink-soft:     rgba(239, 68, 68, 0.10);
    --dk-yellow:        #f59e0b;    /* Amber-500 (Warning) */
    --dk-yellow-soft:   rgba(245, 158, 11, 0.10);

    /* ── Text (Apex brighter text on darker bg) ── */
    --dk-text:          #fafafa;    /* zinc-50 */
    --dk-text-muted:    #a1a1aa;    /* zinc-400 */
    --dk-text-light:    #71717a;    /* zinc-500 */

    /* ── Borders (solid colors with subtle blue undertone, Apex-style) ── */
    --dk-border:        #1f1f23;
    --dk-border-high:   #2a2a2f;
    --dk-border-mid:    #27272a;

    /* ── Shadows (deeper on very dark bg) ── */
    --dk-shadow-sm:     0 1px 2px 0 rgba(0, 0, 0, 0.15);
    --dk-shadow-md:     0 4px 6px -1px rgba(0, 0, 0, 0.25), 0 2px 4px -2px rgba(0, 0, 0, 0.15);
    --dk-shadow-lg:     0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -4px rgba(0, 0, 0, 0.2);

    /* ── Font (Apex: Geist Sans) ── */
    --dk-font-ui:       'Geist', 'Inter', system-ui, -apple-system, sans-serif;
    --dk-font-mono:     ui-monospace, 'SF Mono', 'Cascadia Code', monospace;

    /* ── Map base variables ── */
    --primary:          var(--dk-primary);
    --bg-body:          var(--dk-bg);
    --bg-card:          var(--dk-surface);
    --text-main:        var(--dk-text);
    --text-muted:       var(--dk-text-muted);
    --border-color:     var(--dk-border);
    --card-bg:          var(--dk-surface);
    --bg-surface-strong: var(--dk-surface-mid);
    --bg-surface-soft:  var(--dk-surface-high);
    --accent-color:     var(--dk-primary);
}

/* ── Font Family Override (Apex: Geist Sans) ── */
[data-theme="dark"] body,
[data-theme="dark"] input,
[data-theme="dark"] textarea,
[data-theme="dark"] select,
[data-theme="dark"] button,
[data-theme="dark"] .sidebar-nav-label,
[data-theme="dark"] .sidebar-brand-name {
    font-family: var(--dk-font-ui) !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* ── Rimozione Doppie Cornici Esterne (Nested Clutter) ── */
[data-theme="dark"] .acq-page-panel,
[data-theme="dark"] .req-page-panel,
[data-theme="dark"] .prod-orders-panel,
[data-theme="dark"] .chat-inbox {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* ── Override Specificità per Contenitori Acquisti/Richieste ── */
[data-theme="dark"] #acq-tab-bar,
[data-theme="dark"] #req-tab-bar,
[data-theme="dark"] #kit-tab-bar,
[data-theme="dark"] #pip-tab-bar,
[data-theme="dark"] #contenitore-dati,
[data-theme="dark"] #contenitore-dati[data-acq-view],
[data-theme="dark"] #contenitore-dati[data-kit-view],
[data-theme="dark"] #contenitore-dati[data-pip-view] {
    --acq-ink: var(--dk-text);
    --acq-ink-soft: var(--dk-text-muted);
    --acq-muted: var(--dk-text-muted);
    --acq-border: var(--dk-border);
    --acq-border-strong: var(--dk-border-high);
    --acq-panel-bg: transparent !important;
    --acq-shell-shadow: none !important;
    --acq-card-shadow: var(--dk-shadow-sm);
    --acq-dark: var(--dk-surface-high);
}

/* ── Override degli Stili Inline (iniettati dal JS dei Magazzini) ── */
[data-theme="dark"] #contenitore-dati *[style*="background:#fff"],
[data-theme="dark"] #contenitore-dati *[style*="background: #fff"],
[data-theme="dark"] #contenitore-dati *[style*="background:rgb(255, 255, 255)"],
[data-theme="dark"] #contenitore-dati *[style*="background: rgb(255, 255, 255)"],
[data-theme="dark"] #contenitore-dati *[style*="background: white"],
[data-theme="dark"] #contenitore-dati *[style*="background:white"] {
    background-color: var(--dk-surface) !important;
    background-image: none !important;
    border-color: var(--dk-border) !important;
    box-shadow: var(--dk-shadow-sm) !important;
}

[data-theme="dark"] #contenitore-dati *[style*="background:#f8fafc"],
[data-theme="dark"] #contenitore-dati *[style*="background: #f8fafc"] {
    background-color: var(--dk-surface-mid) !important;
    background-image: none !important;
}

[data-theme="dark"] #contenitore-dati *[style*="background:#f1f5f9"],
[data-theme="dark"] #contenitore-dati *[style*="background: #f1f5f9"] {
    background-color: var(--dk-surface-mid) !important;
    background-image: none !important;
}

/* Override delle Tab attive/inattive Magazzini */
[data-theme="dark"] #contenitore-dati button[style*="background:#fff"],
[data-theme="dark"] #contenitore-dati button[style*="background: #fff"] {
    background-color: var(--dk-surface-high) !important;
    color: var(--dk-text) !important;
    border: 1px solid var(--dk-border) !important;
}
[data-theme="dark"] #contenitore-dati button[style*="background:transparent"],
[data-theme="dark"] #contenitore-dati button[style*="background: transparent"] {
    background-color: transparent !important;
    color: var(--dk-text-muted) !important;
    border: none !important;
}

/* Override dei Colori di Testo Inline */
[data-theme="dark"] #contenitore-dati *[style*="color:#475569"],
[data-theme="dark"] #contenitore-dati *[style*="color: #475569"],
[data-theme="dark"] #contenitore-dati *[style*="color:var(--text-color)"],
[data-theme="dark"] #contenitore-dati *[style*="color: var(--text-color)"] {
    color: var(--dk-text) !important;
}
[data-theme="dark"] #contenitore-dati *[style*="color:var(--text-muted)"],
[data-theme="dark"] #contenitore-dati *[style*="color: var(--text-muted)"] {
    color: var(--dk-text-muted) !important;
}

/* Override dei Bordi delle Tabelle */
[data-theme="dark"] #contenitore-dati tr[style*="border-bottom:1px solid #f1f5f9"],
[data-theme="dark"] #contenitore-dati tr[style*="border-bottom: 1px solid #f1f5f9"],
[data-theme="dark"] #contenitore-dati td[style*="border-bottom:1px solid #f1f5f9"],
[data-theme="dark"] #contenitore-dati td[style*="border-bottom: 1px solid #f1f5f9"] {
    border-bottom: 1px solid var(--dk-border) !important;
}

/* Hover e background righe della tabella */
[data-theme="dark"] #contenitore-dati tr:hover {
    background-color: var(--dk-hover) !important;
}
[data-theme="dark"] #contenitore-dati tr:hover td {
    background-color: transparent !important;
}

/* Override delle pillole di stato inline */
[data-theme="dark"] #contenitore-dati .status-pill[style*="background:#fee2e2"],
[data-theme="dark"] #contenitore-dati .status-pill[style*="background: #fee2e2"] {
    background-color: var(--dk-pink-soft) !important;
    color: var(--dk-pink) !important;
    border: 1px solid var(--dk-border) !important;
}
[data-theme="dark"] #contenitore-dati .status-pill[style*="background:#dcfce7"],
[data-theme="dark"] #contenitore-dati .status-pill[style*="background: #dcfce7"] {
    background-color: var(--dk-green-soft) !important;
    color: var(--dk-green) !important;
    border: 1px solid var(--dk-border) !important;
}

/* ── Reset Generali Struttura ── */
[data-theme="dark"] html,
[data-theme="dark"] body,
[data-theme="dark"] #contenitore-principale,
[data-theme="dark"] main,
[data-theme="dark"] .main-content {
    background-color: var(--dk-bg) !important;
    color: var(--dk-text) !important;
    background-image: none !important;
}

[data-theme="dark"] .acq-page-shell,
[data-theme="dark"] .req-page-shell,
[data-theme="dark"] .prod-page-shell,
[data-theme="dark"] .kit-page-shell {
    background-color: transparent !important;
}

/* ── Gerarchia Testi Scrittura ── */
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6,
[data-theme="dark"] strong,
[data-theme="dark"] b {
    color: var(--dk-text) !important;
}

[data-theme="dark"] p,
[data-theme="dark"] span,
[data-theme="dark"] div,
[data-theme="dark"] td,
[data-theme="dark"] th,
[data-theme="dark"] li,
[data-theme="dark"] a {
    color: var(--dk-text);
}

[data-theme="dark"] .text-muted,
[data-theme="dark"] .text-secondary,
[data-theme="dark"] .muted,
[data-theme="dark"] p.text-muted,
[data-theme="dark"] span.text-muted,
[data-theme="dark"] small,
[data-theme="dark"] .small,
[data-theme="dark"] .lbl-grigia,
[data-theme="dark"] .sub-lbl,
[data-theme="dark"] .info-lbl,
[data-theme="dark"] .stat-lbl,
[data-theme="dark"] .eyebrow,
[data-theme="dark"] [class*="-eyebrow"],
[data-theme="dark"] [class*="-subtitle"],
[data-theme="dark"] [class*="card-desc"],
[data-theme="dark"] [class*="descrizione"],
[data-theme="dark"] [class*="qty-rim-lbl"],
[data-theme="dark"] .sidebar-nav-label,
[data-theme="dark"] .ord-articolo-codice,
[data-theme="dark"] .art-codice,
[data-theme="dark"] .ordine-data-inserimento,
[data-theme="dark"] .riga-ordine-info-item i,
[data-theme="dark"] .riga-ordine-op-lbl {
    color: var(--dk-text-muted) !important;
}

[data-theme="dark"] ::placeholder,
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder,
[data-theme="dark"] .text-light,
[data-theme="dark"] .muted-light {
    color: var(--dk-text-light) !important;
}

/* ── Sidebar (Apex-style: same bg as page, pill active items) ── */
[data-theme="dark"] .sidebar,
[data-theme="dark"] #main-sidebar {
    background-color: var(--dk-bg) !important;
    border-right: 1px solid var(--dk-border) !important;
}
[data-theme="dark"] .sidebar .menu-item {
    color: var(--dk-text-muted) !important;
    border-radius: 8px !important;
    margin: 1px 8px !important;
    padding: 8px 12px !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
    border-left: none !important;
}
[data-theme="dark"] .sidebar .menu-item i {
    color: var(--dk-text-light) !important;
}
[data-theme="dark"] .sidebar .menu-item:hover {
    background-color: var(--dk-hover) !important;
    color: var(--dk-text) !important;
}
/* Active: emerald pill (Apex Forest preset) */
[data-theme="dark"] .sidebar .menu-item.active,
[data-theme="dark"] .sidebar .menu-item[aria-current="page"] {
    background-color: rgba(16, 185, 129, 0.12) !important;
    color: var(--dk-green) !important;
    border-left: none !important;
}
[data-theme="dark"] .sidebar .menu-item.active i,
[data-theme="dark"] .sidebar .menu-item[aria-current="page"] i {
    color: var(--dk-green) !important;
}
/* Section group labels */
[data-theme="dark"] .sidebar-section-label,
[data-theme="dark"] .sidebar-group-label {
    color: var(--dk-text-light) !important;
    font-size: 0.65rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}
[data-theme="dark"] .sidebar-brand-home-btn {
    background: var(--dk-surface-high) !important;
    color: var(--dk-text) !important;
    border: 1px solid var(--dk-border) !important;
    box-shadow: none !important;
}

/* ── Card, Righe e Contenitori Flat (No Inset) ── */
[data-theme="dark"] .item-card,
[data-theme="dark"] .crm-kpi-card,
[data-theme="dark"] .crm-table-container,
[data-theme="dark"] .ordine-wrapper,
[data-theme="dark"] .riga-ordine,
[data-theme="dark"] .chat-card,
[data-theme="dark"] .materiale-card,
[data-theme="dark"] .manuale-card,
[data-theme="dark"] .kit-card,
[data-theme="dark"] .settings-section-card,
[data-theme="dark"] .settings-card,
[data-theme="dark"] .section-card,
[data-theme="dark"] .ov-accordion,
[data-theme="dark"] .ov-stato-card,
[data-theme="dark"] .acq-hub-card,
[data-theme="dark"] .pip-card,
[data-theme="dark"] .crm-opp-card,
[data-theme="dark"] .crm-card,
[data-theme="dark"] .modal-card,
[data-theme="dark"] .scad-card,
[data-theme="dark"] .notifica-card,
[data-theme="dark"] .notifiche-card,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .riepilogo-card,
[data-theme="dark"] .kit-main-group,
[data-theme="dark"] .kit-distinta-row,
[data-theme="dark"] .chart-card,
[data-theme="dark"] .dashboard-card {
    background-color: var(--dk-surface) !important;
    border: 1px solid var(--dk-border) !important;
    box-shadow: var(--dk-shadow-sm) !important;
    border-radius: 10px !important;
    transition: background-color 0.15s ease !important;
}

/* Hover di elevazione sulle card */
[data-theme="dark"] .item-card:hover,
[data-theme="dark"] .riga-ordine:hover,
[data-theme="dark"] .materiale-card:hover,
[data-theme="dark"] .acq-hub-card:hover {
    background-color: var(--dk-hover) !important;
    border-color: var(--dk-border-high) !important;
}

/* Sotto-livelli */
[data-theme="dark"] .art-card,
[data-theme="dark"] .articolo-card,
[data-theme="dark"] .articolo-row,
[data-theme="dark"] .art-row,
[data-theme="dark"] .art-item,
[data-theme="dark"] .art-scheda,
[data-theme="dark"] .chooser-azione-target:not(.chooser-azione-target-ordine),
[data-theme="dark"] .ord-detail-body,
[data-theme="dark"] .ord-articoli-grid,
[data-theme="dark"] .ord-art-row,
[data-theme="dark"] .ord-art-card,
[data-theme="dark"] .ord-articolo {
    background-color: var(--dk-surface-mid) !important;
    border: 1px solid var(--dk-border) !important;
    border-radius: 8px !important;
}

/* ── Badges Flat ── */
[data-theme="dark"] .badge-verde,
[data-theme="dark"] .badge-success,
[data-theme="dark"] .bg-success,
[data-theme="dark"] .badge-ordinato-sm,
[data-theme="dark"] .tag-verde,
[data-theme="dark"] [class*="badge-success"],
[data-theme="dark"] [class*="status-ok"] {
    background-color: var(--dk-green-soft) !important;
    color: var(--dk-green) !important;
    border: 1px solid var(--dk-border) !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    padding: 3px 8px !important;
}

[data-theme="dark"] .badge-rosso,
[data-theme="dark"] .badge-danger,
[data-theme="dark"] .bg-danger,
[data-theme="dark"] .tag-rosso,
[data-theme="dark"] [class*="badge-danger"],
[data-theme="dark"] [class*="status-error"] {
    background-color: var(--dk-pink-soft) !important;
    color: var(--dk-pink) !important;
    border: 1px solid var(--dk-border) !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    padding: 3px 8px !important;
}

[data-theme="dark"] .badge-giallo,
[data-theme="dark"] .badge-warning,
[data-theme="dark"] .bg-warning,
[data-theme="dark"] .tag-giallo,
[data-theme="dark"] [class*="badge-warning"] {
    background-color: var(--dk-yellow-soft) !important;
    color: var(--dk-yellow) !important;
    border: 1px solid var(--dk-border) !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    padding: 3px 8px !important;
}

[data-theme="dark"] .prod-col-badge,
[data-theme="dark"] .ov-badge-qty,
[data-theme="dark"] .badge-count {
    background-color: var(--dk-surface-high) !important;
    color: var(--dk-text) !important;
    border: 1px solid var(--dk-border) !important;
    border-radius: 6px !important;
    padding: 2px 6px !important;
}

/* ── Bottoni Flat (No Effetti 3D / No Inset Shadows) ── */
[data-theme="dark"] button,
[data-theme="dark"] .ui-btn,
[data-theme="dark"] .scroll-btn,
[data-theme="dark"] .btn-cancel,
[data-theme="dark"] .btn-primary,
[data-theme="dark"] .btn-reply-send,
[data-theme="dark"] .btn-modal-send {
    box-shadow: none !important;
    text-shadow: none !important;
    border: 1px solid var(--dk-border) !important;
}

[data-theme="dark"] .ui-btn-primary,
[data-theme="dark"] .btn-nuovo-fisso,
[data-theme="dark"] .btn-modal-ok,
[data-theme="dark"] .btn-reply-send,
[data-theme="dark"] .btn-modal-send,
[data-theme="dark"] .btn-add-cart,
[data-theme="dark"] .floating-cart-btn {
    background-color: var(--dk-green) !important;
    background-image: none !important;
    color: #ffffff !important;
    border: 1px solid var(--dk-green) !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
}
[data-theme="dark"] .ui-btn-primary:hover,
[data-theme="dark"] .btn-nuovo-fisso:hover {
    background-color: var(--dk-green-strong) !important;
    border-color: var(--dk-green-strong) !important;
    opacity: 0.95 !important;
}

[data-theme="dark"] .btn-modal-cancel,
[data-theme="dark"] .btn-cancel,
[data-theme="dark"] .scroll-btn,
[data-theme="dark"] .btn-modal-art-close {
    background-color: var(--dk-surface-high) !important;
    color: var(--dk-text) !important;
    border: 1px solid var(--dk-border-high) !important;
    border-radius: 6px !important;
}
[data-theme="dark"] .btn-modal-cancel:hover,
[data-theme="dark"] .btn-cancel:hover {
    background-color: var(--dk-hover) !important;
}

[data-theme="dark"] .btn-chiedi-assegna,
[data-theme="dark"] .btn-assegnami,
[data-theme="dark"] .btn-assegnami-ord,
[data-theme="dark"] .btn-archive,
[data-theme="dark"] .btn-reply {
    background-color: transparent !important;
    color: var(--dk-green) !important;
    border: 1px solid var(--dk-green) !important;
    border-radius: 6px !important;
}
[data-theme="dark"] .btn-chiedi-assegna:hover,
[data-theme="dark"] .btn-assegnami:hover {
    background-color: var(--dk-green) !important;
    color: #ffffff !important;
}

/* ── Modali ed Elementi Fluttuanti ── */
[data-theme="dark"] .modal-overlay,
[data-theme="dark"] .overlay-modale,
[data-theme="dark"] [class*="overlay-backdrop"] {
    background: rgba(0, 0, 0, 0.70) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
}

[data-theme="dark"] .modal-content,
[data-theme="dark"] .modal-box,
[data-theme="dark"] .modale-contenuto,
[data-theme="dark"] [class*="modal-box"] {
    background-color: var(--dk-surface) !important;
    border: 1px solid var(--dk-border-high) !important;
    box-shadow: var(--dk-shadow-lg) !important;
    border-radius: 10px !important;
}

[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-head {
    background-color: transparent !important;
    border-bottom: 1px solid var(--dk-border) !important;
    padding: 12px 16px !important;
}

[data-theme="dark"] .modal-footer,
[data-theme="dark"] .modal-foot {
    background-color: transparent !important;
    border-top: 1px solid var(--dk-border) !important;
    padding: 12px 16px !important;
}

/* ── Input, Select e Form ── */
[data-theme="dark"] input,
[data-theme="dark"] textarea,
[data-theme="dark"] select,
[data-theme="dark"] .input-field-modern,
[data-theme="dark"] .qty-evasa-input {
    background-color: transparent !important;
    border: 1px solid var(--dk-border-high) !important;
    color: var(--dk-text) !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    box-shadow: none !important;
}
[data-theme="dark"] input:focus,
[data-theme="dark"] textarea:focus,
[data-theme="dark"] select:focus {
    border-color: var(--dk-green) !important;
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.15) !important;
    outline: none !important;
}

/* Dropdown e popup di selezione */
[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .stato-dropdown-popup,
[data-theme="dark"] .popup-menu,
[data-theme="dark"] .azioni-popup,
[data-theme="dark"] .autocomplete-list,
[data-theme="dark"] .ord-azioni-popup {
    background-color: var(--dk-elevated) !important;
    border: 1px solid var(--dk-border-high) !important;
    box-shadow: var(--dk-shadow-md) !important;
    border-radius: 8px !important;
}
[data-theme="dark"] .dropdown-item,
[data-theme="dark"] .stato-option,
[data-theme="dark"] .op-option,
[data-theme="dark"] .ord-menu-item {
    color: var(--dk-text) !important;
    padding: 6px 12px !important;
}
[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .stato-option:hover,
[data-theme="dark"] .op-option:hover,
[data-theme="dark"] .ord-menu-item:hover {
    background-color: var(--dk-hover) !important;
}

/* ── Tab Bar ── */
[data-theme="dark"] .acq-tab {
    background: var(--dk-surface-mid) !important;
    color: var(--dk-text-muted) !important;
    border: 1px solid var(--dk-border) !important;
    border-radius: 6px !important;
}
[data-theme="dark"] .acq-tab:hover {
    color: var(--dk-text) !important;
    background: var(--dk-hover) !important;
}
[data-theme="dark"] .acq-tab.active,
[data-theme="dark"] #acq-tab-bar .acq-tab.active,
[data-theme="dark"] #req-tab-bar .acq-tab.active,
[data-theme="dark"] #kit-tab-bar .acq-tab.active,
[data-theme="dark"] #pip-tab-bar .acq-tab.active,
[data-theme="dark"] #crm-tab-bar .acq-tab.active {
    background: var(--dk-surface-high) !important;
    color: var(--dk-green) !important;
    border-color: var(--dk-green) !important;
    box-shadow: none !important;
}

/* ── Banner e Titoli ── */
[data-theme="dark"] .prod-page-title-group,
[data-theme="dark"] .acq-page-title-group,
[data-theme="dark"] .req-page-hero,
[data-theme="dark"] .manuali-hero,
[data-theme="dark"] .settings-hero {
    background: var(--dk-surface-mid) !important;
    border-left: 4px solid var(--dk-green) !important;
    border-top: 1px solid var(--dk-border) !important;
    border-right: 1px solid var(--dk-border) !important;
    border-bottom: 1px solid var(--dk-border) !important;
    border-radius: 12px !important;
}
[data-theme="dark"] .prod-page-eyebrow,
[data-theme="dark"] .req-hero-eyebrow,
[data-theme="dark"] .riepilogo-chart-title {
    color: var(--dk-green) !important;
}

/* ── Scrollbar (Apex minimal) ── */
[data-theme="dark"] ::-webkit-scrollbar {
    width: 6px !important;
    height: 6px !important;
}
[data-theme="dark"] ::-webkit-scrollbar-track {
    background: transparent !important;
}
[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: var(--dk-border-high) !important;
    border-radius: 999px !important;
}
[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: var(--dk-text-light) !important;
}

/* ── Top Float Bar (Apex-style integration) ── */
[data-theme="dark"] .top-float-bar {
    background: var(--dk-bg) !important;
    border: 1px solid var(--dk-border) !important;
    box-shadow: none !important;
}
[data-theme="dark"] .top-brand-card {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
[data-theme="dark"] .top-search-card {
    background: var(--dk-surface-high) !important;
    border: 1px solid var(--dk-border) !important;
    box-shadow: none !important;
}
[data-theme="dark"] .top-search-input {
    background: transparent !important;
    color: var(--dk-text) !important;
}
[data-theme="dark"] .top-search-input::placeholder {
    color: var(--dk-text-light) !important;
}
[data-theme="dark"] .top-hamburger-btn {
    color: var(--dk-text-muted) !important;
}
[data-theme="dark"] .top-hamburger-btn:hover {
    color: var(--dk-text) !important;
    background: var(--dk-hover) !important;
}

/* ============================================================
   TEMA DARK — AGGIORNAMENTO CORREZIONI (Zinc/Charcoal Flat Redesign)
   ============================================================ */

/* 1. Sfondi ed elevazione per i gruppi richieste (.req-group e .req-group-archive) */
[data-theme="dark"] .req-page-shell .req-group,
[data-theme="dark"] .req-page-shell .req-group-archive {
    background: var(--dk-surface) !important;
    border: 1px solid var(--dk-border) !important;
    box-shadow: var(--dk-shadow-sm) !important;
}

[data-theme="dark"] .req-page-shell .req-group-summary {
    background: var(--dk-surface-mid) !important;
    border-bottom-color: var(--dk-border) !important;
    color: var(--dk-text) !important;
    box-shadow: none !important;
}

[data-theme="dark"] .req-page-shell .req-group[open] .req-group-summary {
    background: var(--dk-surface-high) !important;
    border-bottom-color: var(--dk-border) !important;
}

[data-theme="dark"] .req-page-shell .req-group-summary:hover {
    background: var(--dk-hover) !important;
}

/* 2. Titoli e testi gruppi richieste */
[data-theme="dark"] .rg-title {
    color: var(--dk-text) !important;
}

[data-theme="dark"] .req-page-shell .rc-preview {
    background: var(--dk-surface-mid) !important;
    border-color: var(--dk-border) !important;
}

[data-theme="dark"] .req-page-shell .rc-preview-text,
[data-theme="dark"] .req-page-shell .scad-nota {
    color: var(--dk-text) !important;
}

[data-theme="dark"] .req-page-shell .rc-date-chip,
[data-theme="dark"] .req-page-shell .rc-msgcount {
    background: var(--dk-surface-high) !important;
    color: var(--dk-text-muted) !important;
    border-color: var(--dk-border) !important;
}

[data-theme="dark"] .req-page-shell .rc-msgcount-task {
    background: rgba(16, 185, 129, 0.12) !important;
    color: #34d399 !important;
    border-color: rgba(16, 185, 129, 0.25) !important;
}

[data-theme="dark"] .req-card .box-risposta {
    background: var(--dk-surface-mid) !important;
    border-top-color: var(--dk-border) !important;
}

[data-theme="dark"] .req-card .reply-input {
    background-color: var(--dk-surface-high) !important;
    border-color: var(--dk-border) !important;
    color: var(--dk-text) !important;
}

[data-theme="dark"] .box-conferma {
    background: rgba(245, 158, 11, 0.12) !important;
    border-top-color: rgba(245, 158, 11, 0.25) !important;
    color: var(--dk-yellow) !important;
}

/* 3. Card Richieste e Scadenze */
[data-theme="dark"] .req-page-shell .req-card {
    background: var(--dk-surface) !important;
    border-color: var(--dk-border) !important;
    box-shadow: var(--dk-shadow-sm) !important;
}

[data-theme="dark"] .req-page-shell .req-card:hover {
    background: var(--dk-hover) !important;
    border-color: var(--dk-border-high) !important;
}

[data-theme="dark"] .req-page-shell .req-card.archiviata {
    background: var(--dk-surface-mid) !important;
    opacity: 0.75 !important;
}

[data-theme="dark"] .req-page-shell .scad-card {
    background: var(--dk-surface) !important;
    border-color: var(--dk-border) !important;
    box-shadow: var(--dk-shadow-sm) !important;
}

[data-theme="dark"] .req-page-shell .scad-card.scad-vicina {
    background: rgba(245, 158, 11, 0.12) !important;
    color: var(--dk-yellow) !important;
    border-color: rgba(245, 158, 11, 0.3) !important;
}

[data-theme="dark"] .req-page-shell .scad-card.scad-urgente {
    background: rgba(239, 68, 68, 0.12) !important;
    color: var(--dk-pink) !important;
    border-color: rgba(239, 68, 68, 0.3) !important;
}

[data-theme="dark"] .req-page-shell .scad-card.scad-scaduta {
    background: rgba(239, 68, 68, 0.18) !important;
    color: var(--dk-pink) !important;
    border-color: rgba(239, 68, 68, 0.4) !important;
}

/* 4. Card Catalogo / Materiali */
[data-theme="dark"] #contenitore-dati[data-acq-view="catalogo"] .materiale-card {
    background: var(--dk-surface) !important;
    border-color: var(--dk-border) !important;
    box-shadow: var(--dk-shadow-sm) !important;
}

[data-theme="dark"] #contenitore-dati[data-acq-view="catalogo"] .materiale-card:hover {
    background: var(--dk-hover) !important;
    border-color: var(--dk-border-high) !important;
}

[data-theme="dark"] #contenitore-dati[data-acq-view="catalogo"] .mat-card-img {
    background: var(--dk-surface-mid) !important;
    border-bottom-color: var(--dk-border) !important;
    box-shadow: none !important;
}

[data-theme="dark"] #contenitore-dati[data-acq-view="catalogo"] .materiale-actions {
    background: var(--dk-surface-mid) !important;
    border-color: var(--dk-border) !important;
    box-shadow: none !important;
}

[data-theme="dark"] #contenitore-dati[data-acq-view="catalogo"] .qty-order-container {
    background: var(--dk-surface-high) !important;
    border-color: var(--dk-border) !important;
}

[data-theme="dark"] #contenitore-dati[data-acq-view="catalogo"] .btn-qty-step {
    background: var(--dk-surface) !important;
    border-color: var(--dk-border) !important;
    color: var(--dk-text) !important;
    box-shadow: none !important;
}

[data-theme="dark"] #contenitore-dati[data-acq-view="catalogo"] .btn-qty-step:hover {
    background: var(--dk-hover) !important;
}

[data-theme="dark"] #contenitore-dati[data-acq-view="catalogo"] .materiale-card input[type="number"] {
    background-color: var(--dk-surface-mid) !important;
    color: var(--dk-text) !important;
    border-color: var(--dk-border) !important;
}

[data-theme="dark"] #contenitore-dati[data-acq-view="catalogo"] .sezione-header {
    background: var(--dk-surface-mid) !important;
    border-color: var(--dk-border) !important;
    color: var(--dk-text) !important;
}

[data-theme="dark"] #contenitore-dati[data-acq-view="catalogo"] .sezione-header:hover {
    background: var(--dk-hover) !important;
}

/* 5. Rimozione Inset Shadows ed Effetti 3D sui Bottoni della Produzione */
[data-theme="dark"] .ordine-wrapper,
[data-theme="dark"] .riga-ordine {
    background: var(--dk-surface) !important;
    box-shadow: var(--dk-shadow-sm) !important;
    border-color: var(--dk-border) !important;
}

[data-theme="dark"] .prod-orders-panel .ord-azione-inline {
    background: var(--dk-surface-high) !important;
    border-color: var(--dk-border) !important;
    color: var(--dk-text) !important;
    box-shadow: none !important;
}

[data-theme="dark"] .prod-orders-panel .ord-azione-inline:hover {
    background: var(--dk-hover) !important;
    border-color: var(--dk-border-high) !important;
}

[data-theme="dark"] .prod-orders-panel .ord-azioni-trigger {
    background: var(--dk-surface-high) !important;
    border-color: var(--dk-border) !important;
    color: var(--dk-text) !important;
    box-shadow: none !important;
}

[data-theme="dark"] .prod-orders-panel .ord-azioni-trigger:hover {
    background: var(--dk-hover) !important;
    border-color: var(--dk-border-high) !important;
}

[data-theme="dark"] .menu-item.active {
    box-shadow: none !important;
    border-color: var(--dk-border) !important;
}

/* 6. Correzione Dropdown Trigger e Selettori di Stato */
[data-theme="dark"] .op-trigger,
[data-theme="dark"] .op-trigger-ord,
[data-theme="dark"] .stato-trigger,
[data-theme="dark"] .pf-trigger-btn {
    background: var(--dk-surface-high) !important;
    border-color: var(--dk-border) !important;
    color: var(--dk-text) !important;
    box-shadow: none !important;
}

[data-theme="dark"] .op-trigger:hover,
[data-theme="dark"] .op-trigger-ord:hover,
[data-theme="dark"] .stato-trigger:hover,
[data-theme="dark"] .pf-trigger-btn:hover {
    background: var(--dk-hover) !important;
    border-color: var(--dk-border-high) !important;
}

[data-theme="dark"] .prod-stat-chip {
    background: var(--dk-surface) !important;
    border-color: var(--dk-border) !important;
    box-shadow: var(--dk-shadow-sm) !important;
}

[data-theme="dark"] .prod-stat-chip.is-highlight {
    background: var(--dk-surface-high) !important;
    border-color: var(--dk-green) !important;
}

[data-theme="dark"] .prod-stat-chip .prod-stat-value,
[data-theme="dark"] .prod-stat-chip .prod-stat-label,
[data-theme="dark"] .prod-stat-chip .prod-stat-meta {
    color: var(--dk-text) !important;
}

[data-theme="dark"] .prod-stat-chip .prod-stat-meta {
    color: var(--dk-text-muted) !important;
}

[data-theme="dark"] .req-archive-btn {
    background: var(--dk-surface-high) !important;
    border-color: var(--dk-border) !important;
    color: var(--dk-text) !important;
    box-shadow: none !important;
}

[data-theme="dark"] .req-archive-btn:hover {
    background: var(--dk-hover) !important;
    border-color: var(--dk-border-high) !important;
}

/* 7. Correzione Data Consegna nell'Header Ordine (.ord-hdr-date) */
[data-theme="dark"] .ord-hdr-date {
    background: var(--dk-surface-high) !important;
    border-color: var(--dk-border) !important;
    color: var(--dk-text) !important;
}

/* 8. Correzione Testo Nero su Sfondo Nero in Produzione (.order-title, .riferimento-label) */
[data-theme="dark"] .prod-orders-panel .order-title {
    color: var(--dk-text) !important;
}

[data-theme="dark"] .prod-orders-panel .riferimento-label {
    color: var(--dk-text-muted) !important;
}

/* 9. Brighter Contrast per le Date e Urgenze Consegna in Produzione */
[data-theme="dark"] .prod-orders-panel span[style*="color:#64748b"],
[data-theme="dark"] .prod-orders-panel .ord-hdr-date[style*="color:#64748b"] {
    color: var(--dk-text-muted) !important;
}

[data-theme="dark"] .prod-orders-panel span[style*="color:#dc2626"],
[data-theme="dark"] .prod-orders-panel .ord-hdr-date[style*="color:#dc2626"] {
    color: #f87171 !important;
}

[data-theme="dark"] .prod-orders-panel span[style*="color:#ea580c"],
[data-theme="dark"] .prod-orders-panel .ord-hdr-date[style*="color:#ea580c"] {
    color: #fb923c !important;
}

[data-theme="dark"] .prod-orders-panel span[style*="color:#ca8a04"],
[data-theme="dark"] .prod-orders-panel .ord-hdr-date[style*="color:#ca8a04"] {
    color: #facc15 !important;
}


/* 10. Fix Dropdown del Filtro */
[data-theme="dark"] .pf-panel {
    background: var(--dk-surface) !important;
    border-color: var(--dk-border) !important;
    box-shadow: var(--dk-shadow-md) !important;
}
[data-theme="dark"] .pf-panel-section {
    background: transparent !important;
}
[data-theme="dark"] .pf-panel-sep {
    background: var(--dk-border) !important;
}
[data-theme="dark"] .pf-panel-title {
    color: var(--dk-text-muted) !important;
}
[data-theme="dark"] .pf-row {
    background: transparent !important;
    color: var(--dk-text) !important;
}
[data-theme="dark"] .pf-row:hover {
    background: var(--dk-hover) !important;
}
[data-theme="dark"] .pf-row-lbl {
    color: var(--dk-text) !important;
}
[data-theme="dark"] .pf-radio,
[data-theme="dark"] .pf-check {
    background: var(--dk-surface-high) !important;
    border-color: var(--dk-border) !important;
}
[data-theme="dark"] .pf-radio.pf-radio-on,
[data-theme="dark"] .pf-check.pf-check-on {
    background: var(--dk-green) !important;
    border-color: var(--dk-green) !important;
}

/* 11. Fix Card Articoli e Badge */
[data-theme="dark"] .prod-order-details-count {
    background: var(--dk-surface-high) !important;
    color: var(--dk-text) !important;
    border: 1px solid var(--dk-border) !important;
}
[data-theme="dark"] .prod-order-details-kicker {
    color: var(--dk-text-muted) !important;
}
/* Unified Card Layout for Production Dashboard */
body.page-produzione .prod-orders-panel .item-card {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02), 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    padding: 14px 16px !important;
    margin-bottom: 12px !important;
    gap: 16px !important;
}

body.page-produzione .prod-orders-panel .item-card-field,
body.page-produzione .prod-orders-panel .item-card-field-qty {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

body.page-produzione .prod-orders-panel .item-card .label-sm {
    margin-bottom: 2px !important;
}

body.page-produzione .prod-orders-panel .item-card-field-dates .label-sm,
body.page-produzione .prod-orders-panel .item-card-field-qty .label-sm {
    margin-left: 6px !important;
}

body.page-produzione .prod-orders-panel .item-card-field-status .label-sm,
body.page-produzione .prod-orders-panel .item-card-field-operator .label-sm {
    margin-left: 10px !important;
}

[data-theme="dark"] body.page-produzione .prod-orders-panel .item-card {
    background: var(--dk-surface-high) !important;
    border: 1px solid var(--dk-border) !important;
    box-shadow: var(--dk-shadow-sm) !important;
}
[data-theme="dark"] body.page-produzione .qty-totale {
    background: var(--dk-surface-mid) !important;
    color: var(--dk-text) !important;
}
[data-theme="dark"] .card-date-item {
    background: var(--dk-surface-mid) !important;
    color: var(--dk-text) !important;
}
[data-theme="dark"] .btn-qty-evasa-toggle {
    background: var(--dk-surface-mid) !important;
    border-color: transparent !important;
    color: var(--dk-text-muted) !important;
}
[data-theme="dark"] .btn-qty-evasa-toggle:hover {
    background: var(--dk-hover) !important;
    color: var(--dk-text) !important;
}

/* 12. Fix Dropdown Operatori e Stato (Singoli e Ordini) */
[data-theme="dark"] .op-popup,
[data-theme="dark"] .stato-popup,
[data-theme="dark"] .dropdown-content {
    background: var(--dk-surface) !important;
    border-color: var(--dk-border) !important;
    box-shadow: var(--dk-shadow-md) !important;
}
[data-theme="dark"] .op-option,
[data-theme="dark"] .stato-option {
    background: transparent !important;
    color: var(--dk-text) !important;
    border-color: var(--dk-border) !important;
}
[data-theme="dark"] .op-option:hover,
[data-theme="dark"] .stato-option:hover {
    background: var(--dk-hover) !important;
}
[data-theme="dark"] .op-option.is-selected,
[data-theme="dark"] .stato-option.is-selected {
    background: rgba(16, 185, 129, 0.1) !important;
    color: #34d399 !important;
}

/* 13. Fix Tasti Modal Invio Messaggio */
[data-theme="dark"] .btn-tipo {
    background: var(--dk-surface-high) !important;
    border-color: var(--dk-border) !important;
    color: var(--dk-text) !important;
}
[data-theme="dark"] .btn-tipo:hover {
    background: var(--dk-hover) !important;
}
[data-theme="dark"] .btn-tipo.active {
    background: rgba(16, 185, 129, 0.15) !important;
    border-color: var(--dk-green) !important;
    color: #34d399 !important;
}

/* 14. Fix Area Articoli (Empty State) nel Modal Archivia */
[data-theme="dark"] .modal-chooser-empty {
    background: var(--dk-surface-mid) !important;
    border-color: var(--dk-border) !important;
    color: var(--dk-text-muted) !important;
}

/* ==========================================================================
   QORTRADE ROUND 2 - DESKTOP MINIMALIST FLOATING ELEMENTS & NO CARD IN CARD
   ========================================================================== */
@media (min-width: 769px) {
    /* Spessore Topbar ridotto a 48px */
    :root {
        --desk-topbar-height: 48px !important;
    }

    /* Sfondo unico bianco per tutti gli elementi */
    body {
        background-color: #ffffff !important;
    }
    html[data-theme="dark"] body {
        background-color: var(--dk-bg, #121212) !important;
    }

    /* 1. Forza la rimozione completa della sidebar in tutti i temi */
    .sidebar,
    [data-theme] .sidebar,
    body.sidebar-collapsed .sidebar,
    body.sidebar-is-open .sidebar {
        display: none !important;
        width: 0 !important;
        padding: 0 !important;
    }

    /* 2. Estende il main-content a tutto lo schermo (senza colonna sidebar) e rimuove la card del main */
    body .main-content,
    body:not(.has-subpages) .main-content,
    body.has-subpages .main-content {
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        margin-top: var(--desk-topbar-height) !important;
        width: 100% !important;
        height: calc(100vh - var(--desk-topbar-height)) !important;
        padding: 24px var(--desk-shell-edge) !important;
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        transition: none !important;
    }

    /* 3. Topbar con sfondo scuro elegante */
    body .top-float-bar,
    html[data-theme] body .top-float-bar,
    [data-theme] .top-float-bar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: var(--desk-topbar-height, 48px) !important;
        background: #111111 !important;
        border: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
        padding: 0 24px !important;
        z-index: 200 !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
    html[data-theme="dark"] body .top-float-bar {
        background: #111111 !important;
        border-bottom-color: rgba(255, 255, 255, 0.08) !important;
    }
    html[data-theme="crm"] body .top-float-bar {
        background: #111111 !important;
        border-bottom-color: rgba(255, 255, 255, 0.08) !important;
    }

    body .top-brand-card,
    html[data-theme] body .top-brand-card,
    [data-theme] .top-brand-card {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        border-right: none !important;
        padding: 0 !important;
    }
    
    body .top-brand-card .sidebar-brand-name,
    html[data-theme] body .top-brand-card .sidebar-brand-name {
        color: #ffffff !important;
        display: flex !important;
        align-items: center !important;
    }
    body .top-brand-card .sidebar-brand-name .brand-azienda-name,
    html[data-theme] body .top-brand-card .sidebar-brand-name .brand-azienda-name {
        color: #ffffff !important;
        font-weight: 700 !important;
        font-size: 15.5px !important;
        font-family: 'Geist', 'Inter', sans-serif !important;
        letter-spacing: -0.01em !important;
    }

    body .top-nav-menu,
    html[data-theme] body .top-nav-menu,
    [data-theme] .top-nav-menu {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        margin: 0 24px !important;
    }

    /* 4. Barra di ricerca premium a capsula in vetro */
    body .top-search-card,
    html[data-theme] body .top-search-card,
    [data-theme] .top-search-card {
        margin-left: auto !important; /* spinge sulla destra */
        background: rgba(255, 255, 255, 0.06) !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        border-radius: 99px !important;
        box-shadow: none !important;
        width: 180px !important;
        height: 32px !important;
        padding: 0 12px !important;
        gap: 8px !important;
        display: flex !important;
        align-items: center !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
        transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }
    body .top-search-card:focus-within,
    html[data-theme] body .top-search-card:focus-within {
        background: rgba(255, 255, 255, 0.09) !important;
        border-color: rgba(255, 255, 255, 0.25) !important;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15) !important;
        width: 240px !important;
    }
    body .top-search-card .top-search-icon,
    html[data-theme] body .top-search-card .top-search-icon {
        color: rgba(255, 255, 255, 0.4) !important;
        font-size: 13px !important;
    }
    body .top-search-card .top-search-input,
    html[data-theme] body .top-search-card .top-search-input {
        color: #ffffff !important;
        background: transparent !important;
        border: none !important;
        outline: none !important;
        font-size: 13px !important;
        width: 100% !important;
    }
    body .top-search-card .top-search-input::placeholder,
    html[data-theme] body .top-search-card .top-search-input::placeholder {
        color: rgba(255, 255, 255, 0.4) !important;
    }

    /* 5. Sezione utente a capsula elegante in vetro coerente con la ricerca */
    body .sidebar-user-section,
    html[data-theme] body .sidebar-user-section,
    [data-theme] .sidebar-user-section {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        margin: 0 !important;
        margin-left: 12px !important; /* spaziatura dalla search card */
        padding: 0 14px 0 8px !important;
        height: 32px !important;
        background: rgba(255, 255, 255, 0.06) !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        box-shadow: none !important;
        border-radius: 99px !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
        transition: all 0.2s ease !important;
    }
    body .sidebar-user-section:hover,
    html[data-theme] body .sidebar-user-section:hover {
        background: rgba(255, 255, 255, 0.09) !important;
        border-color: rgba(255, 255, 255, 0.25) !important;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15) !important;
    }

    /* 6. Campanella delle notifiche minimalista inserita nella capsula */
    body .notifiche-bell-btn,
    html[data-theme] body .notifiche-bell-btn,
    [data-theme] .notifiche-bell-btn {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        color: rgba(255, 255, 255, 0.6) !important;
        width: 26px !important;
        height: 26px !important;
        font-size: 13.5px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
        padding: 0 !important;
    }
    body .notifiche-bell-btn:hover,
    html[data-theme] body .notifiche-bell-btn:hover {
        background: transparent !important;
        color: #ffffff !important;
    }

    /* Linea divisoria tra la campanella e l'avatar dell'utente */
    body .notifiche-bell-btn::after,
    html[data-theme] body .notifiche-bell-btn::after {
        content: "" !important;
        width: 1px !important;
        height: 14px !important;
        background: rgba(255, 255, 255, 0.15) !important;
        position: absolute !important;
        right: -6px !important;
        top: calc(50% - 7px) !important;
    }

    /* Riduciamo leggermente l'avatar per la capsula */
    body .user-avatar-btn,
    html[data-theme] body .user-avatar-btn {
        width: 28px !important;
        height: 28px !important;
        font-size: 11.5px !important;
        box-shadow: none !important;
    }
    body .user-info-top,
    html[data-theme] body .user-info-top {
        gap: 0px !important;
    }
    body .user-name-display,
    html[data-theme] body .user-name-display {
        font-size: 11px !important;
        font-weight: 600 !important;
        color: #ffffff !important;
    }
    /* Topbar account: SOLO pallino + nome (no email/ruolo) */
    body .user-role-display,
    html[data-theme] body .user-role-display {
        display: none !important;
    }

    /* 7. Dropdown account v2 — posizionato verso il basso (lo stile vive in style-features.css) */
    body .account-dropdown,
    html[data-theme] body .account-dropdown,
    [data-theme] .account-dropdown {
        top: calc(100% + 12px) !important;
        bottom: auto !important;
        right: 0 !important;
        left: auto !important;
        z-index: 9999 !important;
    }

    /* 8. Sottomenu delle pagine fluttuante ad isola (QorTrade style) */
    body #app-sidebar-submenu,
    html[data-theme] body #app-sidebar-submenu,
    [data-theme] #app-sidebar-submenu {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: auto !important;
        max-width: max-content !important;
    }

    body #app-sidebar-submenu .app-subtab-row,
    html[data-theme] body #app-sidebar-submenu .app-subtab-row,
    [data-theme] #app-sidebar-submenu .app-subtab-row {
        background: rgba(255, 255, 255, 0.95) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        border: 1px solid rgba(0, 0, 0, 0.05) !important;
        border-radius: 99px !important;
        padding: 4px 6px !important;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.02) !important;
        display: flex !important;
        flex-direction: row !important;
        gap: 6px !important;
    }
    
    html[data-theme="dark"] body #app-sidebar-submenu .app-subtab-row {
        background: rgba(28, 28, 30, 0.95) !important;
        border-color: rgba(255, 255, 255, 0.08) !important;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
    }

    /* Bottoni sotto-menu fluttuanti */
    body #app-sidebar-submenu .app-subtab-btn,
    html[data-theme] body #app-sidebar-submenu .app-subtab-btn {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 6px 14px !important;
        border-radius: 99px !important;
        color: var(--text-muted, #71717a) !important;
        font-family: 'Geist', 'Inter', sans-serif !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        width: auto !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        transition: all 0.2s ease !important;
    }

    body #app-sidebar-submenu .app-subtab-btn:hover,
    html[data-theme] body #app-sidebar-submenu .app-subtab-btn:hover {
        background: rgba(0, 0, 0, 0.04) !important;
        color: var(--text-main, #111111) !important;
    }

    body #app-sidebar-submenu .app-subtab-btn.active,
    html[data-theme] body #app-sidebar-submenu .app-subtab-btn.active {
        background: #111111 !important;
        color: #ffffff !important;
        box-shadow: 0 4px 12px rgba(17, 24, 39, 0.15) !important;
        font-weight: 700 !important;
    }

    /* Temi scuri e CRM per bottoni sotto-menu */
    html[data-theme="dark"] body #app-sidebar-submenu .app-subtab-btn {
        color: var(--dk-text-muted, #94a3b8) !important;
    }

    html[data-theme="dark"] body #app-sidebar-submenu .app-subtab-btn:hover {
        background: rgba(255, 255, 255, 0.08) !important;
        color: #ffffff !important;
    }

    html[data-theme="dark"] body #app-sidebar-submenu .app-subtab-btn.active {
        background: #ffffff !important;
        color: #111111 !important;
        box-shadow: 0 4px 12px rgba(255, 255, 255, 0.15) !important;
    }

    /* 9. Bottoni attivi del Top Menu (Fix per tema scuro) */
    /* 9. Bottoni attivi del Top Menu per Topbar scura (QorTrade style) */
    body .top-menu-item,
    html[data-theme] body .top-menu-item,
    [data-theme] .top-menu-item {
        color: rgba(255, 255, 255, 0.6) !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body .top-menu-item:hover,
    html[data-theme] body .top-menu-item:hover {
        background: rgba(255, 255, 255, 0.08) !important;
        color: #ffffff !important;
    }

    body .top-menu-item.active,
    html[data-theme] body .top-menu-item.active,
    [data-theme] .top-menu-item.active {
        background: #ffffff !important;
        color: #111111 !important;
        box-shadow: 0 4px 12px rgba(255, 255, 255, 0.15) !important;
    }

    /* ── PROD V.2: identità lime sul top menu desktop ── */
    html[data-theme="prod-v2"] body .top-float-bar {
        background: #111111 !important;
        border-bottom: 2px solid #84cc16 !important;
        box-shadow: 0 4px 24px rgba(0, 0, 0, 0.18) !important;
    }
    html[data-theme="prod-v2"] body .top-menu-item {
        color: rgba(255, 255, 255, 0.62) !important;
    }
    html[data-theme="prod-v2"] body .top-menu-item:hover {
        background: rgba(132, 204, 22, 0.18) !important;
        color: #ffffff !important;
    }
    html[data-theme="prod-v2"] body .top-menu-item.active {
        background: #84cc16 !important;
        color: #0d0d0d !important;
        font-weight: 700 !important;
        box-shadow: 0 4px 14px rgba(132, 204, 22, 0.45) !important;
    }
    html[data-theme="prod-v2"] body .top-menu-item.active i {
        color: #0d0d0d !important;
    }

    /* ── DARK: pill attivo lime (allineato a PROD V.2) ── */
    html[data-theme="dark"] body .top-float-bar {
        border-bottom: 2px solid #a3e635 !important;
    }
    html[data-theme="dark"] body .top-menu-item:hover {
        background: rgba(163, 230, 53, 0.16) !important;
        color: #ffffff !important;
    }
    html[data-theme="dark"] body .top-menu-item.active {
        background: #a3e635 !important;
        color: #0d0d0d !important;
        font-weight: 700 !important;
        box-shadow: 0 4px 14px rgba(163, 230, 53, 0.35) !important;
    }
    html[data-theme="dark"] body .top-menu-item.active i {
        color: #0d0d0d !important;
    }

    /* ── PROD V.2: KANBAN PRODUZIONE premium (desktop) ── */
    html[data-theme="prod-v2"] body.page-produzione .ov-stato-card {
        background: #ffffff !important;
        border: 1px solid var(--v2-warm-border, #e7e4de) !important;
        border-radius: 18px !important;
        box-shadow: var(--v2-elev-1) !important;
        transition: box-shadow 0.22s ease, transform 0.2s var(--ease-enter, cubic-bezier(0.22,1,0.36,1)) !important;
    }
    html[data-theme="prod-v2"] body.page-produzione .ov-stato-card:hover {
        box-shadow: var(--v2-elev-3) !important;
        transform: translateY(-2px) !important;
    }
    html[data-theme="prod-v2"] body.page-produzione .ov-stato-header {
        background: linear-gradient(180deg, #ffffff 0%, #faf9f7 100%) !important;
        border-bottom: 1px solid var(--v2-warm-border, #e7e4de) !important;
        border-left: 4px solid var(--ov-col, #94a3b8) !important;
    }
    html[data-theme="prod-v2"] body.page-produzione .ov-stato-tot {
        background: var(--v2-warm-chip, #f0ede8) !important;
        color: var(--v2-warm-chip-tx, #57534e) !important;
    }
    html[data-theme="prod-v2"] body.page-produzione .ov-kanban-item {
        background: #ffffff !important;
        border: 1px solid var(--v2-warm-border, #e7e4de) !important;
        border-radius: 12px !important;
        box-shadow: var(--v2-elev-1) !important;
        transition: transform 0.18s var(--ease-enter, cubic-bezier(0.22,1,0.36,1)),
                    box-shadow 0.2s ease, border-color 0.2s ease !important;
    }
    html[data-theme="prod-v2"] body.page-produzione .ov-kanban-item:hover {
        background: #ffffff !important;
        border-color: rgba(132, 204, 22, 0.35) !important;
        box-shadow: var(--v2-elev-2) !important;
        transform: translateY(-2px) !important;
    }
    html[data-theme="prod-v2"] body.page-produzione .ov-badge-qty {
        background: var(--v2-warm-chip, #f0ede8) !important;
        color: var(--v2-warm-chip-tx, #57534e) !important;
    }
    html[data-theme="prod-v2"] body.page-produzione .ov-op-row {
        border-bottom: 1px solid var(--v2-warm-border, #e7e4de) !important;
    }
    html[data-theme="prod-v2"] body.page-produzione .ov-kanban-item-order {
        background: #ffffff !important;
        border: 1px solid var(--v2-warm-border, #e7e4de) !important;
        box-shadow: var(--v2-elev-2) !important;
        border-radius: 14px !important;
    }

    /* 10. Kanban sullo sfondo (Rimosso macro card ov-accordion) */
    body.page-produzione .ov-accordion,
    html[data-theme] body.page-produzione .ov-accordion,
    [data-theme] .ov-accordion {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin-bottom: 24px !important;
    }

    body.page-produzione .ov-accordion .riepilogo-page,
    html[data-theme] body.page-produzione .ov-accordion .riepilogo-page,
    [data-theme] .ov-accordion .riepilogo-page {
        padding: 0 !important;
    }

    body.page-produzione .ov-accordion-summary,
    html[data-theme] body.page-produzione .ov-accordion-summary,
    [data-theme] .ov-accordion-summary,
    body.page-produzione .ov-kanban-summary-mobile {
        display: none !important;
    }

    /* 11. Kanban Columns & Orders Refinement (Depth and Gradient Removal) */
    /* 11. Kanban Columns & Orders Refinement (Depth and Gradient Removal) */
    body.page-produzione .ov-stato-card {
        background: #f5f5f7 !important; /* Soft neutral column background */
        border: 1px solid rgba(0, 0, 0, 0.04) !important;
        border-radius: 16px !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02), 0 1px 2px rgba(0, 0, 0, 0.01) !important;
        transition: box-shadow 0.25s ease, transform 0.2s ease !important;
    }
    body.page-produzione .ov-stato-card:hover {
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.01) !important;
    }
    html[data-theme="dark"] body.page-produzione .ov-stato-card {
        background: var(--dk-surface-mid, #1a1a1c) !important;
        border-color: rgba(255, 255, 255, 0.06) !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2) !important;
    }
    html[data-theme="dark"] body.page-produzione .ov-stato-card:hover {
        box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35) !important;
    }

    body.page-produzione .prod-orders-panel {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    body.page-produzione .prod-orders-panel .ordine-wrapper {
        background: #ffffff !important;
        border: 1px solid rgba(0, 0, 0, 0.03) !important;
        border-radius: 16px !important;
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.02) !important; /* Deeper, richer shadow */
        transition: box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }
    body.page-produzione .prod-orders-panel .ordine-wrapper:hover {
        box-shadow: 0 16px 32px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.03) !important; /* Premium floating shadow */
        transform: translateY(-2px) !important;
    }
    html[data-theme="dark"] body.page-produzione .prod-orders-panel .ordine-wrapper {
        background: var(--dk-surface-mid, #1a1a1c) !important;
        border-color: rgba(255, 255, 255, 0.06) !important;
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25) !important;
    }
    html[data-theme="dark"] body.page-produzione .prod-orders-panel .ordine-wrapper:hover {
        box-shadow: 0 16px 32px rgba(0, 0, 0, 0.4) !important;
        transform: translateY(-2px) !important;
    }
}
}

/* ──────────────────────────────────────────────────────────────────────────
   ORDINI ESTERO — MODAL DETTAGLIO PREMIUM (tema PROD: lime + scuro, caldo)
   Componenti riutilizzabili: .oe-dd (dropdown), .oe-date (calendario)
   ────────────────────────────────────────────────────────────────────────── */

.oe-drawer-body.oe-body-premium { background: #f6f5f3; }

.oe-drawer .oe-drawer-section {
    border-radius: 16px;
    border-color: #ececea;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02), 0 10px 30px rgba(0, 0, 0, 0.04);
}
.oe-drawer .oe-drawer-section-title { border-bottom-color: #f1f1ef; }
.oe-drawer .oe-drawer-section-title i {
    width: 26px; height: 26px; border-radius: 9px;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 0.72rem; background: #f1f5f9; color: #0f172a;
}
.oe-sec-acquisto   .oe-drawer-section-title i { background: rgba(132,204,22,0.16); color: #4d7c0f; }
.oe-sec-stato      .oe-drawer-section-title i { background: rgba(15,23,42,0.08);   color: #0f172a; }
.oe-sec-pagamenti  .oe-drawer-section-title i { background: rgba(217,119,6,0.14);  color: #b45309; }
.oe-sec-note       .oe-drawer-section-title i { background: rgba(120,113,108,0.16);color: #57534e; }
.oe-sec-spedizione .oe-drawer-section-title i { background: rgba(37,99,235,0.12);  color: #1d4ed8; }
.oe-sec-documenti  .oe-drawer-section-title i { background: rgba(124,58,237,0.12); color: #6d28d9; }

/* Custom select */
.oe-dd { position: relative; }
.oe-dd-trigger {
    width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 8px;
    border: 1px solid #cbd5e1; border-radius: 10px; background: #fff;
    padding: 8px 12px; font-size: 0.82rem; font-weight: 600; color: #0f172a;
    cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease;
}
.oe-dd-trigger:hover { border-color: #94a3b8; }
.oe-dd.open .oe-dd-trigger { border-color: #84cc16; box-shadow: 0 0 0 3px rgba(132,204,22,0.18); }
.oe-dd-label.is-empty { color: #94a3b8; font-weight: 500; }
.oe-dd-caret { font-size: 0.62rem; color: #94a3b8; transition: transform .2s ease; }
.oe-dd.open .oe-dd-caret { transform: rotate(180deg); }
.oe-dd-menu {
    position: fixed; z-index: 1000001; display: none; flex-direction: column;
    max-height: 264px; overflow-y: auto; padding: 6px;
    background: #fff; border: 1px solid #e2e8f0; border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.04), 0 20px 50px rgba(0,0,0,0.08);
}
.oe-dd.open .oe-dd-menu { display: flex; }
.oe-dd-option {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    width: 100%; text-align: left; border: 0; background: transparent;
    padding: 8px 10px; border-radius: 8px; font-size: 0.82rem; font-weight: 600;
    color: #334155; cursor: pointer; transition: background .12s ease;
}
.oe-dd-option:hover { background: #f6f7f5; }
.oe-dd-option.is-selected { background: rgba(132,204,22,0.12); color: #3f6212; }
.oe-dd-check { font-size: 0.7rem; color: #65a30d; opacity: 0; }
.oe-dd-option.is-selected .oe-dd-check { opacity: 1; }

/* Multi-select a checkbox (es. "ordini collegati alla stessa spedizione"):
   stessa riga/hover di .oe-dd-option, ma con una checkbox custom al posto
   del checkmark, per restare in tema invece della checkbox nativa. */
.oe-msd-option {
    display: flex; align-items: center; gap: 10px;
    width: 100%; padding: 7px 10px; border-radius: 8px;
    font-size: 0.82rem; cursor: pointer; transition: background .12s ease;
}
.oe-msd-option:hover { background: #f6f7f5; }
.oe-msd-option input[type="checkbox"] {
    appearance: none; -webkit-appearance: none; margin: 0; flex-shrink: 0;
    width: 17px; height: 17px; border: 1.5px solid #cbd5e1; border-radius: 5px;
    background: #fff; cursor: pointer; position: relative;
    transition: border-color .12s ease, background .12s ease;
}
.oe-msd-option input[type="checkbox"]:checked {
    background: #84cc16; border-color: #84cc16;
}
.oe-msd-option input[type="checkbox"]:checked::after {
    content: ''; position: absolute; left: 5px; top: 1px;
    width: 4px; height: 8px; border: solid #1a2e05; border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.oe-msd-main { font-weight: 700; color: #0f172a; }
.oe-msd-sub { font-size: 0.72rem; color: #94a3b8; }
[data-theme="dark"] .oe-msd-option:hover { background: #26282b; }
[data-theme="dark"] .oe-msd-option input[type="checkbox"] { background: #1f2022; border-color: #36383b; }
[data-theme="dark"] .oe-msd-main { color: #e7e7e9; }

/* Custom date picker */
.oe-date { position: relative; }
.oe-date-trigger {
    width: 100%; display: flex; align-items: center; gap: 8px;
    border: 1px solid #cbd5e1; border-radius: 10px; background: #fff;
    padding: 8px 12px; font-size: 0.82rem; font-weight: 600; color: #0f172a;
    cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease;
}
.oe-date-trigger:hover { border-color: #94a3b8; }
.oe-date.open .oe-date-trigger { border-color: #84cc16; box-shadow: 0 0 0 3px rgba(132,204,22,0.18); }
.oe-date-trigger i { color: #84cc16; }
.oe-date-label.is-empty { color: #94a3b8; font-weight: 500; }
.oe-cal {
    position: fixed; z-index: 1000001; display: none; width: 286px; padding: 12px;
    background: #fff; border: 1px solid #e2e8f0; border-radius: 16px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.06), 0 30px 60px rgba(0,0,0,0.1);
}
.oe-date.open .oe-cal { display: block; }
.oe-cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.oe-cal-title { font-size: 0.84rem; font-weight: 800; color: #0f172a; text-transform: capitalize; }
.oe-cal-nav {
    width: 28px; height: 28px; border-radius: 8px; border: 1px solid #e2e8f0; background: #fff;
    color: #475569; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
    transition: background .12s ease;
}
.oe-cal-nav:hover { background: #f6f7f5; }
.oe-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.oe-cal-dow { text-align: center; font-size: 0.58rem; font-weight: 700; color: #94a3b8; text-transform: uppercase; padding: 4px 0; }
.oe-cal-cell { aspect-ratio: 1 / 1; }
.oe-cal-day {
    width: 100%; height: 100%; border: 0; background: transparent; border-radius: 9px;
    font-size: 0.78rem; font-weight: 600; color: #334155; cursor: pointer; transition: background .12s ease;
}
.oe-cal-day:hover { background: #f1f5f9; }
.oe-cal-day.is-today { box-shadow: inset 0 0 0 1.5px #84cc16; color: #3f6212; }
.oe-cal-day.is-selected { background: #84cc16; color: #1a2e05; font-weight: 800; }
.oe-cal-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; padding-top: 8px; border-top: 1px solid #f1f1ef; }
.oe-cal-foot button { border: 0; background: transparent; font-size: 0.72rem; font-weight: 700; cursor: pointer; padding: 2px 4px; }
.oe-cal-clear { color: #94a3b8; }
.oe-cal-clear:hover { color: #475569; }
.oe-cal-today { color: #65a30d; }

/* Dark theme support */
[data-theme="dark"] .oe-dd-trigger,
[data-theme="dark"] .oe-date-trigger { background: #1f2022; border-color: #36383b; color: #e7e7e9; }
[data-theme="dark"] .oe-dd-menu,
[data-theme="dark"] .oe-cal { background: #1a1a1c; border-color: #36383b; }
[data-theme="dark"] .oe-dd-option { color: #cfd0d2; }
[data-theme="dark"] .oe-dd-option:hover,
[data-theme="dark"] .oe-cal-day:hover { background: #26282b; }
[data-theme="dark"] .oe-cal-title { color: #e7e7e9; }
[data-theme="dark"] .oe-cal-nav { background: #1f2022; border-color: #36383b; color: #cfd0d2; }
[data-theme="dark"] .oe-drawer .oe-drawer-section { border-color: #2a2c2f; box-shadow: 0 8px 20px rgba(0,0,0,0.25); }

/* Uniforma TUTTI i controlli del modal Ordini Estero allo stesso stile premium
   (input di testo/numero, textarea, dropdown custom, date custom) */
.oe-drawer .oe-form-group input,
.oe-drawer .oe-form-group textarea,
.oe-drawer .oe-dd-trigger,
.oe-drawer .oe-date-trigger {
    border: 1px solid #d7d7d3;
    border-radius: 10px;
    padding: 8px 12px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #0f172a;
    background: #ffffff;
    min-height: 38px;
}
.oe-drawer .oe-form-group input::placeholder,
.oe-drawer .oe-form-group textarea::placeholder {
    color: #94a3b8;
    font-weight: 500;
}
.oe-drawer .oe-form-group input:hover,
.oe-drawer .oe-form-group textarea:hover { border-color: #b6b6b1; }
.oe-drawer .oe-form-group input:focus,
.oe-drawer .oe-form-group textarea:focus {
    outline: none;
    border-color: #84cc16;
    box-shadow: 0 0 0 3px rgba(132, 204, 22, 0.18);
}
.oe-drawer .oe-form-group textarea { min-height: 120px; font-weight: 500; }

/* ── Pagina Lavorazioni: preventivi, comparatore, archivio ────────────── */
.page-lavorazioni .lav-filtri {
    display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px;
}
.page-lavorazioni .lav-filtro { min-width: 180px; flex: 1 1 180px; }
.page-lavorazioni .lav-compare-filtri {
    display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 16px;
}
.page-lavorazioni .lav-compare-filtri > div { min-width: 220px; flex: 1 1 220px; }

.page-lavorazioni .lav-lista { display: flex; flex-direction: column; gap: 10px; }
.page-lavorazioni .lav-empty {
    padding: 32px 16px; text-align: center; color: #94a3b8; font-size: 0.86rem; font-weight: 600;
    border: 1px dashed #e2e8f0; border-radius: 14px;
}
.page-lavorazioni .lav-riga {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
    padding: 14px 16px; border: 1px solid var(--acq-border); border-radius: 14px;
    background: linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(243,238,232,0.92) 100%);
    cursor: pointer; transition: transform .15s ease, box-shadow .15s ease;
}
.page-lavorazioni .lav-riga:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(15,23,42,0.06); }
.page-lavorazioni .lav-riga-main { display: flex; flex-direction: column; gap: 2px; }
.page-lavorazioni .lav-riga-prodotto { font-weight: 800; color: #0f172a; font-size: 0.9rem; }
.page-lavorazioni .lav-riga-tipo { font-size: 0.76rem; font-weight: 600; color: #64748b; }
.page-lavorazioni .lav-riga-info { display: flex; align-items: center; gap: 12px; font-size: 0.78rem; font-weight: 600; color: #475569; }
.page-lavorazioni .lav-riga-fornitore.is-empty { color: #94a3b8; font-style: italic; }

.page-lavorazioni .lav-badge {
    display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px;
    font-size: 0.7rem; font-weight: 800; color: var(--lav-badge-color, #64748b);
    background: color-mix(in srgb, var(--lav-badge-color, #64748b) 16%, transparent);
}

.page-lavorazioni .lav-compare-table { width: 100%; border-collapse: collapse; font-size: 0.82rem; }
.page-lavorazioni .lav-compare-table th {
    text-align: left; padding: 8px 10px; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.04em;
    text-transform: uppercase; color: #94a3b8; border-bottom: 1px solid #e2e8f0;
}
.page-lavorazioni .lav-compare-table td { padding: 10px; border-bottom: 1px solid #f1f1ef; color: #334155; font-weight: 600; }
.page-lavorazioni .lav-compare-table tr.lav-best-price { background: rgba(132,204,22,0.10); }
.page-lavorazioni .lav-best-badge {
    margin-left: 8px; padding: 2px 8px; border-radius: 999px; background: #84cc16; color: #1a2e05;
    font-size: 0.62rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.03em;
}

.page-lavorazioni .lav-cambi-lista { display: flex; flex-direction: column; gap: 12px; }
.page-lavorazioni .lav-cambio-card {
    padding: 16px; border: 1px solid var(--acq-border); border-radius: 16px;
    background: linear-gradient(180deg, rgba(255,255,255,0.94) 0%, rgba(243,238,232,0.94) 100%);
}
.page-lavorazioni .lav-cambio-head { display: flex; justify-content: space-between; margin-bottom: 12px; }
.page-lavorazioni .lav-cambio-prodotto { font-weight: 800; color: #0f172a; }
.page-lavorazioni .lav-cambio-tipo { font-size: 0.76rem; font-weight: 600; color: #64748b; }
.page-lavorazioni .lav-cambio-body { display: flex; align-items: center; justify-content: center; gap: 20px; margin-bottom: 12px; }
.page-lavorazioni .lav-cambio-side { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 120px; }
.page-lavorazioni .lav-cambio-label { font-size: 0.62rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; color: #94a3b8; }
.page-lavorazioni .lav-cambio-fornitore { font-weight: 700; color: #334155; }
.page-lavorazioni .lav-cambio-prezzo { font-weight: 800; color: #0f172a; }
.page-lavorazioni .lav-cambio-arrow { color: #84cc16; font-size: 1.1rem; }
.page-lavorazioni .lav-cambio-foot {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px;
    padding-top: 10px; border-top: 1px solid #f1f1ef; font-size: 0.78rem; font-weight: 700; color: #475569;
}
.page-lavorazioni .lav-cambio-delta.is-positive { color: #4d7c0f; }
.page-lavorazioni .lav-cambio-delta.is-negative { color: #b91c1c; }
.page-lavorazioni .lav-cambio-risparmio strong { color: #4d7c0f; }
.page-lavorazioni .lav-cambio-data { color: #94a3b8; font-weight: 600; }

/* .lav-modal NON usa la classe .modal-content: quella ha un'animazione con
   transform (modalSpring), e qualsiasi transform su un antenato trasforma i
   popup position:fixed di _oeSelect/_oeDate (.oe-dd-menu/.oe-cal) in elementi
   "contenuti" nell'antenato invece che nella viewport, spostandoli fuori
   posizione o clippandoli. Qui il box si anima solo via opacity (ereditata
   da .modal-overlay.active) e resta sempre transform:none. */
.page-lavorazioni .lav-modal {
    position: relative;
    width: min(520px, 92vw);
    max-height: 88vh;
    overflow-y: auto;
    background: #fff;
    padding: 24px;
    border-radius: 20px;
    box-shadow: 0 28px 56px -8px rgba(0,0,0,0.2), 0 0 0 1px rgba(0,0,0,0.04);
    transform: none !important;
}
.page-lavorazioni .lav-modal-sm { width: min(380px, 92vw); }
[data-theme="dark"] .page-lavorazioni .lav-modal { background: #1a1a1c; }
.page-lavorazioni .lav-modal-header {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px;
}
.page-lavorazioni .lav-modal-header h3 { margin: 0; font-size: 1.05rem; font-weight: 800; color: #0f172a; }
.page-lavorazioni .lav-modal-close {
    width: 32px; height: 32px; border-radius: 10px; border: 1px solid #e2e8f0; background: #fff;
    color: #64748b; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
    transition: background .12s ease, color .12s ease;
}
.page-lavorazioni .lav-modal-close:hover { background: #f6f7f5; color: #0f172a; }
[data-theme="dark"] .page-lavorazioni .lav-modal-header h3 { color: #e7e7e9; }
[data-theme="dark"] .page-lavorazioni .lav-modal-close { background: #1f2022; border-color: #36383b; color: #cfd0d2; }
.page-lavorazioni .lav-form { display: flex; flex-direction: column; gap: 12px; padding: 4px 2px; }
.page-lavorazioni .lav-form-row { display: flex; flex-direction: column; gap: 6px; }
.page-lavorazioni .lav-form-row label { font-size: 0.72rem; font-weight: 800; color: #64748b; text-transform: uppercase; letter-spacing: 0.03em; }
.page-lavorazioni .lav-form-row input,
.page-lavorazioni .lav-form-row textarea {
    border: 1px solid #cbd5e1; border-radius: 10px; padding: 8px 12px; font-size: 0.82rem;
    font-weight: 600; color: #0f172a; background: #fff;
}
.page-lavorazioni .lav-form-row input:focus,
.page-lavorazioni .lav-form-row textarea:focus {
    outline: none; border-color: #84cc16; box-shadow: 0 0 0 3px rgba(132,204,22,0.18);
}
.page-lavorazioni .lav-form-row-split { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.page-lavorazioni .lav-form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 6px; }

[data-theme="dark"] .page-lavorazioni .lav-riga,
[data-theme="dark"] .page-lavorazioni .lav-cambio-card {
    background: #1a1a1c; border-color: #36383b;
}
[data-theme="dark"] .page-lavorazioni .lav-riga-prodotto,
[data-theme="dark"] .page-lavorazioni .lav-cambio-prodotto,
[data-theme="dark"] .page-lavorazioni .lav-cambio-fornitore,
[data-theme="dark"] .page-lavorazioni .lav-cambio-prezzo { color: #e7e7e9; }
[data-theme="dark"] .page-lavorazioni .lav-compare-table td { color: #cfd0d2; border-color: #2a2c2f; }
[data-theme="dark"] .page-lavorazioni .lav-compare-table th { border-color: #2a2c2f; }
[data-theme="dark"] .page-lavorazioni .lav-form-row input,
[data-theme="dark"] .page-lavorazioni .lav-form-row textarea {
    background: #1f2022; border-color: #36383b; color: #e7e7e9;
}
