/* =========================================================================
   AC Manager – Modulo Ordini
   Usa le variabili --ac-* definite in ac-manager-styles.css
   ========================================================================= */

.ac-ordini-card { padding: 25px; margin-bottom: 25px; }
.ac-ordini-vuoto { text-align: center; padding: 60px 20px; }
.ac-ordini-vuoto i { font-size: 44px; color: var(--ac-accent, #a9823f); margin-bottom: 16px; }
.ac-ordini-nessuno { text-align: center; color: #a0aec0; padding: 30px 10px; margin: 0; }
.ac-ordini-nota, .ac-ordini-aiuto { font-size: 13px; color: var(--ac-muted, #718096); margin: 8px 0 0; }
.ac-ordini-sotto { display: block; font-size: 12px; color: var(--ac-muted, #718096); font-weight: 400; margin-top: 2px; }
.ac-ordini-num { text-align: right !important; white-space: nowrap; }
.ac-ordini-centro { text-align: center !important; }
.ac-ordini-indietro { margin: 0 0 12px; }
.ac-ordini-indietro a { color: var(--ac-muted, #718096); text-decoration: none; font-size: 14px; }
.ac-ordini-indietro a:hover { color: var(--ac-primary, #2563eb); }

/* Tab con contatore */
.ac-ordini-tab-count {
    display: inline-block; min-width: 18px; padding: 0 6px; margin-left: 6px;
    border-radius: 9px; background: var(--ac-primary-soft, #eef4ff); color: var(--ac-primary, #2563eb);
    font-size: 11px; font-weight: 700; line-height: 18px; text-align: center;
}
.ac-filter-tab.active .ac-ordini-tab-count { background: rgba(255, 255, 255, .25); color: inherit; }
button.ac-filter-tab { border: 0; font: inherit; cursor: pointer; }

/* Badge di stato */
.ac-ordini-badge {
    display: inline-block; padding: 3px 10px; border-radius: 999px;
    font-size: 12px; font-weight: 600; vertical-align: middle; white-space: nowrap;
}
.ac-ordini-badge-bozza      { background: #edf2f7; color: #4a5568; }
.ac-ordini-badge-trasmesso  { background: var(--ac-warning-soft, #fdf3d9); color: var(--ac-warning, #b7791f); }
.ac-ordini-badge-inviato    { background: var(--ac-primary-soft, #eef4ff); color: var(--ac-primary, #2563eb); }
.ac-ordini-badge-consegnato { background: var(--ac-success-soft, #e9f6ee); color: var(--ac-success, #2f855a); }
.ac-ordini-entro { display: block; font-size: 11.5px; color: var(--ac-danger, #c53030); margin-top: 3px; }

/* Elenco */
.ac-ordini-riga-link { cursor: pointer; }
.ac-ordini-riga-link:hover td { background: #f8fafc; }
.ac-ordini-riga-link a { color: inherit; text-decoration: none; }

/* Testata ordine */
.ac-ordini-testata-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; flex-wrap: wrap; }
.ac-ordini-testata h3 { margin: 0 0 8px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ac-ordini-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; color: var(--ac-muted, #718096); font-size: 14px; }
.ac-ordini-meta i { margin-right: 4px; }
.ac-ordini-totale-grande { text-align: right; }
.ac-ordini-totale-grande span { display: block; font-size: 12px; color: var(--ac-muted, #718096); text-transform: uppercase; letter-spacing: .04em; }
.ac-ordini-totale-grande strong { font-size: 26px; color: var(--ac-ink, #1a202c); }
.ac-ordini-entro-riga { margin: 14px 0 0; font-size: 14px; color: var(--ac-muted, #718096); }

/* Timeline */
.ac-ordini-timeline { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); }
.ac-ordini-timeline li { position: relative; padding-top: 22px; font-size: 13px; color: #a0aec0; }
.ac-ordini-timeline li::before {
    content: ''; position: absolute; top: 6px; left: 0; right: 0; height: 2px; background: var(--ac-border, #e6e9ee);
}
.ac-ordini-timeline li:first-child::before { left: 7px; }
.ac-ordini-timeline li:last-child::before { right: auto; width: 7px; }
.ac-ordini-timeline li.fatto::before { background: var(--ac-success, #2f855a); }
.ac-ordini-timeline-punto {
    position: absolute; top: 0; left: 0; width: 14px; height: 14px; border-radius: 50%;
    background: #fff; border: 2px solid var(--ac-border, #e6e9ee); box-sizing: border-box;
}
.ac-ordini-timeline li.fatto .ac-ordini-timeline-punto { background: var(--ac-success, #2f855a); border-color: var(--ac-success, #2f855a); }
.ac-ordini-timeline li strong { display: block; color: var(--ac-ink, #1a202c); }
.ac-ordini-timeline li:not(.fatto) strong { color: #a0aec0; font-weight: 500; }
.ac-ordini-timeline li span { display: block; }
.ac-ordini-timeline-chi { color: var(--ac-muted, #718096); }

/* Avvisi */
.ac-ordini-avviso {
    background: var(--ac-warning-soft, #fdf3d9); color: #744210; border: 1px solid var(--ac-warning-border, rgba(183,121,31,.22));
    padding: 10px 14px; border-radius: var(--ac-radius-sm, 8px); font-size: 13.5px; margin-bottom: 16px;
}
.ac-ordini-avviso-info { background: var(--ac-primary-soft, #eef4ff); color: #2a4365; border-color: var(--ac-primary-border, rgba(37,99,235,.18)); }
.ac-ordini-note-box { background: #f8fafc; border-radius: var(--ac-radius-sm, 8px); padding: 12px 14px; margin-bottom: 18px; font-size: 14px; }

/* Editor */
.ac-ordini-editor-campi { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; margin-bottom: 18px; }
.ac-ordini-editor-campi .ac-form-group,
.ac-ordini-form-griglia .ac-form-group { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.ac-ordini .ac-form-group label { font-size: 13px; font-weight: 600; color: var(--ac-ink, #1a202c); }
.ac-ordini .ac-form-group input[type=text],
.ac-ordini .ac-form-group input[type=email],
.ac-ordini .ac-form-group input[type=date],
.ac-ordini .ac-form-group select,
.ac-ordini .ac-form-group textarea,
.ac-ordini-filtro-checklist {
    width: 100%; box-sizing: border-box; padding: 9px 12px; font: inherit; font-size: 14px;
    border: 1px solid var(--ac-border, #e6e9ee); border-radius: var(--ac-radius-sm, 8px); background: #fff;
}
.ac-ordini .ac-form-group textarea { resize: vertical; }

.ac-ordini-editor-strumenti,
.ac-ordini-sezione-testata { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin: 6px 0 14px; }
.ac-ordini-editor-strumenti .ac-search-wrapper,
.ac-ordini-sezione-testata .ac-search-wrapper { flex: 1 1 280px; max-width: 460px; }
.ac-ordini-sezione-testata .ac-ordini-aiuto { flex: 1 1 280px; margin: 0; }
.ac-ordini-switch { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; cursor: pointer; white-space: nowrap; }

.ac-ordini-tabella-editor tr.selezionata td,
.ac-ordini-tabella-editor tr.selezionata td:first-child { background: #f3f9ff !important; }
/* La prima colonna "congelata" del plugin (sticky, nowrap): qui lasciamo andare a capo i nomi lunghi */
.ac-ordini .ac-manager-table td:first-child { white-space: normal; min-width: 180px; }
.ac-ordini-descrizione { max-width: 420px; }

.ac-ordini-stepper { display: inline-flex; align-items: stretch; border: 1px solid var(--ac-border, #e6e9ee); border-radius: var(--ac-radius-sm, 8px); overflow: hidden; background: #fff; }
.ac-ordini-stepper button {
    width: 34px; border: 0; background: #f5f7fa; font-size: 18px; line-height: 1; cursor: pointer; color: var(--ac-ink, #1a202c);
}
.ac-ordini-stepper button:hover { background: var(--ac-primary-soft, #eef4ff); }
.ac-ordini-stepper input,
.ac-ordini-ricevuta {
    width: 64px; border: 0; text-align: center; font: inherit; font-weight: 600; padding: 8px 4px; background: transparent;
}
.ac-ordini-ricevuta { border: 1px solid var(--ac-border, #e6e9ee); border-radius: var(--ac-radius-sm, 8px); background: #fff; }
.ac-ordini-stepper input:focus, .ac-ordini-ricevuta:focus { outline: 2px solid var(--ac-primary, #2563eb); outline-offset: -2px; }

/* Barra azioni (sticky in fondo durante l'editing) */
.ac-ordini-barra {
    position: sticky; bottom: 0; z-index: 20;
    display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
    margin: 20px -25px -25px; padding: 14px 25px;
    background: rgba(255, 255, 255, .96); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    border-top: 1px solid var(--ac-border, #e6e9ee); border-radius: 0 0 var(--ac-radius-lg, 18px) var(--ac-radius-lg, 18px);
}
.ac-ordini-barra-statica { position: static; }
.ac-ordini-barra-info { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; font-size: 14px; }
.ac-ordini-barra-totale strong { font-size: 18px; }
.ac-ordini-stato-salvataggio { font-size: 12.5px; color: var(--ac-warning, #b7791f); }
.ac-ordini-barra-azioni { display: flex; gap: 10px; flex-wrap: wrap; }
.ac-ordini .ac-ordini-btn-danger {
    background: var(--ac-danger-soft, #fbeaea); border: 1px solid var(--ac-danger-border, rgba(197,48,48,.2));
    color: var(--ac-danger, #c53030) !important; box-shadow: none;
}
.ac-ordini .ac-ordini-btn-danger:hover { background: #f6d5d5; }
.ac-ordini-in-corso { opacity: .6; cursor: progress !important; }

/* Riepilogo */
.ac-ordini-fornitore-titolo { margin: 22px 0 8px; font-size: 15px; color: var(--ac-primary, #2563eb); }
.ac-ordini-fornitore-titolo:first-of-type { margin-top: 4px; }
.ac-ordini-tabella-riepilogo tfoot td { border-top: 2px solid var(--ac-border, #e6e9ee); font-size: 14px; }
tr.ac-ordini-differenza td, tr.ac-ordini-differenza td:first-child { background: var(--ac-danger-soft, #fbeaea) !important; }

/* Storico */
.ac-ordini-storico summary { cursor: pointer; font-weight: 600; }
.ac-ordini-storico ul { list-style: none; margin: 14px 0 0; padding: 0; }
.ac-ordini-storico li { padding: 8px 0; border-top: 1px solid var(--ac-border, #e6e9ee); font-size: 13.5px; }
.ac-ordini-storico-data { color: var(--ac-muted, #718096); margin-right: 8px; }
.ac-ordini-storico-dettaglio { color: var(--ac-muted, #718096); margin-top: 2px; }

/* Catalogo */
.ac-ordini-disattivo td { opacity: .55; }
.ac-ordini-azioni-cella { white-space: nowrap; text-align: right; }
.ac-ordini-form-griglia { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 8px; }
.ac-ordini-span-2 { grid-column: span 2; }
.ac-ordini-chip-lista { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.ac-ordini-checklist-articoli { max-height: 240px; overflow-y: auto; margin-top: 8px; }
.ac-ordini-checklist-articoli .ac-ordini-sotto { display: inline; margin-left: 4px; }
.ac-ordini .ac-modal-content { max-height: 92vh; overflow-y: auto; }

/* Toast */
#ac-ordini-toast {
    position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 20px); z-index: 100000;
    max-width: calc(100vw - 32px); padding: 12px 18px; border-radius: 10px;
    background: var(--ac-ink, #1a202c); color: #fff; font-size: 14px; box-shadow: 0 8px 24px rgba(0,0,0,.18);
    opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s;
}
#ac-ordini-toast.visibile { opacity: 1; transform: translate(-50%, 0); }
#ac-ordini-toast.errore { background: var(--ac-danger, #c53030); }
#ac-ordini-toast.successo { background: var(--ac-success, #2f855a); }

/* -------------------------------------------------------------------------
   Mobile: le tabelle diventano card (etichetta presa da data-label)
   ------------------------------------------------------------------------- */
@media (max-width: 768px) {
    .ac-ordini-card { padding: 18px; }
    .ac-ordini-barra { margin: 18px -18px -18px; padding: 12px 18px; }
    .ac-ordini-editor-campi, .ac-ordini-form-griglia { grid-template-columns: 1fr; }
    .ac-ordini-span-2 { grid-column: auto; }
    .ac-ordini-timeline { grid-template-columns: 1fr 1fr; row-gap: 16px; }
    .ac-ordini-timeline li::before { display: none; }
    .ac-ordini-totale-grande { text-align: left; }

    .ac-ordini .ac-manager-table thead { display: none; }
    .ac-ordini .ac-manager-table { min-width: 0 !important; }
    .ac-ordini .ac-table-responsive-wrapper { overflow: visible; }
    .ac-ordini .ac-manager-table, .ac-ordini .ac-manager-table tbody,
    .ac-ordini .ac-manager-table tr, .ac-ordini .ac-manager-table td { display: block; width: 100%; box-sizing: border-box; }
    .ac-ordini .ac-manager-table tr {
        border: 1px solid var(--ac-border, #e6e9ee); border-radius: var(--ac-radius-md, 12px);
        margin-bottom: 10px; padding: 10px 12px; background: #fff;
    }
    .ac-ordini .ac-manager-table td { border: 0 !important; padding: 4px 0 !important; text-align: left !important; }
    .ac-ordini .ac-manager-table th:first-child,
    .ac-ordini .ac-manager-table td:first-child {
        position: static; box-shadow: none; min-width: 0; white-space: normal; will-change: auto; background: transparent !important;
    }
    .ac-ordini-tabella-editor tr.selezionata { background: #f3f9ff; border-color: var(--ac-primary-border, rgba(37,99,235,.18)); }
    .ac-ordini-tabella-editor tr.selezionata td, .ac-ordini-tabella-editor tr.selezionata td:first-child { background: transparent !important; }
    .ac-ordini .ac-manager-table tr.ac-ordini-differenza { background: var(--ac-danger-soft, #fbeaea); border-color: var(--ac-danger-border, rgba(197,48,48,.2)); }
    tr.ac-ordini-differenza td, tr.ac-ordini-differenza td:first-child { background: transparent !important; }
    .ac-ordini .ac-manager-table td[data-label]:not([data-label="Articolo"]):not([data-label="N°"])::before {
        content: attr(data-label); display: inline-block; min-width: 96px; color: var(--ac-muted, #718096); font-size: 12px;
    }
    .ac-ordini .ac-manager-table tfoot { display: block; }
    .ac-ordini .ac-manager-table tfoot tr { border: 0; background: transparent; padding: 0 12px; }
    .ac-ordini .ac-manager-table tfoot td { text-align: right !important; }
    .ac-ordini .ac-manager-table tr.ac-ordini-riga-articolo[style*="none"] { display: none !important; }

    /* Editor su mobile: nome in alto, poi prezzo e stepper sulla stessa riga */
    .ac-ordini-tabella-editor tr { display: grid !important; grid-template-columns: 1fr auto; column-gap: 12px; align-items: center; }
    .ac-ordini-tabella-editor td[data-label="Articolo"] { grid-column: 1 / -1; }
    .ac-ordini-tabella-editor td[data-label="Fornitore"] { grid-column: 1 / -1; }
    .ac-ordini-tabella-editor td[data-label="Prezzo"]::before,
    .ac-ordini-tabella-editor td[data-label="Quantità"]::before { display: none !important; }
    .ac-ordini-tabella-editor td[data-label="Quantità"] { grid-row: 3; grid-column: 2; width: auto; }
    .ac-ordini-tabella-editor td[data-label="Prezzo"] { grid-row: 3; grid-column: 1; }
    .ac-ordini-tabella-editor td[data-label="Totale"] { grid-column: 1 / -1; text-align: right !important; font-weight: 600; }
    .ac-ordini-tabella-editor td[data-label="Totale"]::before { display: none !important; }
    .ac-ordini-stepper button { width: 42px; }
    .ac-ordini-azioni-cella { text-align: left; }
}

/* -------------------------------------------------------------------------
   Stampa: solo il contenuto dell'ordine
   ------------------------------------------------------------------------- */
@media print {
    #ac-custom-header, #ac-popup-menu, #ac-menu-overlay, .ac-dashboard-header .ac-actions-section,
    .ac-ordini-indietro, .ac-ordini-barra-azioni, .ac-ordini-storico, .ac-filter-tabs, #ac-ordini-toast { display: none !important; }
    body.ac-app-layout { padding-top: 0 !important; background: #fff !important; }
    .ac-ordini-card { box-shadow: none !important; border: 0 !important; padding: 0 !important; }
    .ac-ordini-barra { position: static; border: 0; margin: 10px 0 0; padding: 0; }
    .ac-ordini .ac-manager-table { font-size: 12px; }
}

/* -------------------------------------------------------------------------
   v2: chip, home reparto, frequenza, revisione, controllo consegna, assegnazioni
   ------------------------------------------------------------------------- */
.ac-ordini-chip { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 600; white-space: nowrap; margin: 2px 4px 2px 0; }
.ac-ordini-chip-ok      { background: var(--ac-success-soft, #e9f6ee); color: var(--ac-success, #2f855a); }
.ac-ordini-chip-allarme { background: var(--ac-danger-soft, #fbeaea);  color: var(--ac-danger, #c53030); }
.ac-ordini-chip-attesa  { background: var(--ac-warning-soft, #fdf3d9); color: var(--ac-warning, #b7791f); }
.ac-ordini-chip-info    { background: var(--ac-primary-soft, #eef4ff); color: var(--ac-primary, #2563eb); }
.ac-ordini-chip-neutro  { background: #edf2f7; color: #4a5568; }
.ac-ordini-errore-testo { color: var(--ac-danger, #c53030); font-size: 12.5px; }
.ac-ordini-form-sezione { margin: 18px 0 8px; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--ac-muted, #718096); }

/* Home reparto */
.ac-ordini-griglia-cataloghi { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; }
.ac-ordini-card-catalogo { padding: 20px; margin: 0; border-left: 4px solid var(--ac-border, #e6e9ee); }
.ac-ordini-card-catalogo.stato-aperto { border-left-color: var(--ac-primary, #2563eb); }
.ac-ordini-card-catalogo.stato-in_ritardo { border-left-color: var(--ac-danger, #c53030); }
.ac-ordini-card-catalogo.stato-inoltrato, .ac-ordini-card-catalogo.stato-saltato { border-left-color: var(--ac-success, #2f855a); }
.ac-ordini-card-catalogo.evidenziato { box-shadow: 0 0 0 2px var(--ac-primary, #2563eb); }
.ac-ordini-card-catalogo-testa { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.ac-ordini-card-catalogo h4 { margin: 0 0 2px; font-size: 16px; }
.ac-ordini-freq-riga, .ac-ordini-bozza-riga, .ac-ordini-stato-testo { margin: 8px 0 0; font-size: 13.5px; color: var(--ac-muted, #718096); }
.ac-ordini-stato-testo.allarme { color: var(--ac-danger, #c53030); font-weight: 600; }
.ac-ordini-card-catalogo-azioni { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 16px; }
.ac-ordini-nessun-ordine { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; cursor: pointer; }
.ac-ordini-nessun-ordine input { width: 18px; height: 18px; }

/* Banner frequenza nell'editor */
.ac-ordini-banner-frequenza {
    display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap;
    padding: 12px 14px; margin-bottom: 16px; border-radius: var(--ac-radius-sm, 8px);
    background: #f8fafc; border: 1px solid var(--ac-border, #e6e9ee); font-size: 14px;
}
.ac-ordini-banner-frequenza.stato-in_ritardo { background: var(--ac-danger-soft, #fbeaea); border-color: var(--ac-danger-border, rgba(197,48,48,.2)); }
.ac-ordini-banner-frequenza.stato-aperto { background: var(--ac-primary-soft, #eef4ff); }
.ac-ordini-blocco-motivo { margin: 10px 0 0; font-size: 13px; color: var(--ac-muted, #718096); }
.ac-ordini-info-fornitori { margin: 0 0 16px; padding: 0; list-style: none; font-size: 13px; color: var(--ac-muted, #718096); }
.ac-ordini-info-fornitori li { padding: 2px 0; }
button:disabled.primary-action-btn { opacity: .5; cursor: not-allowed; }

/* Revisione */
.ac-ordini-blocco-fornitore { border: 1px solid var(--ac-border, #e6e9ee); border-radius: var(--ac-radius-md, 12px); padding: 16px; margin-bottom: 18px; }
.ac-ordini-blocco-fornitore-testa { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }
.ac-ordini-blocco-fornitore-testa .ac-ordini-fornitore-titolo { margin: 0 0 4px; }
.ac-ordini-blocco-fornitore-azioni { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }
.ac-ordini-nota-acquisti { margin-top: 8px; }
.ac-ordini-riga-revisione .ac-ordini-sara-tolto { color: var(--ac-danger, #c53030); }

/* Controllo consegna */
.ac-ordini-controllo-testa { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 8px; }
.ac-ordini-controllo-progresso { font-size: 14px; flex: 1 1 240px; }
.ac-ordini-progress { display: block; height: 8px; border-radius: 4px; background: #edf2f7; margin-top: 8px; overflow: hidden; }
.ac-ordini-progress span { display: block; height: 100%; background: var(--ac-success, #2f855a); transition: width .25s; }
.ac-ordini-lista-controllo { list-style: none; margin: 0 0 8px; padding: 0; }
.ac-ordini-riga-controllo {
    display: flex; justify-content: space-between; align-items: center; gap: 12px;
    padding: 12px 14px; margin-bottom: 8px; border: 1px solid var(--ac-border, #e6e9ee); border-radius: var(--ac-radius-md, 12px); background: #fff;
}
.ac-ordini-riga-controllo.esito-ricevuto { background: var(--ac-success-soft, #e9f6ee); border-color: rgba(47,133,90,.25); }
.ac-ordini-riga-controllo.esito-non_ricevuto,
.ac-ordini-riga-controllo.esito-quantita_diversa,
.ac-ordini-riga-controllo.esito-altro_articolo { background: var(--ac-danger-soft, #fbeaea); border-color: var(--ac-danger-border, rgba(197,48,48,.2)); }
.ac-ordini-riga-controllo-info { min-width: 0; }
.ac-ordini-esito-testo { display: block; font-size: 12.5px; color: var(--ac-danger, #c53030); font-weight: 600; margin-top: 2px; }
.ac-ordini-esito-testo:empty { display: none; }
.ac-ordini-riga-controllo-azioni { display: flex; gap: 8px; flex-shrink: 0; }
.ac-ordini-riga-controllo-azioni button {
    width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--ac-border, #e6e9ee); background: #fff;
    font-size: 18px; cursor: pointer; color: #a0aec0; display: inline-flex; align-items: center; justify-content: center;
}
.ac-ordini-check-ok:hover, .ac-ordini-riga-controllo.esito-ricevuto .ac-ordini-check-ok { background: var(--ac-success, #2f855a); border-color: var(--ac-success, #2f855a); color: #fff; }
.ac-ordini-check-ko:hover,
.ac-ordini-riga-controllo.esito-non_ricevuto .ac-ordini-check-ko,
.ac-ordini-riga-controllo.esito-quantita_diversa .ac-ordini-check-ko,
.ac-ordini-riga-controllo.esito-altro_articolo .ac-ordini-check-ko { background: var(--ac-danger, #c53030); border-color: var(--ac-danger, #c53030); color: #fff; }

/* Popup segnalazione */
.ac-ordini-segnala-articolo { margin: 0 0 14px; }
.ac-ordini-opzione {
    display: flex; align-items: center; gap: 10px; padding: 12px 14px; margin-bottom: 8px; cursor: pointer;
    border: 1px solid var(--ac-border, #e6e9ee); border-radius: var(--ac-radius-sm, 8px); font-size: 14.5px;
}
.ac-ordini-opzione.attiva { border-color: var(--ac-primary, #2563eb); background: var(--ac-primary-soft, #eef4ff); }
.ac-ordini-opzione input { width: 18px; height: 18px; flex-shrink: 0; }
.ac-ordini-opzione-dettaglio { margin: -2px 0 12px; padding: 0 4px; }
.ac-ordini-opzione-dettaglio[hidden] { display: none; }
.ac-ordini-opzione-dettaglio textarea { width: 100%; box-sizing: border-box; margin-top: 6px; padding: 9px 12px; font: inherit; border: 1px solid var(--ac-border, #e6e9ee); border-radius: var(--ac-radius-sm, 8px); }
.ac-ordini-selettore-qta { display: flex; align-items: center; gap: 10px; margin-top: 8px; }
.ac-ordini-selettore-qta button {
    width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--ac-border, #e6e9ee); background: #f5f7fa; cursor: pointer; font-size: 15px;
}
.ac-ordini-selettore-qta button:hover { background: var(--ac-primary-soft, #eef4ff); }
.ac-ordini-selettore-qta input { width: 88px; height: 44px; text-align: center; font: inherit; font-size: 20px; font-weight: 700; border: 1px solid var(--ac-border, #e6e9ee); border-radius: var(--ac-radius-sm, 8px); box-sizing: border-box; }

/* Catalogo: giorni e assegnazioni */
.ac-ordini-giorni { display: flex; flex-wrap: wrap; gap: 6px; }
.ac-ordini-giorno input { position: absolute; opacity: 0; pointer-events: none; }
.ac-ordini-giorno span {
    display: inline-block; min-width: 42px; text-align: center; padding: 7px 8px; border: 1px solid var(--ac-border, #e6e9ee);
    border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; background: #fff; user-select: none;
}
.ac-ordini-giorno input:checked + span { background: var(--ac-primary, #2563eb); border-color: var(--ac-primary, #2563eb); color: #fff; }
.ac-ordini-giorno input:focus-visible + span { outline: 2px solid var(--ac-primary, #2563eb); outline-offset: 2px; }
.ac-ordini-assegnazioni { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.ac-ordini-assegnazione { border: 1px solid var(--ac-border, #e6e9ee); border-radius: var(--ac-radius-sm, 8px); padding: 10px 12px; }
.ac-ordini-ass-dettaglio { margin: 10px 0 0 26px; display: flex; flex-direction: column; gap: 10px; }
.ac-ordini-ass-freq-campi { display: flex; flex-direction: column; gap: 10px; }
.ac-ordini-ass-ora { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; }
.ac-ordini-ass-ora input, .ac-ordini .ac-form-group input[type=time] { padding: 7px 10px; font: inherit; border: 1px solid var(--ac-border, #e6e9ee); border-radius: 8px; box-sizing: border-box; }
.ac-ordini-filtro-fornitore { padding: 9px 12px; font: inherit; font-size: 14px; border: 1px solid var(--ac-border, #e6e9ee); border-radius: var(--ac-radius-sm, 8px); background: #fff; }
.ac-ordini [hidden] { display: none !important; }

@media (max-width: 768px) {
    .ac-ordini-griglia-cataloghi { grid-template-columns: 1fr; }
    .ac-ordini-riga-controllo { padding: 12px; }
}
