/**
 * Semplificazione UI 2026-11: area fatture.
 * Caricato su tutte le pagine /app/ dopo medaid-ui.css (vedi medaid.php).
 */

/* =====================================================================
 * Elementi comuni
 * ===================================================================== */

.medaid-link-btn {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 8px;
    border: 0;
    background: none;
    color: var(--medaid-primary);
    font-weight: 600;
    font-size: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
    border-radius: var(--medaid-radius-sm, 6px);
}
.medaid-link-btn:hover { color: var(--medaid-primary-dark, var(--medaid-primary)); }
.medaid-link-btn:focus-visible { outline: 2px solid var(--medaid-primary); outline-offset: 2px; }

/* Pulsanti segmentati (metodo di pagamento, IVA della prestazione). */
.medaid-segmented {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.medaid-segmented-btn,
.medaid-segmented-option > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 14px;
    border: 1px solid var(--medaid-border);
    border-radius: var(--medaid-radius, 8px);
    background: var(--medaid-white);
    color: var(--medaid-text);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color var(--medaid-motion-fast, 140ms) var(--medaid-ease-out, ease-out),
                border-color var(--medaid-motion-fast, 140ms) var(--medaid-ease-out, ease-out),
                color var(--medaid-motion-fast, 140ms) var(--medaid-ease-out, ease-out);
}
.medaid-segmented--wrap .medaid-segmented-btn { flex: 1 1 auto; }
.medaid-segmented-btn:hover,
.medaid-segmented-option > span:hover { border-color: var(--medaid-primary); }
.medaid-segmented-btn.is-active,
.medaid-segmented-option > input:checked + span {
    background: var(--medaid-primary);
    border-color: var(--medaid-primary);
    color: #fff;
}
.medaid-segmented-btn:focus-visible,
.medaid-segmented-option > input:focus-visible + span {
    outline: 2px solid var(--medaid-primary);
    outline-offset: 2px;
}
.medaid-segmented-option {
    position: relative;
    margin: 0;
}
.medaid-segmented-option > input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    pointer-events: none;
}

/* =====================================================================
 * Nuova fattura: due colonne a tutta larghezza
 * ===================================================================== */

.medaid-ops-fatturazione-fattura-nuova { width: 100%; max-width: none; }
/* [hidden] vince sulle classi che impostano display (form-control, form-text…). */
.medaid-ops-fatturazione-fattura-nuova [hidden],
.medaid-ops-fatturazione-fatture [hidden] { display: none !important; }

.medaid-invoice-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}
@media (min-width: 1200px) {
    .medaid-invoice-layout { grid-template-columns: minmax(0, 1fr) minmax(320px, 400px); }
}
@media (min-width: 1600px) {
    .medaid-invoice-layout { grid-template-columns: minmax(0, 1fr) 440px; }
}
.medaid-invoice-main,
.medaid-invoice-side { min-width: 0; }
.medaid-invoice-side > .card { margin-bottom: 12px; }

/* Destinatario: il suo elenco risultati deve uscire dalla scheda. */
.medaid-invoice-side .medaid-card--dropdown { overflow: visible; position: relative; z-index: 20; }

.medaid-invoice-channel {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 6px;
    margin: 4px 0 0;
    font-size: 0.8125rem;
    color: var(--medaid-text-secondary, var(--medaid-text-muted));
}
.medaid-invoice-channel .medaid-link-btn { padding: 0 6px; min-height: 36px; }

/* Avviso fattura da visita */
.medaid-invoice-visit-note {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
    margin-bottom: 12px;
    padding: 10px 14px;
    border-radius: var(--medaid-radius, 8px);
    border: 1px solid var(--medaid-primary-light, rgba(58, 106, 106, 0.2));
    background: var(--medaid-primary-light, rgba(58, 106, 106, 0.08));
    color: var(--medaid-text);
    font-size: 0.875rem;
}
.medaid-invoice-visit-note.is-warning {
    border-color: var(--medaid-warning, #f59e0b);
    background: var(--medaid-warning-light, #fff7e6);
}
.medaid-invoice-visit-note .medaid-btn { min-height: 44px; }

/* Righe: testo compatto dei dati Sistema TS */
.riga-sts-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 6px;
    margin-top: 4px;
    font-size: 0.78rem;
    color: var(--medaid-text-secondary, var(--medaid-text-muted));
}
.riga-sts-summary[hidden] { display: none; }
.riga-sts-summary .medaid-link-btn { min-height: 32px; padding: 0 4px; font-size: 0.78rem; }

/* Pagamento */
.medaid-check-lg {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding-left: 0;
}
.medaid-check-lg .form-check-input {
    float: none;
    margin: 0;
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
}
.medaid-check-lg .form-check-label { cursor: pointer; }

/* Opzioni avanzate (chiuse, con riassunto in una riga) */
.medaid-invoice-advanced { overflow: visible; }
.medaid-invoice-advanced > summary {
    list-style: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    min-height: 56px;
    padding: 10px 44px 10px 16px;
    position: relative;
    cursor: pointer;
    user-select: none;
    border-radius: inherit;
}
.medaid-invoice-advanced > summary::-webkit-details-marker { display: none; }
.medaid-invoice-advanced > summary::after {
    content: '';
    position: absolute;
    right: 18px;
    top: 50%;
    width: 9px;
    height: 9px;
    margin-top: -6px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform var(--medaid-motion, 200ms) var(--medaid-ease-out, ease-out);
    color: var(--medaid-text-muted);
}
.medaid-invoice-advanced[open] > summary::after { transform: rotate(-135deg); margin-top: -2px; }
.medaid-invoice-advanced > summary:focus-visible { outline: 2px solid var(--medaid-primary); outline-offset: -2px; }
.medaid-invoice-advanced-title { font-weight: 600; color: var(--medaid-text); }
.medaid-invoice-advanced-line {
    font-size: 0.78rem;
    color: var(--medaid-text-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.medaid-invoice-advanced[open] .medaid-invoice-advanced-line { white-space: normal; }
.medaid-invoice-advanced > .card-body {
    border-top: 1px solid var(--medaid-border-light, var(--medaid-border));
    animation: medaid-invoice-reveal var(--medaid-motion, 200ms) var(--medaid-ease-out, ease-out);
}
.medaid-invoice-advanced-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.medaid-invoice-advanced-grid > .medaid-form-group { margin: 0 !important; min-width: 0; }
.medaid-invoice-advanced-grid > .small,
.medaid-invoice-advanced-grid > .medaid-invoice-span-2 { grid-column: 1 / -1; margin: 0 !important; }
@media (max-width: 480px) {
    .medaid-invoice-advanced-grid { grid-template-columns: minmax(0, 1fr); }
}
.medaid-invoice-advanced-sts {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px dashed var(--medaid-border);
}
.medaid-invoice-advanced-sub {
    margin: 0 0 8px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--medaid-text-secondary, var(--medaid-text));
}
.medaid-invoice-advanced select option:disabled { color: var(--medaid-text-muted); }

.medaid-invoice-actions .medaid-btn,
.medaid-invoice-actions .btn { min-height: 44px; }

@keyframes medaid-invoice-reveal {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: none; }
}

/* Modulo incorporato (?embed=1) in una finestra di un'altra pagina */
body.medaid-embed { background: var(--medaid-bg, #f8f9fa); }
body.medaid-embed .medaid-embed-content { padding: 12px 16px 24px; margin: 0; }
body.medaid-embed .medaid-ops-fatturazione-fattura-nuova .medaid-ops-panel { border: 0; box-shadow: none; background: transparent; }
body.medaid-embed .medaid-ops-fatturazione-fattura-nuova .medaid-ops-form-body { padding: 8px 0 0; }
@media (min-width: 900px) {
    body.medaid-embed .medaid-invoice-layout { grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); }
}

/* =====================================================================
 * Elenco fatture
 * ===================================================================== */

.medaid-invoice-callouts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}
@media (max-width: 720px) {
    .medaid-invoice-callouts { grid-template-columns: minmax(0, 1fr); }
}
.medaid-invoice-callout {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas: "label value" "sub clear";
    align-items: center;
    gap: 2px 12px;
    min-height: 72px;
    padding: 12px 16px;
    border: 1px solid var(--medaid-border);
    border-left-width: 4px;
    border-radius: var(--medaid-radius-lg, 12px);
    background: var(--medaid-white);
    color: var(--medaid-text);
    text-decoration: none;
    transition: border-color var(--medaid-motion-fast, 140ms) var(--medaid-ease-out, ease-out),
                box-shadow var(--medaid-motion-fast, 140ms) var(--medaid-ease-out, ease-out),
                transform var(--medaid-motion-fast, 140ms) var(--medaid-ease-out, ease-out);
}
.medaid-invoice-callout:hover {
    color: var(--medaid-text);
    box-shadow: var(--medaid-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.08));
    transform: translateY(-1px);
}
.medaid-invoice-callout:focus-visible { outline: 2px solid var(--medaid-primary); outline-offset: 2px; }
.medaid-invoice-callout-label { grid-area: label; font-weight: 600; }
.medaid-invoice-callout-value { grid-area: value; font-size: 1.5rem; font-weight: 700; line-height: 1; }
.medaid-invoice-callout-sub { grid-area: sub; font-size: 0.8rem; color: var(--medaid-text-muted); }
.medaid-invoice-callout-clear { grid-area: clear; font-size: 0.75rem; font-weight: 600; color: var(--medaid-primary); }
.medaid-invoice-callout--neutral { border-left-color: var(--medaid-border); }
.medaid-invoice-callout--warning { border-left-color: var(--medaid-warning, #f59e0b); }
.medaid-invoice-callout--info { border-left-color: var(--medaid-info, #3b82f6); }
.medaid-invoice-callout--danger { border-left-color: var(--medaid-danger, #dc2626); }
.medaid-invoice-callout--danger .medaid-invoice-callout-value { color: var(--medaid-danger, #dc2626); }
.medaid-invoice-callout.is-active {
    border-color: var(--medaid-primary);
    box-shadow: 0 0 0 1px var(--medaid-primary) inset;
    background: var(--medaid-primary-light, rgba(58, 106, 106, 0.06));
}

/* Filtri: ricerca sempre visibile, il resto in "Altri filtri" */
.medaid-invoice-filters { flex-wrap: wrap; }
.medaid-invoice-more-filters { flex: 1 1 100%; }
.medaid-invoice-more-filters > summary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 44px;
    cursor: pointer;
    font-weight: 600;
    color: var(--medaid-primary);
    list-style: none;
}
.medaid-invoice-more-filters > summary::-webkit-details-marker { display: none; }
.medaid-invoice-more-filters > summary::before {
    content: '';
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
    transition: transform var(--medaid-motion-fast, 140ms) var(--medaid-ease-out, ease-out);
}
.medaid-invoice-more-filters[open] > summary::before { transform: rotate(45deg); }
.medaid-invoice-more-filters-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
    padding: 4px 0 8px;
}
.medaid-invoice-more-filters-grid .medaid-ops-filter { min-width: 0; }
.medaid-invoice-more-filters-grid select { min-height: 44px; }

/* Barra delle azioni di massa (compare selezionando righe) */
.medaid-invoice-bulkbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 20px 16px;
    padding: 8px 12px;
    border-radius: var(--medaid-radius, 8px);
    background: var(--medaid-primary-light, rgba(58, 106, 106, 0.08));
    animation: medaid-invoice-reveal var(--medaid-motion-fast, 140ms) var(--medaid-ease-out, ease-out);
}
.medaid-invoice-bulkbar[hidden] { display: none; }
.medaid-invoice-bulkbar .medaid-btn,
.medaid-invoice-bulkbar .btn { min-height: 44px; }
.medaid-invoice-bulkbar-count { font-weight: 600; margin-right: 4px; }
.medaid-ops-fatturazione-fatture .fattura-select,
.medaid-ops-fatturazione-fatture #select-all-fatture { width: 20px; height: 20px; cursor: pointer; }

/* Colonna "Invio" */
.medaid-invio-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
    background: var(--medaid-gray-100, #f1f3f5);
    color: var(--medaid-text);
}
.medaid-invio-badge::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.85;
}
.medaid-invio-badge--da_inviare { background: var(--medaid-warning-light, #fff4e5); color: #92400e; }
.medaid-invio-badge--in_invio { background: var(--medaid-info-light, #e8f1fd); color: #1e40af; }
.medaid-invio-badge--accettata { background: var(--medaid-success-light, #e7f6ec); color: #166534; }
.medaid-invio-badge--da_correggere { background: var(--medaid-danger-light, #fdecec); color: #b91c1c; }
.medaid-invio-badge--void { color: var(--medaid-text-muted); }
.medaid-invio-reason {
    color: var(--medaid-danger, #b91c1c);
    max-width: 280px;
    overflow-wrap: anywhere;
}
.medaid-invio-channel { margin-top: 2px; }

/* Azioni della riga: principale, PDF, Altro */
.medaid-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: nowrap;
}
.medaid-row-actions .medaid-btn,
.medaid-row-actions .medaid-row-more {
    min-height: 44px;
    min-width: 44px;
    white-space: nowrap;
}
.medaid-row-primary {
    background: var(--medaid-primary);
    border: 1px solid var(--medaid-primary);
    color: #fff;
    font-weight: 600;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--medaid-radius, 8px);
    text-decoration: none;
}
.medaid-row-primary:hover { color: #fff; background: var(--medaid-primary-hover, var(--medaid-primary-dark, var(--medaid-primary))); }
.medaid-row-primary[aria-busy="true"] { opacity: 0.7; pointer-events: none; }
.medaid-row-pdf {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    font-weight: 600;
    text-decoration: none;
}
.medaid-row-more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0 10px;
    border: 1px solid var(--medaid-border);
    border-radius: var(--medaid-radius, 8px);
    background: var(--medaid-white);
    color: var(--medaid-text);
    font-size: 0.8125rem;
    font-weight: 600;
}
.medaid-ops-fatturazione-fatture .medaid-dropdown-menu .medaid-dropdown-item { min-height: 44px; display: flex; align-items: center; }

/* =====================================================================
 * Prestazione: dati fiscali
 * ===================================================================== */

.medaid-service-fiscal [hidden] { display: none !important; }

/* =====================================================================
 * Tema scuro
 * ===================================================================== */

[data-theme="dark"] .medaid-invio-badge--da_inviare { background: rgba(245, 158, 11, 0.16); color: #fcd34d; }
[data-theme="dark"] .medaid-invio-badge--in_invio { background: rgba(59, 130, 246, 0.18); color: #93c5fd; }
[data-theme="dark"] .medaid-invio-badge--accettata { background: rgba(34, 197, 94, 0.16); color: #86efac; }
[data-theme="dark"] .medaid-invio-badge--da_correggere { background: rgba(239, 68, 68, 0.18); color: #fca5a5; }
[data-theme="dark"] .medaid-invio-reason { color: #fca5a5; }
[data-theme="dark"] .medaid-invoice-visit-note.is-warning { background: rgba(245, 158, 11, 0.12); }
[data-theme="dark"] .medaid-invoice-callout--danger .medaid-invoice-callout-value { color: #fca5a5; }
[data-theme="dark"] .medaid-segmented-btn,
[data-theme="dark"] .medaid-segmented-option > span,
[data-theme="dark"] .medaid-row-more,
[data-theme="dark"] .medaid-invoice-callout { background: var(--medaid-bg-elevated, #16213e); }

/* =====================================================================
 * Movimento ridotto
 * ===================================================================== */

@media (prefers-reduced-motion: reduce) {
    .medaid-segmented-btn,
    .medaid-segmented-option > span,
    .medaid-invoice-callout,
    .medaid-invoice-advanced > summary::after,
    .medaid-invoice-more-filters > summary::before {
        transition: none !important;
    }
    .medaid-invoice-advanced > .card-body,
    .medaid-invoice-bulkbar {
        animation: none !important;
    }
    .medaid-invoice-callout:hover { transform: none; }
}
