/* Clients Modal V2 — neo-brutalist single-step modal con progressive disclosure
   + test client card + email preview pannello. */

#cmv2-root { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; color: #0d0d0d; }

#cmv2-root .cmv2-overlay {
    position: fixed; inset: 0; z-index: 9000;
    background: rgba(13, 13, 13, 0.55);
    backdrop-filter: blur(2px);
    animation: cmv2-fade-in 0.18s ease-out;
}
@keyframes cmv2-fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}

#cmv2-root .cmv2-modal {
    position: fixed; z-index: 9001;
    top: 50%; left: 50%;
    width: min(1100px, 95vw);
    max-height: 92vh;
    background: #fff;
    border: 2px solid #0d0d0d;
    border-radius: 20px;  /* rounded-xl plus — friendly cornice */
    box-shadow: 6px 6px 0 #0d0d0d;
    display: flex; flex-direction: column;
    overflow: hidden;
    /* Animation: scale-in 0.96 → 1 dal CLAUDE.md neo-brutalist */
    animation: cmv2-scale-in 0.18s cubic-bezier(0.25, 0.1, 0.25, 1);
    transform: translate(-50%, -50%);
}

@keyframes cmv2-scale-in {
    from { opacity: 0; transform: translate(-50%, -50%) scale(0.96); }
    to   { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

#cmv2-root .cmv2-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 2px solid #0d0d0d;
    background: #f5f0e8;
}
#cmv2-root .cmv2-header h2 {
    margin: 0; font-size: 18px; font-weight: 900;
}
#cmv2-root .cmv2-close {
    background: #fff; border: 2px solid #0d0d0d;
    width: 34px; height: 34px;
    border-radius: 8px; cursor: pointer; font-weight: 900; font-size: 16px;
    box-shadow: 2px 2px 0 #0d0d0d;
    transition: transform 0.1s, box-shadow 0.1s;
}
#cmv2-root .cmv2-close:hover { transform: translate(-1px, -1px); box-shadow: 3px 3px 0 #0d0d0d; }
#cmv2-root .cmv2-close:active { transform: translate(0, 0); box-shadow: 1px 1px 0 #0d0d0d; }

/* Test card slot — LaneCard pattern (icon plate left + body) */
#cmv2-root #cmv2-test-card-slot { padding: 16px 20px 0; }
#cmv2-root .ct-card {
    border: 2px solid #0d0d0d;
    border-radius: 12px;
    box-shadow: 3px 3px 0 #0d0d0d;
    padding: 14px 16px;
    display: flex; align-items: flex-start; gap: 14px;
    background: #f5f0e8;
    transition: transform 0.12s, box-shadow 0.12s;
}
#cmv2-root .ct-card:hover {
    transform: translate(-1px, -1px);
    box-shadow: 4px 4px 0 #0d0d0d;
}
#cmv2-root .ct-card.ct-active { background: #fff; }
#cmv2-root .ct-icon {
    width: 44px; height: 44px;
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: #fff;
    border: 2px solid #0d0d0d;
    border-radius: 8px;
    font-size: 22px; line-height: 1;
}
#cmv2-root .ct-card.ct-active .ct-icon {
    background: #0d0d0d;
    color: #fff;
}
#cmv2-root .ct-body { flex: 1; min-width: 0; }
#cmv2-root .ct-title { font-weight: 900; font-size: 14px; margin-bottom: 4px; }
#cmv2-root .ct-desc { font-size: 12px; color: #555; margin: 0 0 10px; line-height: 1.4; }
#cmv2-root .ct-cta {
    background: #0d0d0d; color: #fff; border: 2px solid #0d0d0d;
    padding: 8px 14px; font-weight: 900; font-size: 12px;
    border-radius: 8px; cursor: pointer;
    transition: transform 0.1s, box-shadow 0.1s;
}
#cmv2-root .ct-cta:hover { transform: translate(-1px, -1px); box-shadow: 2px 2px 0 #0d0d0d; }
#cmv2-root .ct-cta:active { transform: translate(0, 0); box-shadow: none; }
#cmv2-root .ct-actions { display: flex; gap: 6px; flex-wrap: wrap; }
#cmv2-root .ct-actions button {
    background: #fff; border: 2px solid #0d0d0d;
    padding: 5px 10px; font-weight: 800; font-size: 11px;
    border-radius: 6px; cursor: pointer; font-family: inherit; color: #0d0d0d;
    transition: transform 0.1s, box-shadow 0.1s;
}
#cmv2-root .ct-actions button:hover { transform: translate(-1px, -1px); box-shadow: 2px 2px 0 #0d0d0d; }
#cmv2-root .ct-actions button.ct-danger { background: #fee2e2; }

/* Tabs — pill-style standalone (rounded-md), niente bottom-flat
   sharp-merge col body. Active = inverted ink (CLAUDE pattern). */
#cmv2-root .cmv2-tabs {
    display: flex; gap: 6px;
    padding: 14px 20px 12px;
}
#cmv2-root .cmv2-tab {
    background: #fff; border: 2px solid #0d0d0d;
    padding: 8px 16px;
    font-weight: 800; font-size: 13px; font-family: inherit;
    border-radius: 8px;
    cursor: pointer;
    color: #0d0d0d;
    box-shadow: 2px 2px 0 #0d0d0d;
    transition: transform 0.1s, box-shadow 0.1s;
}
#cmv2-root .cmv2-tab:hover {
    transform: translate(-1px, -1px);
    box-shadow: 3px 3px 0 #0d0d0d;
}
#cmv2-root .cmv2-tab:active {
    transform: translate(0, 0);
    box-shadow: 1px 1px 0 #0d0d0d;
}
#cmv2-root .cmv2-tab.cmv2-tab-active {
    background: #0d0d0d; color: #fff;
}

/* Body: 60/40 grid */
#cmv2-root .cmv2-body {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 16px;
    padding: 16px 20px;
    overflow-y: auto;
    flex: 1;
    border-top: 2px solid #0d0d0d;
}
@media (max-width: 800px) {
    #cmv2-root .cmv2-body { grid-template-columns: 1fr; }
}

#cmv2-root .cmv2-form-col { min-width: 0; }
#cmv2-root .cmv2-preview-col { min-width: 0; }

/* Fieldsets — stagger row-in dal CLAUDE pattern */
#cmv2-root .cmv2-fs {
    border: 2px solid #0d0d0d; border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 14px;
    background: #fff;
    box-shadow: 3px 3px 0 #0d0d0d;
    animation: cmv2-row-in 0.3s cubic-bezier(0.25, 0.1, 0.25, 1) backwards;
}
#cmv2-root .cmv2-fs:nth-of-type(1) { animation-delay: 40ms; }
#cmv2-root .cmv2-fs:nth-of-type(2) { animation-delay: 110ms; }
#cmv2-root .cmv2-fs:nth-of-type(3) { animation-delay: 180ms; }

@keyframes cmv2-row-in {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}
#cmv2-root .cmv2-fs legend {
    background: #0d0d0d; color: #fff;
    padding: 3px 10px; font-weight: 900; font-size: 11px;
    border-radius: 3px;  /* status-pill style come da CLAUDE.md */
    text-transform: uppercase; letter-spacing: 0.05em;
}

/* Radio segment: pillole con border-2, active = ink filled */
#cmv2-root .cmv2-radio-group {
    display: inline-flex; gap: 0;
    border: 2px solid #0d0d0d; border-radius: 10px;
    overflow: hidden;
    margin-bottom: 12px;
    box-shadow: 2px 2px 0 #0d0d0d;
}
#cmv2-root .cmv2-radio {
    font-size: 12px; font-weight: 800;
    cursor: pointer;
    padding: 7px 14px;
    user-select: none;
    transition: background 0.12s;
}
#cmv2-root .cmv2-radio:has(input:checked) {
    background: #0d0d0d; color: #fff;
}
#cmv2-root .cmv2-radio + .cmv2-radio {
    border-left: 2px solid #0d0d0d;
}
#cmv2-root .cmv2-radio input { display: none; }

#cmv2-root .cmv2-field { display: block; margin-bottom: 12px; }
#cmv2-root .cmv2-label { display: block; font-weight: 800; font-size: 12px; margin-bottom: 4px; }
#cmv2-root .cmv2-label em { color: #dc2626; font-style: normal; }
#cmv2-root .cmv2-field input,
#cmv2-root .cmv2-field textarea {
    width: 100%; box-sizing: border-box;
    border: 2px solid #0d0d0d; border-radius: 10px;
    padding: 9px 12px; font-size: 13px; font-family: inherit;
    background: #fff; color: #0d0d0d;
    transition: box-shadow 0.12s;
}
/* nb-focus-ring: white halo + ink ring (vedi CLAUDE.md) */
#cmv2-root .cmv2-field input:focus,
#cmv2-root .cmv2-field textarea:focus {
    outline: none;
    box-shadow: 0 0 0 3px #fff, 0 0 0 5px #0d0d0d;
}
#cmv2-root .cmv2-help { display: block; font-size: 11px; color: #666; margin-top: 4px; }

/* Portal lanes */
#cmv2-root .cmv2-portal-cards {
    display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
    margin-bottom: 8px;
}
@media (max-width: 480px) {
    #cmv2-root .cmv2-portal-cards { grid-template-columns: 1fr; }
}
#cmv2-root .cmv2-lane {
    background: #fff; border: 2px solid #0d0d0d; border-radius: 12px;
    padding: 14px;
    cursor: pointer; text-align: left;
    display: flex; align-items: flex-start; gap: 12px;
    font-family: inherit;
    box-shadow: 3px 3px 0 #0d0d0d;
    transition: transform 0.12s, box-shadow 0.12s;
    position: relative;
}
/* Trailing arrow che slides on hover (CLAUDE.md LaneCard pattern) */
#cmv2-root .cmv2-lane::after {
    content: '→';
    position: absolute;
    right: 12px; bottom: 10px;
    font-weight: 900; font-size: 16px;
    transition: transform 0.18s;
}
#cmv2-root .cmv2-lane:hover::after {
    transform: translateX(4px);
}
#cmv2-root .cmv2-lane-selected::after {
    transform: translateX(4px);
}
#cmv2-root .cmv2-lane:hover { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 #0d0d0d; }
#cmv2-root .cmv2-lane:active { transform: translate(0, 0); box-shadow: 1px 1px 0 #0d0d0d; }
#cmv2-root .cmv2-lane-selected {
    background: #0d0d0d; color: #fff;
    box-shadow: 3px 3px 0 #0d0d0d;
}
/* Icon plate stile CLAUDE LaneCard: 40px square, border-2, becomes
   filled foreground quando lane è selezionato. */
#cmv2-root .cmv2-lane-icon {
    width: 40px; height: 40px;
    flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: #fff;
    border: 2px solid #0d0d0d;
    border-radius: 8px;
    font-size: 20px; line-height: 1;
}
#cmv2-root .cmv2-lane-selected .cmv2-lane-icon {
    background: #fff; color: #0d0d0d;  /* contrasto leggibilità su lane nera */
}
#cmv2-root .cmv2-lane-title { font-weight: 900; font-size: 13px; }
#cmv2-root .cmv2-lane-desc { font-size: 11px; color: inherit; opacity: 0.85; margin-top: 2px; padding-right: 24px; }
#cmv2-root .cmv2-lane-selected .cmv2-lane-desc { color: #fff; opacity: 0.85; }

/* Sezioni espandibili */
#cmv2-root .cmv2-section {
    border: 2px solid #0d0d0d; border-radius: 12px;
    padding: 0;
    margin-bottom: 10px;
    background: #fff;
    box-shadow: 2px 2px 0 #0d0d0d;
    transition: box-shadow 0.12s;
}
#cmv2-root .cmv2-section[open] {
    box-shadow: 3px 3px 0 #0d0d0d;
}
#cmv2-root .cmv2-section summary {
    cursor: pointer;
    padding: 11px 14px;
    font-weight: 800; font-size: 12px;
    list-style: none;
    user-select: none;
    border-radius: 10px;
    transition: background 0.12s;
}
#cmv2-root .cmv2-section summary:hover {
    background: #f5f0e8;
}
#cmv2-root .cmv2-section summary::before {
    content: '▶ '; display: inline-block; margin-right: 6px;
    transition: transform 0.15s;
}
#cmv2-root .cmv2-section[open] summary::before { transform: rotate(90deg); }
#cmv2-root .cmv2-section[open] summary { border-bottom: 2px solid #0d0d0d; }
#cmv2-root .cmv2-section > .cmv2-field { padding: 0 14px; }
#cmv2-root .cmv2-section > .cmv2-field:first-of-type { padding-top: 12px; }
#cmv2-root .cmv2-section > .cmv2-field:last-of-type { padding-bottom: 12px; margin-bottom: 0; }

/* Test banner */
#cmv2-root .cmv2-test-banner {
    background: #f5f0e8; border: 2px solid #0d0d0d; border-radius: 10px;
    padding: 10px 12px; font-size: 12px; font-weight: 700;
    margin-bottom: 14px;
}
#cmv2-root .cmv2-test-toggle {
    display: block; margin-top: 8px; font-weight: 600; font-size: 12px;
    cursor: pointer;
}
#cmv2-root .cmv2-test-toggle input { margin-right: 6px; }

/* Email preview pannello */
#cmv2-root .ce-preview {
    background: #f5f0e8;
    border: 2px solid #0d0d0d; border-radius: 12px;
    padding: 14px;
    box-shadow: 3px 3px 0 #0d0d0d;
    position: sticky; top: 0;
}
#cmv2-root .ce-preview-title {
    margin: 0 0 12px; font-size: 14px; font-weight: 900;
    text-transform: uppercase; letter-spacing: 0.05em;
}
#cmv2-root .ce-preview-steps {
    list-style: none; padding: 0; margin: 0;
}
#cmv2-root .ce-preview-steps > li {
    display: flex; gap: 10px; margin-bottom: 12px;
}
#cmv2-root .ce-step-num {
    flex-shrink: 0;
    width: 24px; height: 24px;
    background: #0d0d0d; color: #fff;
    font-weight: 900; font-size: 12px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
}
#cmv2-root .ce-step-body { font-size: 13px; line-height: 1.4; flex: 1; min-width: 0; }
#cmv2-root .ce-test-chip {
    display: inline-block;
    background: #f5f0e8; border: 2px solid #0d0d0d;
    border-radius: 3px; padding: 1px 6px;
    font-size: 10px; font-weight: 900; margin-left: 6px;
    text-transform: uppercase;
}
#cmv2-root .ce-email-preview { margin: 8px 0 6px; }
#cmv2-root .ce-email-to { font-size: 11px; color: #666; }
#cmv2-root .ce-email-none { font-style: italic; color: #999; }

/* Footer */
#cmv2-root .cmv2-footer {
    display: flex; justify-content: flex-end; gap: 10px;
    padding: 14px 20px;
    border-top: 2px solid #0d0d0d;
    background: #f5f0e8;
}
#cmv2-root .cmv2-btn {
    border: 2px solid #0d0d0d; border-radius: 10px;
    padding: 10px 20px; font-weight: 900; font-size: 13px;
    font-family: inherit; cursor: pointer;
    box-shadow: 3px 3px 0 #0d0d0d;
    transition: transform 0.12s, box-shadow 0.12s;
}
#cmv2-root .cmv2-btn:hover { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 #0d0d0d; }
#cmv2-root .cmv2-btn:active { transform: translate(0, 0); box-shadow: 1px 1px 0 #0d0d0d; }
#cmv2-root .cmv2-btn:disabled { opacity: 0.6; cursor: wait; transform: none; box-shadow: 3px 3px 0 #0d0d0d; }
#cmv2-root .cmv2-btn-ghost { background: #fff; color: #0d0d0d; }
#cmv2-root .cmv2-btn-primary { background: #0d0d0d; color: #fff; }

/* ─── Embed legacy modal content dentro v2 body ────────────────────
   Quando i tab "Da Excel" / "VIES" sono attivi, l'#import-clients-content
   viene fisicamente spostato dentro .cmv2-body. Le seguenti regole tolgono
   shadow/transform/transitions del legacy e fanno occupare tutto lo spazio. */

#import-clients-content.cmv2-embedded {
    position: static !important;
    transform: none !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    transition: none !important;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

/* Quando embeddato, il body legacy è la zona scrollabile */
#import-clients-content.cmv2-embedded .icm-body {
    flex: 1;
    overflow-y: auto;
    padding: 0 4px;
}

/* Footer legacy embeddato: stile coerente col v2 footer */
#import-clients-content.cmv2-embedded .icm-footer {
    border-top: 2px solid #0d0d0d;
    background: #f5f0e8;
    padding: 12px 16px;
    margin: 12px -20px -16px;
}

/* In modalità embed, il body di v2 deve permettere al content legacy
   di scrollare (niente double-scroll). */
#cmv2-root .cmv2-body:has(.cmv2-embedded) {
    overflow: hidden;
    padding: 12px 20px 0;
    grid-template-columns: 1fr;
}

/* ─── Legacy content nelle vesti neo-brutalist (override globale) ─────
   Quando #import-clients-content è dentro .cmv2-embedded, ogni elemento
   legacy viene riassorbito nel design language v2: rounded-xl, border-2
   ink, hard offset shadow, no gradient, accent yellow/cream, font-black
   sui titoli. */

#import-clients-content.cmv2-embedded,
#import-clients-content.cmv2-embedded * {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif !important;
    color: #0d0d0d;
}

/* Card: bianche, bordi neri, hard shadow, no gradient — rounded-xl */
#import-clients-content.cmv2-embedded .icm-card,
#import-clients-content.cmv2-embedded .icm-card--indigo,
#import-clients-content.cmv2-embedded .icm-card--purple,
#import-clients-content.cmv2-embedded .icm-card--emerald,
#import-clients-content.cmv2-embedded .icm-card--amber,
#import-clients-content.cmv2-embedded .icm-card--slate {
    background: #fff !important;
    background-image: none !important;
    border: 2px solid #0d0d0d !important;
    border-radius: 12px !important;  /* rounded-xl come da CLAUDE.md */
    box-shadow: 3px 3px 0 #0d0d0d !important;
    padding: 14px 16px !important;
    margin-bottom: 14px !important;
    color: #0d0d0d !important;
    transition: transform 0.12s, box-shadow 0.12s !important;
}

/* Hover micro-lift sui card embedded */
#import-clients-content.cmv2-embedded .icm-card:hover,
#import-clients-content.cmv2-embedded .icm-card--indigo:hover,
#import-clients-content.cmv2-embedded .icm-card--purple:hover,
#import-clients-content.cmv2-embedded .icm-card--emerald:hover,
#import-clients-content.cmv2-embedded .icm-card--amber:hover,
#import-clients-content.cmv2-embedded .icm-card--slate:hover {
    transform: translate(-1px, -1px) !important;
    box-shadow: 4px 4px 0 #0d0d0d !important;
}

/* Card colorate del legacy → tutte cream/white nel tema v2.
   Niente giallo: il giallo del v2 è riservato a header sticky e
   test-card attiva; le card embeddate sono neutre. */
#import-clients-content.cmv2-embedded .icm-card--indigo,
#import-clients-content.cmv2-embedded .icm-card--purple,
#import-clients-content.cmv2-embedded .icm-card--emerald,
#import-clients-content.cmv2-embedded .icm-card--amber {
    background: #fff !important;
}

#import-clients-content.cmv2-embedded .icm-card--slate {
    background: #f5f0e8 !important;
}

/* Section title: font-black uppercase con badge contrasto, come v2 legend */
#import-clients-content.cmv2-embedded .icm-section-title {
    font-weight: 900 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #0d0d0d !important;
    margin-bottom: 8px !important;
    background: transparent !important;
    -webkit-text-fill-color: #0d0d0d !important;
}

#import-clients-content.cmv2-embedded .icm-section-copy {
    font-size: 12px !important;
    color: #555 !important;
    line-height: 1.5 !important;
    margin-bottom: 10px !important;
}

/* Bottoni primary (es. "Importa Clienti"): nero, rounded-lg, hard shadow */
#import-clients-content.cmv2-embedded .icm-btn--primary,
#import-clients-content.cmv2-embedded .icm-neo-btn,
#import-clients-content.cmv2-embedded button[onclick*="confirmImport"],
#import-clients-content.cmv2-embedded button[onclick*="confirmVies"] {
    background: #0d0d0d !important;
    color: #fff !important;
    border: 2px solid #0d0d0d !important;
    border-radius: 10px !important;
    font-weight: 900 !important;
    padding: 9px 18px !important;
    box-shadow: 3px 3px 0 #0d0d0d !important;
    transition: transform 0.12s, box-shadow 0.12s !important;
    background-image: none !important;
}

#import-clients-content.cmv2-embedded .icm-btn--primary:hover,
#import-clients-content.cmv2-embedded .icm-neo-btn:hover {
    transform: translate(-2px, -2px) !important;
    box-shadow: 5px 5px 0 #0d0d0d !important;
}

#import-clients-content.cmv2-embedded .icm-btn--primary:active,
#import-clients-content.cmv2-embedded .icm-neo-btn:active {
    transform: translate(0, 0) !important;
    box-shadow: 1px 1px 0 #0d0d0d !important;
}

#import-clients-content.cmv2-embedded .icm-btn--primary:disabled {
    opacity: 0.55 !important;
    cursor: not-allowed !important;
}

/* Bottoni ghost / secondari */
#import-clients-content.cmv2-embedded .icm-btn--ghost,
#import-clients-content.cmv2-embedded .icm-mini-btn,
#import-clients-content.cmv2-embedded .icm-folder-btn {
    background: #fff !important;
    color: #0d0d0d !important;
    border: 2px solid #0d0d0d !important;
    border-radius: 6px !important;
    font-weight: 800 !important;
    box-shadow: 2px 2px 0 #0d0d0d !important;
    background-image: none !important;
}

#import-clients-content.cmv2-embedded .icm-btn--ghost:hover,
#import-clients-content.cmv2-embedded .icm-mini-btn:hover {
    transform: translate(-1px, -1px) !important;
    box-shadow: 3px 3px 0 #0d0d0d !important;
}

/* Inputs / select / textarea — rounded-lg coerente, nb-focus-ring */
#import-clients-content.cmv2-embedded input[type="text"],
#import-clients-content.cmv2-embedded input[type="email"],
#import-clients-content.cmv2-embedded input[type="number"],
#import-clients-content.cmv2-embedded input[type="search"],
#import-clients-content.cmv2-embedded select,
#import-clients-content.cmv2-embedded textarea {
    border: 2px solid #0d0d0d !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #0d0d0d !important;
    padding: 9px 12px !important;
    font-size: 13px !important;
    box-shadow: none !important;
    transition: box-shadow 0.12s !important;
}

#import-clients-content.cmv2-embedded input:focus,
#import-clients-content.cmv2-embedded select:focus,
#import-clients-content.cmv2-embedded textarea:focus {
    outline: none !important;
    /* nb-focus-ring: white halo + ink ring (CLAUDE.md) */
    box-shadow: 0 0 0 3px #fff, 0 0 0 5px #0d0d0d !important;
}

/* Dropzone (drag area Excel) */
#import-clients-content.cmv2-embedded .icm-dropzone {
    background: #f5f0e8 !important;
    border: 2px dashed #0d0d0d !important;
    border-radius: 12px !important;
    color: #0d0d0d !important;
    padding: 24px !important;
    transition: background 0.15s !important;
}

#import-clients-content.cmv2-embedded .icm-dropzone:hover {
    background: #ebe2cf !important;
}

/* Badge / pill */
#import-clients-content.cmv2-embedded .icm-badge {
    background: #0d0d0d !important;
    color: #fff !important;
    border: 2px solid #0d0d0d !important;
    border-radius: 4px !important;
    padding: 2px 8px !important;
    font-weight: 900 !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    background-image: none !important;
}

/* Toolbar */
#import-clients-content.cmv2-embedded .icm-toolbar {
    background: #f5f0e8 !important;
    border: 2px solid #0d0d0d !important;
    border-radius: 10px !important;
    padding: 10px 12px !important;
}

/* Table shell (preview import massivo) */
#import-clients-content.cmv2-embedded .icm-table-shell {
    border: 2px solid #0d0d0d !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 3px 3px 0 #0d0d0d !important;
}

#import-clients-content.cmv2-embedded .icm-table-shell table {
    border-collapse: collapse !important;
    width: 100% !important;
}

#import-clients-content.cmv2-embedded .icm-table-shell th {
    background: #f5f0e8 !important;
    border-bottom: 2px solid #0d0d0d !important;
    color: #0d0d0d !important;
    font-weight: 900 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 8px 10px !important;
}

#import-clients-content.cmv2-embedded .icm-table-shell td {
    border-bottom: 1px solid #d4d4d4 !important;
    padding: 8px 10px !important;
    font-size: 13px !important;
    color: #0d0d0d !important;
}

/* Link */
#import-clients-content.cmv2-embedded .icm-link {
    color: #0d0d0d !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
}

/* Rimuove bordi/colori indigo/purple/blue Tailwind dai sub-element */
#import-clients-content.cmv2-embedded [class*="border-indigo"],
#import-clients-content.cmv2-embedded [class*="border-purple"],
#import-clients-content.cmv2-embedded [class*="border-blue"] {
    border-color: #0d0d0d !important;
}

#import-clients-content.cmv2-embedded [class*="bg-indigo"],
#import-clients-content.cmv2-embedded [class*="bg-purple"],
#import-clients-content.cmv2-embedded [class*="bg-blue-50"],
#import-clients-content.cmv2-embedded [class*="bg-blue-100"] {
    background-color: #f5f0e8 !important;
    background-image: none !important;
}

#import-clients-content.cmv2-embedded [class*="text-indigo"],
#import-clients-content.cmv2-embedded [class*="text-purple"],
#import-clients-content.cmv2-embedded [class*="text-blue"] {
    color: #0d0d0d !important;
}

#import-clients-content.cmv2-embedded [class*="ring-indigo"],
#import-clients-content.cmv2-embedded [class*="ring-purple"],
#import-clients-content.cmv2-embedded [class*="ring-blue"] {
    --tw-ring-color: #0d0d0d !important;
}

/* Stack spacing coerente */
#import-clients-content.cmv2-embedded .icm-stack > * + * {
    margin-top: 14px !important;
}

/* Empty state hint colori coerenti */
#import-clients-content.cmv2-embedded .text-slate-400,
#import-clients-content.cmv2-embedded .text-slate-500,
#import-clients-content.cmv2-embedded .text-gray-400 {
    color: #78716c !important;
}

/* Lucide icons inherit foreground in embedded mode */
#import-clients-content.cmv2-embedded svg {
    color: currentColor;
}

/* ═══════════════════════════════════════════════════════════════════
   MONO-MODE GLOBALE per la pagina Clients
   Riassorbe TUTTO il giallo/amber sparso in inline styles e classi
   Tailwind ad un'unica palette: bianco / cream (#f5f0e8) / ink (#0d0d0d).
   Si applica a tutto ciò che vive sotto `.clients-jakarta-font` o
   `#section-clients` (i wrapper della pagina clienti).
   ═══════════════════════════════════════════════════════════════════ */

.clients-jakarta-font [class*="bg-yellow-"],
.clients-jakarta-font [class*="bg-amber-"],
.clients-jakarta-font [class*="bg-[#fef9c3"],
.clients-jakarta-font [class*="bg-[#fef3c7"],
.clients-jakarta-font [class*="bg-[#fef08a"],
.clients-jakarta-font [class*="bg-[#fde047"],
#section-clients [class*="bg-yellow-"],
#section-clients [class*="bg-amber-"],
#section-clients [class*="bg-[#fef9c3"],
#section-clients [class*="bg-[#fef3c7"] {
    background-color: #f5f0e8 !important;
    background-image: none !important;
}

.clients-jakarta-font [class*="text-yellow-"],
.clients-jakarta-font [class*="text-amber-"],
.clients-jakarta-font [class*="text-[#fef9c3"],
#section-clients [class*="text-yellow-"],
#section-clients [class*="text-amber-"] {
    color: #0d0d0d !important;
}

.clients-jakarta-font [class*="border-yellow-"],
.clients-jakarta-font [class*="border-amber-"],
.clients-jakarta-font [class*="border-[#fde"],
#section-clients [class*="border-yellow-"],
#section-clients [class*="border-amber-"] {
    border-color: #0d0d0d !important;
}

.clients-jakarta-font [class*="ring-yellow-"],
.clients-jakarta-font [class*="ring-amber-"],
#section-clients [class*="ring-yellow-"],
#section-clients [class*="ring-amber-"] {
    --tw-ring-color: #0d0d0d !important;
}

/* Rimuove gialli da inline styles legacy (CSS custom property non li
   intercetta, ma molti elementi usano `style="background:#fef9c3"`
   diretti — questi possono essere intercettati solo via attribute
   selector). */
.clients-jakarta-font [style*="#fef9c3"],
.clients-jakarta-font [style*="#fef3c7"],
.clients-jakarta-font [style*="#fef08a"],
.clients-jakarta-font [style*="#fde047"],
.clients-jakarta-font [style*="#fbbf24"],
.clients-jakarta-font [style*="#facc15"],
.clients-jakarta-font [style*="#eab308"],
.clients-jakarta-font [style*="#fcd34d"],
.clients-jakarta-font [style*="#f59e0b"] {
    /* Background overrides */
    background-color: #f5f0e8 !important;
    background-image: none !important;
}

/* Casi specifici dove il giallo era il *colore del testo* (non bg) */
.clients-jakarta-font [style*="color:#fef9c3"],
.clients-jakarta-font [style*="color: #fef9c3"],
.clients-jakarta-font [style*="color:#fef3c7"],
.clients-jakarta-font [style*="color: #fef3c7"],
.clients-jakarta-font [style*="color:#a16207"],
.clients-jakarta-font [style*="color:#b45309"],
.clients-jakarta-font [style*="color:#92400e"] {
    color: #0d0d0d !important;
}

/* Variabili CSS della pagina clients: --client-neo-yellow ridiretto
   a cream (era già cambiato sopra in clients.html, ma qui assicuro
   l'override anche se altre source overridano la var). */
.clients-jakarta-font,
#section-clients {
    --client-neo-yellow: #f5f0e8 !important;
    --yellow: #f5f0e8 !important;
}

/* Filter dot "Settimana" + altri tag colorati: l'unica tinta non
   nera/bianca/cream concessa è il rosso per stato critical/error
   (semantico, non decorativo). Lascio i rossi inalterati. */

/* Pulsanti che usavano text-[#fef9c3] su sfondo nero: il testo torna
   a bianco puro per leggibilità neo-brutalist. */
.clients-jakarta-font [class*="text-[#fef9c3"] {
    color: #ffffff !important;
}

/* ═══════════════════════════════════════════════════════════════
   v2 Unified Singolo — sezioni nuove (P.IVA + fiscale + 730)
   ═══════════════════════════════════════════════════════════════ */

#cmv2-root .cmv2-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
#cmv2-root .cmv2-grid-3 {
    display: grid;
    grid-template-columns: 1.3fr 0.7fr 0.6fr;
    gap: 12px;
}
@media (max-width: 640px) {
    #cmv2-root .cmv2-grid-2,
    #cmv2-root .cmv2-grid-3 { grid-template-columns: 1fr; }
}

#cmv2-root .cmv2-input-wrap { position: relative; }
#cmv2-root .cmv2-vies-status {
    display: inline-block;
    margin-top: 4px;
    padding: 3px 8px;
    font-size: 11px;
    font-weight: 700;
    border: 2px solid #0d0d0d;
    border-radius: 3px;
}
#cmv2-root .cmv2-vies-status.cmv2-vies-loading {
    background: #fef9c3;
}
#cmv2-root .cmv2-vies-status.cmv2-vies-ok {
    background: #d1fae5;
    color: #065f46;
}
#cmv2-root .cmv2-vies-status.cmv2-vies-warn {
    background: #fef3c7;
    color: #92400e;
}

/* Mode toggle (P.IVA → 730) */
#cmv2-root .cmv2-mode-toggle {
    display: inline-block;
    margin-top: 10px;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 700;
    background: transparent;
    border: 0;
    color: #4b5563;
    text-decoration: underline;
    cursor: pointer;
}
#cmv2-root .cmv2-mode-toggle:hover { color: #0d0d0d; }

#cmv2-root .cmv2-mode-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: #fef9c3;
    border: 2px solid #0d0d0d;
    border-radius: 8px;
    box-shadow: 3px 3px 0 #0d0d0d;
    margin-bottom: 16px;
    font-size: 12px;
    font-weight: 600;
}
#cmv2-root .cmv2-mode-pill {
    display: inline-block;
    padding: 2px 8px;
    background: #0d0d0d;
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border-radius: 3px;
}
#cmv2-root .cmv2-mode-back {
    margin-left: auto;
    padding: 4px 10px;
    background: #fff;
    border: 2px solid #0d0d0d;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 2px 2px 0 #0d0d0d;
}
#cmv2-root .cmv2-mode-back:hover {
    transform: translate(-1px, -1px);
    box-shadow: 3px 3px 0 #0d0d0d;
}
#cmv2-root .cmv2-mode-back:active {
    transform: translate(0, 0);
    box-shadow: 1px 1px 0 #0d0d0d;
}

/* ATECO search */
#cmv2-root .cmv2-ateco-search { position: relative; }
#cmv2-root .cmv2-ateco-search input {
    width: 100%;
    padding: 9px 12px;
    border: 2px solid #0d0d0d;
    border-radius: 6px;
    font-size: 13px;
    box-shadow: 2px 2px 0 #0d0d0d;
}
#cmv2-root .cmv2-ateco-search input:focus {
    outline: none;
    transform: translate(-1px, -1px);
    box-shadow: 3px 3px 0 #0d0d0d;
}
#cmv2-root .cmv2-ateco-dropdown {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    max-height: 220px;
    overflow-y: auto;
    background: #fff;
    border: 2px solid #0d0d0d;
    border-radius: 6px;
    box-shadow: 3px 3px 0 #0d0d0d;
    z-index: 50;
}
#cmv2-root .cmv2-ateco-item {
    padding: 8px 12px;
    border-bottom: 1px solid #e5e7eb;
    cursor: pointer;
    font-size: 12px;
    display: flex;
    gap: 8px;
}
#cmv2-root .cmv2-ateco-item:last-child { border-bottom: 0; }
#cmv2-root .cmv2-ateco-item:hover { background: #fef9c3; }
#cmv2-root .cmv2-ateco-item .cmv2-ateco-code {
    font-family: ui-monospace, SFMono-Regular, monospace;
    font-weight: 900;
    color: #0d0d0d;
}
#cmv2-root .cmv2-ateco-item .cmv2-ateco-desc {
    color: #4b5563;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#cmv2-root .cmv2-ateco-empty {
    padding: 12px;
    text-align: center;
    font-size: 12px;
    color: #6b7280;
}
#cmv2-root .cmv2-ateco-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    background: #fef9c3;
    border: 2px solid #0d0d0d;
    border-radius: 6px;
    box-shadow: 2px 2px 0 #0d0d0d;
    margin-bottom: 8px;
}
#cmv2-root .cmv2-ateco-chip .cmv2-ateco-code {
    font-family: ui-monospace, SFMono-Regular, monospace;
    font-weight: 900;
    font-size: 12px;
}
#cmv2-root .cmv2-ateco-chip .cmv2-ateco-desc {
    font-size: 11px;
    color: #4b5563;
    max-width: 360px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#cmv2-root .cmv2-ateco-clear {
    background: #fff;
    border: 2px solid #0d0d0d;
    width: 22px;
    height: 22px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 900;
    font-size: 11px;
}

/* Email chip input */
#cmv2-root .cmv2-chip-input {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
#cmv2-root .cmv2-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
#cmv2-root .cmv2-email-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    background: #f5f0e8;
    border: 2px solid #0d0d0d;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
}
#cmv2-root .cmv2-chip-rm {
    background: transparent;
    border: 0;
    cursor: pointer;
    font-weight: 900;
    font-size: 12px;
    color: #6b7280;
    padding: 0;
}
#cmv2-root .cmv2-chip-rm:hover { color: #0d0d0d; }
#cmv2-root .cmv2-chip-row {
    display: flex;
    gap: 6px;
}
#cmv2-root .cmv2-chip-row input {
    flex: 1;
    padding: 7px 10px;
    border: 2px solid #0d0d0d;
    border-radius: 6px;
    font-size: 12px;
}
#cmv2-root .cmv2-chip-add {
    width: 32px;
    background: #0d0d0d;
    color: #fff;
    border: 2px solid #0d0d0d;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 2px 2px 0 #0d0d0d;
}
#cmv2-root .cmv2-chip-add:hover {
    transform: translate(-1px, -1px);
    box-shadow: 3px 3px 0 #0d0d0d;
}
#cmv2-root .cmv2-chip-add:active {
    transform: translate(0, 0);
    box-shadow: 1px 1px 0 #0d0d0d;
}

/* Checkgrid (caratteristiche, servizi) */
#cmv2-root .cmv2-checkgrid-label {
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #4b5563;
    margin: 14px 0 6px;
}
#cmv2-root .cmv2-checkgrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px 12px;
}
@media (max-width: 640px) {
    #cmv2-root .cmv2-checkgrid { grid-template-columns: 1fr 1fr; }
}
#cmv2-root .cmv2-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    padding: 4px 0;
}
#cmv2-root .cmv2-check input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #0d0d0d;
    cursor: pointer;
}

/* Profile select fields */
#cmv2-root .cmv2-field select {
    width: 100%;
    padding: 9px 10px;
    border: 2px solid #0d0d0d;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    background: #fff;
    box-shadow: 2px 2px 0 #0d0d0d;
    cursor: pointer;
}
#cmv2-root .cmv2-field select:focus {
    outline: none;
    transform: translate(-1px, -1px);
    box-shadow: 3px 3px 0 #0d0d0d;
}

/* Toggle row (Invia subito invito App clienti) */
#cmv2-root .cmv2-toggle-row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    padding: 8px 12px;
    background: #f5f0e8;
    border: 2px solid #0d0d0d;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}
#cmv2-root .cmv2-toggle-row input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #0d0d0d;
}

/* ═══════════════════════════════════════════════════════════════
   Wizard a step gated (DecisionBlock pattern)
   ═══════════════════════════════════════════════════════════════ */

/* ProgressTrack in cima al form */
#cmv2-root .cmv2-progress {
    margin: 0 0 18px;
    padding: 12px 14px;
    background: #f5f0e8;
    border: 2px solid #0d0d0d;
    border-radius: 10px;
    box-shadow: 3px 3px 0 #0d0d0d;
    animation: cmv2-pop-in 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
#cmv2-root .cmv2-progress-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 8px;
}
#cmv2-root .cmv2-progress-label {
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #4b5563;
}
#cmv2-root .cmv2-progress-text {
    font-size: 13px;
    font-weight: 900;
    font-family: ui-monospace, SFMono-Regular, monospace;
    color: #0d0d0d;
}
#cmv2-root .cmv2-progress-bar {
    width: 100%;
    height: 8px;
    background: #fff;
    border: 2px solid #0d0d0d;
    border-radius: 4px;
    overflow: hidden;
}
#cmv2-root .cmv2-progress-fill {
    height: 100%;
    background: #0d0d0d;
    transition: width 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
}
@keyframes cmv2-pop-in {
    0%   { opacity: 0; transform: scale(0.95); }
    60%  { transform: scale(1.02); }
    100% { opacity: 1; transform: scale(1); }
}

/* Step container */
#cmv2-root .cmv2-step {
    position: relative;
    margin-bottom: 14px;
    padding: 16px 18px;
    background: #fff;
    border: 2px solid #0d0d0d;
    border-radius: 12px;
    box-shadow: 3px 3px 0 #0d0d0d;
    transition: opacity 0.2s, box-shadow 0.2s, transform 0.15s;
}
/* Linea di connessione verticale tra step (DecisionBlock thread) */
#cmv2-root .cmv2-step::before {
    content: '';
    position: absolute;
    left: 32px;            /* metà del plate (44px / 2 + offset) */
    top: -16px;
    width: 2px;
    height: 16px;
    background: #0d0d0d;
}
#cmv2-root .cmv2-step:first-of-type::before { display: none; }

#cmv2-root .cmv2-step[data-state="locked"] {
    opacity: 0.32;
    pointer-events: none;
    box-shadow: 1px 1px 0 #0d0d0d;
}
#cmv2-root .cmv2-step[data-state="active"] {
    /* Stato di default — vivido */
}
#cmv2-root .cmv2-step[data-state="complete"] {
    background: #f5f0e8;
}

/* Header del step (plate + title + status) */
#cmv2-root .cmv2-step-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
}
#cmv2-root .cmv2-step-plate {
    position: relative;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    background: #fff;
    border: 2px solid #0d0d0d;
    border-radius: 8px;
    box-shadow: 2px 2px 0 #0d0d0d;
    font-family: ui-monospace, SFMono-Regular, monospace;
    font-size: 14px;
    font-weight: 900;
    transition: background 0.2s, color 0.2s;
}
#cmv2-root .cmv2-step-plate .cmv2-step-check {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-size: 22px;
    font-weight: 900;
    opacity: 0;
    transform: scale(0.6);
    transition: opacity 0.2s, transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}
#cmv2-root .cmv2-step[data-state="active"] .cmv2-step-plate {
    background: #fef9c3;
}
#cmv2-root .cmv2-step[data-state="complete"] .cmv2-step-plate {
    background: #0d0d0d;
    color: #fff;
}
#cmv2-root .cmv2-step[data-state="complete"] .cmv2-step-plate [data-step-num] {
    opacity: 0;
}
#cmv2-root .cmv2-step[data-state="complete"] .cmv2-step-plate .cmv2-step-check {
    opacity: 1;
    transform: scale(1);
}

#cmv2-root .cmv2-step-titles { flex: 1; min-width: 0; }
#cmv2-root .cmv2-step-title {
    margin: 0 0 3px;
    font-size: 15px;
    font-weight: 900;
    color: #0d0d0d;
    letter-spacing: -0.01em;
}
#cmv2-root .cmv2-step-helper {
    margin: 0;
    font-size: 12px;
    line-height: 1.45;
    color: #4b5563;
    font-weight: 500;
}
#cmv2-root .cmv2-step-status {
    flex-shrink: 0;
    align-self: center;
    padding: 3px 8px;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    border: 2px solid #0d0d0d;
    border-radius: 3px;
    background: #fff;
    color: #4b5563;
    white-space: nowrap;
}
#cmv2-root .cmv2-step[data-state="active"] .cmv2-step-status {
    background: #fef9c3;
    color: #0d0d0d;
}
#cmv2-root .cmv2-step[data-state="complete"] .cmv2-step-status {
    background: #d1fae5;
    color: #065f46;
}

/* Step body — il contenitore dei field */
#cmv2-root .cmv2-step-body {
    padding-left: 56px;   /* allinea con il plate */
}
@media (max-width: 640px) {
    #cmv2-root .cmv2-step-body { padding-left: 0; }
}

/* Ready banner */
#cmv2-root .cmv2-ready {
    margin-top: 18px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(90deg, #fef9c3 0%, #d1fae5 100%);
    background-size: 200% 100%;
    background-position: 0% 0%;
    border: 2px solid #0d0d0d;
    border-radius: 10px;
    box-shadow: 4px 4px 0 #0d0d0d;
    animation: cmv2-ready-in 0.4s cubic-bezier(0.25, 0.1, 0.25, 1),
               cmv2-ready-sweep 6s linear infinite 0.5s;
    font-size: 13px;
    font-weight: 600;
    color: #0d0d0d;
}
#cmv2-root .cmv2-ready strong { font-weight: 900; }
#cmv2-root .cmv2-ready-pulse {
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #0d0d0d;
    animation: cmv2-ready-pulse 1.4s ease-in-out infinite;
}
@keyframes cmv2-ready-in {
    from { opacity: 0; transform: translateY(8px) scale(0.96); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes cmv2-ready-sweep {
    0%   { background-position: 0% 0%; }
    50%  { background-position: 100% 0%; }
    100% { background-position: 0% 0%; }
}
@keyframes cmv2-ready-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%      { opacity: 0.5; transform: scale(1.2); }
}

/* Submit ready (ultra evidenziato quando wizard completo) */
#cmv2-root .cmv2-btn.cmv2-btn-ready {
    background: #0d0d0d;
    color: #fff;
    box-shadow: 4px 4px 0 #fef9c3, 4px 4px 0 2px #0d0d0d;
    animation: cmv2-btn-ready-in 0.3s ease-out;
}
@keyframes cmv2-btn-ready-in {
    0%   { transform: scale(0.95); }
    60%  { transform: scale(1.04); }
    100% { transform: scale(1); }
}

/* Hint accanto al summary del profilo avanzato */
#cmv2-root .cmv2-summary-hint {
    font-size: 11px;
    font-weight: 500;
    color: #6b7280;
    margin-left: 4px;
}

/* Stack verticale per tipologia 730 (più leggibile delle pillole) */
#cmv2-root .cmv2-radio-stack {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
}
#cmv2-root .cmv2-radio-stack .cmv2-radio {
    margin: 0;
    padding: 10px 14px;
    border: 2px solid #0d0d0d;
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
    box-shadow: 2px 2px 0 #0d0d0d;
    font-size: 13px;
    font-weight: 600;
}
#cmv2-root .cmv2-radio-stack .cmv2-radio + .cmv2-radio {
    margin-top: 0;
}
#cmv2-root .cmv2-radio-stack .cmv2-radio:has(input:checked) {
    background: #0d0d0d;
    color: #fff;
}
